Live data from Hacker News

In the Beginning Was the Command Line (1999)

web.stanford.edu

101–110 of 271 posts

Re: In the Beginning Was the Command Line (1999)

#101
post #49

Earlier quoted context omitted.

Not all GUIs are just a graphical wrapper for a CLI. But in general sure, understanding the tech behind helps.

No doubt, if you're working in AutoCAD, there's no command line that you need to understand first. But then again, if you're working in AutoCAD, you'd never say "I used to work in CLI only, now I use GUIs more and more". Clearly they meant GUIs that have CLIs behind, or at least CLI alternatives.

AutoCAD is an unlucky choice of example here, because it's one of the few GUI drawing tools that actually does have a command line behind it that you have to understand sometimes! Look up a screenshot of AutoCAD and you can see the command prompt at the bottom of the window.

And if you were using AutoCAD in the 80's you can say exactly that you used to use the CLI only!

Re: In the Beginning Was the Command Line (1999)

#103
post #94

Earlier quoted context omitted.

In unix world, everything is a file, so you can poll the file waiting for something to happen. And there’s the whole signal thing and dbus exists.

Yeah, these are the event paradigms that I meant by “nothing useful.” Files are not a good abstraction for events. Signals are broken in many ways. And DBus is both extremely clunky to use and non-portable. There isn’t a built-in event paradigm similar to how streams and pipes are an integral part of the Unix-style CLI.

> Files are not a good abstraction for events

Why is that? On the low level everything is a state of electronic cells. Files address those cells in a suitable fashion. Modern programming abstractions such as async/await are very simple, but fail miserably if you need something really complex and efficient.

Re: In the Beginning Was the Command Line (1999)

#104
post #93
post #38

Earlier quoted context omitted.

Context isn't the same as syntax? Yes, command line suffers from discoverability of which different applications (such as ln/mklink) may not be consistent. It is one of the bigger problems (imho) of the cli but it doesn't go against GPs point. The command line does have a learning curve (partly because of the above), but it is also quite rewarding.

When I start typing a formula in LibreOffice Calc, there is a popup showing possible matching functions, then when I choose the function, the popup shows the required syntax for the function and where I currently am within that syntax. A bash plugin that would do that would be an absolute game changer imho. The cli excels because it is extremely flexible, with far more options available than a set of buttons could ev…

Tab completion can get you much of the way there.

Re: In the Beginning Was the Command Line (1999)

#105

Earlier quoted context omitted.

MacOS is a very complete, very well funded desktop environment targeted towards the general user. You want anything extras and you land in applications using private apis and the command line.

The command line is not a "foundational layer" in macOS, that was my point. It exists on the same layer as the GUI does.

The foundation of MacOS is a fully-compliant Unix:

https://www.opengroup.org/openbrand/register/apple.htm

The GUI is built on top of the Unix foundation and does not stand alone or work without it.

The 'FoxTrot' comic made a big deal about this not long after Mac OS X was released:

https://www.gocomics.com/foxtrot/2002/02/25

Re: In the Beginning Was the Command Line (1999)

#106
> Yet now the company that Gates and Allen founded is selling operating systems like Gillette sells razor blades. New releases of operating systems are launched as if they were Hollywood blockbusters, with celebrity endorsements, talk show appearances, and world tours.

I was a kid at the time, but did many people actually buy windows? I know about the ad-thing where the cast of Friends or whatever bought windows 95, but as I recall even back then the OS just came with the device. The only exception was OSX, which was a “Big Deal,” even non-technical people downloaded it.

Anyway, it is funny to see this in retrospect. Nowadays, operating systems have become so commoditized that you can’t even make a business selling them.

I love Linux but his description is quite optimistic.

Re: In the Beginning Was the Command Line (1999)

#107
post #93

Earlier quoted context omitted.

When I start typing a formula in LibreOffice Calc, there is a popup showing possible matching functions, then when I choose the function, the popup shows the required syntax for the function and where I currently am within that syntax. A bash plugin that would do that would be an absolute game changer imho. The cli excels because it is extremely flexible, with far more options available than a set of buttons could ev…

Tab completion can get you much of the way there.

it's not the same thing. Tab completion is useful and will complete something you know of. But it does not help you discover something you don't know, or provide you the syntax of the command after it is entered. The problem I would like to solve is discoverability.

It's a 3 part problem: available commands, their options, their syntax. Part one would need to capture prompt input before enter was hit using solutions similar to those found at [1] perhaps the most useful but least complete one there is the one that uses apropos so something like `apropos -s 1 '' | sort | grep calc | less`. Similar solutions would be required for two and three. The roughest and easiest prototype would probably be two tabs in a split screen view, which would allow for selection of displayed matches to then modify the prompt creating those matches in the other tab. But Calc style popups directly attached to your cursor would be more useful still.

[1] https://stackoverflow.com/questions/948008/linux-command-to-...

Re: In the Beginning Was the Command Line (1999)

#108
I just wrote a command line interface of LLMs in (almost) pure Bash[1]. I endorse the future of LLMs because of the points in this article. People talk to LLMs the same way we talk to CLI shells, and everything is plain text based (It's Unix philosophy! ). I should've read this earlier to get more ideas before writing the CLI client.

[1]: https://github.com/simonmysun/ell

Re: In the Beginning Was the Command Line (1999)

#109

Earlier quoted context omitted.

Newborns don't have to learn how to suckle. It's a reflex, called a suckling reflex. Lacking a suckling reflex is an indicator of disease. Basically a newborn suckles everything that goes into the mouth, nipple or not.

Are you a woman? Have you had children? Have you partnered a woman as your child and her cried through the night, both trying to make this “breastfeeding” thing work; both failing. “How can something so intrinsic to basic survival, be so hard!”. And yet it is. Talk confidently when you have experience.

That doesn't negate the fact that newborns have a suckling reflex.

Re: In the Beginning Was the Command Line (1999)

#110
post #2

This essay by Neal Stephenson was first published in 1999. https://en.m.wikipedia.org/wiki/In_the_Beginning..._Was_the_... The analogy of OS as cars (Windows is a station wagon, Linux is a tank) is brought up in the recent Acquired episode on Microsoft, where Vista was a Dodge Viper but Windows 7 was a Toyota Camry, which is what users actually wanted.

I feel now the different way. Linux is never that much more powerful than other OS. It felt more like a tractor 10 years ago and now it is a good alternative to "Toyota Camry" with pretty good user experience.

Meanwhile Windows has become those cars with two 27" screen as dashboard, which has bad user experience and full of advertisements.

Post reply on HN