"Nobody programs in machine language" (was: Modern Electronics (was

From: Fred Cisin <cisin_at_xenosoft.com>
Date: Mon Jun 21 22:46:14 2004

On Mon, 21 Jun 2004, William Donzelli wrote:
> It is not just Microsoft. Most software these days is bloated. Yes, I
> think it is extreme, and I really have to wonder just what these
> programmers are doing with all of that code. The truth of the matter is
> that they are not being paid to write compact, efficient code. They are
> being paid to write nice looking programs in a short amount of time, with
> the knowledge that the hardware resources will just get bigger and better,
> week after week. Nice looking programs make money, not code efficient
> ones. Programs that ship on time (or nearly) make money, not ones still
> "in the lab" being optimized like crazy.

That's right
But a GOOD programmer writes code that needs less optimization
than a poor programmer who writes code that needs significant
later optimization.


> This is what the industry wants, so this is what the schools teach.
We do, indeed, get higher enrollment in C++ than in Assembly Language.

> > When my C students take an Assembly Language course,
> > there is often a visible improvement in their C code.
> Probably - in fact I would hope so. I am not against learning assembly. It
> would be great if all CS and CE kids did, however I can see it falling
> from grace simply due to "almost-obsolecence".

Well, the administrators are certainly not big fans of it.
"Why teach programming - you can BUY any program that you need."


> On a side note, about your students - it could be simply because they are
> just more experienced. My C improved greatly after taking a Graphics
> class.

No question that simple experience is a major factor.
A couple of times, I've had a C class one semester, and
then they took various other courses the next semester,
and then came back to me for the Data Structures And Algorithms
course. Those who had taken Assembly Language seemed to
have the most improvement, followed by other programming
languages, including C++ and Java, with the least improvement
from those who did not have a programming class, such as
either no CS classes, or applications or networking classes.

But I never had a sufficient sample size, nor adequate
objective measures to be able to draw significant conclusions.
... and the choices of topics to specialize in in each
course could easily have as much influence as what the course was.


This fall, I get to teach Assembly Language again! (after 2 years)
They've scheduled it for Saturday morning, which sucks,
but it's still worth it.

I need to make some decisions about some of the content.
Should I include discussion of the .Net IL assembler?
How much on other kinds of processors? (RISC)
How much time should I spend on interrupt handlers, v
file handling?
How much time should I spend on coupling assembly language
subroutines with high level languages?
How much on using assembly language knowledge to debug
high level language problems?
Should I get into writing assembly language stuff that
runs as real Windoze applications, or stick to DOS based stuff?

--
Grumpy Ol' Fred     		cisin_at_xenosoft.com
Received on Mon Jun 21 2004 - 22:46:14 BST

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:36:59 BST