Domain: codehaus.org
Stories and comments across the archive that link to codehaus.org.
Comments · 177
-
Re:Why not use Jython? or Groovy?
True for jython, false for groovy. Read about groovy beans.
Among python, perl, and PHP, only python has superior language syntax to Java, and groovy leapfrogs python. Groovy's syntax is probably second only to ruby in term of OO purity and clarity. Perl's CPAN libraries are the only one competitive with Java's libraries (and java wins narrowly even over perl). When you give groovy syntax to java, you will have an absolutley lethal combination.
Goovy's benefits from complete bytecode equivalence to Java cannot be overstated. Groovy simply reuses the entire java class library set.
One other major innovation is the hierarchical syntax using closures that makes it superior to everything else for processing markup like HTML and XML. Java was strong on XML to begin with, with groovy it becomes dominant.
The only big problem with groovy now is that it isn't quite ready. I expect that in a year it will begin to be a compelling solution, especially when combined with the lightweight, containers and frameworks (things like Spring and Hibernate) that emphasize Aspect Oriented Programming, Inversion of Control, and heavy use of XML configuration.
-
Insensitive Clods
look you insensitive clods, j2ee takes a special place of reviling and hatred in the heart of the true denziens of the linux underworld for a simple reason.
j2ee is lock in. its opting for a dark evil-you-know, its embracing a chosen path. once you start adding frameworks, your down the path of adding even more frameworks and theres no where to march but onwards.
in general, the best hope for the rebellion is on loosely coupled. in the context of the web, with the constant promise of agents and what not, loose coupling and late bindings are the only thing that make sense. static types are so 1988. the LAMP "architecture", by nature of being so apache-centric, is slightly less bound, even if the underlying code is single purpose hackery.
activegrid promises one of the integral elements of what is truly needed: a transactional grid system to fabric different apps. conventional databases are overly limited, what active grid is promising is a more persistent active-object oriented approach.
we need a coordination language which bridges the loosely-coupled/static type boundary. which bridges the language barrier.
codehaus has a couple Active[SubName] projects of interest. Some really amazing work at integrating and coallescing a real coordination language, but very java specific for the most part. i have a big fetish for ActiveSpaces and its SEDA approach. ultimately the java specific killed the prospects for me (performance suspicions), otherwise its very beautiful.
it amazes me just how short-sighted and short-reaching all these comments are. way for the poster to turn a very foresighted richly influenced piece of technology into a petty bickering flamewar. insensitive clod.
well, there goes my moderation... :)
as always,
myren -
Java:JVM != .NET:C#
-
Hrmph.Last I looked (which can't have been over a month ago), JRuby was far from being ready for prime time. I'm a Ruby guy myself, yet I really wouldn't touch JRuby just yet, unless my purpose was to develop it myself.
Groovy is, IMO, a near-clone of Ruby designed from the ground up to integrate with Java, and would probably be a better choice than JRuby. I think the Groovy documentation isn't quite there yet, tugh.
-
So what exactly is the difference...
...between this and Groovy?
-
Re:Java != Slow
http://classworlds.codehaus.org/ will make your class path issues go right away. No more messing with the environment settings, no more screwing around with file paths, and only 29K of code.
-
Re:Depends ...
Don't forget Groovy
-
Free alternative to turnitin
I wrote a Groovy script that goes through a text file and does a Google search on all 10-word sequences. It then outputs HTML that bolds and underlines any words for which the Google search returned hits: http://wiki.codehaus.org/groovy/PlagiarismDetecto
r -
Boo, a Python-derived language
Thought it could be of interest of slashdotters: there's a language called Boo being developed for the CLI. It looks pretty sweet to me: very similar syntax, with the addition of a smart static typing system among other features.
-
Re:Incredibly useful build tool
Maven Subversion support (haven't tried it myself).
-
Java? What about Groovy?
WHy compare with Java when there is Groovy, the JVM scripting language?
Here's a simple sample script:
#!/usr/bin/env groovy
println("Hello world")
for (a in this.args) {
println("Argument: " + a)
}
Note that you can run this from a command line, no compiling required.
Groovy is not just some random basement project either, it's actually a JSR and so will probably become a standard before too long.
If you want a C3 equivilent, I'm sure some well-meaning but mistaken soul will copy this project as they have tried to do with every other Java project. "C# - only a year behind Java since 2003!". -
Java is completely unusable for scripting...
-
Links and thoughts..I find this review to be interesting and well written, but I read parts of Hardcore Java and found it to be interesting. I disagree strongly with the reviewer on one thing...
If you've mastered the material in these two books, you're an expert, full stop.
NEVER, think that reading one or two books will make anyone an expert on anything, let alone on such a complex topic as programming. I personally never stop learning.The two books that he recomended look good on Amazon (they both reviewed well). I find it interesting the both of the books are from the same publisher. (note that I am not a amazon partner) The Java(TM) Programming Language (3rd Edition)
Effective Java Programming Language Guide
Nanning -
Re:cool stuff
Cool indeed. But is there a C# compiler targetting Parrot yet?
;-) They look like they're almost both pretty groovy.
(There's a language I'd like to see on more platforms.)
-
Re:Under the Rug
A language that lacks the tools necessary to implement such a regime needs GC, so the presence of GC may actually (as in the case of Java) indicate a fundamental weakness in the language.
Please explain to me exactly how you can implement a resource management system (or regime as you call it) in C++ for, lets say, managing socket connections, that has no equivlent in Java. You are aware of this method, right?
Then, please, further explain to me how a task performed by a software platform, in this case the Java Virtual Machine, can show a weakness in a programming language. Do you mean to imply that If I use Jython or Groovy that I won't have this problem? Or are you just making the rookie mistake of confusing the Java 2 platform with the Java language?
-
Re:About time...
You should definitely at least learn JSP first. For all its faults, it's still the standard templating mechanism for J2EE, and you can't really call yourself a Java web developer if you don't know it.
Once you learn it and loathe it, then you can move on to others.
I personally think GroovyPages looks like it could be a much better solution than anything else I've seen in the Java world. But then I like having the option to write powerful code in the presentation layer, while the whole point of Velocity is to take that power away from you. -
Re:Obligatory java response...
Nor Groovy either...
AJ -
Re:Cat got your tongue?
Sun is scared to open-source Java because the "zealots" will end up turning it into LISP.
They've already turned it into SmallTalk/Ruby: Groovy. :) -
Groovy
I'm surprised know one has mentioned Groovy yet.
I have a similar history to the poster and have been rejuvenating my inner geek with Groovy lately. It brings back wonderful memories of Smalltalk but it uses all the standard Java APIs and class libraries.
Great stuff!
AJ
p.s.
Interesting that other posters have mentioned the CS course notes at Carleton U. It's a great school and they used to use Smalltalk in much of their course work back in the '80s.
Does anyone else remember the Byte Issue devoted to Smalltalk? -
Re:Let Me Get This Straight
Goovy is an excellent language. And in case it gains momentum like one has written here, there is no doubt that people will port it to Parrot and the Python VM just like Python is ported to the JVM.
It is the stated goal of Groovy to be a dynamic and scripting language for Java (see here). That is, its design is driven by the needs of Java developers and adapted closely to the Java environment.
Maybe it will be ported to other platforms, but Groovy will then be as foreign on those other platforms as something like Jython may seem to Java developers. -
Re:Warning, Obligatory Jython reference ahead
Hey, Maybe we can call groovy from inside JSP, just to get two layers deep in the scripting. I bet that will speed up development.
That's not as far of as you think:
You can create servlets using Groovy. -
Re:Switching Version Control?
Look here
Subversion is so obviously the way to go - it's CVS with all of its limitations removed. -
Re:Come on.
How the hell to you get the IBM JVM without signing up as a websphere developer?
My biggest problem with Java is that the best VM (IBM's) is not a free download even though eclipse is. I have to use Suns JVM instead. Eclipse is much faster on IBMS's JVM than Suns.You go there to get the JDK. You do have to register though, but I sure never developed on Websphere. I never paid IBM for anything either., so you're just lying.
2. The CLR works with multiple languages. Java's VM is only Java.
I hear this all the time. First of, all, it isn't true: I'll give you 2 examples: Jython and Groovy. I'm sure there are plenty more examples you can find if you want.
Besides, does it really matter? The strength of Java and .Net are mostly the class libraries and APIs you can find. When programming WinForms, does it really matter if you're using C#, VB.Net or any of the CLR languages?Apart from syntax, your form will end up looking exactly the same anyway, with the same functionality. It's just a matter of which syntax you prefer.
C# is an open standard. Java is a closed one. Microsoft did this on purpose of course, in order to kill Java. Regardless of whether it's open or not, Microsoft will always have the strongest influence in the C#-platform's direction. It's Microsoft's baby. The same goes for Sun and Java, whether or not it's a closed standard. Why Sun hasn't opened Java is beyond me...it does them no good being closed. It just makes me want to write C# code for Mono::
Anything that matters in
.Net is not standardised. ADO.Net, ASP.Net, ... all thoser things are proprietary as hell. At least with Java, many important API's are open to be implemented by those who want to (J2EE, JAXP, JSLT, ...). In the Java world, you can actually choose your implementation, as opposed to what MS force-feeds you with .Net.But would I like to see Java standardised? Sure, but even without it, it still is more open than the entire
.Net platform.4. If you really must insist on Java, just use J#. The languages are syntactically identical (with only 'generics' differing). What you gain by this is better byte code running on a better VM.
Really? And could you tell me when I could get that J# code to run on all the OSses that Java supports?
-
Re:C#
Not sure I'm with you on pass by value, it's already done with RMI/Serializable Objects for instance.
Big +1 on generics, I can't wait until 1.5! Also, Java 1.5 attributes will make themselves useful in some situations, but they are already here in several open source libraries.
I'd take C# as an option in a real solution (read: billable) only in two scenarios: 1. I have a MS only client (I do!) or 2. The open source community gets a lot more excited about it.
To elaborate, the fact that Java has such a rich open source landscape eclipses C#'s marginal feature wins. There has been a compiler supporting generics for quite a while now. Attributes and real AOP have several open source projects implementing them in different ways. These types of things are on the fringes of the java open source community.
There are so many mature java open source projects that provide real benefits to a programming team that I am about to be absolutely unfair by naming some. The C# community is a long way away from boasting these achievements.
- Useful stuff for most or all projects
- Apache Maven goes beyond build automation to provide open source project management, dependency management, documentation, code metrics, application server deloyment, and a lot more.
- Hibernate provides true database independence and allows one to address persistence requirements independent of the object model
- Apache's Jakarta Commons is a thriving community providing small useful components that end up being useful in more situations than you expect. Some of the components in here loosely correspond to more coarse-grained things in the Microsoft
.NET Class Library. Examples: HttpClient, dbcp (database connection pooling), betwixt (System.Xml.Serialization)
- Some much more coarse grained application components are around as well:
- Apache Jakarta Lucene is a sophisticated indexing and searching library
- Drools provides a rules engine complete with a modification of the Rete algorithm for Objects
- blissed is a workflow library based on finite state machines.
- Apache Cocoon is much more than an XML pipeline framework. It enables multi-format publishing and also serves as a web application framework.
As many programmers will protest, my list above is far from representative; also, it shows my Apache and Codehaus bias. My point is exactly that; not only is the list far from representative, most or all of the components I mentioned have competitors! The advantage this bestows on java over
.NET is significant.I do not mean to argue that java is the only language that enjoys these advantages; I hear CPAN is a boon to perl hackers, and I have the impression that there is a lot going on in the open source python world. My utter lack of experience with C/C++ prevents me from commenting on the similarity of that situation, but the existence of glibc suggests some open source activity.
In summary:
.NET is young, and suffers from a lack of a thriving open source community. -
Re:C#
Not sure I'm with you on pass by value, it's already done with RMI/Serializable Objects for instance.
Big +1 on generics, I can't wait until 1.5! Also, Java 1.5 attributes will make themselves useful in some situations, but they are already here in several open source libraries.
I'd take C# as an option in a real solution (read: billable) only in two scenarios: 1. I have a MS only client (I do!) or 2. The open source community gets a lot more excited about it.
To elaborate, the fact that Java has such a rich open source landscape eclipses C#'s marginal feature wins. There has been a compiler supporting generics for quite a while now. Attributes and real AOP have several open source projects implementing them in different ways. These types of things are on the fringes of the java open source community.
There are so many mature java open source projects that provide real benefits to a programming team that I am about to be absolutely unfair by naming some. The C# community is a long way away from boasting these achievements.
- Useful stuff for most or all projects
- Apache Maven goes beyond build automation to provide open source project management, dependency management, documentation, code metrics, application server deloyment, and a lot more.
- Hibernate provides true database independence and allows one to address persistence requirements independent of the object model
- Apache's Jakarta Commons is a thriving community providing small useful components that end up being useful in more situations than you expect. Some of the components in here loosely correspond to more coarse-grained things in the Microsoft
.NET Class Library. Examples: HttpClient, dbcp (database connection pooling), betwixt (System.Xml.Serialization)
- Some much more coarse grained application components are around as well:
- Apache Jakarta Lucene is a sophisticated indexing and searching library
- Drools provides a rules engine complete with a modification of the Rete algorithm for Objects
- blissed is a workflow library based on finite state machines.
- Apache Cocoon is much more than an XML pipeline framework. It enables multi-format publishing and also serves as a web application framework.
As many programmers will protest, my list above is far from representative; also, it shows my Apache and Codehaus bias. My point is exactly that; not only is the list far from representative, most or all of the components I mentioned have competitors! The advantage this bestows on java over
.NET is significant.I do not mean to argue that java is the only language that enjoys these advantages; I hear CPAN is a boon to perl hackers, and I have the impression that there is a lot going on in the open source python world. My utter lack of experience with C/C++ prevents me from commenting on the similarity of that situation, but the existence of glibc suggests some open source activity.
In summary:
.NET is young, and suffers from a lack of a thriving open source community. -
Groovy
If you use Java, possible the best choice is Groovy
Groovy is very tightly integrated with Java, you can use Groovy classes from Java and Java classes in Groovy." Groovy supports both static and dynamic typing so Java objects are seamlessly available in Groovy and vice versa. I can derive/overload Java classes in Groovy that are available to Java developers. i.e. Groovy is Java really; just using a Ruby-ish syntax." - James Strachan
-
Io, Groovy