Hacker News new | ask | show | jobs
by rileymat2 78 days ago
> but GUI based IDEs are generally useful and easier to use out of the box for development.

This is true, they are much better for discovery and affordance, but as you progress with your tooling and tool usage there is a much higher ceiling on your productivity with other tools and their composability. In my opinion, not putting effort into learning tools ultimately holds a lot of people back from their potential.

2 comments

I use both and mostly agree, but for me I don’t think the ROI for learning terminal based tooling is there.

They make some parts of text manipulation faster, but those parts of text manipulation take up less than 1% of my time spent working.

Things like debugging, which take up a large portion of my time, are not so nice in terminal based environments

Yes, for things like Node, I do use tools like the chrome dev tools for debugging and such.

But find a terminal first approach leads me to other tools like curl and jq usage as I go. I see coworkers using a ton of time trying to repetitively execute the code to see those spots in really inefficient ways. And end up completely lost when they could be using tools like git bisect.

Or another good example devops type support is if one web server out of many seems to be misbehaving, I can use aws command line to get internal ips behind the lb to curl to grep and find it in minutes after others have tried for hours. It makes it second nature if your mind goes there first.

I work 99% in a terminal and fire up a JetBrains IDE when I need to do deep debugging. It’s so rare for me though that it’s worth more for me to get good at the terminal stuff. I’m sure this depends heavily on the type of work being done, game dev for example really needs a good debugger. That being said, gdb and others have perfectly fine text mode interfaces, albeit with a steeper learning curve.

As always, the “best” tool is the one your most familiar with that gets the job done. Text vs GUI doesn’t really matter at the middle of the bell curve.

> there is a much higher ceiling on your productivity with other tools and their composability

What exactly is the "ceiling" for GUI based IDEs?

Composition. I don’t think there’s any GUI that can be used for the git email workflow.

Versatility. In most TUI editors, running an external commands is easy, including piping a part of the text and receiving its output. As this is a fundamental unix principle, there’s basically no barrier between what you’re editing and other data on your system. In GUI, everything is its own silo.

Presentation. Code is not linear, but most gui forces use to use one window to see your text files. And when they allow splitting it’s cumbersome to use. Vim and Emacs has a easier way to divide you screen so that the relevant information can be presented at once. And there’s terminal multiplexers for simpler editors.