A Middle-Aged Writer's Quest To Start Learning To Code For the First Time (1843magazine.com)
OpenSourceAllTheWay writes: The Economist's 1843 magazine details one middle-aged writer's (Andrew Smith) quest to learn to code for the first time, after becoming interested in the "alien" logic mechanisms that power completely new phenomena like crypto-currency and effectively make the modern world function in the 21st Century. The writer discovers that there are over 1,700 actively used computer programming languages to choose from, and that every programmer that he asks "Where should someone like me start with coding?" contradicts the next in his or her recommendation. One seasoned programmer tells him that programmers discussing what language is best is the equivalent of watching "religious wars." The writer is stunned by how many of these languages were created by unpaid individuals who often built them for "glory and the hell of it." He is also amazed by how many people help each other with coding problems on the internet every day, and the computer programmer culture that non-technical people are oblivious of.
Eventually the writer finds a chart of the most popular programming languages online, and discovers that these are Python, Javascript, and C++. The syntax of each of these languages looks indecipherable to him. The writer, with some help from online tutorials, then learns how to write a basic Python program that looks for keywords in a Twitter feed. The article is interesting in that it shows what the "alien world of coding" looks like to people who are not already computer nerds and in fact know very little about how computer software works. There are many interesting observations on coding/computing culture in the article, seen through the lens of someone who is not a computer nerd and who has not spent the last two decades hanging out on Slashdot or Stackoverflow.
Eventually the writer finds a chart of the most popular programming languages online, and discovers that these are Python, Javascript, and C++. The syntax of each of these languages looks indecipherable to him. The writer, with some help from online tutorials, then learns how to write a basic Python program that looks for keywords in a Twitter feed. The article is interesting in that it shows what the "alien world of coding" looks like to people who are not already computer nerds and in fact know very little about how computer software works. There are many interesting observations on coding/computing culture in the article, seen through the lens of someone who is not a computer nerd and who has not spent the last two decades hanging out on Slashdot or Stackoverflow.
I'm probably going to get shot down over this and get -1 as troll, but IMAO you cannot make a great programmer unless you've taken some college courses specifically related to computer science. That is in addition to having a passion for problem solving and tinkering with anything and everything. This comes from mostly anecdotal instances of people I have ran into in my over 30 years as a computer programmer.
Taking courses at a college level teaches you the intricate programming concepts and algorithms. Without taking data structures, assembly, operating systems, OOP, and so on at a college level, you're already at a disadvantage. Can you program a Windows/GTK application without taking those courses? Most likely. Can you write device drivers and system routines? No. "How do I sort this list?" Well, that depends on how fast it needs to be sorted, how much memory you have available, how big the list is, etc. "I'm making a list." Does it need to be an array of structures? Does it need to be a linked list? Does it need to be a doubly linked list? Does it need to be a binary tree? Does it need to be a tree? Most programmers don't have to deal with any of this stuff, but then again most programmers aren't great programmers.
I have ran into many programmers that didn't get their degree in computer science and didn't take any computer science courses in college, and they all fall in the same level. Mediocre. Again, anecdotal and stereotypical, but I'd wager that it's correct almost all the time.
My suggestion to the OP would be to (since middle ages is still not too old to become a great programmer, as long as you meet the other criteria of being a tinkerer) take some college courses in computer science. Over 1700 languages doesn't mean shit if you don't understand the concepts of programming (although concepts of something like LISP would be completely different than OOP and other traditional languages). Once you learn the concepts, then the rest is just syntax and concepts specific to the language you're learning, but without the basic concepts, you have no ground to stand on.
Is that a roll of dimes in your pocket or are you happy to see me?
Start with Perl6 but first listen to one of Larry Wall's lectures on postmodern programming.
I'm not going to lie Perl6 is probably the best general purpose programming language in existence right now yet I still feel a childish need to be dismissive because I can't be bothered to take the time to learn it. Even if I did it would mean shit for my "career". Just writing "Perl" on a resume is a death sentence.
In other words don't ask Slashdot for advice on learning to code. Half the people here think cutting and pasting "JavaScript" and "HTML" from stack overflow is "programming". The other half know their shit and are real snobs about it. They will make fun of you if you don't use a functional language and correctness proofs.
I'm a professional software programmer/engineer and I shutter to think what might happen if society can't understand how all of the complex computing machinery works. Or gives up because of the overwhelming complexity.
But seeing articles like this gives me hope. It means that we are successfully simplifying/explaining the really difficult bits and allowing more creativity to be layered on top of the complex parts. The author didn't need to know any details about how Twitter, the web, or tcp/ip works in order to build his search app. That's pretty cool.
It was sad that he gave up on coding a website because there were too many braces in JavaScript. I guess that with practice the braces fall away and the underlying logic shines through. If he wants to get really shook up, he should check out LISP, the ultimate symbolic language. The parentheses will either break him or make him experience true programming bliss.
The Economist in my experience has a poor track record of predicting future. They describe world events in a way that sounds like they really know what they are talking about, in a measured, intellectual way, at times even boring to maintain the appearance of detachment, almost like how Sherlock Holmes would describe his clues. But unlike Holmes they are almost always wrong. That has been my impression. Their biggest blunders are Trump and Brexit and Trump-era economy, but I have a vague recollection of things they talked about year ago that never came to pass. Might be interesting to randomly pick an issue from early 2010s and see how well their headlines aged.
Btw their upset with Trump seems to have let their Russophobia seep through their cover art, though it's still quality art.