Re: Java [was Re: [hackers-il] In need of Guidens]
- On Tue, Dec 14, 2004 at 03:16:09PM +0200, Shlomi Fish wrote:
> I do not use Java by choice. The reason is that where performance does not
> matter too much, Perl gives me everything Java does and more.
> CPAN is equally as good for my needs as the Java class library, if notUsing CPAN is indeed very easy when you write a small program for
> much better.
yourself. But not when you want to distribute it. The JVM is accompanied
by a class library which is guaranteed to be there. However there is
much less a guarantee on what CPAN modules will be included in the perl
distribution the user will have.
Otherwise you wouldn't have so many perl programs that claim that they
don''t require "no extra modules".
Tzafrir Cohen +---------------------------+
http://www.technion.ac.il/~tzafrir/ |vim is a mutt's best friend|
- On Fri, 24 Dec 2004, Nadav Har'El wrote:
> Java, on the other hand, usually fits look a boot to the hand :) I mean,i only had the pleasure of programming in java for about half a year, but
> many of its supposed reasons for being used are mere illusions. Java isn't
> much more portable than other languages, it doesn't really make code easier to
> reuse (than in other modern languages), and worse of all (and this, in my
> opinion, is the single thing that makes Java worse than C++) - it too often
> generates codethat is completely impossible to use, let alone reuse,
> because of an uncontrollable memory appetite.
i can say the following:
1. it is indeed faster to develope working code in java then in C or C++.
2. due to the nature of the language (mostly the dynamic class-loading
eature), it has errupted an open-source environment that did things i
did not saw done with C or C++. some of these things are now being
ported back to C and C++. the very fact that the open-source community
around java developed things that weren't done (or were done not as
good as) for C/C++, suggests that there is someting to learn from java.
true, for someone like me, who'se used to having control on the
environment, it is hard to let go and give java the power - that's why i
originally ruled out any job offerings that had to do with java. however,
after the fact, i don't think it was a mistake using java.
do note that not everyone developes CPU-intensive applications. and in
those situations, it's easier to get the coding done in java, then in C++.
and i'm not talking about the scripted languages here - as much as i find
it even more fun to program with them - i don't want to touch large
code-bases created with them. and i'll ignore any attempts to argue about
this point with certain people....
> Moreover, Java is a very big language, perhaps even bigger than Perl (if youjudging a language by 'hello world' is naive. it shows how people tend to
> don't use any CPAN stuff), so most people I know cannot program Java on paper,
> and need a special editor (namely "eclipse") to help them edit. This is what
> I think Shlomi referred to in his "Hello world" complaint.
do all of their "evaluations" of new tools - they try to write something
trivial, find the tool too complicated for something trivial, and conclude
its no good.
by the way, i looked at eclipse and at IntelliJ (a commercial product
that's quite stronger then eclipse) - and i resorted to coding in Java
with vi, and compiling the code with the command-line ant interface.
indeed, i needed to use an html reference in order to work with various
classes - but the language itself is not more complex then C++ - it's
the standard library that is very large. you'll have the same problem if
you work in C++ - for collections you need to remember STL, the same for
strings, for files you need the standard I/O, for threads you need a
3rd-party library, and so on. the fact that this is not considered part of
the language does not mean that the actualy material you need in order to
write _real_ code, isn't as large as in java. it just _looks_ smaller.
and i'll admit this - it was quite a relief not to need to use valgrind or
a similar tool in order to find where all my memory leaks to, or how i
managed to smear a pointer. it wasn't 100% the case, ofcorse - you can
still have segmentation faults in java (i saw one such nasty thing, which
was due to a bug in the java virtual machine implemnentation) - but still
a relief on day-to-day programming.
"For world domination - press 1,
or dial 0, and please hold, for the creator." -- nob o. dy