this post was submitted on 05 Jan 2025
197 points (98.0% liked)

Programming

17748 readers
615 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 2 years ago
MODERATORS
197
submitted 2 days ago* (last edited 2 days ago) by [email protected] to c/[email protected]
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 46 points 2 days ago (5 children)

I don't quite agree that for a beginer being presented with

sudo apt update && \
  sudo apt install --yes software-properties-common && \
  sudo add-apt-repository --yes ppa:deadsnakes/ppa && \
  sudo apt install --yes python3.9

is better than

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.9

All those symbols and "--yes" used to feel quite cryptic to me.

[–] [email protected] 7 points 2 days ago (1 children)

The argument is that a beginner might not notice a command falls. The && prevents further execution.

Personally I've seen that happen several times myself. Beginners are just not used to reading the cmd outputs and I can't blame them. There are many CLI tools with awful error reporting out there.

[–] [email protected] 6 points 1 day ago

That's why showing the expected outcome is also very important. It can feel very verbose, but the number of times I've been unclear as to if something worked because the documentation goes on immediately to the next step without demonstrating the success/failure states is extremely frustrating.

[–] [email protected] 6 points 2 days ago

It's not the same, though. One will stop if a previous command fails, the other will continue.

[–] [email protected] 17 points 2 days ago* (last edited 2 days ago)

yeah, I'd give it as 4 separate copy-pastable commands and then write "or as one command..."

[–] [email protected] 7 points 2 days ago

If it's a beginner trying to learn those commands, definitely the latter.

If it's a beginner trying to set up their environment for the actual thing they're trying to learn, then a fire and forget single command is more user-friendly.