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.1 required=5.0 tests=BAYES_00, PP_MIME_FAKE_ASCII_TEXT autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII X-Google-Thread: 109fba,e0a59694a441eb7b X-Google-Thread: 103376,e0a59694a441eb7b X-Google-Thread: fac41,e0a59694a441eb7b X-Google-Thread: 1108a1,e0a59694a441eb7b X-Google-Thread: 10b9be,c2c5fe0128ffef52 X-Google-Attributes: gid109fba,gid103376,gidfac41,gid1108a1,gid10b9be,public X-Google-ArrivalTime: 2004-04-25 21:17:17 PST Path: archiver1.google.com!news2.google.com!fu-berlin.de!uni-berlin.de!hse-mtl-ppp74894.qc.sympatico.CA!not-for-mail From: Christopher Browne Newsgroups: comp.lang.c++,comp.lang.ada,comp.lang.eiffel,comp.object,comp.smalltalk.advocacy Subject: Re: OOP Language for OS Development Date: 26 Apr 2004 04:17:15 GMT Organization: cbbrowne Computing Inc Message-ID: References: <95db0572.0404142153.431fd058@posting.google.com> NNTP-Posting-Host: hse-mtl-ppp74894.qc.sympatico.ca (64.229.210.163) X-Trace: news.uni-berlin.de 1082953035 12075736 I 64.229.210.163 ([125932]) X-Draft-From: ("nntp+wolfe:comp.lang.ada" 8601) X-message-flag: Outlook is rather hackable, isn't it? X-Home-Page: http://www.cbbrowne.com/info/ X-Affero: http://svcs.affero.net/rm.php?r=cbbrowne Xref: archiver1.google.com comp.lang.c++:31650 comp.lang.ada:7495 comp.lang.eiffel:758 comp.object:11193 Date: 2004-04-26T04:17:15+00:00 List-Id: In the last exciting episode, Thomas Gagn� wrote: > Of course, that may not be required. But let's look at two languages > on opposite sides of the spectrum--C and Smalltalk. > > If the OS was written in Smalltalk then its imaginable the natural > instructions might be Smalltalk's. Would C programs be compiled > into Smalltalk opcodes? That would be interesting. This phenomenon was actually seen with Symbolics Lisp Machines. They were "natively" programmed in Lisp (something fairly close to Common Lisp), and the hardware was specifically attuned to that. There was indeed a C compiler for Symbolics; it generated "Lisp Machine assembly language," which is pretty much equivalent to your suggestion of C being compiled into Smalltalk opcodes. This form of C was certainly different from what is traditional; there was no notion of "numeric" pointers; it used Lisp 'pairs' to represent pointers. That doesn't break C, although it doubtless breaks code that assumes that pointers are objects that may be manipulated arithmetically... What was discovered was that it cost _WAY_ too much to keep redesigning these CPUs every other year. It is certainly spectacularly costly for AMD and Intel to create each successive generation of their chips, but they can amortize the costs across many millions of chips. Lisp Machines didn't have the quantities of sales. Symbolics stopped designing hardware; they wrote some Alpha microcode to let them get an efficient pseudo-instruction set on Alpha processors, which was a sound idea, but they faded into oblivion for other reasons. It seems pretty clear to me that the Intel Itanium "EEPIC" approach, which requires even smarter static compilation, is likely to be a vast mistake in the long run as far as general purpose use is concerned. It'll be nice stuff if you deploy all your apps in source code form so that you can recompile in the target environment, to get a static optimum, but it's terrible if the goal is to deploy precompiled binaries on a diverse set of hosts. But to get some _actual improvements_ to architectures that are usable for OSes strikes me as troublesome. All the 'popular' systems these days are based on C (or something vanishingly nearby), and it would take jumping to an implementation language as esoteric as Smalltalk, Lisp, or ML in order to get an OS able to make much real advantage out of special instructions. And the result is a system SO different that you likely have to start over from scratch in terms of building system utilities, compilers, data storage, and such; a big enough project to daunt most would-be participants. It's a lot easier to grab a Linux/BSD kernel and do something in a Unix-like userspace. -- If this was helpful, rate me http://www3.sympatico.ca/cbbrowne/advocacy.html Lisp Users: Due to the holiday next Monday, there will be no garbage collection.