On 14/04/2011 8:59 AM, Serge Boulay wrote:
"...But I guess I should mention that the number one technical problem that we simply can't solve to our satisfaction in Java - or in any other existing JVM language - is the problem of defining user interfaces and structured data using a typesafe, hierarchical syntax. Without a solution to this problem, Java remains joined at the hip to XML. "

It feels like for tooling having a purely declarative synatx a tool can edit easily is good. Mixing in a programming language that can appear anywhere in your definition does make this harder to do.

And its not like XML is *completely* typeless - you have DTDs and XML schemas for validating legal structures, and editors can know about this and tell you when you do things wrong.

But having said all that, I like doing it all in one environment and language (avoiding XML). I avoid Spring and just stick to wiring everything together in a Java class. Then any Java tool can be used - I don't need tools that understand spring, osgi, java, etc. I am not just talking about the IDE - I mean things like unit testing, code coverage, etc. Tools are good to have, but they are not always as good as they should be - being able to drop back to a human with a text editor being productive is a very good thing. And also the mental brain power required to come back to a project after its been dormant is important - I want to spend time addressing the business need, not spend time remembering the language, environment, and tool etc rules.

Scala has some cool looking features, but maybe its because I jump between so many projects and don't stick with any particular code base for so long, all the DSL like stuff in Scala puts me off. I like one syntax to do things (not multiple), nice simple semantics. No "cleverness". I like Maven because it restricts choice, ensuring consistency between projects. My opinion of Scala might change when the IDEs get better - last time I played (a little while back) it looked like the debugger was still pretty average.

I will say however our group is not a pure Java (JVM) shop - we do lots of C++ and other langauges too. As a result, we need people to jump between languages and environments, so simplicity has real value. We can trust the junior to the senior people moving between projects without messing things up.

I recently dabled with doing a bit of Objective-C on the iPhone for fun. I quickly came to the opinion that programming and the language is not the important thing. Its the richness of libraries, the mental model for designing apps, working out what you want it to do, working out the sales model, the support model etc - that took all the time. Writing the actual code was the easy bit. (This of course may be different once you are experienced and work on more complex apps - I was just playing.)

Alan

--
You received this message because you are subscribed to the Google Groups "The Java 
Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to