comp.lang.ada
 help / color / mirror / Atom feed
From: "Thomas Gagné" <tgagne@wide-open-west.com>
Subject: Re: OOP Language for OS Development
Date: Sat, 24 Apr 2004 18:09:08 -0400
Date: 2004-04-24T18:09:08-04:00	[thread overview]
Message-ID: <b6GdnZco0f4NeBfdRVn-gQ@wideopenwest.com> (raw)
In-Reply-To: <95db0572.0404142153.431fd058@posting.google.com>

Back to the original question...

I would expect there's conflicting demands on the operating system and 
consequently the language it's written in.  It is presumably responsible 
for interfacing directly with hardware, and must provide suitable 
abstractions for anything that might be attached to it.

At the same time, the operating system must play host to applications 
written for it, and it doesn't make sense to me that the OS should place 
restrictions on application languages--though it could turn the tables.

In today's popular operating systems the lower-level a language you are 
the greater advantage you have over higher-level languages.  If the 
operating system were written in an OOL that normally requires a virtual 
machine then that VM would be more native (or natural, perhaps) to other 
OOLs that could use the same VM.  Low level languages would have to run 
inside their own VM because the low-level operations might not be 
available to them.  Imagine writing a C program that didn't run as fast 
as a Java program because the C program had to run inside a VM on top 
the OS!

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.  Imagine if such a thing 
were successful then chip manufacturers could begin developing chips to 
make the VM run faster as was suggested by Alan Kay years ago: 
<http://gagne.homedns.org/~tgagne/contrib/EarlyHistoryST.html#coda>

    "Hardware is really just software crystallized early. It is there to
    make program schemes run as efficiently as possible. But far too
    often the hardware has been presented as a given and it is up to
    software designers to make it appear reasonable. This has caused
    low-level techniques and excessive optimization to hold back
    progress in program design. As Bob Barton used to say: "Systems
    programmers are high priests of a low cult."

    "One way to think about progress in software is that a lot of it has
    been about finding ways to /late-bind/, then waging campaigns to
    convince manufacturers to build the ideas into hardware. Early
    hardware had wired programs and parameters; random access memory was
    a scheme to late-bind them. Looping and indexing used to be done by
    address modification in storage; index registers were a way to
    late-bind. Over the years software designers have found ways to
    late-bind the locations of computations--this led to base/bounds
    registers, segment relocation, page MMUs, migratory processes, and
    so forth. Time-sharing was held back for years because it was
    "inefficient"-- but the manufacturers wouldn't put MMUs on the
    machines, universities had to do it themselves! Recursion late-binds
    parameters to procedures, but it took years to get even rudimentary
    stack mechanisms into CPUs. Most machines still have no support for
    dynamic allocation and garbage collection and so forth. In short,
    most hardware designs today are just re-optimizations of moribund
    architectures."

Perhaps it's time for such a thing to be attempted.  If done well enough 
it could be the proof that late-binding is something much-needed in 
operating system and not just their applications.



     wrote:

>Hi All,
>I am developing an object oriented OS code-named "ikbocs".
>1) What are the pros and cons of the following languages interms of  
>Effectiveness on System Programming, Object Orientedness etc ?
>(Simula, Smalltalk, Modula-3, Eiffel, Sather, C++)
>I suppose Java is not suitable for Sys. Programming.
>
>2) Which OOP language would be better for OS development?
>
>TIA
>KingIshu
>  
>

-- 
.tom
remove email address' dashes for replies
opensource middleware at <http://isectd.sourceforge.net>
<http://gagne.homedns.org/~tgagne/>



  parent reply	other threads:[~2004-04-24 22:09 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é [this message]
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
replies disabled

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