Live data from Hacker News

The Renaissance of the Shell?

effective-shell.com

41–50 of 69 posts

Re: The Renaissance of the Shell?

#41
post #3

I also observe a renaissance of command line interfaces. I guess it's a trend in a similar way how the graphical user interface (in the MS Windows/OS X/X11 way) has been trendy in the 1990s/early 2000s. Remember that Apple banned the terminal from classic Mac OS. This was a declaration of war against complicated CLIs. Nowadays we experience the opposite: Microsoft is building the most modern Terminal emulator as well…

> Microsoft is building the most modern Terminal emulator

If it is anything like Powershell, which is more "modern" than bash, then I don't think it will make much of an impact. Powershell seems like it was designed by a comittee which did not quite understand the point of what they were doing.

It seems that if at least someone on that committee used a Unix terminal maybe once in their lives they would realize that what they were building would deliver a really bad user experience.

Re: The Renaissance of the Shell?

#42

Most of ones work should be in the shell all the time, because automation tasks are every day phenomena (or should be). Otherwise, if its GUI oriented, you will still have to learn CLI variant sooner or later and not only its harder or almost impossible to automate, but such automation is usually flaky as well. Shell should be considered basic and most important interaction with computer with anything else deemed as…

The bad news is shell adoption. The biggest selling point of a shell is ubiquity.

Zsh for many, many years was basically Bash with more features but not endorsed by GNU.

Bash was released in June 1989.

Zsh was released in December 1990.

Yet Zsh has replaced Bash only on MacOS, only about 1 year ago and only because of Bash licensing issues (new Bash versions are under GPL3 instead of 2 and Apple hates GPL3 because it's against their locked down devices).

29 years to replace the default shell on just 1 platform... despite almost bug-for-bug compatibility, POSIX support, extra features.

I wish new shells good luck!

Re: The Renaissance of the Shell?

#43

Because of the capitalisation combined with the domain name that tittle ("The Renaissance of the Shell") made me expect to read a piece of propaganda from the oil company. Considering that generally the term shell means any software with purpose to manipulate files and run other programs, it would be better to call it "The renaissance of the command line shell".

If it had meant the oil company it would have omitted the definite article: "The Renaissance of Shell". Or perhaps even included the full name: "The Renaissance of Royal Dutch Shell".

Thank you, my native language lacks articles.

Re: The Renaissance of the Shell?

#44
post #41
post #3

I also observe a renaissance of command line interfaces. I guess it's a trend in a similar way how the graphical user interface (in the MS Windows/OS X/X11 way) has been trendy in the 1990s/early 2000s. Remember that Apple banned the terminal from classic Mac OS. This was a declaration of war against complicated CLIs. Nowadays we experience the opposite: Microsoft is building the most modern Terminal emulator as well…

> Microsoft is building the most modern Terminal emulator If it is anything like Powershell, which is more "modern" than bash, then I don't think it will make much of an impact. Powershell seems like it was designed by a comittee which did not quite understand the point of what they were doing. It seems that if at least someone on that committee used a Unix terminal maybe once in their lives they would realize that w…

I read "Bad user experience" but I suspect what you mean is "It not what I am used to".

They (Microsoft) say that their inspiration was Korn Shell and Languages like TCL. Microsoft when they still offered Windows services for Unix, they did provide a Korn shell. If you look at some PowerShell examples and some Korn Shell example there are quite a few similarities between the two.

So they obviously were quite aware of the options in the *nix world. I really wish people wouldn't make these sorts of claims when spending like less than a few minutes looking up the development history would dispel these ideas immediately.

Personally I really like PowerShell and I find it fun to program in whereas with bash I seem to have to always relearn it whenever I attempt to do something non-trivial. However I come from a background of programming in OOP languages like Java and C# so many it just suits my mental model better than bash.

Re: The Renaissance of the Shell?

#45
post #28

Earlier quoted context omitted.

I disagree. While what you're saying is true there's other side to the issue. The command line tools are simply more versatile and configurable. We can try to take git clone command as an example and try to design a GUI dialogue which would allow to use all the options it has. I think it is very hard and you will end up with something looking scarier than space shuttle cockpit. I believe it'll take roughly the same t…

I think that's more because the standard git client was designed with command line usage in mind and UI usage had been ignored at that step. Had the goal been a hybrid GUI/CLI from the start than the entire git workflow might look different (which wouldn't be a bad thing IMHO, because the git command line UX isn't all that great either).

This is my criticism of most git GUIs. They try to provide 1:1 functionality with the command line. But this defeats the purpose -- instead of making it more obvious what every button will do, it adds an additional layer of complexity where now I have to guess which CLI operation that button maps to. But the point of the GUI is that it's more accessible than the CLI. If you have to learn the CLI interface anyway in order to use the GUI, it is wasting a huge amount of potential.

Re: The Renaissance of the Shell?

#46
post #41
post #3

I also observe a renaissance of command line interfaces. I guess it's a trend in a similar way how the graphical user interface (in the MS Windows/OS X/X11 way) has been trendy in the 1990s/early 2000s. Remember that Apple banned the terminal from classic Mac OS. This was a declaration of war against complicated CLIs. Nowadays we experience the opposite: Microsoft is building the most modern Terminal emulator as well…

> Microsoft is building the most modern Terminal emulator If it is anything like Powershell, which is more "modern" than bash, then I don't think it will make much of an impact. Powershell seems like it was designed by a comittee which did not quite understand the point of what they were doing. It seems that if at least someone on that committee used a Unix terminal maybe once in their lives they would realize that w…

It looks like you don't understand Powershell, committee did know and consisted of unix professionals.

Re: The Renaissance of the Shell?

#47
post #5
post #2

I firmly believe that a lot of really productive work can be done with shell-based applications, and that this environment represents the true power of productive computing. With the web taking front and centre priority, we've lost something very important in terms of human/computer interaction - many would say things are 'easier', but I have to laugh at this claim whenever I see someone clicking something in a list…

You're not really wrong on many of your points, but you look at everything from a power user/developer mindset and that's too narrow of an approach, sorry. I.e. you should realize programming is not for everybody, not even close, so the claim that things are easier now is very much true for a lot of people out there. As such there's not much to laugh at, in fact that sounds borderline disrespectful to me.

> programming is not for everybody

I guess we (although I am not the person you replied to) have a fundamental disagreement here. I think absolutely, everyone is able to code, a little. Not to be a career programmer, mind you, and I have no expectation that they should be able to produce readable or maintainable code. I have a weakly-held opinion that people shouldn't have to code if they choose not to. However, I think a little coding knowledge is essential for digital autonomy, which is more and more synonymous with regular autonomy, and that everyone ought to have that.

Re: The Renaissance of the Shell?

#48
post #38

GUIs are using pictures to convey meaning and action. A picture is worth 1000 words. Why use 1000 words to do something when one or two will do?

= Master Foo Discourses on the Graphical User Interface = One evening, Master Foo and Nubi attended a gathering of programmers who had met to learn from each other. One of the programmers asked Nubi to what school he and his master belonged. Upon being told they were followers of the Great Way of Unix, the programmer grew scornful. “The command-line tools of Unix are crude and backward,” he scoffed. “Modern, properly…

  ls -al
  rm -r. /*
  git checkout -b thisIsFine
Couldn't give you a sed or awk example, because, fortunately, did not have to learn either yet.

Re: The Renaissance of the Shell?

#50
post #12
post #6

I certainly hope the shell doesn't have a renaissance. Just today I was updating my dotfiles/customizing my OS, and I had to swap out several shell scripts for Python scripts because I couldn't edit shell. The scripts looked like arcane rituals, not editable code.

As I read it, the article is more about the concept of scripting in general - and not about any specific language bash/zsh/powershell/etc. I definitely agree, I think that POSIX-shell scripts can often be completely unreadable and difficult to maintain. But I think the concept of scripting in itself is fine, even though the implementations we might use today are slightly outdated. At the moment there's a huge number…

At the moment there's a huge number of interactive shells like nushell and xonsh being built, but they don't really focus on scripting; I'd really love to see more competitors attempting to take on the mess of bash scripts.

Check out http://www.oilshell.org/ -- that is exactly its purpose. It runs your bash scripts, and then you can upgrade gradually to a better language.

It's also an interactive shell, but I concentrate on the language first.

Post reply on HN