Re: Teaching (and Learning) Assembly Language, Part I




randyhyde@xxxxxxxxxxxxx wrote:
> Alex McDonald wrote:
> >
> > Precursor: Part 0: Algorithms
> >
> > Programming in any language is an exercise in futility if the
> > programmer hasn't an understanding of what they're doing. Sorting,
> > searching, indexing, looping; doesn't really matter what you write in,
> > understanding the algorithms used is essential. Terje Mathisen's sig is
> > "almost all programming can be viewed as an exercise in caching". My
> > sig (if I had one) would be "almost all programming can be viewed as an
> > exercise in algorithm translation". And for functional languages,
> > "_all_ programming is an exercise in algorithm translation". Imho.
>
> This pretty much differentiates category one from category two people
> in the article. Category two people have already learned how to
> implement generic algorithms into a formal programming language.
> Without question, this is requires the *largest* effort associated with
> learning how to program in any language, including assembly language.
> It's also why most people believe that assembly language is *not* the
> best "first language" to learn, because assembly language is not a good
> vehicle for implementing (nor learning to implement) most algorithms.
> Cheers,
> Randy Hyde

Strangely, neither was Fortran, but I bet more than a handful of us cut
our teeth on it! Again, imho only... My first prgram was Newton's
iterative square root algorithm, written in RPG, the only thing
available on an IBM System3. I didn't learn assembler (S/360 BAL) until
my late teens/early twenties after exposure to IMP, and implementation
of an Algol-like language used at Edinburgh Uni. No, I'm not a comp sci
graduate; I "liberated" another student's account...

Assembler has a distinct downside in x86. The instruction set is barely
orthogonal, there are magic registers like ECX, the register set in
small, the addressing modes unusual (sib in particular) and MOV covers
a multitude of sins where LOAD and STORE are used in other assemblers.
Perhaps IA-64/EMT64 will help.

I've changed my sig for functional languages; "all functional language
programs are algorithms".

--
Regards
Alex McDonald

.



Relevant Pages

  • Re: How to solve for smallest and largest int?
    ... generate a simple algorithm has no business trying to learn Ada. ... then recommended Basic or C as a first language. ... lot of bad programming practices using Basic. ... Algorithms interact with data structures to produce programs. ...
    (comp.programming)
  • Re: object system...
    ... for that you need machine language. ... isn't even as fast as other systems programming languages. ... Stroustrup's stated design goal was to enable ... all manner of elegance or abstraction can be sacrificed for speed, ...
    (comp.object)
  • Re: why learn C?
    ... programming beginner. ... Any language that allows subroutines is procedural based. ... you can learn about algorithms and data structures ...
    (comp.lang.c)
  • Re: DirectX in HLA
    ... I guess that you have a great knowledge of DirectX ... > understanding by looking at them in assembly language... ... > actually represents, really, is a means to "undo" the OOP so ... > is NOT an "OOPL" (object-orientated programming language), ...
    (comp.lang.asm.x86)
  • Re: DirectX in HLA
    ... I guess that you have a great knowledge of DirectX ... > understanding by looking at them in assembly language... ... > actually represents, really, is a means to "undo" the OOP so ... > is NOT an "OOPL" (object-orientated programming language), ...
    (alt.lang.asm)