4 ms·
By "specific JVM version", do you mean a major release version, such as 1.3, 1.4, 5, and 6? Or do you mean 1.6.0_20? While Java code is generally not backwards
by gcv 16y ago
By "specific JVM version", do you mean a major release version, such as 1.3, 1.4, 5, and 6? Or do you mean 1.6.0_20?
While Java code is generally not backwards compatible, it is typically forward-compatible. Most 1.4 programs run fine on JVM 6. In fact, I don't think I've ever seen one that doesn't — but I'll take your word that they exist. Personally, I've had more trouble with OS distributions shipping Python 2.3, 2.4, 2.5, 2.6, 2.7, and 3.0. I've also had trouble with Ruby 1.8.6, 1.8.7, and 1.9.x. JVM applications have generally just worked for me, regardless of platform version number.
In any case, applications being certified to run on a particular platform is hardly unique to Java. Any application whose vendor wants to reduce support load will be certified for a particular set of supported platforms. The situation is hardly better in C, with versioned .so objects and incompatible libc implementations.
Back on topic: I somehow doubt that these questions seriously turn off beginners thinking about learning Clojure.
- qjz 16y agoIn general, I mean the major release version, although I have seen applications pinned to a specific minor release because an update introduces a critical bug (which is especially frustrating when you want the update for security reasons). I'm not a beginner programmer, but I avoid languages built on Java or .NET for these reasons, among others.