Sun Hires Two Key Python Developers
sspringer writes to let us know about Sun's continuing push to support scripting languages other than Java on its Java virtual machine. Sun just hired two key Python developers: Ted Leung, a long-time Python developer at the Open Source Applications Foundation, and Frank Wierzbicki, who is lead implementer of the Jython project. They will both work on Jython, which enables Python to run on the JVM. Last month Sun's CEO said the company wants to "take the J off the JVM and just make it a VM."
Got my hopes up! I thought you meant John Cleese and Terry Gilliam had new work at Sun...
Ask not what you can do for your country. Ask what your country did to you
John Ousterhout used to work for Sun and they had a golden opportunity to push Tcl a bit more and integrate it with Java... but they never did much with Tcl and he eventually left. It's a shame, because I rather liked Tcl with its absurdly minimal syntax.
-- Ed Avis ed@membled.com
The only innovation that I credit to Microsoft in all its decades of existence is that of the CLR (.NET) being focused on language-independence, and also on Microsoft pushing hard for projects like IronPython to run well. There is really no reason to have to write language bindings all the time; a library written in one language should be accessible to all others. In the long run, this is going to make whatever platform allows that capability far more competitive. Therefore Sun has no option but to go in this direction, especially given the popularity of dynamic languages in recent years.
Actually FOSS might have done language-interoperation in other ways: given that the source code is available, we might have had automated tools to generate bindings automatically (actually this is happening now, with GObject-introspection, which is relevant so far to C, Vala and Python). But this hasn't happened in an extremely useful way thus far.
Note that this is just one reason for having a single VM for all languages. Security, optimization, etc. are others. In summary, kudos to Sun. Better late than never.
Can they develop some more of Monty?
I haven't seen anything new from him
for a long time.
--dave
davecb@spamcop.net
JVM? VM? I already have machines that run Java and Python. What do I need a virtual one for?
I guess we'll see which is better, Python's native, (J)VM or Parrot.
It takes a man to suffer ignorance and smile
Be yourself no matter what they say
Actually, I'd like to see multiple implementations of a class of (J)VMs, in addition to kripkenstein's point about mutiple languages targeting it/them. This would lead to a rapid shake-out of bugs and disfeatures.
--dave
davecb@spamcop.net
In 1995~1996 I was working at a medical imaging company and we were exploring the idea of using Java and its about to be announced graphics interface to be the basis of our new computerized viewers. This was in the time frame of the DEC Shark, a strong ARM based thin client, and Sun's HotJava browser.
Anyway, Sun has been harping about how the "JVM" could support multiple languages. They talked about Basic and fortran, I guess with M$ pushing C# and C++ on the JVM. Java can finally justify the multi-language aspect of their VM.
Tcl with its confused mixture of command line style shell script and C syntax made for a horrid language to both read and code in. IMO the only reason it was ever popular was because Tk was a very advanced GUI toolkit for its day but this isn't 1993 anymore, things have moved on and there are many better solutions
The only reason why Sun would hire them, now, is if they were concerned about parrot splitting the market.
I prefer the "u" in honour as it seems to be missing these days.
Cue music.
I think Sun missed the boat on dynamic languages. For years, they had a Java-only policy for the JVM.
At this point, there are more useful libraries and tools for C Python than there are for Java. Sun's new found love for Ruby, Groovy, Bsh, and Jython mainly seems to stem from the realization that "pure" Java just didn't work out.
Indeed. The craze for virtualising runtime code has got way out of hand. Its fine if you want binaries to run unmodified cross platform , but it makes no sense whatsoever for anything else. These days people use Java because of the language and the libraries itself, not the JVM. In fact most java developers I know would be quite happy never to see the JVM again and just use a standard compiler , never mind JIT. I certainly don't understand the reason for using a runtime VM to run executables when a standard binary would suffice , which means I simply don't see the point of .NET either.
Well, no, if you check Ted's blog, you'll see that he's going to be working on Python-in-general, not just Jython.
This must be some new java of which I am unaware.
Intron: the portion of DNA which expresses nothing useful.
A VM should just be treated as just another Platform! It's a virtual CPU, and instruction set architecture. Taking this further, a language and a set of libraries packaged with a VM should also be considered a Platform just as Windows XP or Ubuntu 7.10 is a Platform. This is precisely why Java version hell exists! You should not update platforms willy-nilly. You should not take a platform and bundle it with an application! If you are smart, you should either make everything supremely backwards compatible (Windows) or supremely upgradeable (Debian based Linux) or make a clean (and well organized) break that provides dramatic benefits (Mac OS X).
Sun didn't get it. Dot-Net got it because they were able to use hindsight to fill in the gaps where Sun didn't. The truth is, VMs and portable languages don't make operating systems irrelevant. They just (partially) virtualize the OS on top of the native one. The sooner VM language people realize this, and all of the pitfalls, the sooner things will get better! (Many already get things right. Python and Ruby seem to get this.)
Why do you keep modding down every java advocate? Can you at least argue with them? Or is there only one proper way of doing things? Meh. I'm posting as AC to avoid an angry mob of dynamic lagnuages zealots.
This seems to overlap/compete with Parrot. Of course Sun are expected to promote their own JVM. I don't see Perl going JVM though.
2bits.com, Inc: Drupal, WordPress, and LAMP performance tuning.
As StCredZero said, a VM is a platform and a target of development environments.
However, it doesn't need to have a single implementation, any more than the i86 platform does, so I encourage people to create multiple implementations of a given VM ABI and target different languages toward it.
This, like building on different hardware, exposes bugs with great enthusiasm, which fairly rapidly yield code quality and stability, visible as a falling bug rate.
In effect, it's a way to trade more bugs now for fewer later (;-)).
--dave
davecb@spamcop.net
This means not only more portable code, but overall faster than compiled execution speeds for programs. So far the VMs have been under performing, but they are improving and at a faster rate than gcc and friends.
I think the VMs are improving towards the speed of static compliation. Sure there are benefits such that we could potentially see faster VM code - but there's also layers and layers of cruft that comes about because of VM abstractions. I think projects like LLVM will eventually produce code faster than any VM, with architecture independence. The project is comparatively young, and I think it will have a bright future.
The JVM, and CLR kinda symbolise the heavy-weight approach of modern software design. A hello-world xaml application uses 40 megs of memory!
With per-core CPU speeds capping, I'd like to see a more cut-down approach to software development. A brand new computer might by 1000 times faster than a similar product 20 years ago, and it seems we write software that's 1000 times slower.
Like all pain, suffering is a signal that something isn't right
Without checking, I'll bet you $10 that Sun didn't invent the concept of a VM.
You don't need a VM to do that.
Depends on the app, but I think Ruby Waves will do that and more.
Can you run "eval" in Java? Can you open existing classes and monkeypatch them, tweak them to your bidding?
Actually, I think that .NET is a better Java than Java. And I hate Microsoft, too, but those are the facts.
By that logic, C must be the fucking grail!
Part of a certain version of the specs. I'm fairly sure there were early players which did not have a JVM. The one that Blu-Ray does have is not anywhere near a full-fledged desktop JVM.
Wow. Between EcmaScript and Java, I'll take EcmaScript every time. The fact that you choose Java tells me that either you are a fan of static typing, or you have no idea just how powerful EcmaScript is. (I'll give you a hint -- the guy who invented it wanted to do a LISP interpreter, but his boss told him to write some C-like script. So he wrote a LISP interpreter with C-like syntax -- and that is EcmaScript.)
I should also mention: I worked on HD-DVD. Anyone I talked to about it who had worked with both said they preferred working with HD-DVD. I wonder why that is?
I will say that aside from the storage/bandwidth issue, HD-DVD was ahead technologically for most of the race. (That said, as a user, I mostly just want to watch the movie, so more storage and bandwidth makes a lot of sense.)
Yeah, I hate it.
GWT depends on browser identification. It actually serves you an entirely different script based on which browser you're running. If it doesn't recognize your browser, it serves you a non-AJAX version.
In my mind, that is broken by design, yet many people consider it to be a feature. And because of this broken design, I have to keep a Firefox window open for no reason other than to run my Google Apps.
Excuse me? Are you kidding me?
The top two languages, according to a casual Google search, are PHP and ASP, in that order. So Java is at best third, unless we can find some actual statistics to pin it on. The only sites I ever notice a JSP page on are various corporate websites which are basically HTML brochures. The only site I actually use that I know is running Java is Gmail.
Now, if you're wondering why you got modded down, let me take you on a brief tour:
Quoted in a context where it's actually inaccurate, yet you're arrogant enough to insult our intelligence.
Well, f*cking amazing! I can do that with really any language
Don't thank God, thank a doctor!
IronPython runs on the .NET DLR (Dynamic Language Runtime), which is on top of the CLR. The DLR does dynamic types and dynamic dispatch, unlike the CLR. Apparently the DLR code lives in the IronPython tree for the moment, but when IronPython 2.0 is ready they're going to integrate and release the DLR into .NET along with a couple other dynamic languages.
When I first came here, this was all statically typed. Everyone said I was daft to build a dynamic language on the JVM, but I built in all the same, just to show them.
...It sank into the swamp. So I built a second one. That sank into the swamp. So I built a third. That burned down, fell over, then sank into the swamp. But the fourth one stayed up. And that's what you're going to get, Lad, the strongest castle in all of England.
tomorrow who's gonna fuss
The top two languages, according to a casual Google search, are PHP and ASP, in that order. So Java is at best third, unless we can find some actual statistics to pin it on. The only sites I ever notice a JSP page on are various corporate websites which are basically HTML brochures. The only site I actually use that I know is running Java is Gmail.
That's a deeply flawed methodology, unless what you're after is "The top languages that are used by websites that expose their implementation technology to the end user". ASP and PHP seem to be more discoverable because their programming models encourage the use of .php and .asp/.aspx extensions. It doesn't necessarily mean that the conclusion is wrong, just that you can't use this as a legitimate basis for reaching that conclusion.
wxWindows (the one used by VLC) which actually use native UI as backend (GTK on linux, native on Windows, etc.) is small and easily packaged along the software (unlike Win32 GTK which requires an additional install).
And has the added benefits to integrate nicely with the OS, unlike Tk which looks like an arse whatever OS you run it on, for lacking a proper theme engine until very recently.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
Java Version Hell happens because different VMs and libraries can collide within the OS substrate. Having CLASSPATH as an environment variable encourages this. I am not sure what else contributes to this, but I have had more trouble (as a USER, not a programmer) with the installation of one JRE trashing a different Java application than anything else. Perl utilities I use aren't bothered by this. Nothing in Python I've used is. Why is this?
Are you saying that Java is the new cobol?
At the bottom of the
See http://wiki.tcl.tk/1413 and http://phaseit.net/claird/comp.lang.tcl/SunScript_story
Does Java not encourage .jsp extensions?
I do agree that it's a deeply flawed methodology, but I couldn't find a better one -- and I figured it was better than "anonymous coward says so".
As for the rest of the post, looks like it's been modded flamebait, which is probably appropriate.
Don't thank God, thank a doctor!
I worked with Frank Wierzbicki in a previous position. Good guy, smart, and a true pythonista. I'm happy to see him in this new position and hopefully he will be able to provide some guidance to Python in the jvm ... it makes me excited about jython again.
While I agree with absolutely everything you've said, I have one bone to pick with you on the C++ issue. It's not the standards committees' fault that GCC-3.2 will let me increment a pointer inline (against ISO definition of an lvalue) and that same code doesn't compile on GCC-3.4 which does honor the ISO standard. The problem isn't the language, it's the implementation. The same could be said for GNU's JVM, which I had the displeasure of forcefully ripping out of a Linux distro a few weeks ago when it ramped up the CPU to full utilization while I had Eclipse sitting idle.
If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.
"Little does he know, but there is no 'I' in 'Idiot'!"