Re: [fpc-pascal] Freepascal 2.0 for cygwin
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. 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. Is all this forgotten nowadays? Marc -- you should know ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Freepascal 2.0 for cygwin
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 ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Freepascal 2.0 for cygwin
Am Montag, den 22.08.2005, 14:12 +0200 schrieb Anton Tichawa: 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. You're right, lousy or inadequate expression - hex is only a form of presentation for binary data. Facts are clear to me, I had to learn programming by manually assembling 8080 codes. =:) 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? That depends on the language given for comparison. If you compare simple languages there no big diference to using a macro assembler (that's another step in abstraction, isn't it?), but some are really far away from mnemonics. The biggest gap between assembler mnemonics and a so called high level language is the abstraction from the underlying machine, you're free to use and maybe define abstract data types. The next step was object orientation, comparing Wirths Pascal to Smalltalk makes clear what I want to say with that. 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. I hope you're wrong with this assumption. Having understood some basic thing like Flip-Flops and the like really helps in writing efficient programs. 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. That depends, too. I'm involved in bringing small embedded systems to life, even if programming is done in C I couldn't make them run without some deeper 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? Some people do. Power consumption really is a topic. Current developement is moving away from rare frequency to multi processing system. So it's going slower but even more complicated. ;) IMHO developers would do good in improving overall performance of their programmes, but Intel and AMD and others are happy the way it is. 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? The pure computing power expected from quantum computers will surely help solving some mathematical problems eating up todays CPUs in dozens. We'll see, I'm looking forward to it. Marc ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Freepascal 2.0 for cygwin
L505 wrote: I know nothing about the first program, executed by the first computer, if that's what you are asking, but I guess it was probably written by hand in machine language. That leads to the first program that ran the first software program actually being a hardware program. The transistors/capacitors/resistors must have been soldered in a certain manner in order to interpret the machine code. Well, at least today a dip switch based eprom programmer is enough. Real programmers don't program in assembly. Real programmers program in transistors, capacitors, resistors, and rubber gloves. (what software runs our atoms, ions, and molecules, and what hardware runs that, if so? chicken/egg). ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Freepascal 2.0 for cygwin
I know nothing about the first program, executed by the first computer, if that's what you are asking, but I guess it was probably written by hand in machine language. That leads to the first program that ran the first software program actually being a hardware program. The transistors/capacitors/resistors must have been soldered in a certain manner in order to interpret the machine code. Real programmers don't program in assembly. Real programmers program in transistors, capacitors, resistors, and rubber gloves. (what software runs our atoms, ions, and molecules, and what hardware runs that, if so? chicken/egg). ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Freepascal 2.0 for cygwin
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? It may be useful when people get a clue that the desktop is not the only useful computer. I see possibilites for things like programmable breadmakers or programmable portable musical instrument boxes. If I could reprogram my breadmaker with some desktop software, to do an extra 10 minutes for a certain type of flour that didn't cook as fast - that would be good. That would mean I wouldn't have to spend $300 on a new one that did do the extra 10 minute cycle, let alone if there was even one available that did the extra cycle. It could be as simple as hooking the breadmaker up to a USB port on the desktop, running the freepascal compiler, and recompiling the open source linux breadmaker operating system code.Right now, the only breadmakers you can get (AFAIK) are pre-programmed, fixed ones. If clever programmable musical instruments were out there, it would mean that I could program the thing with some desktop software to contain 15 instruments from my soundcard soundfonts (simple wave files) to use live on stage. There are pianos out there where you can embed soundfont instruments inside them.. so I guess technology has already arrived in this area. Just that some people need to realize of its power still yet. Essentially, embedding a soundfont inside a piano is basically an embedded system. Cars: if you could easily take out an eprom from your car and program it yourself for mileage (instead of power) this would be useful. And I'm talking about documented, open souce methods of doing this.. not driving it into your dealer and getting them to do it. Or wrist watches. If you wanted to see the chronograph as the second option from your mode button, it could be re-programmed. Maybe you don't even want a chronograph on your watch. So whipe out the operating system and install a new one. 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? Will it increase power consumption too or does quantum offer power savings? The fear I have is that people will be using 400W computers which will cost them almost as much electricity as a small electric heater (500-1000 Watts). The first thing that needs to be ditched and thrown in the garbage are DVD and CD Rom drives. The spin up time and lag time of these inventions do not match the speed of today's processors. And they are power hungry too. We already have USB drives, compact flash, SD, etc. which are now almost as cheap per megabyte as a floppy disk cost a few years ago. (far off from the price of CD's per megabyte, still.. but CD's are junk from my perspective) I wonder how many watts the human brain uses. Eventually computers should run off things like sugar and alcohol, since we are such slaves to the oil/gas industries and resources. If we could construct a computer that did not run off gas/oil/lithium/alkaline (i.e. sugar), we might even have computers running around murdering plants with sharp knives just to survive. And other such scary things. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Freepascal 2.0 for cygwin
Matt Emson wrote: Is there some posibility to make (compiling) fpc without fpc? Is there some makefile or script in fpc (cvs) to avoid to use a fpc 1.0.0 or 2.0.0 to create a fpc new version? Cygwin runs exclusively on Windows machines... FPC has a Windows port. Whilst I can see the point of a port to Cygwin, I seriously can't understand why you can't use the Windows compiler to bootstrap the compiler. Cygwin is just a bunch of DLLs and support binaries at the end of the day, and creating a minimal bootstrap implementation using the Windows compiler, whilst not trivial, is the simplest way of doing it. Am I missing some reason for not using the Win32 compiler? By the way, how would one compile Pascal code without a Pascal compiler? No magic script file will avoid the need for fpc. Same applies to gcc ;) Without an older gcc you can't build a new one except using a propritary compiler. ___ fpc-pascal maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Freepascal 2.0 for cygwin
Same applies to gcc ;) Without an older gcc you can't build a new one except using a propritary compiler. But where did that proprietary compiler come from? Hardware based? Molecules, Ions, and atoms? i.e. the answer to the big bang theory, the answer to religion, etc. ___ fpc-pascal maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Freepascal 2.0 for cygwin
L505 wrote: Same applies to gcc ;) Without an older gcc you can't build a new one except using a propritary compiler. But where did that proprietary compiler come from? Hardware based? Molecules, Ions, and atoms? i.e. the answer to the big bang theory, the answer to religion, etc. The first compilers were written in assembly language. This allowed for the next generation compilers to be written in a high level language. ___ fpc-pascal maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Freepascal 2.0 for cygwin
L505 wrote: Same applies to gcc ;) Without an older gcc you can't build a new one except using a propritary compiler. But where did that proprietary compiler come from? Hardware based? Molecules, Ions, and atoms? i.e. the answer to the big bang theory, the answer to religion, etc. See also: http://en.wikipedia.org/wiki/Bootstrapping_%28compilers%29 ___ fpc-pascal maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Freepascal 2.0 for cygwin
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. ___ fpc-pascal maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Freepascal 2.0 for cygwin
L505 wrote: 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. I know nothing about the first program, executed by the first computer, if that's what you are asking, but I guess it was probably written by hand in machine language. ___ fpc-pascal maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] Freepascal 2.0 for cygwin
Hi there, Is there some 2.0 fpc release for cygwin? If no, How can I build it starting from the scratch? tia! best regards ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Freepascal 2.0 for cygwin
Hi there, Is there some 2.0 fpc release for cygwin? If no, How can I build it starting from the scratch? There is no release. If you want to start a cygwin special the best way is to start with a unix target and adapt it for cygwin. Things like opening files etc. all need to be done through the cygwin1.dll so using the win32 rtl can not be used for that. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
RE: [fpc-pascal] Freepascal 2.0 for cygwin
Is there some posibility to make (compiling) fpc without fpc? Is there some makefile or script in fpc (cvs) to avoid to use a fpc 1.0.0 or 2.0.0 to create a fpc new version? Hi there, Is there some 2.0 fpc release for cygwin? If no, How can I build it starting from the scratch? There is no release. If you want to start a cygwin special the best way is to start with a unix target and adapt it for cygwin. Things like opening files etc. all need to be done through the cygwin1.dll so using the win32 rtl can not be used for that. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Freepascal 2.0 for cygwin
Jose Pascual wrote: Is there some posibility to make (compiling) fpc without fpc? Is there some makefile or script in fpc (cvs) to avoid to use a fpc 1.0.0 or 2.0.0 to create a fpc new version? IIRC, fpc 1.0.0 can be made with turbo pascal 7. Vincent. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Freepascal 2.0 for cygwin
On 16 aug 2005, at 20:24, Jose Pascual wrote: Is there some posibility to make (compiling) fpc without fpc? No. Jonas ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Freepascal 2.0 for cygwin
Is there some posibility to make (compiling) fpc without fpc? Is there some makefile or script in fpc (cvs) to avoid to use a fpc 1.0.0 or 2.0.0 to create a fpc new version? Cygwin runs exclusively on Windows machines... FPC has a Windows port. Whilst I can see the point of a port to Cygwin, I seriously can't understand why you can't use the Windows compiler to bootstrap the compiler. Cygwin is just a bunch of DLLs and support binaries at the end of the day, and creating a minimal bootstrap implementation using the Windows compiler, whilst not trivial, is the simplest way of doing it. Am I missing some reason for not using the Win32 compiler? By the way, how would one compile Pascal code without a Pascal compiler? No magic script file will avoid the need for fpc. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
RE: [fpc-pascal] Freepascal 2.0 for cygwin
Okey, but I think that the first stage for make fpc is to compiling some asm or c files using binutils, right? so in cygwin I have binutils, even gcc, how I shoud to do to create first fpc from ASMs or Cs files? On 16 aug 2005, at 20:24, Jose Pascual wrote: Is there some posibility to make (compiling) fpc without fpc? No. Jonas ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Freepascal 2.0 for cygwin
On 16 aug 2005, at 21:44, Jose Pascual wrote: Okey, but I think that the first stage for make fpc is to compiling some asm or c files using binutils, right? No, FPC is entirely written in Pascal (just like gcc is written in C and not in assembler). The original bootstrap was with Turbo Pascal, but TP compatibility has been dropped a long time ago. It must be bootstrapped with itself now. so in cygwin I have binutils, even gcc, how I shoud to do to create first fpc from ASMs or Cs files? You can't, you have to cross-compile it with an existing version of FPC (the Win32 version is most logical in your case) Jonas ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Freepascal 2.0 for cygwin
[ Charset ISO-8859-1 unsupported, converting... ] Jose Pascual wrote: Is there some posibility to make (compiling) fpc without fpc? Is there some makefile or script in fpc (cvs) to avoid to use a fpc 1.0.0 or 2.0.0 to create a fpc new version? IIRC, fpc 1.0.0 can be made with turbo pascal 7. In practice Only by developers, due to all kinds of tricks needed to deal with the low memory amount. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Freepascal 2.0 for cygwin
Okey, but I think that the first stage for make fpc is to compiling some asm or c files using binutils, right? Incorrect. so in cygwin I have binutils, even gcc, how I shoud to do to create first fpc from ASMs or Cs files? You can't, FPC is written in pascal. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Freepascal 2.0 for cygwin
By the way, how would one compile Pascal code without a Pascal compiler? No magic script file will avoid the need for fpc. I asked this question on C2 wiki once.. I guess you could start by hardcoding a binary program from scratch in a text editor with your bare hands. Then you have the meaning of life, birth, the big bang, creation, etc. Did FPC originate from a turbopascal compiler, or a Gnu C compiler? Or bare assembly? or bare binary ? ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Freepascal 2.0 for cygwin
No, FPC is entirely written in Pascal (just like gcc is written in C and not in assembler). The original bootstrap was with Turbo Pascal, but TP compatibility has been dropped a long time ago. It must be bootstrapped with itself now. Neato.. offtopic but if anyone wondered, the delphi compiler is originated from borland C++ as far as my tools told me. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Freepascal 2.0 for cygwin
L505 wrote: Neato.. offtopic but if anyone wondered, the delphi compiler is originated from borland C++ as far as my tools told me. Yes, actually DCC32 is written in C++. Only the Delphi IDE is written in Delphi. FPC and Lazarus are both written in FPC :) ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal