Re: HLA History

From: Percival (dragontamer5788_at_yahoo.com)
Date: 02/07/05


Date: Sun, 06 Feb 2005 18:34:47 -0500

On Sun, 06 Feb 2005 22:30:23 +0000, Randall Hyde wrote:

>> But HLA, redefined as a tool
>> for teaching assembly programming, is very dangerous.
>
> Yes, it is. People might actually discover that they can
> write applications in assembly, despite what nay-sayers
> such as yourself claim. They might even decide they
> *LIKE* it. I can understand why you would think
> this is dangerous -- it runs counter to what you
> preach around here (never write apps in assembly).

Well, I see that teaching people is in of itself, very dangerous.

The first opinions any the matter are always the most dangerous, it is the
ones most students will stick too. People don't like change.

HLA is a good tool and a good concept. You don't learn assembly language
all at once, you learn it piece by piece from what you have done before.
Instead of all i = 10; statements in C, they turn into mov statements.
Actually, the function like syntax sucks, but from a teaching
perspective, it lets the students think mov is just another "function" and
this is what it does. eax and ebx are just global variables, so forth.

Of course, mov isn't a function at all, and eax and ebx are not global
variables. However, for the beginner, it makes perfect sense for them (or
for me anyway), and allows the beginner to connect assembly with C.

I moved on to Nasm and Fasm after HLA, and "backwards syntax" didn't cost
me anything but probably the 2 minutes of reading mov eax, 10 vs mov(10,
eax); In the greater scheme of things, it is one of those things that has
to be learned to be dealt with anyway.

For example:
the mv command in Shell is source -> destination. (and most other Unix
commands as well)

mv myfilename newfilename
cp myfilename newfilename

In C std libraries, everything is dest, src notation.
strcpy (dest, source);

My first programming language was actually TI-83 Calculator basic. Its
syntax for assignment was literally this.
src->dest

Moved to Java:
dest = src;

And finally tar, for Unix shell programming is src, dest notation. Here is
a line from documentation:

       tar -cvvf foo.tar foo/
              tar contents of folder foo in foo.tar

So that more than one folder can be placed into the same tar archive.

No matter what you do, you will find something where the src, dest
notation will flop into dest, src, or vise versa. I don't think it is a
serious hindrance either way.

Percival



Relevant Pages

  • Re: is strncpy useful at all?
    ... > You return a pointer to the terminating null byte of 'dest'. ... char* tstrncpy; ... void runTest(FP_STRNCPY fp, char* dest, char* src, size_t maxlen, ... runTest(tstrncpy, dest, src, sizeof src - 1, DEST_SIZE); ...
    (alt.comp.lang.learn.c-cpp)
  • Very new student, Hanoi Towers
    ... public static void hanoiTower(int topN, char src, char inter, ... char dest) ... Disc 1 from A to C ...
    (comp.lang.java.help)
  • Re: Windows Assembly
    ... assembler as it's native AT&T style syntax is src, ... That's a preprocessor, not an assembler. ... What are the odds that it'll be with something that's "src, dest"? ...
    (alt.lang.asm)
  • Re: rsync
    ... ~$rsync -t src dest ... rsync -av src/ dest ... skipping directory src/. ...
    (alt.os.linux)

Loading