

Bonjour, Monsieur Bot.
Learning code is hot. It’s the new French. Parlez Vous Python? The New York Times asked recently as it announced the new trend among millenials. Young adults who used to take night courses in foreign languages, are now taking courses in Ruby, Python and JavaScript.
Three months into Codecademy’s popular Code Year project, however, tech bloggers are starting to wonder why. What’s the point? ponders Canadian novelist/software engineer Jon Evans in Tech Crunch. Few of these people will ever become proficient enough at it to become developers. And he's probably right.
The significant danger is that most of them will learn to parrot it, without really having a functional grasp of the fundamentals of computational thinking. Heck, Evans explains, there are people right now graduating from Computer Science courses, barely functional because their professors are forced to spend too much time teaching the remedial stuff they could and should be learning in middle school. Learning code part time, he argues is a little like learning French because you want to vacation in Paris. When you get there, you’ll probably discover you can’t even get through a conversation.
I’m not fluent in code, and I’m not sure I aspire to be. I just discovered by chance when I signed up for Code Year in January, that it was something I enjoyed learning. So for that reason, and because my 11 year son seems to also enjoy learning it too, I’m keeping it up.
I am, however, fluent in French. Not because I love the language (though it’s hard not to love. Frustrating as it often is, it does grow on you). I live in Montreal. So, while I’m not equipped at this point to decide whether or not learning code is a waste of time, I'm confident pointing out some of the major differences between code and French.
French is harder. Much harder. It has rules for writing that are totally different from rules for spoken French. You can learn it at your mother’s knee, and there will always be somebody who will be happy to tell you your French is not good enough. Believe me, in Paris, a bilingual Montrealer will always discover someone who will try to make her feel vaguely imbecile. And even in Montreal, La Presse describes Mad Men, Jessica Paré’s French as cassé (broken).
Code is Math. And it’s a lot more math than language.How easily you learn code is pretty much going to depend on a combination of grit and innate perceptual reasoning ability. How do you know if you have this? You could take a serious IQ test, or you can just ask yourself how much you liked math as a kid. If you did, you may be a good candidate for adult code learning. If you hated it, not so much. Yes, code has similarities to languages, in that there is a syntax, and each branch of code has different idioms. But believe me, this is math.You don't have to have taken calculus to understand it, but if you want to learn it in any depth you should be the kind of person who always did your algebra homework first.Code is Everywhere. In this way it is like a language. But it’s not a foreign language. It runs your social network, guards you bank accounts, enables and prevents you from sharing music, film, information. And the more you learn about it, the more you will see it everywhere. The more attenuated you will be to learning facts like, two thirds of Wikipedia’s most active editors are bots, or the fascinating and eccentric ways code is being used these days in the fine arts. Computer code is not likely to become a “foreign” language anytime soon. It is increasingly becoming one the dominant forms of communication in of our civilization.
That code is everywhere, might make it different from French, to you.
That makes it the same as French for me.
In my lifetime, I saw French become the official language of government, commerce and basically, life. I saw what happened to a generation of young unilingual Montrealers who couldn’t even get a job working in a restaurant because they weren’t functional in a language that what was really OBVIOUSLY, FOR A LONG TIME, the dominant language of the place they lived in. And even with good French, and a family that’s lived here for generations, there are days when I still feel like an immigrant.
So, even if too many, or the wrong people are learning code, I still believe this is a good thing.


Salon.com
Comments
I mean hoe through code.
Hoeing is a great exercise.
`
Code . . .
This Code?
It Lures us.
`
a billionaire goes
to Code web opera
and wears stolen
socks, pants, bib,
and dons polka dot
knee high knickers
and Amish Straw
Hat to a Opera
`
Bad dress Code
`
silly
I seriously will
research Code
In Canada and
and listen to . . .
The New World
Symphony by
Antonin Dvorak
if I ever get there
`
It does seem like a pretty cool time to be a programmer. I hope your husband checks out the link I included to what's happening in London with The New Aesthetic. There's some pretty creative stuff happening in the code community.
I'll lie and say I am a Salon Core guy.
Bribe border guards with apple pie.
I hope . . .
...I am skeptical of the notion that many people who start learning to code in their 30s or even 20s will ever really grok the fundamental abstract notions of software architecture and design.
I disagree with a lot of what Jon Evans says in his article, in particular the two points above. Imagine someone 20 or 30 years old who picks up a book about architecture, out of curiosity about various historical buildings in the area. No one says, "What's your purpose? How can you think that you'll really grasp the fundamentals of architecture and design, at your age?"
Evans summarizes his view, I think, in saying that coding is a means, not an end. But there's a different way to think about writing programs--it's currently the best way we know of to learn basic computing concepts. And those are actually worth learning, even for people who never touch a computer.
First, not every mathematician is a good candidate for writing software. It takes a certain type of individual to be expert at coding. The type of person that loves crossword puzzles or Sudoku puzzles comes to mind. Just as a crossword or Sudoku puzzle has to be exact for it to be considered 'correct', so does a software program. I have seen many otherwise brilliant people founder on that rocky shore whereby every component, every line, every variable must be syntatically perfect for the program to run/compile in the first place. Not so much with a foreign language. One can blow the syntax of a foreign language but still successfully convey that the house is on fire.
Syntax changes from language to language but logic does not. Learning the underlying logic to software is the most critical component for an aspiring programmer. Though the syntax may change the logic is always the same. By logic I mean learning how the computer 'thinks' first then applying the proper syntax for the language you are using to achieve an effective decision making process. If, else, and, or, not, while, until, for, foreach, etc.
Which brings us to algorithms. Two programmers write a program to do the same task. Both programs are syntatically correct. Both programs produce the required result. One program runs in 6 minutes. The other in 6 hours. The difference is the algorithm each programmer chose to handle the logic.
In today's world one must generally be multi-lingual software-wise to succeed. By that I mean if I build even a moderately complex web site I'll have to know some php, html, css, sql and javascript to pull it off. I can do the same task with python, perl, c#, c++ or java instead of the php as the underlying code driver for the site but the html, css and javascript would remain the same. If my server is a remote one I have to know how to make two computers talk to each other so there is the Apache, IIS, ssh, ssl, etc. for that as well.
Each code family has either a procedural or object based approach. Learning about classes, objects and methods can be as difficult as learning the language itself.
The best programmers I have met are professionals in other fields who have taught themselves to code so that they can get on within their chosen field. Think astronomers, physics majors, biologists, etc.
The most fun programming language I program in is Postscript, a page description language from Adobe Systems. Often I use another language such as perl or php to write the postscript code. Big fun, that.
I'm learning JavaScript, and finding OOP challenging, but satisfying. Much in the same way I find writing at a sophisticated level a sometimes frustrating, but often enriching challenge. You have to negotiate that fine line between being wordy and being necessarily complex. You have to have the kind of mind that can see big picture, but be extremely detail oriented when the time comes for that.
I think Jon Evans is underestimating how the skills that any committed professional learns during the course of a career can be transferred to coding.
Also, I think he's forgetting how different things were for people starting to learn now vs. people starting to learn in the 80s or 90s. There are entire libraries of code available for use. There are more and more sophisticated and effective tutorials available for free. I imagine the learning curve is way more exponential now than it used to be.
Obviously, you have to have the kind of brain that can grasp recursion, and other loopy concepts. But if you have that kind of brain, and enough determination, and a reason to learn, then I have no doubts it's worth the effort.
I had a chat with one of the guys at codecademy last week, and he told me that many of the people learning right now are journalists and librarians. I don't think these people are fools. People whose bread and butter is content really do need to have a reasonably sophisticated understanding of how digital culture works, or they're going to be spending their retirement working on content farms. And right now the pow wows between the publishers and the major libraries are becoming mighty tense. We are, or aren't, a few years from a Netflix of books, and who controls that is going to change the literary landscape in significant ways.
On the less serious end of the spectrum, it seems to me that programming seems to be going through a bit of a punk rock stage right now. After the stadium rock era of flashy multimedia websites, there's obviously a lot of three chord programming in apps and such. Much of it will suck, but every once in a while someone's going to hit a nifty, functional, simple piece of software out of the park. Hey, look at instagram.
So, it's a really fun time to take up coding, for amateur or professional reasons.
Thanks for dropping by. It's always great to get mentorship on this journey.
Maybe. But with me it is the other way around. I am able to take what I have learned from programming and apply that knowledge to enhance whatever else I am attempting to do, from playing a round of golf, to writing a poem or story or even how I go about preparing a meal.
What fascinates me is how closely a well structured program resembles a Shakespearean play, with one's main variables introduced at the start of the program as one would introduce the play's main characters in the first scenes of the first act, and other variables and characters created on an as needed basis as the plot of the play or intent of the program requires. Without being absurd about the analogy, I can extend it quite a ways between the two activities.