You are viewing archived messages.
Go here to search the history.

🕰️ 2023-04-10 12:44:38


Stefan Lesser 2023-04-24 17:02:17

For those of you interested in the work of Christopher Alexander, I'll be presenting in the Building Beauty Nature of Order webinar about some concepts from cognitive science I found useful to make sense of Alexander's magnum opus The Nature of Order .

In the forum this is taking place, I can luckily assume that the audience is already familiar with The Nature of Order , but even if you aren't, you get some ideas of what he's talking about in there, and perhaps my CogSci framing helps discovering it in a different way.

There'll be almost no talk about architecture, and a lot about design theory and philosophy. If that sounds interesting to you, you can sign up here (it's free, I just needed a vehicle to distribute the Zoom link later, which I don't have yet):

(Also posting to the channel, as the thread has cooled down a while ago; hope that’s ok.)

Mariano Guerra 2023-04-27 19:21:20

Is there a more modern version of "All the Widgets - 1990"

Grouping UI components by "type" and showing examples?

Peter Saxton 2023-04-28 18:05:03

I've just asked this question "Why is bash a popular scripting language" to the wider internet

I'm interested what do we think a futuristic shell environment looks like. is it a notebook replacing a shell, a different language i.e. more functional? or does a simple text script always exist

Personal Dynamic Media 2023-04-28 18:08:51

Your first question is easier. Bash is a popular scripting language because it is a popular text mode interface.

Any text mode interface that can be scripted will be scripted, and the more popular the interface, the more it will be scripted.

Peter Saxton 2023-04-28 18:09:37

Can we then ask "why is bash a popular text mode interface"?

Personal Dynamic Media 2023-04-28 18:14:20

I'm less certain about that, but I speculate that it was the most advanced and stable free shell when Linux was young, so it became the default on Linux distributions. From there, people got used to it as Linux became popular and now it's the incumbent so anything else needs to be several times better and needs to fix something that most people dislike about bash in order to displace it.

Personal Dynamic Media 2023-04-28 18:18:10

I would say we're in a situation where it's good enough and all the power users know it.

PowerShell had the advantage that cmd.exe was NOT good enough. Fish and zsh aren't so lucky.

Paul Tarvydas 2023-04-28 18:28:25
  • Why is Bash so popular? Commands are fully decoupled and there is a VERY simple communication mechanism (lines of text with newlines acting as line separators - everything else is just bytes (it could be simpler :-)). 0D. True decoupling results in software components that you can plug together like using a patchboard synthesizer.
  • Future shell language?, Excalidraw, etc. I toyed with this concept a zillion years ago. My experimental code is at (this experiment uses yEd and was done before I discovered and Excalidraw)
Andrew F 2023-04-28 18:42:50

Almost every "why" question about popularity/adoption bottoms out in some form of history/path dependence. What's already there only has to be good enough for the job at hand for someone to stop looking and just go with it.

A bit more specifically, a lot of Unixisms are defined by being easy to implement in C on a PDP-11, the systems that (AFAIK anyway) happened to exist at a nexus where they could have a super spreader event. Famously: Worse Is Better.

Cheerful for those of us trying to get actually-good things adopted, innit?

Personal Dynamic Media 2023-04-28 19:02:38

Peter Saxton Are you asking why Bash is the most popular shell on Linux/Unix, or are you asking why Linux/Unix and the Unix shell paradigm in general are so popular?

Mariano Guerra 2023-04-28 19:19:54 is a modern take on a shell and a scripting language

📝 Nushell

George Mauer 2023-04-28 20:37:23

I've long said that it's dumb in this date and time to use a shell with no runtime. We want structured data. It's not hard, we should have structured data. Powershell does it right and its great. emacs shell (eshell) has an interesting approach where it just flat out reimplements a bunch of common commands as lisp functions and that gives it some structures.

I think something like what those two do (leaning more to powershell) is the right approach.

Of course the real answer or "shell of the future" is "I tell my computer what I want and it does it because I've long ago decided that I am not touching bash anymore and will just ask chatgpt to do it if I need to and if I need a real programming language I'll use a programming language"

Samuel Timbó 2023-04-29 00:55:33

I will just drop unit here, cause I did built it to be an all in one shell + scripting + VPL:

Samuel Timbó 2023-04-29 01:33:48

A related quote from the docs for context: "unit is similar in concept to the Unix shell; for a seasoned programmer, unit should feel like the 2D evolution of the Command Line Interface (CLI) where units' (commands) inputs and outputs (stdin/stdout/stderr) can be piped together into a graph (script)"

Jack Rusher 2023-04-29 07:54:42

At the risk of answering the wrong interpretation of this question:

There were better shells for writing scripts before bash , but they were generally regarded as less pleasant to use interactively (completions, forward/backward search, &c). Because most people spend more time composing little one-liners at the command line than writing scripts — an activity that favors those interactive features — bash became increasingly popular. Once people were used to using bash syntax for one-liners, they preferred to just keep using it in small scripts, despite its many shortcomings as a programming language. Ubiquity was ultimately driven by Linux making it the default shell, which had to do with GNU/licensing preferences.

Justin Blank 2023-04-29 16:59:35

That seems right. I think shell is a fascinating design space. You have to have a tool that is good for interactive use, and supports

`~_*rm * # specifying commands using no extra syntax plus globbing

rm foo # arguments as unquoted strings

command | grep foo # terse commands for pipes and also redirection*_~`

Justin Blank 2023-04-29 16:59:51

Just in terms of syntax, it’s a tricky design space.