Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Java, by design, imposes an upper-bound on cleverness/productivity that can be feel stifling to some. Thus, it becomes a badge of honor to graduate to sharper tools, such as Ruby. Whether they're cutting themselves (and others around them) with them is another story, of course.

We need more devs who are not so emotionally invested in their tools. Not that they shouldn't care about them, but the loud-mouthed, posturing alpha dev stereotype gets too much airtime on the Internet because they instigate drama and drive hits by playing on the audience. It is little more than bikeshedding, ultimately.



I'm totally fine with different strokes for different folks. But I don't buy the productivity argument. For any reasonably sized project, productivity tends to level out regardless of language or platform.


Oh really..... try building a large scale web app in Forth then.

Tools matter, at every scale.


So your counter example is a relatively obscure language? I don't know Forth, but I'd imagine someone well-versed in it could handle the task. In any event I didn't say it was categorically the case. I said tends to be the case. We could go case / counter-case all day.

I can bootstrap a project in Ruby or Python considerably faster than I can in Java. But when it comes time to scale, Java usually -- not always, but most of the time -- wins out. They all can do it. None is really more expressive than any other. It's just the level of effort involved. And the pros and cons of each usually start to even out as a project grows.


If you honestly think there's no expressivity difference between Python and Java, you're still writing Java-in-Python. There are so many differences in expressivity I wouldn't even hardly know where to start describing them. The old 10-to-1 line advantage isn't a myth, line count matters (one of the only solid truths about software engineering we have proved with almost scientific rigor), and I've gotten more than 10-to-1 in some conversions I've done.


I'm not suggesting how you feel comfortable writing code. Like I said, if you just prefer it because it's less verbose, that's fine. There's absolutely nothing wrong with that. But that doesn't mean you can't accomplish the same thing with Java or that verbosity has a long tail impact on productivity. At some inflection point in just about every project, you stop mashing the keyboard and focus on the non-typing aspects of the codebase.


I disagree. There is definitely a difference in expressiveness between languages for example Java and Lisp. Read "Revenge of the Nerds" by PG. But of course, you're right in the sense that I could implement a Lisp interpreter in any language...


I think it's not really the size of the project per se but the proportion of domain complexity.

For problems with low domain complexity but involve a lot of boiler plate code, a more expressive language wins out. Likewise, if you spend the majority of your time thinking about the problem and little time on the actual implementation, then the language may not be your bottleneck.




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

Search: