I read the article about Fish. I think I’ve even used Fish as an interactive shell out of curiosity. I currently use bash on Slackware. When I’m on macos I use zsh. When I’m on OpenBSD I use their version of ksh. In all cases I try to stick to the default shell for interactive use. Fish wasn’t around when I was first exposed to UNIX in college back in the late 1990s, and I think my first shell was actually the C shell (csh) because my first UNIX was SunOS, a BSD derivative.
I wasn’t as intimidated as a lot of beginning CS students today might be because I grew up dealing with PC clones running MS-DOS and occaionally Apple IIs and Commodore 64s, the latter usually having nothing but its built-in BASIC interpreter. I had started by tinkering with DOS batch files; other students would mess with AUTOEXEC.BAT so that they could play shareware versions of Wolfenstein 3D or DOOM on school computers, and not clean up after themselves. Not wanting to be blamed for somebody else’s misdeeds, I had found the school library’s copy of DOS for Dummies and learned to fix the configurations myself.
I don’t think it necessarily matters which shell a beginner learns for interactive use. If Fish is friendlier to newbies and smooths out some of bash’s rough edges then a newbie should by all means use it. I would even say that for personal scripting, it’s fine to use fish instead of bash, or any shell you please. I have, however, tried to stick to POSIX sh for my own scripting because I’m used to thinking in terms of writing portable code by which I mean code that isn’t tied to any particular OS or shell.
I don’t think the fundamental barrier to people learning to use a command line interface is necessarily technical but psychological. I think people need the following before they can really dig into computing:
- They need a reason to do it.
- They need to believe that they can learn to do it.
- They need to feel safe to experiment, to feel confident that their mistakes won’t break anything.
I could be wrong, however. I’m not a teacher.
When I was in college, the instructors assumed that everybody in the class had had their own computer and had been hacking since they were children. It didn’t occur to them that some of their students might have just gotten their own computers, buying secondhand machines at their own expense.
I’d say that this is what backups are for, but that assumes that somebody knows how to create backups and restore them; that’s a bit much to ask of a beginner.
Oh, hell no. Neocities lets you build your site on their site, no CLI or local tools needed. Which is perfect for newbies building their first websites or people who just want to slap together a few pages or mess with HTML, CSS, and basic JavaScript. I would say, however, that a knowledge of Unix tools and a good text editor can make web development a bit easier. For example, I had just used m4
to create macros for creating a <picture>
element inside a <figure>
with a caption, alt text, and height and width properties that would display AVIF, WebP, or JPG/PNG given a filename and other parameters. I did it was because I was tired of writing the HTML myself.