Programming Languages Will Become OSes 461
Anonymous Coward writes "A couple of months ago, at the Lightweight Languages Workshop 2002, Matthew Flat made a premise in his talk: Operating systems and programming languages are the same thing (at least 'mathematically speaking'). I find this interesting and has a lot of truth in it. Both OS and PL are platforms on which other programs run. Both are virtualizing machines. Both make it easier for people to write applications (by providing API, abstractions, frameworks, etc.)"
Lisp (Score:0, Informative)
Oberon anybody? (Score:5, Informative)
Behind the times? (Score:4, Informative)
Re:Oberon anybody? (Score:5, Informative)
Although, Oberon is not the past. It's still being actively developed, in both it's OS and PL incarnation.
Re:Lisp (Score:1, Informative)
Re:what I want (Score:2, Informative)
Re:Lisp (Score:2, Informative)
The point is not that the code to a Lisp compiler is anything like the code to an operating system; rather, it is that each advanced programming language provides its own set of high-level abstractions for what are traditionally OS-level services.
Re:JavaOS (Score:2, Informative)
Rational R1000 - Ada 83 as an OS (Score:2, Informative)
Re:Going Forth? (Score:4, Informative)
What is the standard C library except an API specification to an OS?
Standard C library is not a standard library of C language for Unix, it's a standard library of the Unix system that is used with C language (and every other language on Unix). Of course, for applications portability purpose it was ported to other systems, however it's still not really a part of the language design -- say, variable arguments list is a part of C design, but [v[s[n]]]printf strictly speaking isn't.
Re:A Microprocessor *IS* a language Interpreter (Score:2, Informative)
Re:Use Emacs (Score:3, Informative)
Assuming you are on a Linux box with Emacs (and info) properly installed you might be able to simply type 'info viper'. The info file included with viper is pretty darn good.
Or you can just start up Emacs and type M-x viper-mode. viper-mode has a start-up message that is pretty handy, it should get you started without too much trouble. If you set the viper-expert-level variable low enough Emacs will act just like vi.
If you are really interested in using Emacs, however, I would suggest learning to use Emacs' built in info browser. There is a ton of functionality built into Emacs that is not immediately apparent. I have been using Emacs for years now, and I still find amazing new functionality on a regular basis. Time spent reading the documentation will pay for itself quickly.
Re:I'd like to point out... (Score:2, Informative)
By Lisp (no, it's not spelled all uppercase anymore) bytecode, do you mean Lisp Machine microcode? Because aside from that (and it wasn't even a standard), there is no such thing as "the Lisp bytecode." If that's what you mean, then the processor microcode won't do you any good as it's not any different from writing assembler.
If, like you state in your second paragraph, you just want a VM sitting on top of the OS executing all the code, go buy some .Net or something. Then come back in a couple of years once everyone's realized the "thing" is incredibly slow*, and doesn't really do anything security-wise.
Also, it's "funny" you mention that programming languages and OSes shouldn't be mixed, and then talk about Lisp. Have you actually used a Lisp environment in the past 20 years? The philosophy that the language is the OS (at least from the application's and the editor's point of view) is the pervasive paradigm for Lisp coding - and not only does it work, but it is also incredibly useful and efficient.
* There is no such thing as the perfect (or even best) universal VM - the fact that different hardware architectures as well as different languages exist now and evolve at a rapid pace prevent it from existing.