On Wed, Nov 25, 2009 at 9:17 AM, Asiri Rathnayake < [email protected]> wrote:
> Hi, > > On Wed, Nov 25, 2009 at 1:33 PM, Pascal Voitot > <[email protected]>wrote: > > > nice analysis :) > > one question that arises in my mind: in the future, in 2, 3 or 4 years, > > with > > all these features integrated in groovy or clojure which tends to be more > > efficient "syntaxically" or more "specialized" also, I really wonder why > we > > should keep coding in Java in fact. The question of performance is not > > really an issue since everything runs in the JVM at the end. > > Anyway, this is not the subject here but I wonder :) > > Have you seen last Java7 language evolution? > > > > One point that bothers me is that Java is very easy to understand. I can > write a java program, come back after 6 months and still be able to read > and > understand it in a couple of hours. Is the same true for clojure / groovy? > > I don't really know clojure so I can't say... groovy is quite clean... maybe a bit too much ways to do the same thing sometimes and some cryptic syntaxes to write in one line what you would write in 10 in Java... but this is a young language and it needs to get stable... > And what about Remote debugging, IDE support (Syntax highlighting / > intelisense), Learning curve ? > > groovy has already some good support... not perfect but quite correct... the only problem is the hot codeswap since groovy generates quite a lot of code when being compiled and generally "normal" debuggers are not able to reload the new code in the JVM and you need to use some tools such as JavaRebel which is not free at all!!! from java, groovy learning curve is really short... but but but if you code in Groovy exactly as you code in Java, you don't use the full power of the language... This is the main learning curve: to get the groovy mind :)... I'm not sure I have it after years of Java:)... It reminds me on C coders coding in C++ sometimes :) > I've done some serious programming in groovy (haven't touched clojure yet) > and what I understood is that it makes me very tempting to hack in a > solution (because it's very easy) and get it to work (very very rapid) but > on the end it results in a bad design. > > This is only my opinion, I'm not against or favour of groovy / clojure. But > I love java :) > > you're right and I love java too... this is a drawback for all scripting languages in fact... maybe for all languages with lazy typing... anyway, you know, I've been coding in C for some years then in C++ and it was exactly the same problem... bad design in C is so easy to obtain: you code, you code, you code and you get an horror :)... then you use C++ to have an OO design but it's more horrible because OO requires to be really structured in your mind and you can play with pointers in C++ and do very powerful things but so easy to go on the dark side of the design... but I've seen the same thing between C++ and Java... I see today lots of young coders who doesn't even understand what is "memory allocation" but they don't care because they have the magic of the garbage collector which does everything... so they allocate, they allocate and at the end you get a server doing hello world which takes 1Go RAM and the garbage collector doesn't even know what to do with all these garbages :)... So design is a human problem not a language problem even if some languages tend to make design easier or not. Finally, I really think Java is not efficient for lots of things (XML DOM, Strings, files manipulation for ex) and other languages are really better at it... Today, just because I'm more efficient like that, I tend to write a single project in several languages and I try to use the best languages for each part... The only languages I don't use are X# even if I already found some good ideas in them ;)... - Asiri > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

