[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Some Comments [was Re: Article for Slashdot]



On Tue, 8 Sep 1998, Aviram Jenik wrote:

> I apologize in advance for the sarcasm, I've been trying very hard not to reply,
> but when I read plain slander, I have to say something about it.
>

Apology accepted.
 
> > I dare say I did not experience much with the various additions of JDK 1.1,
> 
> It's hardly called "experience" then. The development of the JDK 1.0.2 was stopped
> because Sun wanted to fix a lot of known problems and programming difficulties.
> It's like running a beta version of an OS (or, an unstable kernel) and complaining
> it crashes.
>

Very well. But, I'm familiar with the additions of JDK 1.1.x and am sure
that multiple-inheritance, operator overloading, much less the "every
functions receives an array and returns an array" idealogy of perl was not
introduced.

I'm also sure, that in order to duplicate an object containing the
integers a,b,c one has to write:
o2.a = o.a;
o2.b = o2.b;
o2.c = o2.c;

Unless I can enumerate the members of a class somehow, but this is quite
messy as well.
 
> > 2. My main theme was not that Java is a bad language for writing applets, small
> > and portable GUI applications, and various other "toys". Its inner restrictions
> > allow a programmer of such things to implement them quickly, and be quite
> > certain that they are bug-free, run nicely everywhere, etc.
> 
> You might be interested to know (or maybe not) that I personally wrote large scale
> applications, some of which are considered "critical" applications in Java (yes,
> that "toy" language designed for applets). You might be even surprised to know that
> I'm not the only one. Go to the java newsgroups (or better yet, visit Symantec
> Cafe's newsgroup) to see how people are developing very large scale applications,
> including Win32 native apps in Java (and if find yourself asking how a java
> application can be Win32 native, please stop calling yourself "a java programmer"
> and go do a search in yahoo on "java, programming language")
> 

As far as I care, one can program everything he wants in Java, and I am
aware of Visual J++ 6.0 etc. I am sure it is possible to program Oracle
for Java. My point was that it would take too much time, and would consume
an even larger amount of time to keep up to date, to make it worth it.

I realize many OOP&D-enthusiasts believe that using Java or a Java-like
language is the best way to prevent inconsistencies from happening later.
In a way, they are right. The point is, that Oracle will have to release
Oracle 9 for Java, Oracle 10 for Java, etc. each one with much more
features, better optimizations than the other. My question is: can Java
stay up to par?

Note that I didn't attacked Java by saying it was a language for toys. By
all means, such a language is very useful for programmers. And "toys" are
not just applets. (read my original post) 

> > My point was however that as the basis and underlying scripting language of an
> > OO RDBMS, Java will fail absolutely. I don't think Perl, or any other language
> > I encountered, is good for all purposes as-well, but it certainly tops Java on
> > this one.
> >
> >
> 
> ??
> Java is considered a very OO language, and one of it's first uses was as a database
> language. In fact, when I studied in the Technion, the Databases course included a
> brief introduction to Java (which was only at a beta state at the time, before
> release 1.0) so I imagine it was well intended for OO RDBMS.
>

Yes, it is a very OO language. But it belongs to the Smalltalk-scool of
OOP, which has some inherent restrictions. Perl, or Python for that
matter, have powerful OO features that Java lacks simply because they do
not adhere to that particular school.

It would be much easier to convert a Java program into Perl than vice
versa. (I think you could write a perl script to do it ;))

If the original developers at Sun used it as a database language, that was
there choice. When working with database on UNIX, I always used a perl
script.  
 
Regarding the Technion: I have studied EE there for one year and so far
the best description I can give it as an academic institute is "stupid".
I'm positive I can learn much more by working. For instance, the first two
courses a CS-related student takes teaches him about ANSI C, then more
about the standard C library, data-structures (in C), some C++, and
finally: C-shell programming.

Because C is such a hard language for beginners, with a problematic
syntax and difficult working methodology. I'm sure that teaching
perl and then C/C++ would have been a much better idea. As a general rule,
Academe are more clueless than industry-workers, in the field of computing
or in general.

> > 3. A little emphasis on why I think Java will fail in this case: an OO RDBMS is
> > a complex and fully-optimized client-server and scritpable environment that is
> > supposed to be state of the art on almost all levels of programming from simple
> > algorithmics to artificial intelligence. And naturally there's a _lot_ of data
> > and text processing (such as compression, encoding/decoding, packing/unpacking,
> > memory allocation, maintaining reference counts, format conversion, caching)
> > involved.
> >
> 
> ??? So what? Benchmarks show that Java running under JIT performs as good as C++
> (search for Symantec's statistics, and for Microsoft's VJ statistics).
> Again, I don't know what your sources are, but I personally know of a fairly big OO
> RDBMS project that was written entirely in Java.
>

I didn't say it would not run as fast. I just said it's code would be a
mess to understand and update, and scripting it would be a mazochistic act
for a programmer with a minimal experience in perl. I'm pretty sure that
when handling very large tables and databases, and very complex queries,
it will easily bypass the largest number of objects the JVM can store. And
a serious RDBMS is supposed to be able to do that without breaking down.
 
> > Many newbies think, because of the hype of Sun and many other bodies and
> > individuals about it, that Java is the "language of the future"
> 
> Ok, so now I'm a newbie..
> 

Let me rephrase my words: "Many newbies and some super-genius
super-knowledgable technocrats believe, because or regardless of the hype
...". Sorry for the sarcasm.

> > and some hot breakthrough in language design. However, It is simply a
> > smalltalk-like
> 
> > language built around the C++ syntax that everybody are used to and like, with
> > a nice GUI, some powerful inherent features, a good (?) class-structure and a
> > consistent philosophy.
> 
> That's funny, I heard the same thing about Linux vs. Real UNIX..
> 

For the record, Linux is not such big a breakthrough either. The Linux
kernel is a nice dynamic kernel that was designed to be 100%
GNU-compliant, and adapted to modern computers that has a large amount of
RAM, etc. It also uses simple algorithms, so it doesn't optimize itself
out of speed.

It may be superior to other UNIX-clones, but you can blame it on AT&T and
their System V license. And it is known that UNIX is a relatively
simplistic OS, in comparison to VMS, for instance.

I'm not saying that Linux or Java aren't great, but they are not
breakthroughs from the computer-science sense.

> > Sun has (very wisely in my opinion) decided to push it
> > as a good solution for the "toys" I described.
> 
> and W-H-E-R-E did you hear that? Sun is pushing it on every single direction it
> can. If it were an "applet" solution, the JDK 1.1 wouldn't be doing so well. It
> happens that only IE4 and later versions of Netscape Communicator support JDK 1.1.
> This means, that if you're an applet developer, you should develop for JDK 1.0.2.
> Then why is Sun pushing 1.1 so hard? (www.javasoft.com)
>

Let me know as soon as every single one of Sun's server programs will be
written in Java, and the perl script I described is replaced with a Java
servlet.

I'm sure JDK 1.1 is much better than JDK 1.0.2, but at the moment I cannot
rely on it being around. And like I said, Java is good for many other
things beside applets.
 
> > Oracle 8 is not a toy.
> 
> Then why is oracle releasing Oracle Applications (a leading ERP system over Oracle
> DBs) version 11 in NC format only? (NC meaning Java code).
> If it's not a toy, then why are they releasing Java code instead of a C++ compiled
> code?
> It's probably because of the bug Microsoft-Intel-Sun-Oracle conspiracy to demolish
> Perl...
>

User-end applications can be written in Java, in a more or less
sane manner. IMO, writing the Oracle server in Java would be a bad idea.
 
> > I was an experienced BASIC,
> > C/C++ and perl programmer when I learned Java, and I still had to get used to
> > some of its nuances.
> 
> Besides you, every experience C/C++ programmer I know, learned Java in less than a
> week by looking at examples alone.
>

Hey, I learned enough Java to program applets in a very short term. But I
would have still assumed that the statement "object1 = object2" would have
duplicated all its members, instead of giving me another reference to the
same one.
 
> nuances? Yeah, like Perl doesn't have its..
> 

Perl has many nuances of its own. However, a beginner can use a small
subset of perl to program powerful scripts, and gradually learn more and
more of it. In Java, one has to derive a class from applet, define several
methods in it, and then use System.out.println() just to print "Hello
World"

> ... And it goes on, and on. I'm not going to continue here (thank god, you say..)
> 
> p-l-e-a-s-e, lets agree - I won't talk about things I don't know about (I'll just
> ask questions) and you don't talk about things you don't know about (and I
> especially mean things like "I know all about Java, but I can't write a decent Java
> application, it must be Sun's fault")
>

I know about Java, if not too much. I know OOP&D and understand it quite
well. I worked with RDBs, had experience with several computer languages,
and am familiar with other fields of computing. I may not be the biggest
expert on the subject, but I'm knowldegable enough to have a well-founded
opinion. 

> 
> > BTW, I already sent the editorial to Slashdot's maintainer, only to realize I
> > received a lot of commentary overnight.
> 
> I don't expect to convince you (I already saw from the previous letters you are not
> interesting in listening, only in speaking your mind), I'm sure every have minded
> Java programmer will simply ignore this article. We got used to seeing bulshit all
> over the Net.
>

Look, as far as I'm concerned Oracle can work on Oracle for Java. I'm not
going to buy it, or even be interested in trying it out. And I believe I'm
not the only one. I believe Oracle for Perl will be finished much faster,
and if it's out, I'll rush to see it. Those are the facts, and let the
Oracle Corp. management deal with them.

For the record, I being an eclectic programmer am starting to get a little
sick of the hype around Java, too. By eclectic, I mean a programmer who
works with Java and other languages, in accordance with the context of the
work he's trying to do.
 
	Shlomi Fish