comp.lang.ada
 help / color / mirror / Atom feed
From: Christopher Browne <cbbrowne@acm.org>
Subject: Re: OOP Language for OS Development
Date: 26 Apr 2004 04:17:15 GMT
Date: 2004-04-26T04:17:15+00:00	[thread overview]
Message-ID: <c6i2gb$bggmo$1@ID-125932.news.uni-berlin.de> (raw)
In-Reply-To: b6GdnZco0f4NeBfdRVn-gQ@wideopenwest.com

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2954 bytes --]

In the last exciting episode, Thomas Gagn� <tgagne@wide-open-west.com> 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, <http://svcs.affero.net/rm.php?r=cbbrowne> rate me
http://www3.sympatico.ca/cbbrowne/advocacy.html
Lisp Users:
Due to the holiday next Monday, there will be no garbage collection.



      parent reply	other threads:[~2004-04-26  4:17 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-15  5:53 OOP Language for OS Development KingIshu
2004-04-15  8:02 ` Martin Krischik
2004-04-15 12:25 ` Ioannis Vranos
2004-04-15 12:49   ` Ioannis Vranos
2004-04-15 12:39 ` Thomas Gagné
2004-04-15 14:32 ` jeffc
2004-04-15 14:45 ` Luke Guest
2004-04-17 16:30 ` Ender Everett
2004-04-19  1:53 ` EventHelix.com
2004-04-19  7:25   ` Martin Krischik
2004-04-19  8:35   ` Jean-Pierre Rosen
2004-04-19  9:16     ` Ioannis Vranos
2004-04-19 11:15       ` Jean-Pierre Rosen
2004-04-19 11:32       ` Martin Krischik
2004-04-19 17:36       ` Christopher Benson-Manica
2004-04-19 11:09   ` Philippe Ribet
2004-04-22  7:34     ` Calum
2004-04-22 10:48       ` John English
2004-04-23  8:36       ` Philippe Ribet
2004-04-23  9:55         ` Calum
2004-04-23 14:30           ` Steven Wurster
2004-04-23 15:04             ` Hyman Rosen
2004-04-23 22:08               ` Brian_Heilig
2004-04-23 22:33                 ` Hyman Rosen
2004-04-24 12:53                   ` Robert C. Martin
2004-04-25  1:25                     ` Steven Wurster
2004-04-25 12:30                       ` Robert C. Martin
2004-04-24 19:58                   ` Anthony Weissenberger
2004-04-25  2:24                     ` Hyman Rosen
2004-04-24  0:01               ` Steven Wurster
2004-04-24 15:27             ` JKop
2004-04-24 21:41               ` Greg C
2004-04-24 22:17               ` Steven Wurster
2004-04-29 17:43               ` Brian_Heilig
2004-04-23 16:22           ` Georg Bauhaus
2004-04-23 16:45             ` Hyman Rosen
2004-04-23 20:13               ` Georg Bauhaus
2004-04-23 21:18                 ` Hyman Rosen
2004-04-24 10:33                   ` Georg Bauhaus
2004-04-25  2:27                     ` Hyman Rosen
2004-04-23 23:03               ` Brian_Heilig
2004-04-25  2:42                 ` Hyman Rosen
2004-05-04 18:37                   ` Dr Chaos
2004-05-05 11:58                   ` Ged
2004-05-05 12:28                     ` Thomas Gagné
2004-05-06  9:35                       ` Ged
2004-04-24  0:10               ` Steven Wurster
2004-04-25  2:37                 ` Hyman Rosen
2004-04-24  1:00 ` Brian_Heilig
2004-04-26  3:43   ` Berend de Boer
2004-04-26  4:17     ` Christopher Browne
2004-04-26 21:52       ` Berend de Boer
2004-05-04  4:14     ` Richard  Riehle
2004-05-04 21:15       ` Berend de Boer
2004-04-28 19:53   ` Philippe Ribet
2004-04-29  8:32     ` Georg Bauhaus
2004-04-30 17:48       ` Philippe Ribet
2004-04-29 17:39     ` Brian_Heilig
     [not found]       ` <1402879.WneVss6BD6@linux1.krischik.com>
     [not found]         ` <ba03b545.0404300503.376243c8@posting.google.com>
     [not found]           ` <c6tk6v$amm$1@news.BelWue.DE>
2004-04-30 13:46             ` Preben Randhol
2004-04-30 19:30             ` Steven Wurster
2004-04-24 22:09 ` Thomas Gagné
2004-04-25  2:17   ` Hyman Rosen
2004-04-25 16:31     ` Alexander E. Kopilovich
2004-04-25 16:58     ` Isaac Gouy
2004-04-26  0:01       ` Cesar Rabak
2004-04-26  6:14         ` Isaac Gouy
2004-04-26  2:06       ` Thomas Gagné
2004-04-25 16:29   ` Alexander E. Kopilovich
2004-04-26  4:17   ` Christopher Browne [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox