Live data from Hacker News

Joe Armstrong on Programmer Productivity

groups.google.com

11–20 of 90 posts

Re: Joe Armstrong on Programmer Productivity

#12
I rewrote a (~10k lines) C++ app to erlang back when I was learning erlang, and saw a ~75% reduction in lines of code.

http://www.metabrew.com/article/rewriting-playdar-c-to-erlan...

I expect the 'N' value varies wildly depending on what you are building, and whichever language you are comparing against.

Re: Joe Armstrong on Programmer Productivity

#13

And it also depends on the editors, debuggers and other tools they use/know to use.

Tools are definitely important, however proficiency with those tools and most importantly, proficiency with the language are the largest determining factors. It takes months (if not years) to get to the point where you're really comfortable in a new language and can crank out volumes of code relatively quickly.

If you made me write with Eclipse, I'd probably be horribly inefficient. It's not that Eclipse is a bad tool, it's just that it lends itself to languages that I'm not super fond of writing in (ie. Java, ActionScript, etc.) and it's much different than the way I'm used to working (with vi, git and a command line). If you transplant a C# programmer into the vi and Python world, they'll usually run away screaming. Neither is better, they're just different.

Re: Joe Armstrong on Programmer Productivity

#15
post #2

FTA (favorite part for me) Most time isn't spent programming anyway - programmer time is spent: a) fixing broken stuff that should not be broken b) trying to figure out what problem the customer actually wants solving c) writing experimental code to test some idea d) googling for some obscure fact that is needed to solve a) or b) e) writing and testing production code e) is actually pretty easy once a) - d) are fixed…

For me there is another time-consuming step:

c') tooling: learning/debugging the latest test tool, test runner, deploy tool, source management system, CI system, etc. etc.

Re: Joe Armstrong on Programmer Productivity

#16
this is partly why I advocate a slow code movement similar to the slow food movement. instead of sprinting I would like to walk to the destination, avoid the pains of broken ankles and repairing shoes whilst running in them.

I would like to explore to find a sane and reasonable approach and not be driven by artificial deadlines guessed at three months ago but by todays business need.

i would like to actually be measured on business value generated, not lines of code written.

I would like to improve and simplify, deliver real value and savour the joy of actually creating.

this may of course explain why I feel totally unproductive at times

Re: Joe Armstrong on Programmer Productivity

#17
post #2

FTA (favorite part for me) Most time isn't spent programming anyway - programmer time is spent: a) fixing broken stuff that should not be broken b) trying to figure out what problem the customer actually wants solving c) writing experimental code to test some idea d) googling for some obscure fact that is needed to solve a) or b) e) writing and testing production code e) is actually pretty easy once a) - d) are fixed…

That's the core of why outsourcing coding and fixed price projects so often fails - it's overestimating the role of (e), underestimating the difficulty of (a)-(d), and discounting the communication friction when (a)-(d) and (e) is not done by the same person.

Re: Joe Armstrong on Programmer Productivity

#18

I rewrote a (~10k lines) C++ app to erlang back when I was learning erlang, and saw a ~75% reduction in lines of code. http://www.metabrew.com/article/rewriting-playdar-c-to-erlan... I expect the 'N' value varies wildly depending on what you are building, and whichever language you are comparing against.

Did you try to rewrite the app in C++ and look on how many percent reduction you get from that second try? I think it’s fair to compare that second app in C++ with the rewrite in another language since a rewrite will likely always be shorter independent of the language.

Re: Joe Armstrong on Programmer Productivity

#19

this is partly why I advocate a slow code movement similar to the slow food movement. instead of sprinting I would like to walk to the destination, avoid the pains of broken ankles and repairing shoes whilst running in them. I would like to explore to find a sane and reasonable approach and not be driven by artificial deadlines guessed at three months ago but by todays business need. i would like to actually be measu…

I think that is entirely in line with the true values of agile, which haven't really gotten through.

Slow food isn't about slowness for the sake of slowness. It's just about being realistic and interested in the long-term. It's about saving energy and mental stress.

One beautiful expression of this ideal is in "Domain-Driven Design."

Re: Joe Armstrong on Programmer Productivity

#20

this is partly why I advocate a slow code movement similar to the slow food movement. instead of sprinting I would like to walk to the destination, avoid the pains of broken ankles and repairing shoes whilst running in them. I would like to explore to find a sane and reasonable approach and not be driven by artificial deadlines guessed at three months ago but by todays business need. i would like to actually be measu…

yes yes yes yes yes! Great to hear this sentiment being expressed.
Post reply on HN