From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 5b1e799cdb,3ef3e78eacf6f938 X-Google-Attributes: gid5b1e799cdb,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,UTF8 Path: g2news2.google.com!news2.google.com!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!cyclone1.gnilink.net!gnilink.net!news.glorb.com!newsgate.cuhk.edu.hk!news.netfront.net!not-for-mail From: wwilson Newsgroups: comp.lang.eiffel,comp.lang.ada,comp.lang.modula3,comp.programming Subject: Re: Alternatives to C: ObjectPascal, Eiffel, Ada or Modula-3? Date: Sat, 25 Jul 2009 22:10:03 -0400 Organization: Netfront http://www.netfront.net Message-ID: References: <4fc0934e-197b-4a02-a006-4b64072897b2@h18g2000yqj.googlegroups.com> <7020ad82-ed09-4c87-8f46-db23bf2fa866@32g2000yqj.googlegroups.com> NNTP-Posting-Host: 68.73.98.219 Mime-Version: 1.0 Content-Type: text/plain; format=flowed; delsp=yes; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: adenine.netfront.net 1248574244 22471 68.73.98.219 (26 Jul 2009 02:10:44 GMT) X-Complaints-To: news@netfront.net NNTP-Posting-Date: Sun, 26 Jul 2009 02:10:44 +0000 (UTC) User-Agent: Opera Mail/9.61 (Win32) Xref: g2news2.google.com comp.lang.eiffel:427 comp.lang.ada:7356 comp.lang.modula3:109 comp.programming:12046 Date: 2009-07-25T22:10:03-04:00 List-Id: On Sat, 25 Jul 2009 02:05:03 -0400, robertwessel2@yahoo.com wrote: > On Jul 24, 8:15 pm, wwilson wrote: >> On Fri, 24 Jul 2009 05:31:45 -0400, Jon Harrop >>   >> wrote: >> >> > tm wrote: >> >> Simplicity of languages and their implementation got lost somehow... >> >> > The F# team at Microsoft used to advertise that their compiler was >> under >> > 10kLOC. >> >> Am I the only one that remembers when computers came with a maximum of >> a   >> few kbytes.  I personally know of one full FORTRAN IV compiler for the >> IBM   >> 1130 that fit into 8 K bytes.  My favorite programming feat was the way >>   >> that IBM squeezed a whole COBOL compiler into 1400 bytes on the IBM >> 1401. > > > While it’s true that compilers of that era ran in very small amounts > of memory, they often ran very many passes, the code for each of which > was loaded sequentially, and much use was made of temporary files to > hold intermediate transformations of the program being compiled. Some > compilers used upwards of 20 passes (which wasn't great for > compilation speeds either). The compilers were in fact much larger > than could fit in memory (at least on the smaller machines), they just > arranged things so that it didn't all need to be loaded at once. Hey,its nice to find somebody who remembers when men were men and programmers where gods who walked on the earth. You are right that in many cases the compilers used multiple passes. If I remmeber correctly, the COBOL compiler for the IBM 1401 used 28 passes. But this still meant that the compiler fit in 28*1.4 Kbytes (=39.4 kbytes) A remarkable feat. On the other hand, the FORTRAN compiler that I refered to was developed for student use. It remained in the lower half of memory and the compiler put code into the upper half. The compiler was loaded followed by a stack of student jobs which the compiler processed one after the other. (Forward references were put into a table and cleaned up after the compiler loaded the break card that went between jobs. Each job executed as soon as it was translated and when it finished executing, control returned to the compiler for the next job.) For its time and the computer, it was very fast and efficient. Many faculty prefered it to the FORTRAN on the school's mainframe (384 Kbytes) which took hours to turn a job around. (Of course this meant that your job had to fit iinto 8 kbytes!) One thing that made a difference is that some of the common languaages of that era were designed so that the compiler could determine the kind of statement from the first two or three letters of the statement. Both FORTRAN and the early BASICs were this way. At this point the compiler jumped to a statement specific translation. No LL(1), parse tables, or other more powerful techniques needed. Not that I would give up the language advantages that these techniques allow. There is no free lunch and, IMHO, many newer language features justify all the extra power that is necessry to compile them. As I said at the beginning it is good to find someone that remembers and cares about the early days. -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/