Am 29.04.2008 um 09:04 schrieb Santiago Gala:
You might have heard that jython runs faster on C# than natively. This
is only true for a small microbenchmark. I have tested application level
code and it is 2-3 times slower.

Then simply use the language with the most optimized compiler for the JVM: Java ;-)

No, just kidding. But using native scripting languages for webapps and spawning a new process for every request isn't effecient either (see http://martin-probst.com/blog/2008/04/09/memory-usage-java-vs-rails) .

Yeah, the same used to be said about Windows, IBM or Cobol, back when I
was young :)

I like cool new stuff. I like Ruby, too. But there are other factors in the world than pure cool, productive hacking. You cannot simply replace everything. And there are many ways to make Java better (OSGi for example).

I disagree: having each object having writable locations plus one
writable semaphore/lock for every, say 20 bytes of memory really plays
very badly with cache coherence and the memory subsystem in general. So badly that they are rehearsing solutions such as transactional memory to
overcome this severe limitation, one that cannot be solved in the OO
model of java or C# without basically re-inventing it.

Hmm, what are you doing? I never came across such a problem in Java. Webapps in Java can be really fast.

We are supposed to be speaking infrastructure here (shindig is an
infrastructure project, and most Apache ones are too). For
infrastructure development complexity is not such a big deal.

No! We are talking about open source frameworks here (and Shindig is a classic framework, since you will have to plug in your own container and stuff). And as those frameworks are tightly integrated with your code, the complexity will meet your code directly - it will mostly be in the same programming language anyway. And you often need to debug deep down into the framework to understand problems in your code. Which is why Open-Source frameworks are so great: the source is completely open for such activities.

Complexity in a framework (or at least in understanding the framework) is the major factor for adapting it. Rails is a good example, since its convention-over-configuration + a whole lot of scaffolding scripts make it very easy to start. And classic Java frameworks with a lot of weird XML configurations and thousands of MVC-classes are complex, because you have to modify so many places.

The ASF hosts a lot of java projects historically, I joined it on a java
project in 2000, so I know about it. Still, ad authoritatem is very
damaging for computing in general, specially when a language is not
maintained by the community and hsa the potential of being pulled behind
your legs. We are winning the first battle about having a free
foundation for computing, with POSIX/linux/BSD (even the proprietary
OS/X has an almost free foundation. We need to win the next one: freeing
development platforms and languages from single vendor lock in.

Well, I don't think we have a single vendor lock in with Java. Since most stuff is outsourced by now and many big companies would give Sun a hell of a punch to keep working on Java, I don't care about this at all.

Historically make/autoconf/autotools has not been used in java because
of two reasons:

Because Java people like it that hidden chars (tabs vs. spaces) are not crucial for success :-)

the java VM is damned slow to startup, which makes
spawning subjobs very slow,

That is true. That's why Java desktop apps and browser applets failed (for consumers). But on the server-side you can leverage the platform of the VM for longer-running processes. And mvn itself is still fast enough to be useful.

and it doesn't run too well on windows
without complex extra installs. On top of this, all the linux/ports
distribution systems are excellent build systems. For instance, I use
gentoo in my laptop and I build routinely a thousand packages from
sources, coming from different developing teams (including things like
eclipse, openoffice.org, glibc, erlang or xorg). The java builds are the ones giving more problems, typically. I have very few binary packages in my system: all java VMs except classpath, flash, acrobat, realplayer and
maven, IIRC. I have wondered a lot why maven can't bootstrap itself
nicely enough to get into the gentoo build system.

What does the build of maven itself on the gentoo platform say about maven as a build system?

I just rant because I find the "all-the-world-is-java" point of view
very arrogant and damaging, specially with Sun bullying the Open Source
world and trying to hold Harmony in jail.

Never said so. But in Java "maven" is a standard - it's not perfect, but in the end it's better than anything else for building Java. And it wouldn't be good to force maven for the non-Java language projects in Shindig - it just has to be integrated.

BTW, shouldn't there be separate projects for the different languages? What else besides some static files and Javascript is shared among the projects?

Regards,
Alex

--
Alexander Klimetschek
[EMAIL PROTECTED]

>> Day JCR Cup 08 | Win a MacBook Pro: http://dev.day.com/ <<




Reply via email to