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-Language: ENGLISH,ASCII-7-bit 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,start X-Google-Attributes: gid109fba,gid103376,gidfac41,gid1108a1,gid10b9be,public X-Google-ArrivalTime: 2004-04-24 15:09:21 PST Path: archiver1.google.com!news1.google.com!news.glorb.com!news.moat.net!border1.nntp.sjc.giganews.com!nntp.giganews.com!local1.nntp.sjc.giganews.com!nntp.wideopenwest.com!news.wideopenwest.com.POSTED!not-for-mail NNTP-Posting-Date: Sat, 24 Apr 2004 17:09:20 -0500 Date: Sat, 24 Apr 2004 18:09:08 -0400 From: =?ISO-8859-1?Q?Thomas_Gagn=E9?= User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040113 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.c++,comp.lang.ada,comp.lang.eiffel,comp.object,comp.smalltalk.advocacy Subject: Re: OOP Language for OS Development References: <95db0572.0404142153.431fd058@posting.google.com> In-Reply-To: <95db0572.0404142153.431fd058@posting.google.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Message-ID: NNTP-Posting-Host: 69.14.16.39 X-Trace: sv3-hFxsMECnY4NY7Jf3wAJg7ZAZuQnz8iVfyKIt82CG2+Dkvv1dZ3L8Skw3+MIWKiAhURJHvVfGzXrUkNQ!tpMfRKUtdn8Ny8CQYDMsTWN1568Q6FxTsLN+4Sk2/+dJqLXYszdmCMzv5yFb03Fop2QnuHEibYfU!GRpoKtgczzTrEPneMKRvFUl9snc= X-Complaints-To: abuse@wideopenwest.com X-DMCA-Complaints-To: abuse@wideopenwest.com X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.1 Xref: archiver1.google.com comp.lang.c++:31456 comp.lang.ada:7455 comp.lang.eiffel:742 comp.object:11118 Date: 2004-04-24T18:09:08-04:00 List-Id: 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: "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