New-age Transactional Systems - Not Your Grandpa's OLTP
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Scott Delap on Feb 19, 2007
Bloggers have been discussing the other concept of creating comparable frameworks in Java that catch the secret combination. Options include Seam, Trails, Sails, and Grails.
Monitor your Production Java App - includes JMX! Low Overhead - Free download
Improve Java Garbage Collection, Runtime Execution, and JVM visibility with Zing
18 agile and lean practices for effective software development governance
You dont need Rails to be productive with Java. I use (plain) Java with RIFE and it works perfectly well for me.
What about Seam? I though it was one of its goal (bringing RoR simplicity and productivity to the Java EE platform without all the burden)
Java is not an intrinsically complicate language. The applications, frameworks, specifications, etc. that we develop are complicate, but not Java. I think that is a cultural issue, not a technical one, the GoF patterns, MVC, 3 tiers, distribuite object, etc. we need to do these thing in order to choose the right way. The error is in the Java developers not in Java language.
About Ruby, I personally prefer Java simply because it's a strong typed language, in this way the compiler is always our friend. Remember the the real problem of software is not in the initial development. Remember the Meyer's words about Eiffel vs Smalltalk (a 80s debate).
You raise an important point. Java proper is a simple language, but mastering it for complex dev is really about understanding the whole scene. Sometimes this fundamental knowledge is pure wisdom, sometimes its arbitrary history and distracting baggage. Which is hard for a newcomer or someone who wants to get something "straightforward" done.
Sun and the other big names don't seem to be able to get on top of this, solutions like JSF just add more complexity. EJB3 however is a good step.
Some of the new solutions like Rife and Seam are more focused, but there are too many of them and once you get deep enough you find the same assumptions. As time goes by they pick up their own idiosyncracies and you lose the advantages of the Java ecosystem. And few offer the zero turn around time development that other languages offer.
That said, with competition it looks like 2007 will be a good year for Java becoming less complicated, and hopefully it will gain developers rather than lose them.
Ruby *is* as strongly-typed language. Just do a bit of research and you will see. Java is becoming the modern-day equivalent of Cobol. Programming languages evolve just as hardware does. Ruby (and other dynamically-typed languages) allow developers to write less code that does more ... period.
Ruby *is* as strongly-typed language. Just do a bit of research and you will see. Java is becoming the modern-day equivalent of Cobol. Programming languages evolve just as hardware does. Ruby (and other dynamically-typed languages) allow developers to write less code that does more ... period.
1) He meant statically typed and you know it so why are you acting like you don't?
2) For being a Cobol-like language, Java is doing quite well for itself. I don't think anyone has seriously argued that Java is the best language. However, Java has a lot going for it besides its language semantics. Do some research and you will find that the semantics and "neato factor" of the language have little to do with the success of the language.
3) As for writing less code that does more...this is nothing new. It's called Smalltalk. Look into it sometime when you get off your Ruby high-horse. Smalltalk is also "strongly typed". :)
Sorry,
I mean "static typed". Remember, I said Eiffel vs Smalltalk.
What is the difference between Strongly typed, Statically typed, manifest type? Strongly typed and statically typed look the same to me. Can anybody shed some light on the details and how java and ruby differ in terms of which category they belong to?
Here's good reference on the subject - c2.com/cgi/wiki?TypesOfTyping
I hope that helps answer your question.
Ruby *is* as strongly-typed language. Just do a bit of research and you will see. Java is becoming the modern-day equivalent of Cobol. Programming languages evolve just as hardware does. Ruby (and other dynamically-typed languages) allow developers to write less code that does more ... period.
1) He meant statically typed and you know it so why are you acting like you don't?
Wow... just.. uhm... wow. Did Mr. Sigglekow's response really demand such hostility? Maybe he doesn't know Eiffel or Smalltalk or simply know what type-ing is used in each?
2) For being a Cobol-like language, Java is doing quite well for itself. I don't think anyone has seriously argued that Java is the best language. However, Java has a lot going for it besides its language semantics. Do some research and you will find that the semantics and "neato factor" of the language have little to do with the success of the language.
Ok, I'll bite -- what exactly does contribute to the success of a language since you imply you have this knowledge? I imagine you'll find far less desirable traits than semantics -- sure you want Java to own up to those?
3) As for writing less code that does more...this is nothing new. It's called Smalltalk. Look into it sometime when you get off your Ruby high-horse. Smalltalk is also "strongly typed". :)
Well, reading his post a little more closely (emphasis mine):
Ruby (and other dynamically-typed languages) allow developers to write less code that does more ... period.
...would seem to imply that Smalltalk could be included in his statement. Naturally, you assume he's a Ruby bigot -- very noble of you. And besides, he was implying Ruby semantics are more concise than Java; not that Ruby is the originator of such things.
It's absolutely amazing how some people will go to no ends to defend their little realm when someone else even implies there might be better alternatives...
It's amazing to me that people get so vehement went it comes to these discussions. The interesting part is that I have been programming in Java since 1996, and earn quite a nice living from Java on a day-to-day basis. I guess I was castigated for not having tunnel vision when I stated my opinion.
Lex - InfoQ does not allow posting under aliases, and we would like to ask that people simply adhere this out of an honour policy. InfoQ is a serious site for serious people who can stand by their name. Unless you are indeed Superman's arch-enemy, I'd ask that you either not post or change your name back.
thanks,
Floyd
InfoQ co-founder
This static versus dynamic typing nonsense is really boring... If you take the time to look into it then you would see that if you choose you can readilly add static type-checking to any dynamic language, the two issues are orthogonal. Infact the best static type system I've come across belongs to a dynamic language: Strongtalk.
At least Strongtalk doesn't confuse Type (Interface) with Class (Implementation) like many hybrid OO languages do. What always happens in this type of debate is that people tout things they've read or got taught way back in the day as though it is the gospel truth, instead of thinking for themselves.
Large complex systems have been built using both static and dynamic languages so why always the FUD?
Paul.
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
13 comments
Watch Thread Reply