Hacker News new | ask | show | jobs
by xcambar 1264 days ago
Because developer tools are increasingly polished and easily accessible without in-depth knowledge of the arcanes of the command line. And that's great to welcome more people in our field.

The downside is that once they're welcome, the climb of the learning curve is barely started.

2 comments

Those polished tools hide a lot of the underpinnings so that nothing is understood. We get header-only C libraries (not C++) because people don't understand build tooling and want something that works on easy mode.
I'd say that's a bit orthogonal - command line tools are also hiding underpinnings from you. The issue is about the UX, not the functionality. Seemingly every command line tool has built it's own language of incantations on how to use it. I've been using grep, tar, curl, find, xargs etc. at least a few times per week for over a decade now now. I shouldn't have to look at the man pages this regularly just to remember the letters I need to type on something I've done 30 times before.

I don't have this problem with the equivalent libraries in the programming languages I use, give me 'easy mode'. We need new binaries with a modern UX, or a better IDE for using the command line.

Command line tools are composable. They give you superpowers by being able to rally a collection of unrelated programs into working for your benefit. Monolithic GUIs can't do this.
Who said anything about a monolithic GUI? Just compare the UX of a modern programming language and its standard library to that of Unix OS's. By and large they have a unified, more user-friendly style, better tooling, better documentation.
GPT and other similar technology will be the new IDE soon. Command line gpt tools are already out there and they will write bash scripts in seconds.
What's so wrong about easy mode?

For me, it's hard to make good software today because the bar is actually higher, in the sense that it must be usable by a much wider audience and I can't be lazy about usability or even worse, let it unnecessarily complicated because "people should know about it or learn".

Need to migrate your IDE project to a CI system? How do you do that if you only know how to click through a wizard? Everything has to be spoon fed and if it isn't they are paralyzed.
> Everything has to be spoon fed and if it isn't they are paralyzed.

Fixed it for you: [...] and WHEN it isn't they LEARN.

Easy mode allows one to get to the productive work faster.
I was astonished last week again how bad GUIs for git are. Take VSCode: It encourages you to enter just the title of the commit message. That's the boring part for people used to describe WHY that change was made in the long message.
It arguably follows the underlying git design more closely than many git clients. Git has no concept of commit titles and commit descriptions - it's all just a message, so in VS Code you write it all in the same box with newlines [1].

It's definitely not obvious if you're used to having separate fields, but it's a bit unfair to complain about all GUI clients because an opinionated text input box is missing from a single feature from one of them surely?

[1] https://stackoverflow.com/a/51316392