Learning how to read non-fiction books, as I discovered, is actually a skill that needs to be learned, as my historian friends who wolf down thirty books in a week will tell you (the trick is to read only the parts you need instead of reading cover to cover, though I am still learning how to learn).
And counterpoint to counterpoint: While fields in the humanities are 'book-based', CS is mostly 'article-based'. And furthermore, on the bleeding edge, textbooks don't exist yet, documentation is shoddy, and sometimes you have to read the original source code.
https://stackoverflow.com/questions/7880/how-do-you-open-a-f...
But REPL stands for "read, eval, print loop." My kitchen knife doesn't fail to be a knife because it's missing the corkscrew, flashlight and screwdrivers of a Swiss army knife.
Even so, the complexity of today's software is a challenge to the idea of an open source software ecosystem where users are encouraged to use and modify their tools as they see fit. Even though I've been programming for more than 20 years, learning the code bases of modern desktop software products like KDE, GNOME, LibreOffice, and Firefox is a major undertaking. This is why I'm very interested in the research behind Alan Kay's STEPS project (http://rickardlindberg.me/writing/alan-kay-notes/tr2012001_s...), which attempted to implement an entire desktop environment (including an office-like application) in just 20,000 lines of code. The researchers accomplished this through the liberal use of domain-specific languages to define subsystems and applications. If our software stack was less complex and easier to understand, then it would be easier for users to learn how to understand and modify the code making up the software they use.
Asking to/paying whomever you want and not calling the software maker or one of its licensees. Stallman is a libertarian, his theory is planted firmly on a market or a cooperative community.
EDIT: Let's be pedantic: for those reasons GNU and himself insist on free/libre software, openness of the source grants your eyeballs to read the source, but you however may just be in the situation where you are evaluating a software under EULA, so: you can read it but can't modify the slightest line (and recompile).
> If they don't make intuitive sense to you, I suggest you do something other than programming. You might be able to do programming to some degree with a struggle, but if you find it a struggle you won't be very good at it and you won't enjoy it. What's the point of programming if it is a struggle instead of a fascination?
I find this gatekeeping at odds with RMS's insistence that all software should be open source. What is the purpose of open source, if you can't do anything with the source code?
Whether you agree with the "open source everything" mantra or not, I would think that philosophy necessarily depends on more people having more programming literacy.
Personally, I believe more people should have programming literacy partly because I believe in open source, and vice versa.