Re: Aspiring highest-order programmer

From: Edward G. Nilges (spinoza1111_at_yahoo.com)
Date: 05/25/04


Date: 24 May 2004 15:52:18 -0700

JKop <NULL@NULL.NULL> wrote in message news:<Ghrsc.294$Z14.180@news.indigo.ie>...
> I know C++. I'm wondering, does all C++ code get turned into assembly code
> before it finally becomes machine code?
>
Not in most modern cases. Instead, it is turned into an intermediate
and linked data structure which doesn't resemble assembly code except
insofar as it is lower level.

Some more basic C++ compilers in fact preprocess C++ into C.

> I'm an excellent C++ programmer. I aspire to fully understand computer
> programming and not just subscribe myself to the one sole doctrine language,
> eg. C++.
>
An excellent choice.
 
> Therefore, I ask, regarding all computer programming languages, do they all
> have an assembly code stage before they become machine code? If so, I
> pressume that the best way to come to truly understand computer programming
> is to understand assembly language.
>
As I narrate in my book, Build Your Own .Net Language and Compiler (I
wanted to call it Build Your Own Goddamn .Net Language and Compiler
but they wouldn't let me), I was privileged to learn first machine
language and then assembler and only then high level language.

This way one learns the motivation for each new level. In fact it
would even be better, IMO, if students had to WRITE the assembler and
then the compiler, before producing application programs at either
level.

Too much "work"? Boo hoo. Where I live now, in China, students must
swot 1500 ideograms to be able to read the newspaper and in so doing
they learn habits of stillness; no time for fashionable disorders in
China such as ADD. Nor is it too much work in excess of learning to
read or write in any language for the mind, which Krishna said is
turbulent, strong, unyielding, finds economies of scale.

However, actual praxis in CS education seems to be mostly the reverse,
in which the student is encouraged to wrestle with pre-existing,
little understood "tools" that were intended, for the most part, by
their original author to make his life easier, but which were
alienated by managers who thought that they could have lower-paid and
less "arrogant" (in the sense of having a modicum, of self-esteem)
programmers use the "tools".

The complexity and delicacy of post-Depression social arrangements may
mean that what was merely attractive bounce, side, flannel and
initiative in the time of Horatio Alger is now a form of Asberger's
syndrome, arrogance, and disruptive. Thus a rage to understand any one
part of what is a social mechanism may be, today, at one and the same
time and in a schizophregenic fashion, useful in the sense of the
continued need for artisans and disruptive, insofar as the artisan
lays claim to social power thereby, even in the coin of a self-esteem
that causes his peers to feel diminished.

But I digress.

"Computer literacy" becomes a strange form of "literacy" indeed, for
it fails to go all the way down and is constituted in the
authoritarian willingness to wrestle with great mounds of gelatin.
Demurrals to this model, like that of Ted Nelson, increasingly attract
increasingly juvenile attacks such as Wired Magazine's hounding of
Nelson in 1998.

In fact, it may be a mistake to innocently regard programming using
any kind of nineteenth century professional model, because its grand
narrative is the distinctly ungrand narrative of employability.

One has to "keep up" with the technology, narrated as driven by forces
necessarily from afar, in order to be au fait and with it at all times
lest one be discarded. However, a genuine knowledge is never, by the
rules of the game, allowed to consider itself free-standing and,
independent of the naturalized technology.

The nightmare of childhood, and of unemployability, must be held over
the heads of the "senior" people in the field far more than over the
heads of the entrants because the naturalization of the technology,
its immunity to grassroots oversight and control, is the important
narrative.

Thus Wired presents an Indian programmer on its cover and the teaser,
I am going to take your job because Wired is unconsciously invested in
the mechanism of the Elder Brother (Gei Gei) in the absence of the
murdered Father, a continual teasing and bullyragging to which all
parties are addicted.

However, at the same time, the technology continues to work at all
thanks to people who work against the grain of the narrative and in
fact become excellent C++ programmers.

Let us, in other words, praise famous men, and their children after
them.

But again I digress.

By all means do learn assembler. In fact, with your C++ skills, I
suggest you bypass hardware issues.

Write an interpreter for a paper machine and write an assembler.
>
> So if I want to be a computer programmer of the highest order, should I go
> get learning assembly language?
>
Yes.
>
> Thanks,
>
>
> -JKop



Relevant Pages

  • Re: when to use proc
    ... > point out that these are not real 80x86 assembly language statements. ... >> first assembler only app after reading the documentation. ... But remember I come from windows programming for 10 years. ... transition to Spasm was easy since the API I allready know a little about. ...
    (alt.lang.asm)
  • Re: MSIL or Bytecode taught instead of ASM
    ... efforts of the "high level language" communities, ... spent learning any given assembler or assembly language. ... said IL (unlike the basic architecture). ... traditional VM (the high or low-levelness between bytecode and machine code ...
    (comp.programming)
  • Re: Future of programming
    ... but again, let's not forget in my opinion the main purpose of programming, ... the more abstract the programming language ... code-generators, or even efficient compilers, which is not the case ... > fastest solution to the problem, then assembler is still needed. ...
    (alt.lang.asm)
  • A Friendly review of "Windows Programming in Assemble Language" chapter 3
    ... Programming in Assemble Language". ... Basically a commersial of HLA, and its ability to bridge the gap for asm ... ressurect HLA status to an assembler and positions HLA ...
    (alt.lang.asm)
  • Re: Survey
    ... >> There are a couple of things HLLs can do that an assembler cannot - ... >> programming population can read. ... No language can prevent the truly dedicated from writing unreadable ...
    (alt.lang.asm)

Loading