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

This attitude mystifies me. The whole point of computers is to solve problems well enough that most people don't have to understand the machinery.

It is literally impossible for us to understand how everything we use works. We expect a compiler to just compile things and work; nobody is ranting about how modern developers are lazy because they can't hand-verify the compiler is outputting the right opcodes. Nobody is ranting about how web developers are lazy because they can't debug a browser runtime and its interface to the OS's rendering primitives. Can some people do those things? Sure. Do we imply character flaws for the 98% of developers who have focused on other things? No.

If this old-man-yells-at-clouds, good-enough-for-grandpa-so-its-good-enough-for-me style were the dominant approach in our industry, we'd still be working with punch cards and fanfold printer output. Thank goodness it isn't. Instead of having a million developers adapt to git, git should adapt to the million developers and free up their time for doing something that actually matters to a user.



>Instead of having a million developers adapt to git, git should adapt to the million developers and free up their time for doing something that actually matters to a user.

How should git adapt? Can you get a simpler model than this? Is really a basic structure like a tree so complicated millions of developers are having a hard time with it?

Nobody is advocating for "dont use new stuff, old is betteer". Nobody is advocating for people to hand-check compiler outputs (unless your analogy pertains to people who work in a GUI tool that shows them pretty pictures for opcodes and they check if the pictures match).

You've missed the point.

The point is "try to understand the basics of the tool you are using".

If me wanting people to learn and understand more makes me an asshole, so be it.

I'd rather be an asshole and help people learn more and understand more than coddle them in the safety of the pretty buttons and say "it's ok, you don't have to understand".

If we don't understand our tools and the problems they solve, how will we make progress?

How will we make better tools?

How will we make better software?

How do you learn and grow if not by understanding what you don't?


One way it could adapt is by doing exactly what this article is talking about: Giving commands for common operations where name and behavior matches user intent.

That you can't tell the difference between "let's make software more usable" and "nobody should learn anything ever again and just soften into blobs of undifferentiated protoplasm" seems like a you problem.




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

Search: