Hacker News new | ask | show | jobs
by MattJ100 4807 days ago
Depends what your goal is. Your approach is to optimize for developer productivity. Mike's is to optimize for machine productivity.

The question is whether it is possible to do both at once, hence Mike's point about the ideal language needing to find the right high-level abstractions (machine-efficient and developer-intuitive). What we currently have is somewhere in-between, but more towards the machine-efficient side. It's quite easy to produce inefficient code, without realising it, in today's high-level languages.

1 comments

>Your approach is to optimize for developer productivity. Mike's is to optimize for machine productivity.

Yeah that's a valid point. And it's probably just my lack of experience in language design or just general naïveté. It seems like for most devices (modern smartphones, tablets, traditional computers) are fast enough that we'd be better served focusing on developer productivity in newer languages. Sure, they'll never compete with C in terms of efficiency.

Besides, I can still easily create terribly inefficient code in C ;)

Devices maybe but servers less so, if you can get a 100x performance increase from going g from say PHP to LuaJIT then you can save a lot of money without a productivity loss.
Definitely. But you're also not going to stand to gain as much from writing some of the tools I'm talking about, anyway.

There will definitely always been places where software efficiency trumps programmer efficiency, but for a lot of cases, it doesn't. It's still important, just not always the most important.