Re: [fpc-pascal] Freepascal 2.0 for cygwin

2005-08-22 Thread Marc Santhoff
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

2005-08-22 Thread 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.



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

2005-08-22 Thread Marc Santhoff
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

2005-08-22 Thread Florian Klaempfl
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

2005-08-22 Thread L505

 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

2005-08-22 Thread L505
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

2005-08-21 Thread Florian Klaempfl
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

2005-08-21 Thread L505

 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

2005-08-21 Thread Nikolay Nikolov

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

2005-08-21 Thread Nikolay Nikolov

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

2005-08-21 Thread 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.


___
fpc-pascal maillist  -  [EMAIL PROTECTED]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Freepascal 2.0 for cygwin

2005-08-21 Thread Nikolay Nikolov

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

2005-08-16 Thread Jose Pascual
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

2005-08-16 Thread Peter Vreman
 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

2005-08-16 Thread Jose Pascual
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

2005-08-16 Thread Vincent Snijders

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

2005-08-16 Thread Jonas Maebe


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

2005-08-16 Thread Matt Emson
 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

2005-08-16 Thread Jose Pascual
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

2005-08-16 Thread Jonas Maebe


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

2005-08-16 Thread Marco van de Voort
[ 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

2005-08-16 Thread Marco van de Voort
 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

2005-08-16 Thread L505

 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

2005-08-16 Thread L505

 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

2005-08-16 Thread Nikolay Nikolov

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