Yakkstr

Why I don't use the JVM

The programming world has been abuzz about the JVM and all these new JVM languages the past few years. I'm a long time rubyist and a lisp weenie, and two of the most popular alternative JVM languages are JRuby and Clojure (a lisp). They are both great langauges, I've done large projects in both, and I really want to love them. But I can't, and it's not their fault, it's the JVM.

Put simply, it's the memory stupid. Have you ever spun up a 'hello world' web app on the JVM. Doesn't matter if it's Java, JRuby, Clojure, or whatever; it will use over 100MB of memory. That's a shit load of memory for a 'hello world' app. Spin up a rails app and it's over 300MB! I know a lot of you are thinking that this isn't that much in the larger scheme of things, that programmers are expensive and memory is cheap, but that's missing the point. I'm a programmer because I love programming. I particularly love making websites and apps for whatever crazy idea I have in my head.

I have a cheap VPS with about 1 gig of ram, and I use it for numerous little websites. Yakkstr, this site you're on now, is one of them. The yakkstr setup is fairly standard, a web app, background workers, and a full-text seach engine. I'm using less than 100MB for all of them combined. The same setup, using the JVM for each, would be well over 1000MB, 1GB, an order of magnitude more memory!

I can't run my hobby sites on the JVM, it would cost me 10 times as much because of the amount of RAM required. My ESP says many of you aren't convinced that my hobby projects matter in the "real world". Let me say this, the history of the tech world should be a reminder that disruptive technologies are usually bottom up. Linux, MySql, PHP, Ruby, etc, etc. It's the hobbiest, the person who writes code for the love of writing code, that disrupts the tech world. And for hobbyists who do web dev, the JVM isn't an option. In the end I'll bet this matters for more than just my hobby projects. The JVM has lost my mindshare, and I'm sure there are many more passionate programmers who are in the same boat.

report |
anonymous said 3 months ago ...

Which is why the rest of the world uses PHP for their webapps... Ow sucky language you say? True.. but it got a low memory footprint and high performance, choose your pig.

ddonnell said 3 months ago ...

Hi anonymous. I should have reserved that username ;)

PHP, Ruby, Python .... yeah, use one of these for web apps. It also bugs me that the JVM isn't as unix friendly as I would like.

jasonspak said 3 months ago ...

You can allocate as much or as little memory as your application needs. I run many personal web projects on a JVM sitting on top of a free-tier AWS EC2 micro-instance. I have tomcat6 instances running with <32MB footprint.

Perhaps you need to better understand what you're putting on the JVM and why it needs what it does.

losethos said 3 months ago ...

LoseThos is 64-bit. The first 64-bit computers had about 512 Meg. Less than that is pointless except for VMWare. I don't like them.

Ya know... Intel is pisses me off too, but AMD pissed me off back when they took advantage of dumb consumers who didn't know what a floating point processor was or that cylcles-per-instruction mattered.

ddonnell said 3 months ago ...

@jasonspak, I tried to do that, and I can't get it to use under 100MB. Permgen alone was close to 30MB.

linbsd said 3 months ago ...

Amen! I have spent too long having to solve Java memory usage issues. Wish to do more lisp and the JVM is a severe SOTAPOS. Glad to see other people share the same "memory does matter" mind set.

ddonnell said 3 months ago ...

amen linbsd :)

Join our friendly Yakkstr community in 1 Easy Step
  • Meet Like Minded People
  • Share your thoughts with others who share your interests
  • No assholes to deal with, we keep them out
Join Now by writing your first comment below


Related Posts

Remember me

New? Sign up here.
ddonnell commented 3 months ago on
Why I don't use the JVM
amen linbsd read the rest
ddonnell commented 3 months ago on
Why I don't use the JVM
@jasonspak, I tried to do that, and I can't get it to use under 100MB. Permgen alone was close to read the rest
ddonnell commented 3 months ago on
Why I don't use the JVM
Hi anonymous. I should have reserved that username ;) PHP, Ruby, Python .... yeah, use one of these for web apps. It also bugs me that the JVM isn't as unix friendly as I would read the rest
ddonnell commented 10 months ago on
Get a deal a day
haha, thanks read the rest
ddonnell commented 10 months ago on
MIT Skip Lists Lecture
you can always ask here for read the rest
ddonnell commented 10 months ago on
MIT Skip Lists Lecture
It's entry level assuming some foundation. I forget the specifics, but I was required to take a certain amount of math before taking it, so if you go to college for it you'll be forced to take enough math before getting to these classes. Btw, I think the read the rest
ddonnell commented about 1 year ago on
OLPC: these are so cool
gr, youtube changed their embed code and it doesn't work on yakkstr. There is supposed to be a video there. [Here's the video read the rest
ddonnell commented about 1 year ago on
url-normalizer
hehe, it won't. It's for programmers to use. I might use it on this site for some far off ideas I have. I need to get the private posts working read the rest
ddonnell commented over 1 year ago on
James Toney vs. Randy Couture
here we go, fight about to read the rest
ddonnell commented over 1 year ago on
James Toney vs. Randy Couture
I don't see this fight being that great either way. There are only two possible options I see, toney catches randy and it's a short fight. Randy controls toney and finishes him quick. But, I'm really excited about the edgar v penn rematch, and the read the rest