Should We Really Try To Teach Everyone To Code?
theodp writes: Gottfried Sehringer asks Should We Really Try to Teach Everyone to Code? He writes, "While everyone today needs to be an app developer, is learning to code really the answer? Henry Ford said that, 'If I had asked people what they wanted, they would have said faster horses.' I view everyone learning to code as app development's version of a faster horse. What we all really want — and need — is a car. The industry is falling back on code because for most people, it's the only thing they know. If you want to build an application, you have to code it. And if you want to build more apps, then you have to teach more people how to code, right? Instead, shouldn't we be asking whether coding is really the best way to build apps in the first place? Sure, code will always have a place in the world, but is it the language for the masses? Is it what we should be teaching everyone, including our kids?" President Obama thinks so, telling Re/code at Friday's Cyber Security Summit that 'everybody's got to learn to code early' (video). But until domestic girls (including his daughters) and underrepresented groups get with the program(ming), the President explained he's pushing tech immigration reform hard and using executive action to help address tech's "urgent need" for global talent.
No, we need to finish Skynet as soon as we can, and then it can do all the coding for us.
Most people aren't fit to code. Don't force them to do something they won't enjoy, are going to end up hating, and is most likely going to be very useless in their lives. Well, okay, many think that about maths too, but then I can see that the fundamentals of maths are needed everywhere.
Bennet v Betteridge.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
It needs not to be with the expectation that everybody will become an app developer.
Learning to code provides a person with an opportunity to develop a better understanding of
1. How a sequence of operations is constructed
2. How logic is part of the decision making process
3. How to approach problems in an organized fashion
4. How to communicate, describe and document ideas
5. How to work with others in a collaborative environment
My business (https://www/mimetics.ca) uses robots to teach programming, but it's important to note that not everyone will become a programmer (or develop applications for robots) but the skills learned by creating simple applications are applicable in life and will help then in a multitude of other pursuits.
Saying that people should learn to code because at some point they will probably will have to program an app is counter-productive and will probably create some very negative perceptions about it. Teaching people (kids) programming as a way to develop the soft skills above and give them a taste of it so they can decide whether or not to pursue it as a career is much more effective and positive.
myke
Mimetics Inc. Twitter
Ah, the computer, that magnificent "universal machine."
Have you ever watched as someone tries to take information from, say, Microsoft Word, and use it to do mailing labels? Especially if the information has been formatted to be "pretty." Let me tell you, it ain't pretty.
We don't need for people to learn to "code." We also don't need for people to learn how to use particular proprietary products. We need for people to learn things like basic math, basic logic, and understand how they can use computers, with a teensy bit of effort and understanding, to accomplish their unique and specific tasks. We also need to teach people that they should not feel helpless when confronted with a computer program that doesn't do precisely what they want.
I feel a bit Mao-ish on this subject, and truly think the best solution would be to issue a voltage surge to all existing infrastructure, and not allow anyone to buy any replacement computers until they demonstrate an understanding of their jobs (not the computers' jobs, the individual workers' jobs).
This is just like saying we should reduce the cost of healthcare in an ageing population by making every child become a Doctor before they are 18. It is just dreaming.
The barrier of entry to coding is already very low (you just need a computer and web browser) compared to say, even becoming a taxi driver. Those who want to do it and are good are most likely doing it already in first world countries. Filling the ranks with people with no aptitude for it is not going to fix the problems of chronically under-performing economies facing the west now.
Indeed the real issue is why we are putting so much productive effort towards creating financial derivatives for the same houses that were there before, and making people click on ads they don't want to see. If we want to produce a real net increase in standards of living for the masses, we need to set the incentives to encourage producing real wealth, and distributing it more fairly.
Well, that's my rant anyway.
Did you consider that maybe the call for "more apps" is the part that's akin to the call for "faster horses"?
Why the hell does everyone need to be able to create "apps"?
Seems to me we need to teach people to vote better.
Teaching everyone to code is like teaching everyone to become prostitutes. for some it wont be interesting enough to continue as a profession, for others they wont be proficient enough. However, if you're a wealthy man looking for a prostitute who doesnt entirely understand sex, its the deal of a lifetime and pennies on the dollar.
Good people go to bed earlier.
http://quoteinvestigator.com/2011/07/28/ford-faster-horse/
It doesn't invalidate the point, but it's important to be accurate.
Saying we need more people to code is like saying we need more writers. Not everyone is cut out for buidling apps and it takes a bit of experience to get right.
It's conflicting because fixing someone else's crap code is easy money and you can step in and look like a hero.
That's our life, the big wheel of shit. - The Fat Man, Blue Tango Salvage
No one uses everything we teach them in school, but the only way to find out if you're good at something and enjoy doing it is to give it a try. Not everyone who takes a programming class or two will end up being a programmer, but the approaches we take in programming can be applied usefully to a lot of other problems. Of course, we still seem to have absolutely no idea how to teach people things and it seems like pure luck whether anyone actually learns anything useful in school, so maybe we should try to address that problem first.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
Some people just aren't meant for logical tasks. It's a specific type of work like any other, and it requires a person cut for it.
Until you get the answer you want ?
Why not, why don't we teach everyone electronics engineering ?
Why don't we teach everyone sales and marketing ?
Why don't we teach everyone the law ?
Arguably the above would all be more useful for people to know in a non professional fashion than how to code.
Treat it like geometry. Everybody needs a semester of it, for exposure to an essential concept in logic/applied math, but anything beyond that should be elective. There's nobody who can't do basic programming who can pass geometry, but not everybody is cut out for it as a career nor enjoys it.
I wound up taking an extra year of trig in high school, but the most I've ever used it for is roof framing (actually the most approachable book on the subject I've encountered on trig is Roof Framing by Marshall Gross). But I took two years of Computers (mandatory for the nerd center I enrolled in) and use it every day. You never know what you'll pursue but it's certainly not going to be something you've never been exposed to.
If somebody winds up in accounting or some other ancillary field, they'll need the basics but not much more than that. Same goes for C&C programming, etc. - you don't need to go for a CS field to need some basic programming knowledge. But if you're going into cosmetology or horseshoeing you probably don't need any of it - fighting division-of-labor is a very poor economic premise.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
Didn't we have this very debate not long ago?
No, we shouldn't teach everybody to code. We don't teach everybody to balance their own checkbook, or why credit cards with a 29% interest rate are a bad thing. Let's start there. We need basic financial literacy. We need basic scientific literacy. Let's get there, and maybe then teach everybody to code.
Should we teach everyone trigonometry? Or should we just teach basic arithmetic since all you really need is to balance your checkbook? You could just hire a professional accountant instead!
Should we teach everyone creative-writing? Or should we ask instead if the rules of grammar are enough? After all you can just hire a professional author or buy a book! Why should everyone need to know how to write?
I would argue that learning to code teaches people about basic logic. Binary logic, not Aristotelian.
Just do these morons think "apps", or programs as educated people know them, are going to happen without coding? As for teaching everyone to code, that's about as idiotic as teaching everyone to be a ballet dancer or a brain surgeon. Reality check: Most people just don't have it it them. You can't even teach everybody simple arithmetic, let alone something that requires a combination of logical and creative thought processes. It's probably also why most coders are really not very good at it.
One solution to the "everyone should learn to code" dilemma is to integrate early coding into classes where kids can choose among a variety of roles in creating multimedia projects. Some students will naturally be more technically-oriented, some will be more artistic, creating art and music for the project. Others may be able to write a story script. Still others may be best at coordinating the project with organizational skills.
This is actually how real life works in my profession, the videogame industry. Many other tech businesses have a mix of creative and technical people working together as well. Not everyone is really suited for the intensely logical world of coding, so I think this would be a great way of letting students try to explore where their strengths are, and learn how to work collaboratively with a number of other students with different skills to create a common project.
Of course, this may not work well with the current "girls must code" narrative, since many of the young ladies will likely choose to make art, music, or write interesting script. Obviously, we can't have that now, right? Ok, nevermind. Just force them all to code, whether they like it or not.
Irony: Agile development has too much intertia to be abandoned now.
we should teach everyone how to fish and farm and hunt.
I could never learn programming my brain is just not wired for it (tried plenty of times, spent lots of time on EA Auction script back in the day and even though I could modify if by inserting other peoples code writing my own was like looking at Chinese characters) but I could rebuild a small engines, fix and modify my rc cars, do graphic design and art.
by TheSpoom (715771) Uncaring Linux user here. I have nothing to add to this but please continue. *munches popcorn*
And that logic is such a pain to override when you want to, for example, model natural language, so everyone can code in their native tongue (you could still drop to lower-level code when you wanted).
"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects."
– Lazarus Long, Time Enough for Love
Someone, someplace, has decided that for the United States to remain competitive in the global arena, we need to have more people who can code, and that the best way to achieve that goal is to just, well, teach more people to code. So we see all kinds of government and private initiatives to just get more people coding. To the extent that we really do need more coders, and that we reach people who otherwise would not have had the opportunity to try coding out, these initiatives are not a bad idea. However, if we ignore other pressing problems and think that just getting more people to code is going to solve those problems, we will miss out on other opportunities.
I like coding, but I haven't done it for years. My son likes coding, and he may very well have a career doing it. But as others have pointed out, using a computer and/or using computer technology to solve problems doesn't necessarily require coding skills any more than driving a car or operating heavy equipment requires automotive engineering or heavy equipment design and engineering skills.
It's completely unnecessary for everyone to learn how to code. If anything, more emphasis should be placed on practical things, like basic home repair. Understanding how your plumbing works, or being able to change a tire, is probably far more practical and relevant to lives globally than being able to write simple software.
BeauHD. Worst editor since kdawson.
Coding is ridiculously easy to one who has attained proficiency.
Designing and building applications is "hard", even for those with decades of experience in diverse areas. If it weren't, there'd be no need for the software.
First, in general, no we don't need to teach people to "code". As others have said or implied, we need to teach the more basic skill that underlies coding and science = logic. It's all too obvious that far too many people make decisions based on emotion alone. It's not enough to have challenging attitude without the skills to analyze and that basic skill is logic.
Second, this topic shows the deep bias in too many computing discussions based on "apps", and almost always mobile device apps. This is a very consumer focused and short sighted view of what computing offers to society.
Every change is not progress, but there is no progress without change.
Unless you’re retired it’s almost impossible to live in the developed world and not interact with computers on a daily basis. So computer literacy is an important part of daily life in the USA. So everybody needs to know something about programming or they’ll be incapable of understanding basic and important concepts that are relevant to daily life.
But that doesn’t mean that we need to reshape our entire educational system to crank out more software developers so that tech companies can pay lower salaries, which is really what’s behind many of these big efforts to push coding into schools.
As well as teach everyone to be a nurse. And plumber. And car mechanic. And carpenter. And physicst.
Good lord....what stupidness am I reading?
We don't need more code.
We need better-written code.
You don't get that by throwing more code-monkeys at keyboards.
That's all great and all if everyone had the same IQ and motor skills.
by TheSpoom (715771) Uncaring Linux user here. I have nothing to add to this but please continue. *munches popcorn*
Unfortunately, many 'successful' business-people are only adept at rhetoric
Wherever You Go, There You Are
Hell no we don't need to teach everyone to code. What we need to teach our young people is how to be adults. How to make a personal budget, how to balance their bank account, how finances and simple things like a car loan work, how to be responsible with money, and how to function in society.
Half the people that work with me do stupid shit like spend their entire paycheck on a new phone, and then are running around at the end of the month, trying to borrow money for rent, get an extension on their gas bill, canceling their cable TV (for the 8th time) to scrounge up enough cash to cover their electric bill.
This shit is because we waste time and money teaching kids how to do things most of them will never use (code, geology, advanced calculus, whatever) and neglecting to instill basic practical knowledge.
Now, don't get me wrong, I'm not saying we should never teach these advanced concepts and skills, but we need to be sure that worthwhile basics have been covered first, then introduce these more abstract and advanced subjects, and if a student expresses interest in them, shuttle them into appropriate advanced courses. Just shotgunning the population with "learn to code" is a waste of resources.
I've decided to Diversify my Holdings. I've divided my cash between my left and right pockets, instead of all in one.
Have you ever watched as someone tries to take information from, say, Microsoft Word, and use it to do mailing labels? Especially if the information has been formatted to be "pretty." Let me tell you, it ain't pretty.
I have, and it typically goes something like this.
1) Copy from Word.
2) Paste in Notepad.
3) Adjust line breaks as needed.
4) Copy from Notepad.
5) Paste in whatever you are using to print labels.
Teaching people to code so that they'll understand basic logic is like teaching people to write novels so they'll understand grammar.
It might work in some cases, but it's sure not an efficient way to go about it.
We should teach kid at least the *fundamentals* of coding, so at least young people will know why software/password security is important, how computers work (so we won't have thirtysomethings ranting and raving at Cortana), and what the capabilities and limits of software are.
This will also get minorities and girls who would otherwise have no interest in IT/technology/programming exposed to it at an age where they can pursue careers in it if they so choose.
teaching someone does not mean they will become a programmer. However, exposing more people to code may interest some who might never have been exposed otherwise.
More important, coding exposes you to logic and this is valuable. I run across many who give a blank stare when I attempt to explain something in a logical manner. This includes so very well educated people who evidently had limited exposure.
Why? In modern society where technology has become so important, and logic is a key component, many become frusrated. Exposure to logic, via coding or otherwise, may help eleviate stress many feel around technology.
We need to stop wasting our time thinking that everyone needs to know code, or some other high computer skills. What we need are people learning how to drive trucks I'm not talking about a pickup, I'm talking about commercial tractor trailers. In the US the next big workforce shortage is going the be drivers holding a CDL license, it almost already is, or is depending on who your talking to. I manage a small trucking company and I don't have near enough drivers, I know of companies that need to hire thousands of drivers ever year to replace their current ones that will retire with in the next 10 years. The bubble of the low cost shipping will burst soon, because there will not be enough drivers to move everything, so the only products that move will be the ones that pay the most. I'm not trying to sound like a recruiter or anything but ANYONE can go to a trucking school and take a few month class for $5000 or less and make $50000 their first year. We need to stop telling all our young kids that they need to go to college because they really don't, there are plenty of jobs that don't require degrees that you can make good money in, if your willing to get your hands a little dirty. The self driving trucks are realistically decades away, for cars I'm sure they will come sooner, but I guarantee that there won't be any trucks driving cross country by themselves for a while still.
Better analogy: teaching people to code so that they'll understand basic logic is like teaching people to write essays so they'll understand grammar. I agree. When you learn to code, you don't have to write thousands of lines at a time to learn.
I think learning to write computer programs helps develop logical reasoning skills. Why? Because it helped my logical reasoning skills, and I like to generalize my own experience to the whole world :) Now, I don't think teaching "coding" to totally uninterested kids helps develop their skills, but exposing everyone to "coding" will get interested kids started as early as possible, which I think is good.
Henry Ford said that, 'If I had asked people what they wanted, they would have said faster horses.'
Ford was raised on a farm.
He knew perfectly well that what people wanted was a tireless "iron horse" with coach or wagon that demanded minimal care and expense and could be out on the road in an instant.
The Ford Model A could cruise safely and comfortably at 25-45 mph on a hard surfaced road, but these were almost non-existent outside the larger cities in the early days.
..."While everyone today needs to be an app developer,..."
Really, everyone needs to be an app developer? Why?
First step is to get kids to have fun developing critical thinking and logical analysis skills. Some of those will go on to want to learn coding and related topics, while the fundamentals will help anyone faced with that sort of problem.
Give grade school kids games like The Logical Journey of the Zoombinis to play, don't force them to memorize the particulars of a programming language that will be obsolete by the time they graduate high school.
More toppings!
-- Alastair
1) When we've got kids graduating from high school who are functionally illiterate, we shouldn't be worried about teaching them to code. We should be worried about the problems in the system that allow them to fall through the cracks like this.
2) Program builders have been around since the dark ages, and they all suck. That's why nobody uses them. If you can't figure out coding, you really shouldn't be trying to "program." That's life.
... stupid questions to make their way to /.?
What do you expect from such a discussion?
Should we try to teach everyone their mother tongue? Should we try to teach everyone history? Should we try to teach everyone mathematics, economics, physics, litterature, arts, poetry and so on?
Of course we should. Learning about history doesn't make everyone an historian and everyone doesn't pretend to be one neither. So, what is the problem with coding? It doesn't mean you want to turn everyone into a professional programmer.
Achille Talon
Hop!
Subject sayst it, yes everyone in school should learn programming. Actually it is not hard.
The problem is that in our days the slope is quite steep. C, C++, Java, C# etc. are already on the conceptual level to complicated.
What remains are langugaes that have at least an REPL interface ... but they have similar problems. Who want to teach Python, Groovy or Ruby to an absolute beginner in 8th or 10th grade?
We need something on the level of old Basic or Pascal, without line numbers, big integers, big decimals and keywords for functions and procedures, type interference.
Obviously at least available on Linux, Mac, Windows.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
If the need for coders was really that desperate, salaries would be higher.
That is how supply and demand works. If the salaries (and working conditions) were more attractive, you would see coders crawling out of the woodwork.
Education is not the barrier-to-entry that is driving people away from coding. Lack of job security, lackluster salaries, high hours, and high stress are what drive people away from coding. (That, and doing it well takes real intelligence...not everyone is cut out for it).
The problem with "what they really want is a car" is it is an assumption based on sales projections and self-enrichment and has scant regard for someone's opinion. Sometimes people truly only want or need a faster horse.
"Wait. Something's happening. It's opening up! My God, it's full of apricots!"
What does a "voltage surge" even mean? Does that have anything to do with a representative government?
Let's not forget that Mao was the greatest mass murderer in the history of mankind. He beat that amateur Hitler by an order of magnitude.
Shutting down free speech with violence isn't fighting fascism. It IS fascism!
No further comment necessary
Instead, shouldn't we be asking whether coding is really the best way to build apps in the first place?
Management has been trying to find a different way since at least the 1970s, CASE tools, 4GLs, yadda yadda yadda. Yet, somehow, in the end if you want an app working, you have to specify it down to the level of a programming language.
But until domestic girls (including his daughters) and underrepresented groups get with the program(ming), the President explained he's pushing tech immigration reform hard and using executive action to help address tech's "urgent need" for global talent.
That reads eerily similar to, "the beatings will continue until morale improves."
Until more people start training for careers of which we have a large supply, we'll keep increasing that supply and making it even less attractive.
The "underrepresented groups" part is even weirder. Until American women start going into tech fields, we'll import more and more foreign men?
If you want a vision of the future, imagine a youtube comments section scrolling - forever.
No.
It does not make sense to teach everyone *how* to code any more than it makes sense to teach everyone law or brain surgery or aircraft repair.
However, everyone does need some degree of understanding *what* coders do, for the simple reason that coding is something that has a large impact on society and the economy. Same as people (particularly those choosing careers or education) need to know what law or surgery or aircraft maintenance are, and maybe some rudimentary knowledge of the field so they have some minimal frame of reference in common with the experts.
Programming will become more and more important as we integrate technology further into our lives. If there is one thing that the rich like, it is cheap labor. So naturally now everyone needs to be able to program. Preferably, everyone in India. So they can work for peanuts and be content.
If you thought Globalization had already fucked you as hard as it is going to... Just wait.
For people on a STEM path, yes.
I'd like to see small coding projects be part of the curriculum of science classes.
Elementary school, can have a Science Club, and maybe some coding projects.
Middle School, in science elective courses.
High School, in science elective courses.
College, if someone is in a STEM major of study.
For everyone to have to learn it? Nah.
Uh, Linux geek since 1999.
Every student should learn to code, just as every student learns biology, physics, and chemistry. It's not that every student will use that knowledge on the job, it's biology, physics, chemistry, and now computers surround us in everyday life. Learning to code provides the basics of what a computer does and how it operates. Throw in a chapters on binary numbers, concepts like input, output, different chips or processing units, what a network is, turing equivalency, etc, and you have an intro to computer science class that every student should take.
I often don't like the choices people make, but I like the fact that people make choices. That's why I'm a conservative.
It's like this: Code is a means to an end, liek he says.
What we need isn't necessarily for people to know how to code, it's for them to understand what the code does and how it does it.
What about surgeons? Should they be forced to learn to code? What about basketball players? Landscapers? Chefs[1]? There is a huge set of people for whom coding is irrelevant. Learn critical thinking? Yes. Coding? Probably a waste of time.
[1] I would argue that a recipe is an algorithm. But implementing it in code is stupid. You can't eat code.
putting the 'B' in LGBTQ+
Yes. Yes. Yes. Yes. Yes. We learn about history and math and science and language. The question is "should coding be a fundamental learning skill, like reading?" Maybe you think "no," and that is fine. We can agree to disagree. But the argument that it is "irrelevant" is irrelevant. Shakespeare is irrelevant to all the above professions. I still think it should be required learning. Again, you can disagree fairly.
Teaching kids how to code early, even if its just simple scripting languages, will help them develop logical thinking methods that they can apply to far more than just coding. It's definitely worth the effort.
What even is code these days? I don't even see professional software engineers writing much code. The last few projects I've worked on (I've been contracting, so several different companies) - everything is just a bunch of scripts and bloated freeware executable, more or less duct taped together. The elegance that used to be a well designed and written software application - I haven't seen that in at least 5 years. So, my question is, if we're going to teach people to code - what exactly are we going to teach them?
Intellectual dumb-asses, whittling on about the subject for or against, when every single human that speaks or communicates with another human being is writing "code" literally on-the-fly, we are advanced carbon-based computers and our programming language for programming other carbon-based computers is "language" which we have many, as it is for the silicon variety of computers. We are all, by virtue of our capability to communicate, natural programmers.
That we're trying to fill?
Try, yes -- but expect everyone to succeed -- h*ll no!
We shouldn't expect everyone to code (whatever that means) anymore than we should expect everyone to understand differential equations.
But what is code changes and will change -- I started with machine code; I don't consider HTML/CSS to be "coding." But I'll admit that properly done HTML/CSS is no less artful that some of the things I've written in machine code, C, or Lisp.
It is also useful to recall that the telephone (the private wire-line kind) would never catch on because it would require everyone to be a telephone operator. The technology improved, and everyone learned to work with 4, 7, and later 10-digit numbers, until now we seldom have to remember phone numbers, as our phones do that for us.
But the kind and quality of code that causes others to sit back and go, "That is elegant/pretty/sick" will remain the domain of the few, just as few people can play musical instruments really well, or run really fast, or do any number of things at a high level of performance.
"While everyone today needs to be an app developer, is learning to code really the answer?"
Who's going to make stuff? Are people planning to stop eating and living in houses at some point in the future?
Should we teach everyone to: - work in an ER room? - be a mechanic? - operate sewing machines? - be a pilot? - be a prostitute? The possibilities are endless, I tell you.
Code is essentially just instructions and logic. Every application will be based on this, in one way or another. Other techniques are just other languages represented in different ways.
I think what TFA is putting forward is the idea that most apps don't actually need to apply any logic, and it's just a matter of pumping data from one component to another, so that each does its own job.
It's a pretty shortsighted view (IMHO), because such apps would be pretty trivial, and not much more useful than a radical new skin for WinAmp.
Any app with any value is going to need a little bit of "glue logic" to allow it to do something that is specific to the task at hand, and therefore genuinely useful to the user.
Glue logic will always be "coding", so perhaps what he really should be advocating is a new programming paradigm -- "glue languages" that are purposefully weak to the point that you could not code a complete program in them from the ground up. After all, if you're not writing A) operating systems, B) drivers, C) compilers or D) embedded systems, you will probably never build a system of any real complexity without extensive use of library functions. But to be completely honest, I'm struggling to think of anything in feature-complete languages that wouldn't be needed in such a language anyway.
Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
That way I can have more topics of conversation with more people.
All this "everyone should code" shit is a way to devalue the work of programmers. Doctors and lawyers are well paid and in demand careers, but i don't see anyone saying everyone should be learn to do surgery or file a lawsuit...but programming is just some shit anyone can pick up with a little practice, right?
That'd sure be news to my son, an engineer on Burlington-Northern. Trains do not "drive themselves"; they do not control their own switching, their own speed, their own braking, when to go on sidings and when to proceed, or how fast, when to fuel, when to signal at crossings, when and/or how to couple and uncouple... simply put, they're just as far from being self-driving as they were in the 1800's. Which is very, very far. The engineer drives the train. Period.
The public will never have a voice in it. Just like everything else, this matter will be decided by our ruling oligarchy. And seeing as how there is huge profit in the prospect, the outcome is 100% foregone.
I've fallen off your lawn, and I can't get up.
What about surgeons? Should they be forced to learn to code? What about basketball players? Landscapers? Chefs[1]? There is a huge set of people for whom coding is irrelevant. Learn critical thinking? Yes. Coding? Probably a waste of time.
Were these people taught Art or Music in their public education? Were they taught history, or calculus? Were they forced to learn physics and geography? While they may not use all of the lessons taught to them as part of their career (the reason why "Are you Smarter then a 5th Grader" is actually a feasible show), it's possible that it will help them become well rounded and productive members of society.
Ok, but if you want them to grow up strong, teach them APL.
I've fallen off your lawn, and I can't get up.
Teaching people how programs work is fundamental these days. Great (but totally not necessary) if they can learn to write code, but just being able to look at the code and at the very least follow the logic has become as important as The Three Rs. Asking the question is like asking 'Should we really try to teach everyone to read?'
First however it is imperative that nobody should make it past age 10 without learning just basic computer literacy. Without educators who can teach it, we've got a long hill to climb.
If the language is Turing complete, someone will port Quake to it, eventually. Still waiting for Quake ported to C++ template expansion, some I/O challenges there.
Socialism: a lie told by totalitarians and believed by fools.
Why force people to do something they do not want to do? Ridiculous...
The whole notion of "everyone needs to code" is the single most stupidest thing I've ever seen or heard.
This whole approach of "everyone must code" is doomed to failure. Does everyone who takes a gym class become an NBA superstar?
Does everyone who takes a health class become a doctor or nurse?
Some people have aptitude for things; others do not. If there happen to be few people with the aptitude and will to do something, prices go up for their services. The tech industry is just going to have to deal with the fact that very few people are good at or want to be programmers or architects.
Besides, we don't need a bazillion "coders". What we need is automation of the grunt work and the continued development of higher-level tools that let the few do the work of what used to be many.
I do not fail; I succeed at finding out what does not work.
Shouldn't you be solving other, more pressing matters first? Regards
If we can't get women and minorities involved we have to import them from other places. Right? On that note I think the NBA should start importing white guys from the Dinaric Alps. Since clearly any organization suffering from such an appalling lack of diversity (the NBA is 90+% black) has some suspect hiring practices, and besides would clearly benefit from some imposed diversity.
This has got to be the most retarded thing I've ever heard leap from the mouth of any president. Silicon Valley did just fine, leading the world in technological innovation with what are apparently second rate white dudes (and some Asians, but we'll conveniently pretend they aren't a 'minority'). You take a field which since the 1970's has required next to no formal education, and starting in the 1990's extremely low barriers to entry, coupled with free and easy access to everything you'd ever need to teach yourself -- at that point the government should really have a hands off approach.
If the government is to intrude in the hiring practices for ENTIRE INDUSTRIES (I don't think they should, but that's just me), it should be in an effort to protect the wages of Americans -- rather than an attempt at currying favor with the likes of Zuck.
If it aint broke, please let the government fix it until it is. Sociological experiments run by the government always work out well. always.
Should we teach everyone to write? I mean, only a few of us ever become poets. Or authors. Or even journalists. Why? To write crappy comments on Slashdot, that's why.
For the sufficiently clueless, even trivial applications of common sense are indistinguishable from wisdom
Yes. We should teach them COBOL. It's better english than a lot of people speak nowadays.
On the contrary, we should teach less people to code. Half-knowledge is worse than no knowledge. I'd rather we invest in improving code quality than code quantity.
Look at the App Store. Do we need another 5000 rip-off cheap games by people learning to code, or do we need a smaller, but finer selection?
Yes, people don't need faster horses. But that exactly is what "non-coding programming" (have we all forgotten the lessons from the "visual programming" times already???) actually is.
I'll tell you what the equivalent of a car is: Siri and Wolfram Alpha. Knowledge and calculation engines, which will allow regular people to do computing without a computer. This a few years into the future and (finally!) all those managers can stop using Excel for their business tables.
Assorted stuff I do sometimes: Lemuria.org
(flawed premise, didn't read) "While everyone today needs to be an app developer," Stop right there. Not even remotely true. Students should know what it's like to code just like they should know what it;s like to sing, write, experiment, etc. Show them what's out there, let them decide.
"Win treats sysadmins better than users. Mac treats users better than sysadmins. Linux treats everyone like sysadmins."
Yes.
All of the above use spreadsheets and stuff so knowing that they can save time with a macro is not a waste of time. Surgeons type more than cut (and bitch about that), I'm not sure of the others.
It's not as if they need enough to write code to do a fast fourier transform in assembler - getting a turtle to do shit in LOGO teaches kids the ideas they need to be able to get the concept of scripting/macros/coding.
Nothing you list requires writing a line of code, it requires logic and diagrams. Logic and diagrams can help any profession, not just programmers. Considering what.. maybe 5% of the students will ever be a in a profession that writes code why not teach something everyone can benefit from?
Sure, the kids that may actually use coding later may get more involved if they see it early. At the same time, you are going to put the other kids to sleep. An intro like class I'm okay with, but you only need a week or so to teach that to kids.
-The wise argue that there are few absolutes, the fool argues that there are no probabilities.
How to teach people to write better internet posts. We should teak every one to write in the format of "5 Easy Tricks to Loose Weight". Any BS taught to the masses will suck. WTF about daughters - Irrelevant to coding for the masses.
It's like the masses using MS paint to digital masterpieces and Fark entries.
Holy fuck.
Does everyone need to know how to cut hair?
How about changing oil or spark plugs?
Should we make sure everyone can wire their garage with 220?
Why is it people think programming computers is so fucking important? It's just another skill/vocation.
Suddenly, everyone is an "expert" on the subject finding the "cure" on the internet that somehow managed to escape people who have actually been to medical school.
I learnt to code myself in the 80's, and then went to uni as a mature age student and then tried to get a job, guess what , all the coding jobs were being given to 16 year olds that had no qualifications. I spent 10 years at uni part time to get nada. Why would anyone want to learn to code when the employers are bloody minded wankers. fuck them i say.
I think most people should segregate themselves into home poofs who do it or home poofs who take it up the bum. poofs
You think they can? My understanding is the slashcode was built using write-once tech: Perl. In their defense, in 1997, Python 2 wasn't out yet, and Python 1 was probably a worse choice than Perl, if you can even imagine that.
Certainly that's the way it starts, but I'm afraid that isn't the only way it works; once corporations and government become the controlling force, as they have here in the USA, society bends according to the coercive forces levied upon it -- and today, those come from government, at the behest of the corporations, with exception of social issues that aren't of direct concern to them. Those are only subject to the whims of the representatives. Which hasn't been serving us very well, either. In sooth, the cauda waggeth the canine.
Thanks for the thoughtful reply.
I've fallen off your lawn, and I can't get up.
We should teach Mathematics better. A solid understanding of Logic and Algebra is a fundamental requirement for all programming and will condition those who need to learn to code to do so much more easily while making everyone else better citizens.
Ideally the basic use of numerical analysis software (MATLAB/Octave) should be incorporated into the Mathematics syllabus. This would expose students to the universal traits of programming, aide in explaining mathematical concepts and not be "programming for the sake of programming".
I don't think everyone should know how to code that owns a computer, no more than I think everyone should be a mechanic that owns a car. I do think that people should know how to maintain and support their tools. Everyone that owns a car should know how to check tire pressure and vital fluids, change a tire and generally take care of their vehicle and know when something is wrong, and if they're so inclined learn how things under the hood operate (not how to fix them, just diagnose and know what components are). Everyone that owns a computer should be able to do the basic things like install an OS, install drivers, install software, change out components (RAM, Storage, Video card) and understand how those things interact. They should also be taught that heat is the enemy of electronics and not to use/leave plugged in laptops on padded/upholstered surfaces! I know they are called laptops, but we've all learned over the years that we shouldn't use them on our laps or on upholstered furniture (or on bedding!) for any length of time due to the heat build up.
Anyway, no, everyone does not need to know how to code any more than a driver needs to be a mechanical engineer, but the basic maintenance and support skills along with do's and don'ts are sorely lacking and need to be taught. Plus, I know some CS types that are in definite need of some basic sysadmin skills. It's shocking how inept some people with CS degrees can be once it comes to hardware!
My $0.02
No.
Everyone doesn't need to learn every job skill.
With hundreds of thousands of unemployed computer workers in this country, why do we need to train more?
If we train 'everyone' to code, will we THEN stop importing countless thousands of foreign IT workers?
Ken
Most communities think it important to teach all young people classes in art and music. We don't expect that everyone will therefore become PROFICIENT at art and music. Instead, we see this kind of education as an important way to expose young people to all kinds of possibilities, hoping that they will then find what it is that they are good at.
Anyone who takes that as their thesis doesn't understand the makeup of the workforce. No, the barber, the plumber, and the woman who runs the local diner don't need to learn how to code.
-----
Sorry, I'm only a 1336 h4x0r.
No. Most people won't ever come anywhere remotely close to needing to know how to code. Now, engineers, scientists, accountants, and various professionals that require a *college* degree might benefit from it, but that means that it should be taught in college, not in high schools.
-1 disagree is not a modifier for a reason. -1 troll, flaimbait, redundant, overrated are NOT acceptable substitutes.
"try to teach everyone", yes, absolutely. Same way we try to teach everyone some arts and crafts: skills (using equipment), knowledge (knowing colors, notes, names of tools etc) and history (famous pieces and artists etc).
Not everybody will learn or remember much, but that's ok.
As a programmer, I'm well aware of the skills that make me good at my job, and I realize that not everybody has, or can have, those skills.
However, I think that coding and the types of thinking that go along with coding are valuable skills in their own right, certainly more so than trigonometry, modern poetry, or basic chemistry, which are generally taught to kids in school. By teaching code from a relatively young age, you get a) smarter kids (and then adults), and b) more kids that view programming as a possible career, presumably resulting in more programmers, which is good.
As for a dev language better than code... no, that's really not it at all. That's missing the point completely. Writing code is usually the easiest part of software development; no super easy graphic interface full of useful libraries will save you from all the planning and designing and testing.
Job security in IT isn't terrible as it is, but if you make it so everyone writes their own code, instead of hiring professionals? I'll be getting paid to fix people's bugs for forever and a day, and the people I'll be rescuing will be genuinely happy with contract negotiations along the lines of "sure, yeah, take whatever you want; just don't make me go back in there again."
There is a reason I quite happily pay an expert to do my plumbing. Take whatever you want man; just don't make me go back in there again.
...everyone today needs to be an app developer...
Despite having written programs for, quite literally, decades, I have yet to produce an app; I can't see the point, really. We already enough of that kind of crap lying around, and we clearly don't need people whose only skill is being able to produce programs. There is far more need for people with skills in bio-medical sciences and -engineering, which is where things are developing at a truly staggering rate.
When business people start talking about how much we need more coding skills, what they really mean is that they want it to be even cheaper, so they can make a larger profit in what is already a slightly stagnant market. Face up to reality - all the great inventions in computing have already been made something like 20 years ago: relational databases, internet, etc. Things like Facebook and Twitter are not innovations, they are just village gossip by other means.
Even if it is just to sift out the rational from the irrational humans because the thinking skills required are more widely applicable than just programming computers.
"And if you want to build more apps, then you have to teach more people how to code, right?"
Well, that explains why we started treating app stores like IPv4.
Obviously at some point in the past "coders" worried we were gonna run out of the damn things, and started churning out hundreds of thousands of them.
Oddly enough, we think the answer today is we need more of those.
Just curious when we were going to focus on quality instead of quantity. Do we really need a generation of paper coders that were forced into a profession? We already kind of know the end result when anyone half-asses coding.
rather teach people about logic and problem solving models (eg. how to partition big tasks into solvable sub-tasks)
This reminds me of the, now decades old, promise that 4th generation languages made... In case of SQL that promise was that basically anyone (general managers, etc) would no longer need programmers to access data. Not soon after it was discovered that without decent knowledge of SQL they would just fail in so many ways (both obvious and subtle). Until we can actually make computers understand humans we will need humans to understand computers. Without one or the other it's just not possible for software to answer the wants of the users.
We already have a surfeit of people who think they can code,
adding to this number just means more bloody debugging work for people who can..
By all means, find those who can code, encourage them..but having already seen the start of some of these initiatives, it doesn't bode well.
(thankfully as I've escaped, if they do carry on with, picking up the eventual pieces will be SEP.)
and it was awesome.
Seriously, we don't need "everyone to become coders", which just happens to be exactly what ego-inflated, self-important Bay Area brogrammers exactly want to hear. We need easier tools to help people automate whatever the hell it is that they're already doing, without "coders" being involved. The theory comes afterwards.
IMO Apple really did understand the importance of this, once, and we had Stacks that solved all sorts of real world problems, built by people with basically no programming experience. I'd hoped when Jobs came back this mentality would return, but it never looked to have happened, what with the focus on application consumption only once the app-store consumer revolution really took off... Where's my HyperCard (+ HyperTalk/AppleScript) environment for the iPad?
Hire a Linux system administrator, systems engineer,
Hell, we cannot even teach 30% of the population to read at an 8th grade level.
Is that yes - we should at the very least teach differing number systems such as base 8, base 16 and so on and also teach simple logic constructs those being and, or, nor, not, etc.
Why not offer as many options as are reasonable? If you want to teach people to think, you can do that in any class, we are just doing a terrible job of it. In high school I took calligraphy, Latin, sculpture, choir, and so on. This was inner city stuff, so don't get any romantic ideas of some sort of classical education, this was more like gluing a bunch of disposable spoons to a pile of trash. Maybe everyone should take a theater class every year and be forced to take part in a public play. It will teach them how to work in a group, increase their confidence, and give them a lifelong appreciation for the arts, Or it will make then despise being forced to do something like that. The people who want to be there will despise the people who don't, because one group wants to be there and most of the time spent there is trying to get the slackers up to speed.
School is really missing both teaching people to think independently and teaching how things apply to the world outside of school. So along with math, science, history, and literature. Add coding? Yet economics, statistics, foreign languages, arts, etc are all electives?
Have you ever watched as someone tries to take information from, say, Microsoft Word, and use it to do mailing labels? Especially if the information has been formatted to be "pretty." Let me tell you, it ain't pretty.
If you insist using amateur-level tools for professional-level tasks, you should not be surprised if things do not work out well. I did something pretty similar 20 years ago with 20 minutes of Perl-Scripting and LaTeX and perfect results.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
What kind of Kool-Aid is this guy drinking? The vast majority of the population couldn't care less about developing apps. And with reason. I am a developer (OS stuff) and couldn't care less about developing apps. Quite frankly, this ridiculous fad about pushing everybody to develop coding skills is getting tiresome.
Where an introduction to coding would be a part of it. The bulk of the course would be about the major components of computing and most important applications like the Office suite.
Developing logical reasoning is valuable and a byproduct of computer programming. One of the things I like about coding is it allows me to face my illogical tendencies and better understand them.
It's not necessary for people to know how to code, we don't learn everybody how to build a car or a home, or learn how to cook or full electronics..
If one has an interest in coding, then yes, you might learn him/her how to code..
There are already way to much 'fun'-classes which aren't necessary.. Let the children just learn the basics well, like read/write/math, and let the rest be stuff they really want to persue, just like we did in our past..
Why would you need to learn how to code? there are more than enough people around who actually like to code stuff, and there are more than enough applications which fulfill the needs of the people who can't code..
And IMHO these days it really isn't real coding anymore, just putting together some objects and that's it, but most coders these days have no clue how it actually works (which IMHO, as a real developer, is much more important as it also will let you fix/create stuff if there isn't already a fully fledged framework around)..
> "President explained he's pushing tech immigration reform hard and using executive action to help address tech's "urgent need" for global talent."
What "urgent need?"
Any real evidence to support this? Tech companies, and their lobbyists, and political cronies, have been "shortage shouting" for decades. It is not unusual for tech companies to be shortage shouting even while lying off thousands of US workers.
If you want more tech workers, provide good jobs for them. Make your tech workers feel confident that they will not be replaced by cheaper H1Bs, or have their jobs off-shored. Let your developers know that they will not be forced to work 100 hour a week with no overtime pay.
All these types of articles are just PR stunts to make the public think there is some desperate shortage, when there really is not.
Forget coding. We should teach everyone to be ballet dancers.
And if that is not feasible then we teach everyone to become an Olympic sprinter.
I'm with you, the wrong question was asked. We shouldn't be asking where everybody needs to know how to code. The real question is whether everybody needs to problem-solve. People could stand to learn a whole lot more perseverance, too. Interestingly, computer science isn't about coding, it's about problem-sovling - people make that mistake all the time.
The author's summary advice at the end of the article neatly captures their own confusion: "Don’t teach everyone how to code. Teach them how to identify and understand needs, as well as how to visually express logic"
Coding, or codifying logic, is the same process whether you type the instructions or drag/drop them. The difference (or weakness) with drag/drop codification is simply that it doesn't nearly express the range and flexibility that you get with a written language, and it would become far slower as it came closer in functionality. But fundamentally we're talking about the same thing. To write software, you need to understand and codify processes into logical units or steps. The method you choose for expressing the logic - languages or drag/drop kit-sets - only makes the process more or less difficult depending on how well your chosen development platform supports the target application.
Therefore, if is not true to say that teaching application development with a drag/drop kit-set is not teaching coding. It's simpler a gentler, less powerful start.
IMHO, writing code is a skill like writing a language. It's not that you're expected to become a writer, but writing helps you everywhere.
And using "Apps" as an example is of course bogus. The thing you'll probably do with your "coding experience" is more like writing word macros, or change some lines within some open source program.
A friend of mine, a climatologist, said "You can't be a scientist today -- no matter which field -- without knowing how to write code". He's right.
"The more prohibitions there are, The poorer the people will be" -- Lao Tse
Hear that? It was the point flying over your head.
Saying people need to learn coding so they can develop apps is like saying they need to learn arithmetic so they can make change.
People need to learn coding for all sorts of reasons, only some of which are practical. Whether or now you ever need to actually write
a piece of software knowing how algorithms work, how computer languages model various aspects of the world and the various cognitive
skills developed actually writing code to solve problems are far more important than something as trivial as app development.
Some people would rather that proper coders actually built something that worked properly, rather than having to do the fucking job yourself. (If that means allowing for user-configurable UI, then that's probably fine. But most people want to do their job without having to learn a complete new family of skills.
I asked the welder to build me a bracket last night. He built it. He didn't need to program the nearest CNC machine (120km away) to have it manufactured then shipped to location (3-4 days, plus paperwork). Instead he made me the bracket, dunked it in a bucket to cool the welds off, and passed it to me. He doesn't need to code, and it's unlikely that he ever will need to.
Birds are not dinosaur descendants;birds are dinosaurs, for all useful meanings of "birds", "are" and "dinosaurs"