El lun, 28-04-2008 a las 12:06 +0200, Alexander Klimetschek escribió: > Am 27.04.2008 um 23:57 schrieb Santiago Gala: > > > I'm seeing a lot of activity using Ruby and/or Python, specially in > > the > > web front side. Modern frameworks such as Rails, Django, etc. In > > general > > diversity is increasing, but I've seen very interesting uses of those > > two, and I'm guessing (I wish I had hard data) than nowadays typical > > web > > sites get better sustained productivity if written with Rails,Django, > > etc. than with any of the "classic" java frameworks. > > That's the fault of the "classic" java frameworks with lots of XML and > other bloat. It's not the fault of the Java language. You can have > Rails in Java too, see for example Grails. Newer frameworks like Sling > make development with Java fun again ;-) In the end the Java VM is a > very good platform, running all major scripting languages now. And > with OSGi you have a real good component system. >
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. You might have heard that having Rails/jython running on java/C# makes it automatically run in more platforms. False again. Python or Rails, or the Apache HTTPD server, or perl, or (name it) each run in more platformas than java or C#. I need to use nasty tricks to get a java plugin, fortunately not something that useful anymore, just because I'm running X86_64 linux here. Not to mention other architectures. > But let's not start another statically typed vs. scripting languages > argument. In the end both parties have their use case (a major one for > Java is this: it's very popular, does not require bleeding-edge > experts to program in and a lot of (enterprise) companies simply only > allow Java for their development, because it's proven and wide-spread > today). > Yeah, the same used to be said about Windows, IBM or Cobol, back when I was young :) > > Of technical concern is the fact that the java VM (or C#, a java > > clone) > > microarchitecture has a very small granularity for state, and a very > > fine lock density (typically some mutable state and a lock per > > object). > > This plays very badly with modern hardware architectures, > > It might not be optimized as Erlang, but it for sure does not "play > very badly". In fact, virtualization is a major trend and a VM is a > good platform there. > 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. > > that are > > happier with mostly read-only, not locked memory and concentrated > > chunks > > of writable memory (erlang excels there, even if it has an ugly syntax > > and not so good libraries). > > Erlang is just too complicated and ugly (albeit its concepts are > great!) to become popular and adopted by the mainstream. > 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. I agree that Erlang is complex, specially if you are coming from classic OO stuff, but I remember people saying the same about java in the late nineties. :) > Anyway, the discussion between everything-on-one-VM (Java) and many > processes (Ruby/Rails) doesn't lead to a single correct answer, just > as the general language discussion. Other languages might be good, but > there is a reason why the Apache Software Foundation hosts a lot of > Java projects that are developed, used and maintained by a lot of > companies. > 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. > So I'd definitely use Maven as the build system for the Java-part of > Shindig. And integrate it with the other languages. This depends on > what build system is good for them. If you use ant, it can be > integrated into Maven very well (eg. maven-antrun-plugin). Or you > could write maven plugins, which is actually quite simple (although it > seems very difficult at the beginning). This raises the following two > questions: > > What are the shared resources in the end? > What are the most suitable build systems for the various languages? > > WDYT? > Historically make/autoconf/autotools has not been used in java because of two reasons: the java VM is damned slow to startup, which makes spawning subjobs very slow, 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. Not that gentoo portage is such a great build system, but it builds always from sources. rpm or dpkg/apt are both excellent, widely deployed dependency management systems As I said elsewhere, I don't think we should switch, but at least let me bitch about maven and please don't consider it the end of the world. 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. Regards Santiago > Regards, > Alex > > -- > Alexander Klimetschek > [EMAIL PROTECTED] > > >> Day JCR Cup 08 | Win a MacBook Pro: http://dev.day.com/ << > > > > -- Santiago Gala http://memojo.com/~sgala/blog/

