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.
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.
My experience in college is that academic computer science is completely different than real-world computer science. I learned only math and algorithms in college. Everything else I had to learn on my own in my spare time.
Granted, my college days were in the early 2000's, and I didn't exactly go to the best school, but all we did back then was algorithms in C. Exclusively. We were also forced to do our work with Emacs and submit our homework to a VAX system using nothing more than a mainframe cheat sheet. If something went wrong, we were stuck. It was confusing and useless to participate unless you already knew what the hell you were doing.
I learned a HELL of a lot more about real programming after I left college and started to work with other, more experienced people. Then it became more obvious what they were trying to teach us in college, but failing miserably.