[fpc-pascal] Freepascal 2.0 for cygwin
Anton Tichawa
anton.tichawa at chello.at
Mon Aug 22 14:12:20 CEST 2005
Marc Santhoff wrote:
>Am Sonntag, den 21.08.2005, 16:19 -0700 schrieb L505:
>
>
>>>The first compilers were written in assembly language. This allowed
>>>
>>>
>>for
>>
>>
>>>the next generation compilers to be written in a high level language.
>>>
>>>
>>And the assembly language was just magically inserted into the memory
>>with that magic script?
>>
>>At some point it comes to a hardware etching level, I'm guessing.
>>
>>
>
>Yes, "assembling" is the task of translating mnemonic codes to
>hexadecimal byte codes that are what is called "machine language". The
>programs doing this automatically are called assemblers.
>
>
>
In fact, it's translating mnemonics and syntactical constructs to
-binary- codes; hexadecimal is just a notation often used in object
files and by monitor programs.
>The machine language has to be put in the program memory of the machine
>in question. That can be done via burning an EPROM or similar, by poking
>bytes in hex in via the system monitor, ...
>
>Often the first compilers (and interpreters) ported to a new machine
>in that ancient times were forth engines, because the core of such thing
>is only a few kilobytes big. An it can compile compilers and anything
>else.
>
>
>
Assembler, often considered "low-level", introduces symbolic
programming, i. e. assigning names and syntax to binary patterns. Isn't
that a bigger invention (or abstraction) than that of high-level
languages? I mean, isn't the step from binary programming to assembler
larger than the step from assembler to HLLs?
>Is all this forgotten nowadays?
>
>Marc
>
>
Every year, new layers, APIs etc. are built on top of old ones, sinking
them into the almost unconscious. It's not yet completely forgotten, but
doesn't it seem to become an esoteric science? Most programmers today
see some API or platform as their working base, which is IMHO like
standing on a cloud - they don't see the transistors etc. Would they be
capable to build a computer from scratch? A mechanical cash register? A
hydraulic-based computer?
But you can't make money with that comprehensive knowledge. And, the
advance in electronics hides the disadvantages of current software
structure with it's many layers, wasting time and memory, and
sacrificing simple, understandable structures. A computer with 2 GHz,
booting in 2 minutes, spends 240 000 000 000 cycles, doing almost
nothing in a terribly complicated way. That's crazy if you see the whole
thing. But who cares?
There will be, in a few years, a stop in the increase of hardware
performance, dictated by quantum theory. How will that change the
software development process?
Anton
More information about the fpc-pascal
mailing list