Slashdot Mirror


Programming Languages Will Become OSes

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.)"

9 of 456 comments (clear)

  1. FORTH by turgid · · Score: 4, Interesting

    FORTH was and still is such a combination. It's compact, easy to implement and incredibly fast and felxible.

  2. This is especially true of the VM languages by UpLateDrinkingCoffee · · Score: 3, Interesting

    Like java... I think a likely evolution will be towards a single VM that runs all your programs instead of the one VM per app generally used now. More and more of the process switching and memory management will be built into the VM's probably to the point one day where java VM's become operating systems in their own right and only need the underlying OS for drivers to talk to the hardware.

  3. Funny he did not mention .NET by watzinaneihm · · Score: 3, Interesting

    If any programming language/framework has a chance it will become an OS it is .NET.
    And Java is half an OS already, it has its own threading moodel, has memory management etc. Though frankly I believe this paradigm of PLs becoming OSes will be first be seen on handhelds etc. Note that many Cellphones run Java etc. (though now sybian is more commoon).

    --
    .ACMD setaloiv siht gnidaeR
  4. Sure, the distinction is artificial/arbitrary... by dpbsmith · · Score: 4, Interesting

    ...the partitioning of computer environments into applications, OS, "drivers," "libraries," etc. etc. is arbitrary, cultural, traditional, etc. To some extent it's also based on modularity considerations, and to some extent on marketing/commercial considerations. There's no fundamental logic to "the way things are."

    A few decades ago, MANY environments blurred the distinction between OS and language: FORTH, MUMPS, SMALLTALK, and, indeed, most early versions of BASIC, to name four.

    The traditional textbook discussion of an OS ("provides four interfaces, to the filesystem, to devices, to applications, and to users") is just a discussion of what IBM evolved in the sixties or thereabouts.

    Incidentally, the very name "operating system" indicates the original rationale and function of these pieces of software. They were intended to automate the functions that previously required the manual services of an "operator," thus increasing utilization and decreasing payroll.

    Another example of the arbitrariness of the term "OS" is the way in which various applications programs are now considered to somehow be part of the OS. In Digital's glory days, these were sometimes referred to as "CUSPS"--Commonly Used System Programs. Is grep "part" of UNIX? Is Windows Explorer (not Internet Explorer, but Windows Explorer--the application that displays directory contents and that "start" button at the bottom of your screen--Windows' graphical "shell") part of Windows?

    At one point Apple said Hypercard was "systems software." Perhaps iTunes is "part of" OS X?

  5. Re:Happened before... by Transient0 · · Score: 4, Interesting

    Yes, and interestingly, the article isn't even really saying that OSes and programming languages are the same thing. What it is saying is that any programming language worth it's salt has the potential to become an OS and that it will probable eventually do so for security reasons. Then he tacks on "There will perhaps be new PL's designed with isolation as one of their main goals--or current PL's might be improved/redesigned--so hopefully this requirement of having a 'multiuser PL' will be fulfilled in the future." as his last line.

    The bulk of his argument is sound and has convincing precedent in the examples you give(Micro, Spectrum, etc.) and I could add a few of my own, not to mention the modern example of Java. As for his ad hoc specualtion at the end that programming languages will eventually replace OSes. I'm prepared to call that bullshit until he presents some evidence. I don't see it happening, who wants to code on a machine that can only use one language?

    Of course, the response is that new language will be written to run inside the OS-Language and that coders can work in either these sub-languages or the OS-level meta-language. But really how would this be any different than the current situation with many languages vs. assembler as meta-language only with an additional obfuscating level of go-between.

    my two cents.

  6. Re:Programming languages become OSes? by RetroGeek · · Score: 4, Interesting

    You are closer to the truth that you suspect.

    The original IBM PC's would start up with ROM BASIC if no other OS was present.

    --

    - - - - - - - - - - -
    I am a programmer. I am paid to produce syntax not grammar. Deal with it.
  7. Confusion by The+Bungi · · Score: 4, Interesting
    The author of the article is confused. He almos defined the term architecture but he missed it by a hair.

    Systems architecture (and to a certain extent application architecture) revolves around creating "environments" where other applications operate, (note emphasis). Architectures provide services to these applications, which in turn may provide different services to yet more applications (components, web-based solutions, etc.). Thus you can argue that by sitting down and designing and implementing a specific or generic purpose architecture, you're creating a "mini-OS". That much is true. But the OS is simply a lower-level architecture than, say, Java or COM or .NET. It's a more complicated and extensive one, but one nonetheless. The stuff you do with a programming language (or as they like to be called these days - platforms) is essentially a higher-level abstraction than the real OS happens to be.

    So we can argue then that we're moving towards the platform concept where things are interconnected via well-defined interfaces and entry points (that's your APIs) where the OS itself is just another component.

  8. Actually by _avs_007 · · Score: 3, Interesting

    Take a look at SavaJe. It is a JVM that is also an OS.

  9. I'd like to point out... by pyth · · Score: 4, Interesting
    It is an incredibly retarded idea to integrate the programming language with the OS. Allow me to demonstrate what a PL does: make it easy to write machine code.


    The truly wise path to go is to define an OS/bytecode combination, so that (in a very LISP-like way) security is accomplished by "thought-controlling" programs rather than action-controlling (the MS/Linux model).


    What I want to know is this: Is the LISP bytecode the best, or should a more modern one be used? JavaVM?