DEV Community

Cover image for Three Windows CLI Myths I Believed Until I Taught Them
arnostorg
arnostorg

Posted on

Three Windows CLI Myths I Believed Until I Taught Them

Teaching is a myth detection machine. Ideas that feel true when you’re solo break when twenty learners follow them literally. Here are three Windows CLI myths I believed—and what replaced them after I tried teaching them out loud.

Myth 1: “CMD is obsolete; skip it.”

What I believed: PowerShell is the curriculum. CMD is history trivia.

What teaching revealed: Learners hit vendor .bat files, constrained images, and support scripts in the first month. Skipping CMD didn’t make them modern. It made them brittle.

Replacement: Teach CMD as a constrained toolkit for file ops and legacy glue, then graduate to PowerShell for structured automation. No shame lane.

Myth 2: “If they learn Bash on Linux/WSL first, Windows will be easy.”

What I believed: Transfer will Just Happen.

What teaching revealed: Quoting, path shapes, and pipeline semantics don’t transfer automatically. Learners who only practiced Bash treated PowerShell as broken Bash and blamed themselves.

Replacement: Platform-honest practice on the shell they’ll use this week. Add Git Bash/WSL as an explicit second contract—not as the “real” one. (Related rant energy, calmer delivery.)

Myth 3: “Tab completion + copy-paste is enough to become dangerous-in-a-good-way.”

What I believed: Ergonomics unlock competence.

What teaching revealed: Learners could assemble commands they couldn’t debug. Exit codes, encoding, and Execution Policy inspection were missing. They looked fluent until the first red error without a screenshot twin.

Replacement: Every module needs recovery reps. Completion is allowed; semantics are required.

How I “tried” these myths

Not in a lab coat—in cohorts and office hours. I taught the myth version, watched the failure mode, then changed the lesson. The bruise patterns repeated enough to retire the myths.

What I do differently in materials now

  • Name the shell on every example.
  • Put non-ASCII and spaces in paths on purpose.
  • Force where / Get-Command and exit code checks early.
  • Keep soft links to practice environments instead of launch-blog energy.

How the myths showed up in office hours

  • “I skipped CMD and now this vendor script is hieroglyphs.”
  • “I practiced on Ubuntu; PowerShell quoting feels random.”
  • “I tab-completed everything; why did CI fail with exit 1?”

Each sentence is a curriculum smell. If your materials produce those office-hour patterns, update the materials—don’t blame the learner’s grit.

Replacement myths I refuse to install

I also won’t install the reverse dogma (“never learn Linux,” “PowerShell is always wrong,” “GUIs are cheating”). Operator culture should be greedy for tools and precise about contracts.

Invite for fellow instructors

If you’ve retired a CLI myth after teaching it, keep a changelog. Curriculum honesty compounds. Myths hate changelogs.

Fourth almost-myth I nearly included

“Windows Terminal settings are the same thing as shell knowledge.” They’re not. Host configuration helps; it doesn’t teach exit codes. I cut it for length—but if you’re building a course, don’t let dockets of JSON themes replace fundamentals.

Closing challenge

Pick one myth you still teach “because everyone says it.” Teach the opposite for one cohort week—with measurement. Keep whichever version produces colder-prompt competence. Loyalty to slogans is optional; loyalty to outcomes isn’t.

If you want a place that assumes Windows-first operators deserve serious drills, I’m building that practice surface as CMD Master—free interactive browser-terminal learning for CMD, PowerShell, and Bash.

Myths feel efficient. Teaching makes them expensive. Pay the cost once in curriculum design, or pay it forever in office hours.

Top comments (0)