Slashdot Mirror


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

47 of 173 comments (clear)

  1. Python Developers? by techpawn · · Score: 5, Funny

    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
    1. Re:Python Developers? by stoofa · · Score: 5, Funny

      Sun statement: We have hired a key Python developer, Ted Leung Frank Wierzbicki... We have hired TWO key Python developers - I'll start again. Amongst our Python developers are such key people as..."

    2. Re:Python Developers? by ricebowl · · Score: 4, Funny

      Got my hopes up! I thought you meant John Cleese and Terry Gilliam had new work at Sun...

      Have you followed Gilliam's career? Almost everything the guy works on is cursed, usually with multiply-redundant curses in case one of them fails...unless you want Sun to die you don't want him working there. The poor fella.

      On the other hand it would be nice to see the giant foot falling from the sky to crush any run-time errors.

    3. Re:Python Developers? by Hythlodaeus · · Score: 3, Funny

      No, they're clearly working on the Parrot VM (which is just resting.)

      --
      For great justice.
  2. What happened to Tcl? by Ed+Avis · · Score: 4, Interesting

    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
    1. Re:What happened to Tcl? by morgan_greywolf · · Score: 3, Informative

      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. Aside from a few niches (mostly, strangely enough, in the realm of scientific computing), Tcl never quite became very mainstream. Sure, it sits quietly on almost every Linux and BSD distro, and sure there are a few things here and there written Tcl or Tcl/Tk, and almost every seasoned Unix developer knows at least a bit of Tcl, the mainstream audience has been eaten by Python and Perl, for the most part. Probably something to do with that 'absurdly minimal syntax', though I guess that still doesn't explain Perl. ;)

    2. Re:What happened to Tcl? by Otter · · Score: 3, Informative

      There was a time when Tcl/Tk was the least excruciating way of making a simple GUI application on Unix. Once decent toolkits (and, eventually, excellent toolkits) became available, Tcl's main selling point was lost.

    3. Re:What happened to Tcl? by Bogtha · · Score: 4, Funny

      What happened to Tcl? Well judging from the look of it, I'd say it was run over by a car, then hit by a train, then had a nasty encounter with stampeding bison, then got a nasty infection from a facehugger, then beaten up by Ripley and was then promptly nuked from orbit. It's for the best, it was in a great deal of pain and nobody wants to live like that.

      Seriously though, that's one ugly language. I always got the impression it's what the inventor of Brainfuck would create if he were actually being serious.

      --
      Bogtha Bogtha Bogtha
    4. Re:What happened to Tcl? by foobarbaz · · Score: 2, Funny

      What happened was it starting sucking and never stopped.

    5. Re:What happened to Tcl? by korbin_dallas · · Score: 5, Informative

      Wrong.

      Tcl biggest selling point now is the packaging and deployement.

      I've written apps in a lot of languages, and deployed them all. Absolutely nothing beats Tcl for cross platform deployments. I got a starkit for ppc405, wrote my app on x86. A simple script packaged it all up in less than 2Mb.
      Another few lines, and I had a win32, linux and ppc405 single file executable(for each) ready to go.

      We also use java, which requires a separate 20Mb JRE install, whether its in your distro or not, you still need it, and the right version. Oh and Java 1.5 and Java 1.6 jar classes are incompatible, HAHA. And how many of you out there have a JRE for ppc405 (not a Mac, but a older series used in embedded systems)? Tcl is deployed on far more architectures.

      The 8.4 and later versions are very fast and lightweight.

      Making a gui in Tk is fine and simple, and well, you're gonna make a gui in Tk if you use Perl, Python, Ruby anyway.

      All those other tools could learn from the Tcl packaging design.

      --
      They Live, We Sleep
    6. Re:What happened to Tcl? by MenTaLguY · · Score: 3, Insightful

      I was a heavy TCL programmer back in those days, and built some fairly serious software in it (and still maintain one package to this day). Honestly, looking back, I'm glad TCL didn't win. It's a horrible language.

      Absurdly minimal, yes. But it's possible to be too minimal. upvar+uplevel in place of pass-by-reference? Unstructured strings as the fundamental representation for everything? The inability to parse the language without simultaneously interpreting it? I'm sorry, but after a decade of experience I think I can say it's just awful. It's like a Scheme dialect from the planet Htrae.

      --

      DNA just wants to be free...
    7. Re:What happened to Tcl? by Ed+Avis · · Score: 2, Insightful

      Honestly, looking back, I'm glad TCL didn't win. It's a horrible language.
      Why you should not use Tcl

      upvar+uplevel in place of pass-by-reference?
      Indeed, you feel you need a bath after using upvar. But plenty of other languages lack proper references; Python for example (though it can kind of emulate them with the Ref container). (Python programmers at this point will retort that it does have references, indeed every variable is a reference. In which case you move the discussion one level up and the question becomes: why no references to (mutable) references?)

      Unstructured strings as the fundamental representation for everything?
      Everything runs on your computer using memory, which is a big long string of bytes. Ultimately, an unstructured string is the fundamental representation for all data in all languages. What matters is the tools the language provides to let you manipulate the data in that string.

      The inability to parse the language without simultaneously interpreting it?
      Perl also suffers from this problem.

      I'm sorry, but after a decade of experience I think I can say it's just awful.
      I can't argue with that. But at least it sucks in interesting and playful ways.
      --
      -- Ed Avis ed@membled.com
  3. Inevitable, and very welcome by kripkenstein · · Score: 4, Insightful

    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.

    1. Re:Inevitable, and very welcome by benjymouse · · Score: 5, Informative

      Yes, and Microsofts strong focus on multiple languages from the onset also gives the CLR/DLR some clear advantages over the JVM.

      The CLR was built around a the notion of a Common Type System (CTS) which means that different languages can share actual objects without having to wrap them. Wrapping cost performance (wrapping and unwrapping when passing between languages). But wrapping is also inherently language-pair oriented, i.e. between 2 pairs of languages such as Java and Jython. Other dynamic language cannot inherently use Jython objects but must also wrap the "canonical" java objects. It is not that it is impossible to achieve on the JVM platform, it's just that Microsoft has a much more mature VM and type system for this kind of job.

      Take Java generics. The JVM type system have no notion of "template" or "generics", hence the generics in Java are implemented through the dreaded type erasure. But that means that no other language (e.g. Scala) can share generic types with Java. Contrast that with the CLR where generics are 1st class type citizens, both in their generic form and when all type parameters has been fully bound.

      Interestingly, the CLR/CTS seems to have been developed seperately from (but coordinated with) C#. The CLR type system can actually represent types which you cannot describe using C# or VB.NET. The CTS is "bigger" and more generalized if you will. The Java VM was always just aimed at serving the Java bytecode. This is something that is going to haunt the JVM now when they are going all multi-language and dynamic.

      --
      Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
    2. Re:Inevitable, and very welcome by Bogtha · · Score: 2, Interesting

      Actually, Python has been appearing on phones for quite a while, notably Nokia Series 60. I'm not sure, but it might also be possible to use Jython with J2ME devices.

      --
      Bogtha Bogtha Bogtha
    3. Re:Inevitable, and very welcome by Headius · · Score: 4, Informative

      Generics are basically no help at all to dynamic languages, so I think that's a red herring. And in fact, it makes implementing interop with dynamic languages much more difficult, since it's an additional class of types you have to be able to deal with and recognize. Ask the IronPython and IronRuby guys about the syntax they've had to come up with to support manipulating generics from within Python or Ruby.

      The only problem the JVM has, as far as I can see, is that it's got this whole "Java" thing wrapped around it. The JVM itself is much better suited to all sorts of languages, if only we can punch a hole through the Java exterior. And that's exactly what we're going to do, by adding dynamic invocation support in (hopefully) JDK7 and a host of other features like tail calls, tuples, value objects, continuations, and so on in OpenJDK subprojects like the Multi-Language VM.

      If anything, the CLR is a much more difficult platform to develop dynamic languages for due to its strict static-typed nature. You have to do some really unpleasant tricks to get the CLR to run a dynamic language fast, and that costs a lot of development time and hassle. DLR hopes to make some of that happen across all languages, but at the end of the day the CLR is just not as advanced a VM as the JVM.

      At any rate, it's going to be an interesting couple of years.

    4. Re:Inevitable, and very welcome by wuzzeb · · Score: 2, Informative

      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, you should check out SWIG. It has been around since 1995... open source has had automated tools to generate bindings for a long time now. The main problem with this approach is that C does not give enough information. The biggest problem is memory management. most scripting languages are garbage collected, but there is not enough information in C headers for SWIG to know where memory is allocated, and so on.

      Essentially, using SWIG comes down to letting SWIG wrap everything just from the headers, except you need to tell SWIG about memory management.... which functions allocate memory that should be garbage collected, which functions take ownership of memory so the object should be removed from garbage collection, and so on....

  4. 2008 - the year of the VM shootout by A+beautiful+mind · · Score: 2, Funny

    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
  5. A niggle re:Inevitable, and very welcome by davecb · · Score: 4, Insightful

    Note that this is just one reason for having a single VM for all languages. Security, optimization, etc. are others.

    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
  6. I'm glad he didn't by Viol8 · · Score: 2, Informative

    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

    1. Re:I'm glad he didn't by Ed+Avis · · Score: 2, Insightful

      The syntax is not confused: quite the opposite. It is consistent and very minimal. One command per line, lists separated by spaces, "" quotes with variable interpolation, {} quotes without interpolation, [] to call a function, $ gets the value of a variable, and that's pretty much it.

      --
      -- Ed Avis ed@membled.com
    2. Re:I'm glad he didn't by Viol8 · · Score: 2, Informative

      Perhaps confused was the wrong word. Hard to read would be a better way of putting it, of which the seperation by spaces was the prime cause. Also I remember it being extremely fussy about where you put the procedure delimiters though perhaps they changed that in later versions.

  7. wow; parrot has had an impact. by WindBourne · · Score: 2, Interesting

    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.
    1. Re:wow; parrot has had an impact. by techpawn · · Score: 5, Funny

      is if they were concerned about parrot splitting the market.
      They're pythons! The parrot's dead... 'E's a stiff! Bereft of life, 'e rests in peace! If you hadn't nailed 'im to the perch 'e'd be pushing up the daisies!'Is metabolic processes are now 'istory! 'E's off the twig! 'E's kicked the bucket, 'e's shuffled off 'is mortal coil, run down the curtain and joined the bleedin' choir invisibile!! 'E f-in' stuffed it!
      --
      Ask not what you can do for your country. Ask what your country did to you
    2. Re:wow; parrot has had an impact. by handmedowns · · Score: 2, Informative

      Actually the reason Sun hired them is they've made a commitment to get Glassfish http://glassfish.dev.java.net/ running other higher level languages besides Ruby. So now they've got some jruby developers and jython developers. They're really trying to push their appserver platform, and with the acquisition of MySQL, they have a complete stack under their roof (SunOneWeb, Glassfish, MySQL) not to mention, OpenDS, OpenSSO, Metro, among other things.

      Sun is going after the ruby and python developers because they're diversifying. Sun's biggest software competitor is IBM which directly or indirectly controls all of its products and their dependencies.

      --
      The road between democracy and tyranny is paved with secrecy in the name of security.
    3. Re:wow; parrot has had an impact. by Otter · · Score: 4, Informative

      Basically, Leung lost his job, posted on his blog that he was looking, someone at Sun read it and they made him an offer. I don't think this whole thing is nearly as elaborately crafted a strategy as people are making out.

    4. Re:wow; parrot has had an impact. by fahrbot-bot · · Score: 2, Funny
      The only reason why Sun would hire them, now, ...

      Actually it's because, with the current economic decline, Sun can no longer afford to hire Perl programmers... :-)

      --
      It must have been something you assimilated. . . .
  8. Mod parent up by Viol8 · · Score: 4, Insightful

    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.

    1. Re:Mod parent up by A+beautiful+mind · · Score: 4, Insightful

      Your post is missing the point.

      What you refer to as standard binary is just code that can be made to run on the computer directly, because the CPU understands the commands, etc. A VM is the next evolutionary step in the process, because you determine what's the best assembly/native code on runtime, on the fly, instead of static source code inspection.

      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.

      So yeah, there is more to it than just platform independence.

      --
      It takes a man to suffer ignorance and smile
      Be yourself no matter what they say
    2. Re:Mod parent up by mechsoph · · Score: 2, Funny

      The only way to compile such code statically would be to link against a Python compiler that can create the new opcodes from newly-generated source on the fly.

      And that's what lisp was doing about 25 years ago.

    3. Re:Mod parent up by Just+Some+Guy · · Score: 2, Insightful

      And that's what lisp was doing about 25 years ago.

      Yep. But are there arguments for or against other than "Lisp did it"?

      --
      Dewey, what part of this looks like authorities should be involved?
    4. Re:Mod parent up by AKAImBatman · · Score: 4, Insightful

      But if its on a static machine architecture why bother?
      Because there's no such thing? The performance paths of a PIV, Core Duo, Xeon, and AMD64 are all different. Should we continue compiling code for the lowest common denominator and just accept that our code isn't performing as well as it could?

      And what of runtime optimizations? If the VM detects that this collection only contains objects of type X, it can do away with the casting checks on that collection. Yet if it detects an object of type Y added to the collection, it can undo the optimization on the fly. Statically compiled code can't do that. At best it can provide alternate code paths under certain conditions. Of course, additional code paths massively bloat the executables.

      The JVM does these sorts of optimizations today, and thus has unparalleled performance when working with OOP code. That's why all these benchmarks show the JVM kicking ass and taking names later:

      http://www.kano.net/javabench/

      A C compiler can still outperform a JVM under ideal conditions, but ideal conditions are becoming more scarce for C compilers. In real-world terms, the JVM is going to be able to run your average Java code far faster than your average C/C++ code.

      This idea that native code is always faster than virtualized code is a myth, and an old one at that. You need to get with the times or you'll find yourself a dinosaur. (And you don't really want to be brushing up on your "Get off my lawn!" speech yet, do you? ;-))
  9. Re:Let's take off the 'V' as well! by Viol8 · · Score: 2, Informative

    Eh? What OS you using , DOS 3.2? Thats easily implemented using file permissions and access control. Well , on unix anyway, can't vouch for Windows. If you don't believe me try and strace a running process you don't have permissions for.

  10. Um, not just Jython by tbray · · Score: 4, Informative

    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.

  11. Re:Nothing New... 12 years later by TheRaven64 · · Score: 4, Informative

    As someone who tried to get a Smalltalk compiler to target the JVM, I can say from experience that it is a really horrible design (and .NET copied all of the worst design decisions). The VM imposes so many constraints that it's really hard to implement anything that isn't semantically almost identical to Java on it without seriously compromising the speed. A far better approach is LLVM, which allows you to layer things like garbage collection and object models on top of a common VM.

    --
    I am TheRaven on Soylent News
  12. Re:Let's take off the 'V' as well! by CastrTroy · · Score: 2, Informative

    It allows you to specify per-application permissions, without creating a new user for each application. So you can run something as yourself, from your browser, but give it no access to the file system. You could give an application access to the file system, but no access to the network. Running under a VM lets you have a lot more fine-tuned control over what the application can and can't do. It also does it in a way that's completely platform independant. So even if you are using DOS 3.2 (assuming the VM runs on that platform), then the permissions you set, will work.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  13. Re:Nothing New... 12 years later by Headius · · Score: 4, Insightful

    It's difficult, but it's certainly not impossible. And we're working to make it easier by exposing the JVM's underpinnings. You see, the JVM is already a dynamic language VM; it just has this cumbersome static-typing wrapped around it.

  14. Re:too little too late by Headius · · Score: 4, Informative

    You're probably half right. I think it stems from a realization that Java doesn't have to be the only tool on the JVM. And to that end, we're working hard to improve the ecosystem for language development in a number of ways. Heck, some of the most interesting parts of JRuby aren't even written in Java anymore...they're generated programmatically. Java is just one way to create JVM bytecode. We need both better tools for creating bytecode for many languages, and a better way to make the JVM's dynamic underpinnings serve many languages. We're working on both.

  15. A VM is just another PLATFORM! by StCredZero · · Score: 4, Interesting

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

    1. Re:A VM is just another PLATFORM! by jilles · · Score: 5, Interesting

      What Java version hell?! It's perfectly backwards compatible (binary and api, minor API bug fixes and deprecations aside). I've been developing on it since 1995 so I have some idea what I'm talking about. I think Java is probably one of the cleanest evolving platforms around (given the massive changes to it since 1995). Compare this to linux where binary compatibility is routinely broken for minor compiler version increments or libc updates. Compare this to C++ which didn't even have a widely endorsed spec until this millennium and continues to have many incompatible compilers (never mind the APIs, I'm just talking about the language semantics here). Arguably, C++ is still a mess.

      I think you are also wrong about virtualization. The whole point of virtualization is to abstract away OS specifics to the point where it literally is nothing more than a commodity needed to run the vm. Who cares if it is mac, windows or linux running your php/Java/ruby server? If you are doing LAMP development, virtualization is what allows you to scale your new hot web application using Amazon provided service on demand stuff. Stuff like JRuby shows that virtualization can actually be fast and scalable too (it's basically kicking regular ruby's ass). Jython is basically going the same way.

      Microsoft certainly had the right ideas with .Net. Their execution is less than perfect, however. Basically an old Java 1.4 hotspot VM still kicks the CLR's ass easily. In terms of scalability and performance there is really no contest between the two. Nevermind, later versions. However, the CLR design is interesting in some respects and some of the stuff MS has done on top of it is quite innovative. But the truth is that the Java platform is still a fine piece of engineering. Many controversial design decisions taken by Sun in the early nineties around this platform are now slowly being picked up elsewhere too. Basically modern compiler architectures like llvm bring stuff that Sun has been doing for years with Java to mainstream. The whole notion of garbage collection has basically displaced the notion of manually allocating memory (except in the most conservative environments). People do web development in environments that are much slower, crappier and less secure than Java (cough php cough) because development speed is so nice to have. In short pretty much everything Java is doing on the server side has been validated through others imitating with varying degrees of success.

      --

      Jilles
    2. Re:A VM is just another PLATFORM! by rabtech · · Score: 2, Interesting

      What, you don't deal with classpaths, libs/JARs, and other associated bits? You've never installed an app that changed the classpath, pointing to new (and subtly incompatible) versions of a JAR, thus breaking things in an odd and impossible to diagnose way? Never had someone or something drop new files into Tomcat's shared lib directory that overrode you? Have you never had to dig through 14 layers of config files (vomited all over the filesystem in some sort of byzantine maze) to find out why something won't compile or run?

      If you haven't then I suggest you climb down from your ivory tower and check out the real world sometime...

      --
      Natural != (nontoxic || beneficial)
  16. Re:Nothing New... 12 years later by TheRaven64 · · Score: 2, Informative

    Exactly my point. Unless your type system and dispatch semantics closely match Java, you need trampoline objects which make everything horribly slow. The dynamic call primitives in the latest proposal go a long way towards this, but there is still not enough runtime type introspection for a lot of neat language features.

    --
    I am TheRaven on Soylent News
  17. VMs won't be the panacea of performance by microbox · · Score: 2, Interesting

    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
  18. It sank into the swamp. by mounthood · · Score: 3, Funny

    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
  19. Re:too little too late by BotnetZombie · · Score: 2, Interesting

    I can hear that you don't like Java very much. Don't really know what you mean by big legacy problems, generally I like working with it (2 last workplaces, 6 years). The biggest reasons are that you have some excellent IDEs, and a huge collection of libraries that take care of the grunt work for just about anything you want to do. The language is also easy to read/write coming from C++ (though of course Python is more pleasing in that regards). My biggest gripe with dry'n'cut Java is the lack of dynamic scripting - which has up to now been manageable with Jython, Groovy and the rest - it should only get better from now on.
    I'm interested to know where your dislike for Java comes from?

  20. Re:too little too late by Headius · · Score: 2, Insightful

    With two devs, perhaps not. But there's far more than two devs working on Jython, and they've made great progress this past year. Plus I'm going to do what I can to help them reuse work we've done on JRuby, so they can focus more on compatibility and Python features they're missing.

    The reason Sun hiring Frank is important is because it provides a full-time developer to help anchor the OSS work that's already happening on Jython. And that's the right way to do things, since it's the community members that make projects like Jython work.

    It's unfortunate that you won't be one of those community members, but it sounds like you've got what you need already. I hope you'll consider helping out if the JVM or Jython again become attractive options for you.

  21. Java Version Hell -- Hell Yeah! by StCredZero · · Score: 2, Interesting

    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?