Hacker News new | ask | show | jobs
by xelxebar 2157 days ago
The frustration is inarguably real, but...

Programming language syntax sucks because none of it maps to things that non-programmers know. Every time a new token is introduced, whether it be an ascii symbol or a word it's one more mapping your brain has to create to remember it. And on top of this you have to remember how these actually execute too. Yes I said execute - most programming concepts have so many implementations it's crazy. Even basic conditionals can't escape this. There are several tokens for if-statements (if, guard, case, (^:), etc.) and countless common implentations (gcc, ghc, guile, J, and whatever actual processors end up doing).

Deep, complex things are hard, my friend. The pain is real; the payoff is totally worth it though.

2 comments

Except it's much easier to look up definition and examples for these tokens, without going so deep into the rabbit-hole.
Sure, but my point was that good notation takes advantage of the wealth of pre-existing plumbing that exists in our brain.

I think a good example is: https://xkcd.com/936/

"Correct Horse Battery Staple" is easier to remember than "Tl)7x" because the latter maps into plumbing we already have. Likewise, print "Hello world" is easier to remember than printf("Hello World"), which is easier to remember than std::cout << "Hello world"; This is why we recommend beginners start with a language like Python or BASIC and not C++.

Also, my point wasn't about ideas, but rather the notation used to represent these ideas. For example, you might not be able to read "Ăn quả nhớ kẻ trồng cây", but if I tell you it means "When eating a fruit, think of the person who planted the tree" you understand the idea. Notation is just a means of transferring ideas. Having deep complex ideas is not an excuse for poor notation.