Path: csiph.com!feeder.erje.net!2.us.feeder.erje.net!newsfeed.fsmpi.rwth-aachen.de!newsfeed.straub-nv.de!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Paul Rubin Newsgroups: comp.lang.forth Subject: Re: Languages to learn for 2017 - Forth is still very much a hidden secret ... Date: Thu, 08 Dec 2016 00:47:32 -0800 Organization: A noiseless patient Spider Lines: 18 Message-ID: <8737hy6c4b.fsf@nightsong.com> References: <12299e93-da26-4925-8c8a-a89e0f41ff61@googlegroups.com> <355d9090-e954-41e5-92fc-323cd6d23887@googlegroups.com> <744206f0-9d65-46c1-89a1-7ed019eb0512@googlegroups.com> <7f39aa26-557e-4a1a-8012-e9c5991cf2c9@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="601cec4476227572321c209a8a18d585"; logging-data="3501"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/+ddiqdItNK3BH8wremEMj" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Cancel-Lock: sha1:Sf9MSnLjzbCXP6oX5hXo7md7u8k= sha1:YIn3zmTWMVMgGx9JIdEQZObD1SI= Xref: csiph.com comp.lang.forth:53188 JUERGEN writes: > I could never understand why there is not a LINUX Kernel written in > Forth - and connected via SockPuppet or similar to the rest. Unix started out as a small minicomputer OS that was in something like the Forth spirit, but its present-day descendants like Linux are very large and complicated. And even given the resources to write a Linux-like kernel in Forth, it's hard for me to identify any benefits from doing so. Forth and C are both low-level languages with similar hazards. If Forth programs tend to have fewer bugs than C programs, it's probably from a combination of Forth programs being smaller (less bug surface), and Forth programmers being more careful (the interactive, word by word code-and-test approach, etc). I'd rather see a new kernel written in a language with far more built-in error checks. People have been talking about using Rust for something like that. I don't know if there's been any progress.