HN2new | past | comments | ask | show | jobs | submitlogin

It's about both. Thinking about scaling on multicore systems doesn't replace thinking about low-level in-core performance details. It's something that an expert needs to be able to handle as well as everything that they already needed to know before multi-core systems became common.


Sure, I recently wrote a program in C to process a lot of data and consciously made the decision not to go multicore because I figured extra cache misses and mutexing/spinlocking while data was passed across queues wouldn't justify the additional CPU cycles I was getting for that particular problem.

I'm primarily a Java guy but am capable of switching to C, writing decent code there, and making decisions like that. Someone who refuses to use Java because it's too "corporate" might be a better C programmer than me but they're not a better programmer.

Take a look at the code in java.util.concurrent sometime, specifically the inner Sync classes. If that's insufficiently "hardcore" for you, I don't know what to say.


Leveraging Java doesn't somehow make it impossible for someone to think about "low-level in-core performance details".


No one has suggested that it does (at least, no one in this thread).

Look, I get that there are people who really like Java, and that you've had to defend it for years against (often bogus) claims that it can't be used for x and y. I am not making any claims of the sort. Here is what I claim, put absolutely precisely so we can stop this nonsense:

The intersection of the following sets

  1. engineers who I know
  2. engineers who think deeply about performance
  3. engineers who choose to write Java
is empty.

That's it. I haven't claimed that writing Java makes you uncool. I haven't claimed that it's impossible to do anything in Java. I haven't claimed that Java is unsuitable for any task. It's entirely possible that I simply don't know the right people, and that even though the intersection of the first two sets is large, it's not large enough. I certainly don't know everyone.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: