![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> I suspect that an OS is subject to some *serious* network effects. It's
>> an interesting toy project to write an OS in language XYZ, but once
>> you've done it, what are you going to use it for?
>
> I think a much more important thing than "what [language] is it written
> /in/" is the question "what is it written /for/".
Now you're talking.
> In case of a Haskell
> OS I don't know what that would be, but in case of a Java OS it seems
> plain as hell: Run JVM bytecode. Applications are plenty for that.
Has anybody written anything more substantial than Tic-Tac-Toe applets
in Java yet?
(In the case of the Haskell OS, the design goal seems to have been
"let's demonstrate how using Haskell leads to far fewer bugs and hence
much greater reliability". Once they proved that this was so, they got
bored and did something else. Personally, the idea of a more reliable OS
is something that sounds pretty appealing to me!)
> For instance, the virtual memory management of an OS dedicated to
> running JVM bytecode could easily provide built-in support for garbage
> collection.
Well now, let's examine that for a moment.
Every OS I know is based around a series of assumptions. In particular,
that a "program" is just a monolithic block of machine code, and that
the only "services" that it needs from the OS is resource allocation,
protection, and control over the hardware.
Given how many kinds of programming languages these days use garbage
collection strategies, an OS with that wired into the kernel sounds like
quite a promising idea...
...until you realise that changing the design of the GC is likely to
break all your applications. Unless they're written in a sufficiently
high-level language that they can't "see" this level of detail.
So yes, the Java VM, or something like it, seems like a rather promising
idea...
That makes you start to think what /other/ kinds of services you might
want the OS to provide. For example, this whole "a command is a file
name, and its arguments are strings passed uninterpretted to the
program" thing. Surely we can do better.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Am 02.06.2011 16:38, schrieb Invisible:
>>> I suspect that an OS is subject to some *serious* network effects. It's
>>> an interesting toy project to write an OS in language XYZ, but once
>>> you've done it, what are you going to use it for?
>>
>> I think a much more important thing than "what [language] is it written
>> /in/" is the question "what is it written /for/".
>
> Now you're talking.
>
>> In case of a Haskell
>> OS I don't know what that would be, but in case of a Java OS it seems
>> plain as hell: Run JVM bytecode. Applications are plenty for that.
>
> Has anybody written anything more substantial than Tic-Tac-Toe applets
> in Java yet?
Java Enterprise applications, anyone?
OpenOffice?
Eclipse?
Minecraft?
Just four examples of non-trivial software from four different domains
(business software, office software, software development, and gaming)
that pop to my mind instantaneously.
> That makes you start to think what /other/ kinds of services you might
> want the OS to provide. For example, this whole "a command is a file
> name, and its arguments are strings passed uninterpretted to the
> program" thing. Surely we can do better.
Like, say, passing messages to the program after it has been started?
I don't see much of a point in an elaborate interface to feed parameters
at the very moment of startup; after all, the program can't evaluate
them anyway until it has at least "started up a bit", so pushing the
same information into a message queue seems to be pretty equivalent to me.
Unless, of course, we'd go all the way of allowing programms to pass
around full-fledged Java objects to children, parents, or any other
program they happen to have a handle object for.
Of course, to go for cloud computing, passing around objects should be
transparent, via marshalling and stuff - and in the end we'd probably
end up re-inventing the Java Enterprise architecture...
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> Has anybody written anything more substantial than Tic-Tac-Toe applets
>> in Java yet?
>
> Java Enterprise applications, anyone?
> OpenOffice?
> Eclipse?
> Minecraft?
>
> Just four examples of non-trivial software from four different domains
> (business software, office software, software development, and gaming)
> that pop to my mind instantaneously.
As best as I can tell, OpenOffice is not "written in Java", it's written
in C++ and it merely /uses/ Java for a few auxiliary functions.
Eclipse, on the other hand, appears to actually be Java. (I can't say
I've ever tried to use it.)
And I don't give a stuff what the hell Minecraft is written in. :-P
>> That makes you start to think what /other/ kinds of services you might
>> want the OS to provide. For example, this whole "a command is a file
>> name, and its arguments are strings passed uninterpretted to the
>> program" thing. Surely we can do better.
>
> Like, say, passing messages to the program after it has been started?
>
> I don't see much of a point in an elaborate interface to feed parameters
> at the very moment of startup; after all, the program can't evaluate
> them anyway until it has at least "started up a bit", so pushing the
> same information into a message queue seems to be pretty equivalent to me.
If the command shell knows stuff about the syntax that commands expect,
it can do helpful stuff for you before the command even runs. (E.g., if
the third parameter is a number, don't do filename auto-complete on it.)
There are lots of commands that have "sub-commands"; the shell could
list them for you. And so on.
> Unless, of course, we'd go all the way of allowing programms to pass
> around full-fledged Java objects to children, parents, or any other
> program they happen to have a handle object for.
Well, yes. When your OS is written in the same language as your
development language, you can do random stuff like that.
Exhibit A: Smalltalk.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Thu, 02 Jun 2011 15:31:18 +0100, Invisible wrote:
> On 02/06/2011 14:30, Francois Labreque wrote:
>> Le 2011-06-01 16:32, Orchid XP v8 a écrit :
>>> The command prompt is pretty much a deprecated way of doing things.
>>
>> Depends on what you do.
>
> As far as Microsoft is concerned, the command prompt is deprecated. You
> should at least be using PowerShell.
Those two statements contradict each other. PowerShell is a command
prompt, is it not?
> Ideally, you should write your
> scripts in VB (or better, VB.Net), or build a custom COM module, or
> whatever. The command prompt is for backwards compatibility with MS-DOS
> (which is beyond obsolete).
>
> Not that anybody really listens to what MS wants, mind you...
Thank goodness for that. :)
Jim
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> As far as Microsoft is concerned, the command prompt is deprecated. You
>> should at least be using PowerShell.
>
> Those two statements contradict each other. PowerShell is a command
> prompt, is it not?
PowerShell is a replacement for the old MS-DOS command prompt emulator.
>> Not that anybody really listens to what MS wants, mind you...
>
> Thank goodness for that. :)
Well... ;-)
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Thu, 02 Jun 2011 21:39:19 +0100, Orchid XP v8 wrote:
>>> As far as Microsoft is concerned, the command prompt is deprecated.
>>> You should at least be using PowerShell.
>>
>> Those two statements contradict each other. PowerShell is a command
>> prompt, is it not?
>
> PowerShell is a replacement for the old MS-DOS command prompt emulator.
So that would be "yes" then. :)
>>> Not that anybody really listens to what MS wants, mind you...
>>
>> Thank goodness for that. :)
>
> Well... ;-)
MS is in it for the money and for their self-interest. That's what
drives the organization. (That's certainly true of most for-profit
businesses)
Jim
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Am 02.06.2011 22:37, schrieb Jim Henderson:
> On Thu, 02 Jun 2011 15:31:18 +0100, Invisible wrote:
>
>> On 02/06/2011 14:30, Francois Labreque wrote:
>>> Le 2011-06-01 16:32, Orchid XP v8 a écrit :
>>>> The command prompt is pretty much a deprecated way of doing things.
>>>
>>> Depends on what you do.
>>
>> As far as Microsoft is concerned, the command prompt is deprecated. You
>> should at least be using PowerShell.
>
> Those two statements contradict each other. PowerShell is a command
> prompt, is it not?
Note the tiny difference between "/a/ command prompt" and "/the/ command
prompt" :-P
And no, neither is a "command prompt" in the literal sense; I guess a
proper term might be "command shell" ;-)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Fri, 03 Jun 2011 00:46:12 +0200, clipka wrote:
> Am 02.06.2011 22:37, schrieb Jim Henderson:
>> On Thu, 02 Jun 2011 15:31:18 +0100, Invisible wrote:
>>
>>> On 02/06/2011 14:30, Francois Labreque wrote:
>>>> Le 2011-06-01 16:32, Orchid XP v8 a écrit :
>>>>> The command prompt is pretty much a deprecated way of doing things.
>>>>
>>>> Depends on what you do.
>>>
>>> As far as Microsoft is concerned, the command prompt is deprecated.
>>> You should at least be using PowerShell.
>>
>> Those two statements contradict each other. PowerShell is a command
>> prompt, is it not?
>
> Note the tiny difference between "/a/ command prompt" and "/the/ command
> prompt" :-P
>
> And no, neither is a "command prompt" in the literal sense; I guess a
> proper term might be "command shell" ;-)
Details, details. ;)
Jim
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>>>> As far as Microsoft is concerned, the command prompt is deprecated.
>>>> You should at least be using PowerShell.
>>>
>>> Those two statements contradict each other. PowerShell is a command
>>> prompt, is it not?
>>
>> PowerShell is a replacement for the old MS-DOS command prompt emulator.
>
> So that would be "yes" then. :)
The old MS-DOS emulator is deprecated. CLI interfaces in general are
not, no.
> MS is in it for the money and for their self-interest. That's what
> drives the organization. (That's certainly true of most for-profit
> businesses)
Corporations vary by their level of indifference towards their
customers' interests.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Am 03.06.2011 09:45, schrieb Invisible:
>> MS is in it for the money and for their self-interest. That's what
>> drives the organization. (That's certainly true of most for-profit
>> businesses)
>
> Corporations vary by their level of indifference towards their
> customers' interests.
No. Corporations vary by how much they expect to benefit/lose from
satisfied/unhappy customers.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |