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
given freely as a gift to man'kind'. let yOUR conscience be yOUR guide. you can be more helpful than you might have imagined. there are still some choices. if they do not suit you, consider the likely results of continuing to follow the corepirate nazi hypenosys story LIEn, whereas anything of relevance is replaced almost instantly with pr ?firm? scriptdead mindphuking propaganda or 'celebrity' trivia 'foam'. meanwhile; don't forget to get a little more oxygen on yOUR brain, & look up in the sky from time to time, starting early in the day. there's lots going on up there.
http://news.yahoo.com/s/ap/20071229/ap_on_sc/ye_climate_records;_ylt=A0WTcVgednZHP2gB9wms0NUE
http://news.yahoo.com/s/afp/20080108/ts_alt_afp/ushealthfrancemortality;_ylt=A9G_RngbRIVHsYAAfCas0NUE
http://www.nytimes.com/2007/12/31/opinion/31mon1.html?em&ex=1199336400&en=c4b5414371631707&ei=5087%0A
is it time to get real yet? A LOT of energy is being squandered in attempts to keep US in the dark. in the end (give or take a few 1000 years), the creators will prevail (world without end, etc...), as it has always been. the process of gaining yOUR release from the current hostage situation may not be what you might think it is. butt of course, most of US don't know, or care what a precarious/fatal situation we're in. for example; the insidious attempts by the felonious corepirate nazi execrable to block the suns' light, interfering with a requirement (sunlight) for us to stay healthy/alive. it's likely not good for yOUR health/memories 'else they'd be bragging about it? we're intending for the whoreabully deceptive (they'll do ANYTHING for a bit more monIE/power) felons to give up/fail even further, in attempting to control the 'weather', as well as a # of other things/events.
http://video.google.com/videosearch?hl=en&q=video+cloud+spraying
dictator style micro management has never worked (for very long). it's an illness. tie that with life0cidal aggression & softwar gangster style bullying, & what do we have? a greed/fear/ego based recipe for disaster. meanwhile, you can help to stop the bleeding (loss of life & limb);
http://www.cnn.com/2007/POLITICS/12/28/vermont.banning.bush.ap/index.html
the bleeding must be stopped before any healing can begin. jailing a couple of corepirate nazi hired goons would send a clear message to the rest of the world from US. any truthful look at the 'scorecard' would reveal that we are a society in decline/deep doo-doo, despite all of the scriptdead pr ?firm? generated drum beating & flag waving propaganda that we are constantly bombarded with. is it time to get real yet? please consider carefully ALL of yOUR other 'options'. the creators will prevail. as it has always been.
corepirate nazi execrable costs outweigh benefits
(Score:-)mynuts won, the king is a fink)
by ourselves on everyday 24/7
as there are no benefits, just more&more death/debt & disruption. fortunately there's an 'army' of light bringers, coming yOUR way. the little ones/innocents must/will be protected. after the big flash, ALL of yOUR imaginary 'borders' may blur a bit? for each of the creators' innocents harmed in any way, there is a debt that must/will be repaid by you/us, as the perpetrators/minions of unprecedented evile, will not be available. 'vote' with (what's left in) yOUR wallet, & by your behaviors. help bring an end to unprecedented evile's manifestation through yOUR owned felonious corepirate nazi glowbull warmongerin
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.
There is a simple reason behind the JVM push or 'craze'. Good programmers are hard to find , difficult to retain, and worth their weight in gold.
So instead of finding those good programmers, why not develop a programming language that shields the programmer from themselves, and allows us to hire lots of cheap, low skilled mediocre programmers. Enter Java.
Don't worry about complex things, like overloading, algorithms, memory management, let java do it for you.
The entry level programmers can crank out huge mounds of steaming code in record time.
they don't have to worry about destroying the OS, overwriting pointers, null pointers, etc, because the virtual machine will shield them from all that.
There is still a core group of very good programmers, all being used to write more and more virtual machines, so the mediocre programmers have something to use.
This must be some new java of which I am unaware.
Intron: the portion of DNA which expresses nothing useful.
I don't understand the whole software virtualization craze. Modern CPU's already have silicon dedicated to keeping programs and memory seperate.
Silicon can generally do anything software does, but 1000x faster.
Why devote all this energy to helping make programming simpler, at the cost of speed?
Java is great for say 'presentation' apps, that need a quick and dirty interface.
Try to do anything large with it, and the performance drags down.
Sometimes, you just HAVE to use more than a few hundred megs of RAM, and the overhead of the VM just kills performance.
Better stick with C/C++.
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.)
Java is really two things: Java the language and Java the VM.
... Do I really need to list 99% of the most visited sites?), you cannot buy a Blu-Ray player without having a JVM (it's part of the Blu-Ray specs), there are entire countries where people carry Java SmartCards in their pockets (as an ID or for health care).
;)
And even tough I find that Java-the-language has many warts (bring me Scala [another interesting language targetting the JVM] with DbC and I switch asap), I does many real-world jobs.
And what about Java-the-VM? Best thing that happened to computing these last 20 years... Not a single buffer overflow in the VM since it exist (there have been buffer overflows in 3rd party C-written lib that the JVM depended upon). The VM is bullet-proof by design. A buffer overflow would be due to an implementation error in one of the VM, not in the VM technology design. The VM is simply immune to buffer overflows.
Re-read this. A thousand times: no buffer-overflows. 99% of the security issues plaguing programs written in other languages simply can't happen when you're running your program under the JVM. Last serious issue I remember affecting me was in a 3rd party, C-written, lib (zlib). Funny uh?
Speaking of security... You realize you can install the whole friggin' JVM in a user account on Un*x? No need to be root. (Last time I checked for whatever reason this was impossible under Windows, but I bet it's more Microsoft's fault than Sun's). You can install a whole f*cking JVM without needing to be root... Wild.
Well, that's just one thing, of course you get lots of pretty tools that can connect to these shiny VMs: remote profiling anyone? I mean, really, what does your language offer you? Can I easily turn on and off remote profiling of running apps written in your favorite language? Really? How easy is it?
And now think for a second: how easy would it become if suddenly your language, instead of being clumsy and hard to debug remotely, hard to profile remotely, prone to buffer-overflows, etc. was targetting an industrial grade JVM?
You start to get it? You start to understand why you are still in the stone age and others have seen the light? (Scala, for example, is an impressive 'functional OO language' that targets the JVM).
The next-big-language-that-will-be (TM) will target a bullet proof of VM or it will not be.
So back to the point: there are still fools today that think that 'Java is dead', or that 'Java didn't cut it' or, pathetically, that 'Java is slow' (these trolls needs to be hit with a cluestick)...
Well, I've got some news for you: every non-cash money transaction involves Java in the process at one point or another, Java powers most of the world's biggest sites (eBay, GMail, FedEx,
Talking of GMail, what does Google think of Java? That it's so convenient they want you to use that instead of messing with ugly EcmaScript for AJAXy-like development (GWT anyone? Allo? You code this using Java). Android? Want to develop apps for Android-powered phones? Better learn Java dude. The JVM concept is so sound that Google even wrote their own JVM (Dalvik... It's not called Java to bypass trademark issues, nice job Google
95% of all cellphones out there have a JVM too, btw...
At the (major) bank I'm working for, we just ported a complex application to Java: tens of PCs doing Monte Carlo simulations at night. Speed? Exactly the same has what we had before (we did tests before porting the app... I knew we'd get exactly the same perfs, but some dumbass reading lame comments everywhere about 'Java-being-slow' wanted to be sure). Now we get faster development time.
Most criticism I read about the JVM is the same old song from the 90's. Yup, Java was a pain in the a*se on Linux in the 90's. Times have changed.
All the people saying that 'Java didn't make it' are fooling themselves. Wake up. Java is the biggest language succes
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
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
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?
See http://wiki.tcl.tk/1413 and http://phaseit.net/claird/comp.lang.tcl/SunScript_story
I have to respond here because most of the responses here are sorely outdated and just plain wrong.
.b -text "Hello, world" .b
... to Tcl! Needless to say it is a top-notch and easy to use binding, probably the best one available for SQLite. Tcl and SQLite are a perfect match for each other.
.NET, Adobe AIR, with versioning issues, etc. Just include the small Tcl/Tk platform-specific library(s) with your application and they're good to go! There are various methods available for distributing your apps: Starkits, Freewrap, etc.
Tcl the language isn't perfect, no language is, but it IS evolving and you have to look a the total SUM of the parts that are offered.
The big picture here is Tcl/Tk does a LOT of things VERY well!
Tk: Tk is still a relevant and up-to-date toolkit. As of the latest release (8.5) it has a comprehensive collection of theme-able widgets that look native on Windows, OSX, Linux, etc. Plus, you can still program your GUIs the same way it's been done for years and not have to learn the latest "framework of the week"... Plus it is SMALL, the entire Tcl language AND Tk toolkit on Windows can be encapsulated in a 1.6MB DLL!
It is still incredibly easy to use:
button
pack
SQLite: The author of SQLite is a big fan and user of Tcl and provides one binding with SQLite
Distribution: As was mentioned here in another post, Tcl/Tk applications are very easy to create AND distribute! No need to worry about having huge runtime systems installed on the user's machine as is required by Java,
Tcl: Consistent, easy-to-understand and incredibly flexible syntax. Procedural, functional, object-oriented. Bytecode compiled.
Plus there's all the other things that Tcl/Tk has done well for a LONG time such as proper Unicode support, cross-platform applications, open source, multiple OOP options (soon we'll have OOP in the core), Virtual File System, powerful Tk canvas and text widgets, on-the-fly bytecode compilation, proper multi-threading, the new Teapot/Teacup package distribution system (awesome!), etc... it goes on and on.
Give it a new, fresh, honest look and I think you'll be pleasantly surprised!
http://www.tcl.tk/ (official Tcl/Tk website)
http://www.activestate.com/ (download FREE ActiveTcl)
http://groups.google.com/group/comp.lang.tcl/topics (VERY helpful newsgroup)
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'!"