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

Re: Java



Dan Weinreb wrote:
> 
>...
> Oh, so you resent Java because you feel that you don't have control of
> the standard.  Well, if you want to get involved in the Java standard,
> you can join the Java Community Process.  

Is that true? Can anybody join? Without paying money? The last time I
checked it would cost 2K.

  http://www.jcp.org/introduction/faq/index.en.jsp

> .. I haven't noticed that you
> have participated in defining Perl or Python or Smalltalk or Common
> Lisp, but somehow you don't seem to radiate resentment of those
> languages.  

I have exactly as much control over Perl and Python as I want. If I am
willing to put in the time and effort I can maintain PPython and PPerl
variants. I can also contribute changes to the main source bases.
Standard Smalltalk and Common Lisp were created in processes that I
could have influenced if I had wanted to.

>...
> Common for whom?  My friend Joe could say that Scheme is a totally
> deficient language because it doesn't have any built-in facility to do
> Fast Fourier Transforms, which Joe spends *all* his time doing.

Common for programmers. Even programmers who do FFTs all day need to
move files around and process text.  We all work with input data and
output data. And that data is typically stored in text files.

>...
> Now, can we all get that out of our systems, so that when we evaluate
> Java we apply the same rules and standards as we do to any other
> language?

The question wasn't: "Is Java a good language." The question was: "why
do people dislike Java?" I gave an answer. To the goodness question, I
would answer: "Java is so much more convenient and easy to use than C++
that it is a major step forward." Like many programmers, I was an early
booster of Java and when it all turned out to be a big political game I
was unhappy.

Technically, Java seems to me to be "not bad". It is a little annoying
but overall "not bad". It popularizes many important concepts that had
not caught on before:

 * garbage collection
 * virtual machines
 * reflection
 * large standard library

Considering how long the programming world was VM-phobic and GC-phobic,
Java did us all a big favour.

>...
> Because the point of the whole "100% Pure Java" business was
> specifically to fight against specific practices of Microsoft, which
> was basically trying to sucker developers into writing their Java
> programs in such a way that they'd only run on the Microsoft
> implementation.  This was a marketing and business strategy
> issue, having nothing to do with the langauge definition at all.

Can you understand how technologists would resent being caught up in
power politics between software giants who really just want to "capture
our eyeballs" and then "monetize." 

>...
> Ah, but wasn't it you who insisted that third-party libraries are no
> good, that functionality has to be *built into* the language?  

There's a huge difference between saying: "here's the standard Java
language and here's the standard JVM and the standard templating system
and the standard component model" and saying: "here's the Java language.
Please don't use it outside of the standard JVM. Here's the JVM. Please
don't use other languages on it (they don't say this in so many words,
but they certainly don't help!). Here's the Java GUI. Please don't use
other GUIs (that wouldn't be 100% Java)." Python is the standard
language for working in Zope, but they support Perl also. Zope is the
dominant application framework for Python, but Guido would help out the
Webware or Fourthought guys if they needed something out of Python.
CPython is the standard PVM, but Guido helps the Jython guys with their
alternate one. 

>...
> So which is it?  Do you want all that stuff to be in the build-in
> libraries are not?  It sounds like you feel they're damned if they do
> and damned if they don't.

I want stuff built-in. And I want the option of using competing stuff. I
want the designer of my primariy language to embrace diversity instead
of (at worst) trying to snuff it out or (at best) benignly ignoring it.
I want them to help me take advantage of whatever platform I am using,
rather than trying to migrate me to a new platform. 

Most technologists want languages driven by technology. That's what Java
had in the early days but has since lost.

 Paul Prescod