Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Something that shocked me was that when I was trying to teach a scripting language to some non-programmer sysadmin types, they kept getting stuck on what I thought of as minutiae.

Things like the difference between single-quoted and double-quoted strings. Special character escapes. Etc...

One person was confused as to why I kept using different kinds of brackets -- round, square, and squiggly.

To me, these basic idioms are so ingrained, that I simply didn't even think to explain them. Of course the squiggly brackets create a nested scope! What's a scope? Uh... that isolates variable names so they don't clash. Why can I refer to the same variables across those squiggly brackets but not those ones? Well... umm...



Oh man, I'm running into this just teaching my kids to read. English is a shit language to speak natively and then try to read. When starting, words like "people" you read like "pee ah pull" - there are so many words you have to "just know" how they're pronounced and learn that the word you're reading connects to those sounds even though the letters don't connect to the noises you're making.

Where in Spanish, once you know the rules, you can read the language out loud without knowing what you're even saying.

Likewise with programming, a language that relies mainly on symbols takes a lot to learn when those concepts don't even exist in your head. What's a function? An expression? A token? An operator? A scope? The best thing to do is use a language that doesn't make you know all those things at once to get started.


This is like learning natural languages like French and mandarin. In school they make you do spellings and all the words need to agree in tense, number and so on.

So you think that's what the language is, a bunch of picky rules.

You need a certain volume of material to see the real picture, and a novice won't have that.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: