Re: Ugh. Language Chauvinism
> Why is it that Java programmers (unlike seemingly any other language programmers) want everything to be written in Java?? I so miss the days when people would use whatever language best fit the task at hand.
Not quite. It's not "everything to be written in Java" -- it's actually the opposite: the interesting thing with using other/scripting languages on the JVM is that it all runs into the JVM.
The JVM (especially 5 and 6) is extremely good at running bytecode, it has fast memory management (allocation and GC), good sandboxing (security), etc...
You can have all that with different programming languages, and even combine them, as they all produce bytecode.
Use some solid Java framework or container (Hibernate, Spring, JBoss, WebLogic, Tomcat, Jetty, XFire, Sequoia, .......) from your favourite scripting language (Groovy, JRuby, Jython, ...).
It's really the opposite of what you said: you can actually use the language that best suits your needs, and "share"/combine code from each (e.g. Java for the defensive, solid parts of your application, Groovy/GSP for the web layer, JRuby for coding unit tests, etc...).
> You have to be kidding me! I've had far worse problems writing valid XML than I ever had with Makefiles! Besides, this
Heh, yeah, I agree, writing Ant build.xml files is a pain.
There are a lot of other solutions though, GAnt (use Ant tasks but write the build file in Groovy), Maven(2), ...
> Only a java programmer would ask this question: "Why dissipate organizational expertise to new languages?"
Again, it's the exact opposite. Use several languages, depending on what suits you best for each task, and run it all on the same JVM.
> Each language has it's pros and cons.
> Perl might be great for text processing. Ruby's rails might have benefit for some small apps. Why not just use a variety
> of languages to fit whatever task is at hand?
> Is it actually painful for Java programmers to know other languages?
> Unfortunately, I think the answer is that Yes, it probably is, because Java seems designed to be anti-social in that regard. To get perl to talk to the OS (and by extension other programs) is easy. Ditto for C (and by extension
C++). But, Java perversely makes talking to any other apps horrendously painful, and perhaps this breeds the attitude of Java programmers.
To some, it's most probably "everything has to be done in Java", sure. But not to everyone. I, for myself, really love Java but I also do a lot with Perl, Python, PHP, Ruby and shell.
With the scripting support in Java 6 and with projects such as Groovy, JRuby, Jython, Rhino and BeanShell, you can combine several languages. And, at least across the languages that do have support on the JVM, interoperability is excellent, even better than Perl/C or Python/C, because it's all bytecode.
(Perl/C or Python/C integration isn't much better than JNI though ;))
> But, I wish we would go back to the days when programmers had multiple language expertise. I see too many programmers these days who A. have no idea about other languages, and B. because of their ignorance cast stones at other languages with arguments of this kind: "Perl. Ugh. I hate all those $"
> That's just brilliant.
Yep, I agree.
I maintain SuSE RPMs for the latest version of CenterICQ.
You'll find them here on my SuSE RPM website:
Note that there's also an
APT repository (for RPM) as well as an RSS feed
Keep up the good work :-)