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=-0.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, FREEMAIL_REPLY autolearn=no 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-Attributes: gid109fba,gid103376,gidfac41,gid1108a1,public X-Google-ArrivalTime: 2004-04-23 18:00:54 PST Path: archiver1.google.com!postnews1.google.com!not-for-mail From: heilig@iname.com (Brian_Heilig) Newsgroups: comp.lang.c++,comp.lang.ada,comp.lang.eiffel,comp.object Subject: Re: OOP Language for OS Development Date: 23 Apr 2004 18:00:53 -0700 Organization: http://groups.google.com Message-ID: References: <95db0572.0404142153.431fd058@posting.google.com> NNTP-Posting-Host: 24.199.85.168 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1082768453 17008 127.0.0.1 (24 Apr 2004 01:00:53 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Sat, 24 Apr 2004 01:00:53 +0000 (UTC) Xref: archiver1.google.com comp.lang.c++:31360 comp.lang.ada:7443 comp.lang.eiffel:735 comp.object:11069 Date: 2004-04-23T18:00:53-07:00 List-Id: ikbocs@yahoo.com (KingIshu) wrote in message news:<95db0572.0404142153.431fd058@posting.google.com>... > 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 Eiffel Pros: Design by Contract - a process and a language, Design by Contract defines things like software correctness, software errors, and exceptions like no other method. Integration into the language dramatically helps with documentation and debugging. Many other reasons why DbC alone puts Eiffel near the top of the list. No problem with buffer overruns in Eiffel (the number one security risk in operating systems), thanks to DbC. Tight language design - all language features can be traced back to about 10 basic principles. Eiffel has been systematically designed as a language making it concise, easy to learn and easy to use. Strict type system - operating systems require secure and correct code. With Eiffel you'll catch more bugs at compile time. This strict system makes it more difficult to design your code, but the benefit greatly outweighs the increased effort. Eiffel Cons (related to OSes): There is no turnkey Eiffel compiler for you to use for operating systems. All the current compilers are system-oriented, that is, they generate systems, which for example have command-line arguments and garbage collectors. Unless I'm mistaken this is probably the show stopper. I'm pretty sure it is impossible to write an entire OS completely in Eiffel. Number one reason, Eiffel has no method for declaring interrupt handlers. The good news is that Eiffel integrates with other languages easily (C for example which has an interrupt keyword). If efficiency is your number one priority Eiffel may not be for you. SmartEiffel and ISE Eiffel generate very efficient code, but I don't think it meets the demands of a CPU scheduler, for example. Brian