You know how people used to say the CLI is dead?
Now, due to tools like claude code, CLI is actually clearly the superior interface.
(At least for now)
It's not supposed to be an us vs them flamewar, of course. But it's fun to see a reversal like this from time to time!
I don't remember any advanced computer user, including developers saying that the CLI is dead.
The CLI has been dead for end-users since computers became powerful enough for GUIs, but the CLI has always been there behind the scenes. The closest we have been to the "CLI is dead" mentality was maybe in the late 90s, with pre-OSX MacOS and Windows, but then OSX gave us a proper Unix shell, Windows gave us PowerShell, and Linux and its shell came to dominate the server market.
There was a period in the early-mid 2000s where CLIs were considered passe and an emblem of the past. Some developers relied solely on graphical IDEs on GUI-oriented operating systems, and the transition to Linux everywhere broke that trend. Some people didn't take Linux seriously because it was CLI oriented.
Funny, I've totally missed this.
I was in an area with a lot of Windows and Java shops where this mentality percolated.
You don't remember the period where Linux was considered a joke compared to NT or "real" unices? Maybe I was just around a lot of elitists.
I don’t remember that at all.
Maybe in some circles.
Windows and Java developers used Visual Studio and Eclipse. Everyone else used command-line tools.
> I don't remember any advanced computer user, including developers saying that the CLI is dead.
Obviously not around during the 90's when the GUI was blowing up thanks to Windows displacing costly commercial Unix machines (Sun, SGI, HP, etc.) By 2000 people were saying Unix was dead and the GUI was the superior interface to a computer. Visual Basic was magic to a lot of people and so many programs were GUI things even if they didn't need to be. Then the web happened and the tables turned.
That is a bit of a simplification, many users found value in wysiwyg, there was an aborted low-code visual programming movement.
Microsoft drank early OOP koolaid and thus powershell suffered from problems that were well covered by the time etc…
Ray Norda being pushed out after WordPerfect bought Novell with their own money and leveraged local religious politics in addition to typical corporate politics killed it.
Intel convinced major UNIX companies to drop their CPUs for IA-64 which was never delivered, mainly because the core decision was incompatible with the fundamental limitations of computation etc…
The rise of Linux, VMs and ultimately the cloud all depended on the CLI.
Add in Microsoft anticompetitive behavior plus everything else and you ended up with a dominant GUI os provider with a CLI that most developers found challenging to use.
I worked at some of the larger companies with large windows server installations and everyone of them installed Cygwin to gain access to tools that allowed for maintainable configuration management tools.
There are situations like WordPerfect which had GUI offerings be delayed due to the same problem that still plague big projects today, but by the time the web appeared Microsoft had used both brilliant and extremely unethical practices to gain market dominance.
The rise of technology that helped with graphics like vesa local bus and GPUs in the PC space that finally killed the remaining workstation vendors was actually concurrent with the rise of the web.
Even with that major companies like SGI mainly failed because they dedicated so many resources to low end offerings that they lost their competitiveness on the high end, especially as they fell into Intels trap with Itanium too.
But even that is complicated way beyond what I mentioned above.
This is kind of my "CLI bigotry" showing, but I think programming was always, quite naturally, a command-line occupation, but there was this brief period starting in the late 90s where a sizable number of practitioners were seduced by things like Visual Studio and Eclipse, and went over to the dark side. But nature is slowly restoring itself, and we're moving back to software development being text based tools inside a bunch of terminals, like god intended.
Eclipse and IDEA are just different tools for managing text. Yes, they run in GUI windows instead of a tty but that doesn't change their nature, they're not "visual programming".
Automation and scripting won. The GUI was useful for the end user and, yes, VB was everywhere, but for tedious tasks the CLI it's still far superior and the TUI responsiveness was unmatched against the most powerful GUI.
> like god intended
Meanwhile John Carmack was using an IDE the whole time - Maybe he was just in a different realm.
I tend to agree with the trend of the parents comment. The CLI came along with the horde, like the english language or javascript.
> OSX gave us a proper Unix shell
BSD/Mach gave us that, OSX just included it in their operating system.
I think it might loop back around pretty quick. I've been using it to write custom GUI interfaces to streamline how I use the computer, I'm working piecemeal towards and entire desktop environment custom made to my own quirky preferences. In the past a big part of the reason I used the terminal so often for basic things was general frustration and discomfort using the mainstream GUI tools, but that's rapidly changing for me.
My main problem with GUI tooling is that keyboard use is an afterthought in too many of them
With CLI and TUI tools it's keyboard first and the mouse might work if it wasn't too much of a hassle for the dev.
And another issue with GUI tooling is the lack of composability. With a CLI I can input files to one program grab the output and give it to another and another with ease.
With GUI tools I need to have three of them open at the same time and manually open each one. Or find a single tool that does all three things properly.
Then it'll loop back again to CLI (or even direct system calls...) once human input won't be necessary anymore.
Maybe so! The way I see it going in the next few years is CLI tools remain valuable because they're useful to these coding agents. At the same time, users increasingly use GUIs which have been custom made or modified for them personally. We might even eventually get to the point where user-facing software becomes ephemeral, created on on the fly to meet the user's immediate needs.