not going to appear where it should in the que, but forging ahead nevertheless...
from: Chuck Guzis <cclist at sydex.com>
On 3 Jan 2012 at 15:32, Chris M wrote:
?Are you willing to declare that every compiler writer
getting a check
today learned ml first Chuckers? Something tells me the vast majority
probably cut their teeth on BASIC, Pascal, and FORTRAN. But what do I
know.
I'm struggling to understand what point you're trying to get across.
My point was that it's probably best to learn arithmetic before one
learns algebra or calculus--that is, to understand the way numbers
work.
Of course, some would disagree. But if you don't understand how a
computer works, it's hard to believe that programming languages will
come easy to you.
<snip>
C: There's no cause for struggle. I'll bet few language developers learned machine
or assembly
language first. My guess is the utter vast majority learned a procedural language, like
BASIC,
or any other, as first steps. You can liken machine language to arithmetic if you like,
but I'd
sooner liken it to theory and proofs! It goes w/o saying that to learn the ins and outs of
languages you're will as a necessity have to learn to code in primitives, and
understand the
machine's specifics, and even what happens to chips when they heat up even . But to
state that
that has to proceed learning other language skills doesn't seem like it would reflect
everyday
realities. Granted some language developers (or board members) are probably older, and
perhaps
?some actually did_need_ to learn machine coding as a first step (for lack of anything
else).
For the most part,
coding in assembly is not all that different from coding in higher level languages.
There's
less abstraction, but even utilization of BIOS routines insulates you from much of the
hardware.
?Does
someone need to learn how to develop photographs before taking award winning pictures?
Arguably learning too much about machine specifics initially can make it harder to learn
newer
methodologies, like OOP. Granted languages are written more often in C and assembly or
some
combination, but higher level constructs in any language add layers of abstraction.
Successful
?developers have to leave behind aspects of bits and bolts oftentimes and deal w/the
?methods at hand.