October 14, 2006
i wonder: on one side they want to break old code when going to 2.0 to help cleaning up the language. on the other side they won’t add continuations and green threads to avoid breaking extensions. this has been discussed to death already. i don’t want to join in. in fact it’s still being discussed and it’s interesting to see it’s influence on JRuby. well, here we go. i just joined it.
anyway, looking at java, i stronly believe that a language should evolve as much as possible – as long as it has obvious shortcommings. this, of course, is again, subject to many discussions. but look at ‘closures for java’, look at all the ‘aop’ and all the ‘scripting for java’ stuff. these changes are comming. and it is good they are comming. what is not good, is that the language designers seem to be bound by their history too much. trying to avoid breaking code as much as possible. trying to avoid changing the VM. god forbid the new VM can’t execute old byte code anymore!
imho, this is 100% wrong. if ppl want to stick with the old java, that’s fine. if they are ‘agile’ enough to go with the evolution, then they will also benefit from a – hopefully – better language. i wouldn’t even mind if the call it Kava. or javant. or whatever. and if the new vm can’t execute old byte code? and the new javac can’t compile old source? well, then we’ll have to update the source! maybe an automated conversion does 90% of the job. maybe not. i really don’t see a problem there. i want and improved foundation for my work. that’s what i care about.
of course, things are a bit twisted. one argument that i always find very interesting is: if you evolve a language long enough. where do you end up? lisp? well.. probably not. sometimes it really is ok to have a java-like language. or haskell. or ruby. or …. the tool should fit the problem etc.. but using this argumentation to say java should stay as it is today? i think that’s wrong..
enough said. amen. back to CSS..
please note: i don’t really know what i’m talking about. i’m playing much too much CSS recently to be really uptodate on the state of ruby, and programming languages in general. it’s just that sometimes i have to get these rants out of my system. so i can concentrate on playing CSS again.. :)