[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