5 ms·
Please save yourself from the limitations in java syntax and use clojure/jython/scala. Clojure is my favorite -native java speed but lisp syntax, and awesome lo
by albertcardona 18y ago
Please save yourself from the limitations in java syntax and use clojure/jython/scala. Clojure is my favorite -native java speed but lisp syntax, and awesome lock-free multithreading.
What your client really wants is the JVM and its libraries, not java the language.
- jm4 18y agoWhile slightly off topic, albertcardona may have a point here. This deserves some clarification. It may be that they specifically need Java if they're going to have some in house programmers maintain the application later, but if all they're really interested in is the JVM then you've got some options you may want to consider. I don't want to stray too far here, but one thing I've noticed about many Java people is that they have very narrow views of what's good. (Don't flame me. I'm a Java developer myself.) Maybe they're just playing it safe. It seems to be a common theme with Java. Basically, for several years now the prevailing attitude has been that Struts is the only game in town, but there is a world of other good options for the JVM. Anyway, back on topic... If you must go the Struts route do yourself a favor and use Struts 2. It's been a little while since I've been in the Java web development world, but when I was keeping up with it a lot of developers still hadn't moved on yet. It's light years ahead of Struts 1 and really not so bad to work with as far as Java web development is concerned. Some others have mentioned 'Thinking in Java'. It's a great book for those new to Java and especially object oriented programming. A seasoned programmer may find it a little verbose. Either way it's free to read online so it's probably worth checking out. If you're looking for something a little smaller to digest you might want to check out Sun's tutorials, and the Java API docs are invaluable. The language itself is simple; it's knowledge of the standard libraries that separates a good Java developer from a mediocre one. 'Effective Java' and 'Hardcore Java' (specifically the chapter on the Collections API) should be mandatory reading for Java developers as well so you may want to check those out once you get up to speed with the language. For learning Struts, I'd check out the online docs first. Last time I checked they were pretty good. If you still want a book, I've found the 'In Action' series from Manning Press to be good.
- icey 18y agoI don't know anything about Jython or Scala, but I do know that Clojure does NOT have native Java speed. Clojure objects are Java Objects, so they must be boxed & unboxed by the JVM. Clojure is decently fast, but well-written Java will continue to smoke it for some time to come.
- Tichy 18y agoSpeed is really the worst argument ever. For 99,99% of applications it really is not relevant, because they'll never have many simultaneous users.
- richhickey 18y ago> Clojure objects are Java Objects, so they must be boxed & unboxed by the JVM. I presume you meant Clojure numbers, because there is no notion of 'boxing' for reference types. For all non-numeric objects, the Clojure representation is the same as the Java representation. Type-hinted calls to methods of said objects generate the same bytecode as Java, with the same performance. As far as numbers, recent enhancements ( http://clojure.org/java_interop#primitives http://clojure.org/java_interop#primitives ) allow Clojure to produce primitive arithmetic with the same speed as Java, but with a more-powerful, macro-amenable syntax. While Clojure offers higher-order constructs with an attendant, but not prohibitive, cost, performance-oriented Clojure code can match the speed of Java.
- icey 18y agoRich, you're seriously some kind of linguistic superhero. Or maybe like the Monty Python version of the Spanish Inquisition. Either way, it's impressive. This: As far as numbers, recent enhancements allow Clojure to produce primitive arithmetic with the same speed as Java, but with a more-powerful, macro-amenable syntax." Just blows me away.
- icey 18y agoEh, it's too late to edit my other post, but the new design at Clojure.org looks great!