This is actually a big deal. Obama's code wasn't very useful or complicated but that obviously wasn't the point. The point here was that a 53 year old african american man sat down and learned to write a program, any program. It's much more unlikely than it sounds. Do you know what it would take to convince my mother to write a program that draws a square on a screen? We're talking moving heaven and earth here. If I suggest booking tickets on expedia instead of calling her travel agent she's like "What am I, some kind of nerd?"
Obama is leading by example. He and his biggest supporters are people who never in their lives imagined that they would ever write a computer program or anything close to it. There's a cultural barrier that's hard for most of us to see, a clear demarcation between most people's daily lives and the idea of writing even the simplest program. Crossing that barrier is hard, real hard, and I am surprised and encouraged that Obama took the plunge.
Code literacy is important, not so that the average person can become a 10X engineer but so that they can understand what's happening in the world around them on another level. It's the same reason that people should learn physics or chemistry or biology. Because these processes control our world and a basic understanding of them, even if we don't use it professionally, can help give people valuable context. Hopefully this kicks off more interest in learning the basics so that in ten years the sales guy won't think that coding a full featured CRM from scratch will take you a couple of hours over the weekend. We're moving toward a more automated world and the value of understanding it is increasing exponentially.
> Code literacy is important, not so that the average person can become a 10X engineer but so that they can understand what's happening in the world around them on another level. It's the same reason that people should learn physics or chemistry or biology
I disagree. None of that requires code and I don't think people need to know code any more than they need to know how a circuit board works or the inner workings of their internal combustion engine or microwave.
What people do need, however, are broadly-applicable critical thinking skills and a basic introduction to logic. Those skills can be applied to physics, chemistry, biology, ticket booking, car problems, oven problems, anything.
and I don't think people need to know code any more than they need to know how a circuit board works
I work in computational linguistics, and it is often aggravating to see linguists doing hours of manual work on data that could be done using a five-liner.
E.g. my wife is a neurolinguist, and she was manually doing mechanical transformation of some EEG data, which was going to take her two days. I wrote a small Python script on the spot in a couple of minutes that did the same work.
That convinced her to learn some Ruby. Afterwards, she has saved a lot of time by writing small data transformation scripts for her research and that of some colleagues.
The problem is that a lot of people don't even know that it is relatively simple to pick up enough scripting skills to make your life easier. So, I think it definitely makes sense to add some coding to high school curricula, so that people at least know, when applicable, that basic scripting is not hard and where to start.
The entire point of a well-rounded education is that you never know when you're going to need it. Just because you can't imagine it, doesn't mean it's not necessary. Why not teach everyone a little programming? "It won't serve them" is not a good enough reason.
This is important for the American economy and for the inner city culture that Obama is always trying to reshape. Coders will rule the future global economy. Therefore code literacy IS important and as a role model to a culture that has been unjustly shackled, what he did is important. As for pandering, no, it was symbolic and the presidency is all about the power of symbolism.
> This is important for the American economy and for the inner city culture that Obama is always trying to reshape.
I 100% agree with this. This was a great way to set an example.
> Coders will rule the future global economy.
I completely disagree with this and haven't seen any evidence. You could say the same about engineers or doctors or any other skilled profession that deals things that affect people in a similarly pervasive fashion. None of them "rule the future global economy."
> As for pandering, no, it was symbolic and the presidency is all about the power of symbolism.
I'm not sure where this came from since I never talked about pandering.
Just look at Bitcoin, Ethereum, Counterparty and all the related startups around the cryptocurrency economy..decentralized EBays, currencies, stock exchanges, derivatives will rule the world economy in 6-20 years (not even talking here about the AI & medical revolution).
Politicians, old money and the most sociopathic CEOs will rule the world economy, just like they did last century (these categories are not mutually exclusive). Technology doesn't matter at the top; it's just another mechanism for screwing over adversaries. Some of today's behemoths will fall, but more will come out of the shadows to replace them.
Pandering is the act of expressing one's views in accordance with the likes of a group to which one is attempting to appeal.
A "developer" who has been excited over "moveForward(100);" has been the subject of pandering.
Your PETA comment is not consistent with the point I'm making. Obama did some cargo cult "programming." I'm not sure that it's worth saying Obama is the first president to have ever "programmed" when all he did was follow a recipe. Obama did not develop any deep insight into software development and how the difficulties of the discipline justify the high salaries of your average developer. There's no real meat here.
The same way his age is relevant. Fewer African Americans code, so he has to overcome not just his age, busy schedule, and probable fear of computers, but societal stereotypes as well. It makes it even more of an accomplishment. The same way it would if he had learned ballet instead (this time for gender, rather than racial stereotypes.)
In my language, the equivalent of "race" is a word no one would ever use because it implies (in my language, I'm not saying that's what it sounds like in English, I'll leave that to native speakers) there are different "subraces" in the human race.
It seems to me that the use of this word facilitates the formation of ideas like "mixed-race couple" or "people of other races" which are not as easy to express in my language. It creates a (further) mental separation between groups of people by giving an official way of categorizing them which would be harder if there were no generic word for it.
I'm not saying making the word disappear would make the problem of racism disappear, but I really think the frequent use of this word increases psychological walls between communities.
Finally, there is no scientific basis for saying Obama is of the "African American" race because he is as "Caucasian" as he is the former, which shows that what it really conveys is more than harmless classification for statistical purposes.
Let's say that you're really fond of Asian women (my God! is it still legal in politically correct world?). How would you express such fact without referring to race?
I would say, women of an Asian type (in my language). However, in my mind this is a blurry distinction referring to appearance as opposed to an administrative category.
And yes, it is legal, I don't think I ever denied your freedom of expression.
From the article I don't think he actually did that. It said he wrote one line of javascript. I don't think he even set anything up he just sat down at a computer and copied a line from one of the exercises.
Coding is still too complex for the majority, frankly case sensitive period laden thirty character identifiers and the like still boggle my mind, who thought this was a good idea? The the prevalence of tricks and such, macros and what not, all which confuse many more than they help.
If we want programming to go mainstream we really need to have a near total visual environment. Yeah it won't be efficient but in today's world most won't notice. The people who write the tools may be encumbered with the text laden language but why should programming be solely confined to a text world?
It's somewhat amazing how far, in 2014, people can get without any tech expertise at all. It's not just Obama and other prominent politicians. There are countless incredibly successful business people that are lucky to turn on a computer.
When I was barely out of high school, I briefly consulted for a guy that had built a net worth in excess of $100 million from scratch with a very successful chain of auto body shops. I was first introduced to him after his son told me that a few days prior, his father's computer came up with a message box saying that a program had "performed an illegal operation". He yanked the power cord out of the wall and began contemplating what he would say to the police when they came.
Last year, Steve Wynn, billionaire casino mogul, was accused of threatening the life of Girls Gone Wild founder Joe Francis via email over a $2 million gambling debt. Steve won a defamation lawsuit, with his primary argument being that he couldn't possibly have done it because he had never sent an email in his life.
While technology is an integral part of our world, the most crucial skill for leaders isn't being able to code or necessarily even operate it. It's being able to identify what needs to be done, then building and managing teams that can get things done. If you can do that, you can accomplish almost anything.
It's not amazing. Technology has never been a prerequisite to business success and it certainly isn't one today. Does technical literacy help? Absolutely. But it's by no means necessary, and I'd say the majority of industries today don't require any of it. All you really need is an ability to build relationships and have something valuable to offer. If you've got those two down, you can very easily put yourself in a place where you can hire someone else to take care of the tech stuff.
I know doctors, real estate agents, lawyers, consultants, and a few successful CEOs who are very averse to using anything tech, and they're all raking it in just fine.
> It's somewhat amazing how far, in 2014, people can get without any tech expertise at all. It's not just Obama and other prominent politicians. There are countless incredibly successful business people that are lucky to turn on a computer.
I know of a CEO of a major American company that has his secretary print out all of his hundreds of daily emails and manually sort them for him. He then dictates his replies into a dictaphone and has her type them out.
Just to one-up - there was a major security breach in the IDF (as close as Israel has to a Snowden) because a general also wanted to read is reports on paper. So he allowed his assistant to put classified documents on CDs and take them over to an unsecured printing machine, where she proceeded to stash every single one and carried them off the base when her service was over.
Someone recently told me the exact same story about a company at which they used to be employed. They didn't tell me the name of the company, but they referred to it as a "financial institution".
Clearly most people are not going to spend a lot of time learning the rigorous theory behind CS, or how to write really high quality software that's meant to be reused.
However, I suspect that coding will become the new literacy. It's becoming an essential life skill, but only a few people need to be really good at it; most people just need a basic functional knowledge.
Consider math. It's extremely useful and people need it to properly function in modern life. And yet people are not only terrible at it, but they are proud of how terrible they are at it. They believe (incorrectly) that math is something you "just get" and that it is not a skill that can be learned. To me, those people are illiterate, but the perceived social stigma of being math illiterate just isn't there like it is with actual illiteracy.
So, if math, which is much more fundamental and useful in the every day lives of people isn't the new literacy, I don't think coding has a chance.
What do you think of "Mindstorms" (the book)? One of the themes of that book is that math education has failed most people because of the way it has been traditionally taught (see also Lockharts's Lament). But that computers could provide a new, better way at allowing people/children to learn though exploring simulations. I found it to be really quite the impressive work, and while I began my Logo investigations to teach my kids, I'm now also trying to track down some great looking Logo books from the long distant past, like "Turtle Geometry" by Harold Abelson for myself. Yes, that Abelson.
>math, which is much more fundamental and useful in the every day lives
I think this statement is only accurate for basic math. Nearly everybody I've known has had a situation where they wanted to code something or wished they knew how. Math is almost the opposite, I've heard more complaints about wasting time on "useless math" than I've heard regret for not pursuing it more. That's not to say they're right, but it's absolutely a strong opinion I've heard from a huge range of people.
I do disagree with the premise of coding being the new literature though (as defined by >99% of the population). Any point where that percentage is reached will be one where programming looks nothing like it does today and has been abstracted to a meaningless level.
I know lots of adults that can't use fractions correctly. I don't know how that fits in with "basic" vs "useless" math, but it doesn't give me much hope for programming (unless, like you said, 'programming' means something like 'using the occasional formula in a spreadsheet')
Math is elegant and very useful, but let's face it, for the vast majority of people in the world all math beyond arithmetic serves almost no use. In comparison, programming of any kind can be useful to anyone if they know enough to help automate work tasks, for example.
I disagree, with a caveat: the skills you learn while learning higher math are extremely useful, even if the math itself isn't.
At a fundamental level, math is taking stuff you know and manipulating it into answers to stuff you don't know. That thought process is extremely important. I use it every single day. Sometimes it's intuitive, like saying, "I need to visit five stores today. What's the most efficient way to get there?" Other times it's actual math, like saying, "I need to figure out the most efficient way to tackle my debt."
The list goes on and on. Can I justify buying a new car? Should I go to college? If I were laid off tomorrow, how long could I support my current lifestyle? Even questions that have nothing to do with math such as "How do I replace my brake rotors" require that exact same mindset. Start with the stuff you know, and use it to get answers.
Will you use integration by parts in your job? No. Will the thought process you've cultivated by applying integration by parts on a difficult problem help you? Yes, vastly.
If you don't know math, you might not realize that a lot of these questions have concrete answers that are relatively easy to figure out. You might just wing it or not bother at all. And while that's perfectly fine when you burn another quarter-gallon of gas on your errands, it's not when you're figuring out whether you need to sell your car or how much to save each month for your kid's college fund. Or when you're given shady statistics by a politician. Or when you're offered the Once In A Lifetime opportunity to invest in Amway.
I see this argument made a lot, but is there really any empirical evidence showing that learning math at the level of calculus and trigonometry gives you better reasoning skills than learning algebra and then stopping? You can be intelligent about efficiencies and calculations without actually knowing much math at all.
Is that because we're teaching the wrong kind of math? That society in general has a flawed perception of what math is? Is programming not a form of mathematics? What do you think of Lockhart's "A Mathematicians Lament"?
I disagree. It is great if more people learn it, but it is nothing like literacy. The ability to read and write is something that can help you in every aspect of life, which is why a lot of people pick it up (they use it over and over again). Keep in mind even with this being the case functional literacy is often quite low for many people and true illiteracy is still an issue. Even math past basic arithmetic isn't well-developed, people simply don't use it, despite required schooling.
Are computers everywhere and do people use them every day? Yes. But mechanical ability isn't the new literacy and just as many people interact with engines on a daily basis and would be helped by it in daily life. I think it is much more useful to think of programming like woodworking, leatherworking, sewing, soldering, etc. Very useful skills which can improve your life, but not at all necessary, and "only a few people only need to be really good at it" as you stated.
I think the development of programming literacy will mirror the development of literacy.
Literacy itself used to be a niche skill, learned by a select few who made an earning from it (scribes, criers), while the majority of craftsman got along just fine without it. Then the printing press came along, and it brought a proliferation of readable material, and literacy became useful. Not essential, but useful. People could distribute political literature, or send messages cheaply. Literacy bloomed. And as literacy increased, and became expected, it became essential.
We're at the beginning stage of that now. Somewhere around (probably before) the printing press. Programming literacy is becoming useful, but not yet essential.
IMO it's somewhere in between. Not as important as writing and reading (after all, you wouldn't be able to code without that) but there are few opportunities in people's jobs to use leatherworking, soldering, etc.
I have a lot of friends who work in offices surrounded by Excel spreadsheets all day. I know for a fact they would be more productive if they knew how to use it better, write macros, VBA... or heaven forbid, use a database instead. I think this is going to happen more often in the future, too.
I would be satisfied if people were simply able to identify tasks that can and should be automated. There are many, many, many people / organizations that have weekly or monthly manual tasks that could be automated if the individual or organization could recognize it - and hire someone to address the automation.
Stupid alert: I briefly worked at a startup that did push to production by remote desktop to the server and manually restarting the IIS server after copying things into place. They didn't automate it - because "it's the way we always did it." (Yes, they're out of business now.)
You've probably seen http://www.xkcd.com/1205/ -- if you're doing it monthly and it takes less time than an hour, you can't spend more than three work days trying to automate it, or you're wasting more time than you're saving.
Meh. Automation in the software industry isn't just about saving a certain amount of wall-clock time: that's the perspective of a bean-counter without broader perspective. Having highly skilled people frequently spend time on boring drudgery has other costs. The cost of the interruption, for instance, or the annoyance factor alone...
Automation also has the potential to make a task less error-prone and its output more consistent. A botched or forgotten manual task can be difficult to clean up after, so there's risk management too. For instance: in one incident, a coworker at a former employer accidentally ran the "send thousands of people email about how much we're about to pay them in a few days" script on input from the wrong year because January had just ended and he had to input a value containing the last day of the month (e.g. 2013-01-31) by hand.
Way to completely miss the point. The point isn't to try and avoid automating things. But to realize that you can't just dream up benefits in complete isolation to the costs.
That is, if the benefit is worth the costs.... do so. Otherwise, reconsider.
And few things make as glorious as a mistake as an automated job going out of control. There is a reason one of the most important questions you should ask on any automated task is "how do I make it stop?"
I agree with the original poster. Until now, when coding intersects with other fields, the approach has been for someone skilled in coding to come up-to-speed on whatever field needs automation. In the course of my career, I've had to learn to basically be an appraiser, employee benefits broker, pharmacist, dentist and auto mechanic. And while I learned a lot about these fields, there's no way that I can know these fields as in-depth as someone trained to do that actual work. This pattern is unsustainable and leads to software that is superficial and never truly meets the needs of the domain. But as we create more and more abstractions between programmers and the underlying hardware, coding will become more accessible to people with less background in software development and the desired balance between domain knowledge and programming knowledge will shift away from coding ability.
There will always be a need for people who understand computer science, but those engineers will be like compiler engineers or hardware engineers are today...enabling a much larger group of programmers to produce the software that provides value to users. And as we're able to provide improved layers of abstraction to make software development easier, we'll see computing become more accessible to more programmers who will build software with a much richer understanding of the domain.
So I'm torn about initiatives like this. I see coding as the new literacy...it will be a skill required by almost every professional who is an expert in his or her domain. But they won't be coding in today's languages and coding will be significantly easier than it is today. So we need to find a way to teach children to develop using tomorrow's tools today. And that means extracting the part of programming in today's languages that is intrinsic to programming while doing our best to avoid the part of coding that is just pain inflicted by today's limited abstractions. That separation may be difficult (or even impossible) to achieve, but that doesn't mean we should try. Because anyone who doesn't learn how to instruct a computer to accomplish tasks is going to be automated out of a job (https://www.youtube.com/watch?v=7Pq-S557XQU)
> I see coding as the new literacy...it will be a skill required by almost every professional who is an expert in his or her domain.
That is an extremely unusual definition of "literacy."
"Coding is the new literacy" implies that coding will be necessary for anyone who wants to interact with modern life, not just for experts. Imagine trying to use the freeway system if you could not actually read streetsigns, for example. i.e. if you were illiterate.
> implies that coding will be necessary for anyone who wants to interact with modern life, not just for experts.
That's the whole point. Computers and robots are creating a world in which there really isn't room for anyone who isn't an expert. We've already automated the low-hanging fruit...we've got a fraction of the manufacturing jobs because computers and machines can do that work faster, cheaper and more effectively. Google and such are working on less low-hanging fruit (people who drive automobiles for a living, lawyers...there's a bunch of examples in that youtube clip). That bar for offering utility beyond what can be automated is steadily rising.
If you're not an expert in something, you're going to be pretty useless in the world we're creating.
There are a lot of tools out there like Excel that become significantly more useful with a little programming skill. World of Warcraft is a perfect example where the ability to create even simple macros is useful for a wide swath of people. Granted it's not nearly as important as reading, but it's probably on par with writing well. A core skill that's useful in most areas even if it's irrelevant professionally it's still useful at a personal level.
I just finished the book "Mindstorms: Children, Computers, And Powerful Ideas" by Seymour Papert (creator of Logo) which would be a give you a good perspective on how computer programming literacy could be used to help people learn (about more than just computer programming). It is a great book that I'd recommend everyone read.
> What would a large fraction of the population need this skill for?
Managing the rapidly increasing number of computerized systems.
>our everyday systems are designed by an increasingly smaller group of people.
What are you talking about? Open source is bigger than ever. There are more computer scientists than ever. I can't think of a context in which this statement is true.
Maybe it could be interpreted as "the top 10 most widely used programs today were written by a population of programmers who are a smaller fraction of the population of users than has ever before been true before". (That might still not be true: the number of people who work as programmers at Facebook or Microsoft might well be growing much faster on average than the worldwide population of people who use the software they write!)
Literacy too started by a small group of individuals making most of the content and having a near strangle-hold over communication. Then ask literacy expanded, so too did the communication, creativity and variety of content.
Well, yes. But if you're unhappy with say, the way Facebook or email or Twitter works -- you may want to write your own.
You might say "that's absurd, Twitter, Facebook and email aren't going anywhere!" -- but look at What's App or Snapchat or any other communication medium.
There's always room for improvement. Most solutions might be awful but every attempt to improve a system carves more of a path for the next giant.
I'm hoping that once we have widespread coding literacy (if that happens), we wont have to write our own twitter. Instead services like twitter will provide various "extensibility points" where anyone would be able to inject their own code according to what they need. Sort of like Excel lets you do with macros, but friendlier to use and more pervasive.
In my non-tech job (basically school registrar), writing userscripts saves me a lot of time--in some extreme cases, it's allowed me to complete what for any of my coworkers would have been a week's worth of work in a few hours, and with far fewer mistakes.
Regular expressions and basic Unix utils are also amazingly valuable in non-tech jobs that involve computer use.
"Life skill"? Maybe not. Enormously valuable in bureaucratic jobs? Definitely.
If all bureaucrats knew how to program, then we would only need a fraction of the bureaucrats we have now. What would they do?
The point of bureaucracy is not to be efficient, it's to give jobs to people who otherwise would be flipping burgers or mopping floors, but are too educated for that. See hyper-bureaucratic countries like France for a vision of this.
I'm on the side of basic income for everyone to avoid this problem and reclaim efficiency in administrative processes, but in our judeo-christian cultures not working is considered a bad thing®, and thus this idea has a hard time gaining traction.
Bureaucracy is devilishly hard to automate. It's easy to have a guy who, say, approves house renovation plans (to use a hyper bureaucratic example). Writing software to process that? Pretty non-trivial AI problem.
This is one of the lessons that keep cropping up when they try to automate say claims administration at the VA. Something that's only 90% automatable might as well be 0%.
Is your assumption that businesses are thriving while wasting 10-30% of their revenue on busywork? If so, it should be trivial to crush them with your 10-30% reduction in overhead. Do it?
Is your theory that regulations requiring hard-to-automate bureaocratic work is created with the sly intention of creating busywork for people? Ah, special interests. They can lead to some messed up stuff, but most regulations are put in by well-meaning people trying (often ineffectually) to do what they're actually stated to be for--enforcing safety, fairness, etc.
I've regularly stated that I want most of my job automated away by Google, and we do have start-ups chipping away at old business models, but if it were entirely a matter of simply deciding to stop wasting money, I'm going to go out on a limb and say someone would've done it already.
I'd assume the majority of modern workers are behind a computer all or at least some of the day, and chances are part of their job is repetitive and could be automated. Having the ability to build software for those tasks, or at least recognize what could be automated, would be very beneficial.
I don't see how learning to fix a broken pipe would be as globally applicable.
>Obama wrote his code part of event today organized by Code.org, which brought brought 20 middle school students from the South Seventeenth Street School in Newark, New Jersey, to the White House, where they met the president and worked on Hour of Code tutorials.
>Last year, Obama delivered a YouTube speech last year[...]
Your candidates are Bill Clinton, George W. Bush, and Barack Obama. The youngest one graduated from school in 1991, and none of them are accountants or scientists.
News transfer via internet, so the programmers have the chance to show their image more than the others. Furthermore, there is no limit(I guess) what job is a job to become a president.
I like the inverse challenge: let's try to replace as much of government as we can with software/hardware. And the simpler, cheaper and more open, the better.
Not even kidding.
I'm already confident I can replace most/all of the IRS, Treasury, and all the welfare/safety-net type programs with fairly simple, hard-to-abuse software/hardware system. Given that the laws were significantly different and simplified. (And snowball's chance in Hell they'd allow that. Although there are alternate law/tax/welfare configurations which are both physically possible and theoretically sustainable.)
That's what half the IT BPM projects in government are billed as. Most fail for multitudes of reasons beyond the simple fact that technology projects in public sector are by default failures and ironically due in some measure to the incredible mountain of red tape originally designed to make risk transparent and manageable. There is no way in hell I'd let the current standards of technology in government anywhere near any form of decision making besides providing some crunched data points, which alongside DARPA style R&D is really the only example of tech in government I can cite that's had a solid history of successes. Half of the beltway bandits offer some bullshit Big Data solution after their CEO looks at a Hadoop program and the dollars spent on Big Bullshit Data by enterprise so they can keep their company relevant in passing, heaven help us all when we try to get them to build anything vaguely resembling recommenders and expeet systems.
You're overconfident. Replacing massive institutions overnight is a recipe for chaos. What we have now is not perfect, but it works. Within days of instituting your system, there could be a catastrophic oversight that causes mass unrest. Gradual change is far less risky.
Programmers love rewriting things from scratch. But experienced programmers know it's often better to see what can be salvaged.
you can't know if I'm overconfident or not, you have far too little information, including a lack of details about what I'm envisioning. also I am an experienced programer. More importantly I'm a systems thinker. Also I'm well aware of the need to do thorough analysis, testing and then a gradual roll-out. I also have no illusions about whether such a thing would ever be applied by the US government. I do think it could be used by a small experimental organization, micro-state or virtual nation. It can be overlaid on top an existing government's domain, but just tailored and camouflaged to be compatible legally with any "host" country. Obviously test and tune and critique before making drastic changes to an existing system, or start having large amounts of money pass through it. That should be obvious to any careful, experienced, intelligent person. But you made the rude mistake to assume I didn't. You could have framed your concern as a question instead, and that would have been more constructive, less acidic. Acidic comments are too common on HN. Let's all try to elevate the game.
> Ilves moved to Leonia, a borough of 9,000 people a short trip over the George Washington Bridge from Manhattan, when he was three years old. He grew up there and learned computer programming at Leonia High School. Ilves graduated as valedictorian in 1972 and went on to receive degrees from Columbia University and the University of Pennsylvania. (...) Ilves credits the programming classes he took at Leonia High School with his work to turn Estonia from a country that essentially had no communications infrastructure after independence to what is now a European Silicon Valley of sorts. The most notable example? Skype was created in Estonia.
He drew a square on a screen? "I'd like to introduce you to a fast-paced global-initiative multipowered startup looking for a full-stack Rails on Ruby rockstar."
(I actually had a guy yesterday try to recruit me for this company, working on "dot JS node".)
Bummer: "It was a very simple program—all it does is draw a square on a screen—but that’s the point, says Hadi Partovi" I don't want lawmakers that think imperative programming is all there is to it. That seems to be how they make laws - if you don't like something make it illegal, if you like something offer incentives. They never try to create a simple system with a more emergent behavior.
I expect a publication like Wired to be able to distinguish between writing code and writing a 'computer program'. If this is the bar then I wrote my first 'program' when I was in 3rd grade in the 80s doing LOGO.
Don't get me wrong, making programming a core competency is a novel goal and everyone should do it like everyone should do some chemistry in high school or do a physics project (I for one built an awesome bridge of balsa wood). It is an important skill that people should be exposed to at some point but the idea everyone should 'learn' to do it is a misnomer.
> I expect a publication like Wired to be able to distinguish between writing code and writing a 'computer program'. If this is the bar then I wrote my first 'program' when I was in 3rd grade in the 80s doing LOGO.
Of course you did. Why isn't your 3rd grade logo code a program? Even "Hello world" is a program!
I wrote my first program when I programmed the radio in my parents car to change the station. I reached out, turned the knob, and instructed the machine what to do via instructions that are understandable to "human beings". Programming is easy.
Bitter sarcasm put aside, I have often, existentially, wondered "what is programming?" The word "programming" obviously carries a lot of colloquial meaning, but I'd be interested in hearing where others draw the line between programming and, er..., data entry.
I agree. It would be nice if everyone was exposed to programming, just to get a feel for what is possible/plausible - plus the benefits of learning how to think through a problem logically.
But just as I don't consider someone fatally unknowledgeable about biology if they can't quite remember what, say, the liver does, I don't consider someone fatally unknowledgeable if they don't know how to write a computer program.
It would be nice if everyone tried programming at some point, but the idea that everyone should know how to is kind of silly.
Obama is leading by example. He and his biggest supporters are people who never in their lives imagined that they would ever write a computer program or anything close to it. There's a cultural barrier that's hard for most of us to see, a clear demarcation between most people's daily lives and the idea of writing even the simplest program. Crossing that barrier is hard, real hard, and I am surprised and encouraged that Obama took the plunge.
Code literacy is important, not so that the average person can become a 10X engineer but so that they can understand what's happening in the world around them on another level. It's the same reason that people should learn physics or chemistry or biology. Because these processes control our world and a basic understanding of them, even if we don't use it professionally, can help give people valuable context. Hopefully this kicks off more interest in learning the basics so that in ten years the sales guy won't think that coding a full featured CRM from scratch will take you a couple of hours over the weekend. We're moving toward a more automated world and the value of understanding it is increasing exponentially.