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-Attributes: gid109fba,gid103376,gidfac41,gid1108a1,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 Subject: Re: OOP Language for OS Development Date: 26 Apr 2004 04:17:16 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 1082953036 12075736 I 64.229.210.163 ([125932]) X-Draft-From: ("nntp+wolfe:comp.lang.ada" 8640) 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++:31651 comp.lang.ada:7496 comp.lang.eiffel:759 comp.object:11194 Date: 2004-04-26T04:17:16+00:00 List-Id: Oops! Berend de Boer was seen spray-painting on a wall: >>>>>> "Brian" == Brian Heilig writes: > > Brian> is probably the show stopper. I'm pretty sure it is > Brian> impossible to write an entire OS completely in > Brian> Eiffel. > > You can't do it in C either. You always need a bit of assember to > access the hardware. The challenge in any language is that you need to build several things that require "stepping outside the language." - As you say, there's a need to get at assembler procedures in order to access hardware. - There's a need to manage context switching, to manage processes; that likely mandates some assembler. The fact that some languages support threading is unhelpful, because that normally requires some "outside context." - Ditto for memory management; the more the language integrates that, the more difficult it is likely to be to use the language to implement memory management. C is pretty good for the purpose since its primitives _aren't_ much more than a sort of "high level assembly language." Languages that assume a garbage-collected memory management scheme are likely to be particularly challenging ways to do this... -- let name="cbbrowne" and tld="cbbrowne.com" in String.concat "@" [name;tld];; http://cbbrowne.com/info/advocacy.html "Those who doubt the importance of a convenient notation should try writing a LISP interpreter in COBOL or doing long division with Roman numerals." -- Hal Fulton