[nylug-talk] Why does "enterprise" imply "Java"?

Michael Bacarella
Fri Jul 7 14:32:07 EDT 2006


On Fri, Jul 07, 2006 at 02:01:31PM -0400, Dan Crosta wrote:
...
> If that's the case, wouldn't it be possible to replicate those APIs in,
> say, Python, and to reimplement (albeit probably slower) reference
> implementations using, eg, Jython to bridge between the two language
> runtimes, and later reimplement them natively when the time is right?
> If that's the case, then why haven't we seen that? (Or have we?)
> It might just be that it's unneccesary, that nobody out there wants to use
> the same APIs in another language?

Because those J2EE things are totally unsexy and not going to get done
right on a volunteer basis.  They also involve a lot more marketing
and kneecap breaking than most technical people have any tolerance for.

There is of course nothing to stop a company from taking Python and
developing an enterprise package, like Python-X Enterprise Edition
(X just to avoid calling it PEE).  In fact, I'd love to see it.

> On the other hand, I've had some interesting conversations with a friend
> of mine about the nature of the language of Java itself vs. C++, Python,
> Perl, etc. In our opinion, Java is a more... bureaucratic language than
> many of the others. There's a lot of syntactic overhead, and it very
> strongly encourages you to use certain patterns, and to resist others (it
> wasn't until very recently that Java gained true generics support, in 1.5
> if memory serves, before which you had to pretend that everything was
> possible with downcasting and object heirarchies).

Yeah, there's this feeling that the language is more like an
opponent than a friend.   To add some fuel to this fire:

	* Identical byte[] arrays don't hash to the same value
	* Initialized arrays are horrifyingly wasteful:
		static final int[] x = {1,2,3,4,...,1000000000};
	  (try it and look at the generated code)
	* No goto?  God damnit
	* ``new'' is the only way to allocate memory, period
	* Why are there no unsigned integer types? 
	* for (;;) could be a lot less slow if there was a foreach
	  (yeah, I know it exists NOW)

Since I'm not allowed to use Python (because if I could, I wouldn't
be fighting with Java), why can't it at least be as good as C#?



More information about the nylug-talk mailing list