5 ms·
So what are my real options for avoiding the JVM on new projects? Go? I'm not into functional save a bit if Scala. But not willing to invest time in something
by ishbits 13y ago
So what are my real options for avoiding the JVM on new projects? Go? I'm not into functional save a bit if Scala. But not willing to invest time in something like Haskell.
I also don't feel like Python is an option. Seeking more performance from a single node is what he me move to Java from Python for many of the the things I work on.
- eccp 13y agoI think it's easy to feel overwhelmed but you probably can scale up with Python with little effort with PyPy (time ago you could do that with Psyco) or change your processing to something based on Twisted.
- jerf 13y agoWithout even a hint of what you want to do with your "new projects", that's not possible to answer. Python is a sensible answer for many cases, for instance. Go is pretty plausible for some projects but would immensely weak for others (for its age, it has great library support, but it is still a young language), etc. C++? D? Ocaml? C#, perhaps on Mono? How exotic are you looking to be? In the rich, diverse world of programming languages, the JVM is merely one participant. It's large, but I do not think everything else merely lives in its shadow or anything, it is not that dominant. Not even close, really. (C++ may once have stood atop the world, but nothing else has quite pulled that off since.)
- PommeDeTerre 13y agoC and C++ are still the dominant languages, by far. They're still actively "standing atop the world". Almost everything truly important today is written in one of them, or both of them. The usable, production-grade implementations of PHP, Python, Ruby, JavaScript, Lua and Perl depend on one or both, as well. Most JVM implementations depends heavily on them, too. When they're providing the foundations necessary for even their competitors or alternatives, it inherently makes them even more valuable and effective.
- dragonwriter 13y agoJRuby has for a long time been a usable, production grade Ruby, and, while CRuby has made big strides in recent version, is still ahead in many ways (including threading, due directly to the JVM.) (I think MagLev is production ready -- and used in production -- and its based on Smalltalk.) So at least in Ruby's case, its not the case that the usable, production-grade implementations depend on one or both of C and C++.
- jerf 13y agoIn my opinion, the Java ecosystem has grown to the point where C++ is no longer "the undisputed master". It is, at least, in dispute. TIOBE isn't perfect, but if C++ were still the undisputed master, Java would not handily out-score it, for instance. (If your response is to start expanding on the imperfections of TIOBE, stop and reread that sentence a few more times, carefully. Exactly what my if-then says, and what it doesn't say, are important to my point.)
- PommeDeTerre 13y agoI think if what you're suggesting were true, then we'd see Java being used for far more "foundation" software, as well as for higher-level software. It would be difficult, if not impossible, to avoid using at least some Java-based software at nearly all times. This isn't what we see, though. Java has mainly been relegated to enterprise apps and Android development. Now, that's not to say those are small markets. It isn't a "dead" language in any sense. But its scope is quite limited when compared to C and C++. We no longer hear the hype about entire operating systems written in Java, like we used to. There are no major relational database systems written in Java (Derby and H2, for example, are still quite limited). Even for web development and business app development, many people are moving away from it to alternatives. Yet we still see C and C++ being used at all levels of software development, for software that sees extremely widespread use, in many different domains. They're used for developing the most critical and widely-used device drivers, OS kernels, libraries, application software, server software, compilers, interpreters and so on. Whether you're using a server, desktop, laptop, netbook, smartphone, tablet, or even many embedded devices, you're almost constantly using a huge amount of software written in C and/or C++. Given this context, Java is a minor player, at best.
- azth 13y agoHave you checked out Rust?