pixelscript,

Here’s the ELI5 answer I’d give to your friend:

Computers are like servants. They do whatever you ask of them. But to be able to ask them things, you must do so in their language. On the extreme low level that means writing code to make programs, but on a higher level, it means talking to programs someone else already wrote using special commands.

The buttons and switches on a GUI that you can click on with a mouse are like pre-recorded commands that instruct the computer to do some specific thing. The button or whatever will have a symbol or text description that lets you intuitively know what it’s for, and when you click on it, it plays a pre-recorded command to the computer in its language that tells it to do that thing. With these buttons, you can ask things of the computer in its language without having to know that language.

As you get more intimate with the computer, this system can start to feel a bit stiff. You’ve essentially got a butler who doesn’t speak your language, and any time you need to give him a task, you have to fumble through a basket of pre-recorded tape recorder messages to find the one for the task at hand, and play it to him. For more complex tasks, you may need to chain several of these together. It gets slow and awkward. And god forbid you don’t even have a tape recording for the thing you need.

It’s easier if you learn the butler’s language yourself. Then you can ask him for things directly. You’re not bound to any collection of pre-recorded messages to use, you can tell him exactly what you need. And if you don’t happen to know the word for something, you can look it up. It cuts out all the faffery with fumbling over a tape recorder looking for the messages you need to play.

Using a terminal is roughly the computer equivalent of speaking to your butler in his native language. You’re not limited to only the buttons and features any particular program lets you have; you can make up exactly what you need on the spot. And you never have to bounce your hand between a mouse and keyboard to do it, you can keep your hands in one position at all times, which really adds up over time in both speed and comfort.

Practicing this will also give you the side perk of better understanding how the computer actually works overall, and what it’s actually doing. This knowledge can come in super handy when diagnosing problems with the thing. When a GUI gives up, a terminal can keep digging.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • linux@lemmy.ml
  • localhost
  • All magazines
  • 200 @ entry_comment_voters
    HTTP status 200 OK
    Route name entry_comment_voters
    Has session yes
    Stateless Check no
    Time 682 ms
    Total time 682 ms
    Initialization time 190 ms
    Memory 12.0 MiB
    Peak memory usage 12.0 MiB
    PHP memory limit 128 MiB
    Logger 86
    Errors 0
    Warnings 0
    Deprecations 86
    Cache 32 in 159.07 ms
    Cache Calls 32
    Total time 159.07 ms
    Cache hits 31 / 42 (73.81%)
    Cache writes 6
    2
    Default locale en
    Missing messages 2
    Fallback messages 0
    Defined messages 120
    Security n/a
    Authenticated No
    Firewall name main
    Twig 253 ms
    Render Time 253 ms
    Template Calls 73
    Block Calls 16
    Macro Calls 6
    47 in 155 ms
    settings_row_switch 15
    date 6
    user_settings_row_switch 4
    magazine_inline 3
    user_inline 2
    settings_row_enum 2
    entry_comment 1
    date_edited 1
    user_avatar 1
    vote 1
    boost 1
    user_actions 1
    magazine_box 1
    magazine_sub 1
    related_magazines 1
    active_users 1
    related_categories 1
    related_posts 1
    related_entries 1
    support_us_block 1
    featured_magazines 1
    11 in 80.67 ms
    Database Queries 11
    Different statements 10
    Query time 80.67 ms
    Invalid entities 0
    Cache hits 22
    Cache misses 2
    Cache puts 2
    6.4.0
    Profiler token 16c8f8
    Environment dev
    Debug enabled
    PHP version 8.2.26   View phpinfo()
    PHP Extensions Xdebug ✗ APCu ✓ OPcache ✓
    PHP SAPI apache2handler