LG and SavaJe Technologies have annoucned a handset using SavaJe OS, a Java Platform, Micro Edition (Java ME) Connected Device Configuration (CDC) based open OS. Elsewhere, Palm is not going to abandon PalmOS until 2010 (well, except if RIM buys them, we guess), two new Motorola Razr phones carry the iTunes software, and finally, Siemens/BenQ dumps Symbian for Windows Mobile.
can we say SavaJe is the first commercial managed language (Java in this case) OS ever?
Also, the web site “msmobiles.com” is the lamest site i have ever seen. please use a more trustable and less sucking news site.
No, it is not the first. Not by a long shot. Probably the first commercial, high-level language operating system was for the old LISP machines (Genera). However, there was also an operating system in the fifth generation project which was in Prolog (I can’t find the name of the operating system on-line). Also, Squeak doesn’t count because it is not commercial, but it did start out at Apple.
Apparently, Xerox PARC created an os called Cedar that one of the researchers on the singularity project credited as being the first managed-code OS. See here: http://www.microsoft-watch.com/article2/0,2180,1882174,00.asp The statement is toward the end of the article.
What exactly do you mean by “managed language OS”? Do you mean that the operating system implements a managed language, or that it is written in a managed language? Also, I don’t think you mean managed language, but rather dynamic (or garbage collected) language. From microsoft’s web site http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cp… managed languages are only those that are comiled to the CLR. So by this sense, SavaJe is in no way a “managed language” OS.
Otherwise, if you meant dynamic language OS, then from the article and the information that I gathered on the Web, I can only say that SavaJe implements a dynamic language. How it is implemented does not seem to be public information.
So now we are going to allow MS to define what a managed language is… I think not.
Managed system (languages and/or OS’s – they tend to melt together) have a long history in CS and .NET/C# is fare from the first (we all know that .NET/C# is a pale clone of Java ).
The basic idea is sound: use software techniques like well-formed type systems, code verification and automatic memory management (not necessarily garbage collection, but often) to enforce system integrity without resorting to different kinds of hardware solutions.
Compared to the various other (usual academic) managed system designed over the time, SavaJe OS is truly a managed system having everything but the kernel and the most processor intensive system services implemented in Java.
A final note; a managed system does not in any way dictate the use of a dynamic language.
/jez
Well, you are right in that I should not have suggested the original poster meant to say “dynamic language”. Looking more thoroughly into the definition of dynamic language, Java doesn’t qualify. However, I still say that “managed language” is not right either.
I’ve never heard that term other than in reference to Microsoft’s .Net platform, I can’t find any literature about it on the internet (other than from Microsoft’s site), and knowing their history I would not put it past Microsoft to invent a new term for an age-old concept (i.e. garbage-collected, imperative languages).
I am now starting to think that the best term to use would just be “garbage collected language”, with the optional descriptors of “object oriented” and “statically typed” depending upon what the original poster intended. Still though, SavaJe would not be the first OS written around such a language.
As an aside, in what way do you think that a language that provides automatic memory management is different from a garbage collected language? I don’t think you can have one without the other.
It may be that MS came up with the term “managed code” but its scope is general and not specific to the .NET platform, although .NET is one example of a managed coded system.
Managed coded systems in contrast to traditional system are systems where the code is executed in a “managed” way. Thus the system can ensure that the code is not misbehaving and thus jeopardizing the integrity of the system. This can be achieved in several ways, but the combination of a virtual instruction set, code verification and/or signing and automatic memory management is good start. Consequently, Java is in all terms a managed system.
Managed coded system does not dictate any particular type of memory management, programming paradigm (oo, procedural, functional) or type system (statically, dynamically). I think you can find managed system with any of these characteristics.
A last note. Automatic memory management does not exclusively means garbage collection, although it is the most commonly used technique today. Region inference as used in ML is another example of an automatic memory management technique and I think that pure functional languages could be fully stack-based.
/jzu
Ok, reading more into it, region inferencing sounds very interesting. At the same time though, it seems more like a special type of garbage collection rather than something distinct from garbage collection.
Where is the 2010 date mentioned?
http://www.bargainpda.com/default.asp?newsID=2720
Siemens mobile phones where always crap, they built only one _working_ phone, ever: The S4, ten years ago. Ever since, it went downhill, and with BenQ in charge now, they become even faster. Dumping Symbian for WindowsMobile? Those guys are on crack!
Ah, at least Nokia still knows how to build phones…
strange to see lg to use this os… there are a couple of time, lg bought a palm licence…
Its very fun to see, that while one can read many many hate posts against Java all over in internet, this technology still refuses to die and instead grows and grows in many places like mobile devices, web services etc. This concrete news item is again nice reading for .Net supporters .Net supposedly shoulkd do Java what IE did to Netscape, but after 5 years of .Net Java is still here and continues to grow. I have read that Java skills are still most required among programming languages in job marketplace.
I agree with you. As a custom software company, our clients frequently request Java for their enterprise platforms over .NET simply because of server platform flexibility and based on previous successes.
We have enjoyed implementing many successful projects based on Java for web development and GUI development. For small to medium stuff php is great too, and well supported amongst cheaper hosting services, but for enterprise web apps java is perfect.
I think most Java trolls prey on the fact that Java is maintained by a proprietary company who is not viewed in the highest regard amongst Linux fans. After Sun opens up Java, what will people complain about then?? Only thing left is it’s mythical sluggishness.
Also, as an outsourcer it’s much easier finding qualified Java devs over .NET devs, for the simple reason that it’s been around much longer and has a larger community.
Plus a small time programmer can get started in Java development for free! Free linux, free MySQL, free eclipse/netbeans/whatever, free tomcat and away you go! How bout .NET? hrm… expensive server platforms, expensive enterprise development tools, etc…