Announcing: Slashdot Deals - Explore geek apps, games, gadgets and more. (what is this?)

Thank you!

We are sorry to see you leave - Beta is different and we value the time you took to try it out. Before you decide to go, please take a look at some value-adds for Beta and learn more about it. Thank you for reading Slashdot, and for making the site better!

Should Everybody Learn To Code?

Soulskill posted about a year ago | from the only-the-ones-who-don't-develop-bejeweled-clones dept.

Programming 387

theodp writes "In July, the Association for Computing Machinery announced it was partnering with Code.org, with ACM contributing funding and its Director of Public Policy to Code.org in a push to 'ensure that every K-12 student in the US has the opportunity to study computer science.' Interestingly, joining others questioning the conventional Presidential wisdom that everybody-must-get-code is the Communications of the ACM, which asks in its February issue, Should Everybody Learn to Code? By the way, Code.org is bringing its Hour of Code show to the UK in March. The new National Curriculum for England that is to be taught in all primary and secondary schools beginning in September includes a new emphasis on Computer Science curricula, said to have been sparked by a speech given by Google Chairman Eric Schmidt in 2011."

Sorry! There are no comments related to the filter you selected.

Should Everybody Learn Calculus? (2, Insightful)

Anonymous Coward | about a year ago | (#46133397)

Sure, why not. They'll never use it anyway.

Re:Should Everybody Learn Calculus? (2)

jones_supa (887896) | about a year ago | (#46133447)

All right, but let's expand that a bit. Should every engineer know calculus?

Re:Should Everybody Learn Calculus? (0)

Anonymous Coward | about a year ago | (#46133489)

Even sanitation engineers studied math in high school.

Re:Should Everybody Learn Calculus? (0)

Anonymous Coward | about a year ago | (#46133507)

Sure, why not. They'll never use it anyway.

Let's all learn to be plumbers and fry cooks and pilots and TV announcers too.

Re:Should Everybody Learn Calculus? (1)

Anonymous Coward | about a year ago | (#46133563)

Let's just stick with architects, marine biologists and latex salesmen, m'kay?

Re:Should Everybody Learn Calculus? (1)

Anonymous Coward | about a year ago | (#46133591)

I don't know about you, but I value my ability to unclog a toilet, fry a potato, and speak clearly. I wouldn't want to rely upon someone else to do these basic tasks for me.

Re:Should Everybody Learn Calculus? (4, Insightful)

Anonymous Coward | about a year ago | (#46133765)

And therein lies the... I don't want to say problem, but I cannot think of a better word.

When you see "learn to be a plumber", you think the simple stuff. Others may think more complex stuff, like soldering copper pipes, determining the correct angle of decline for waste pipes, repacking a shutoff valve, and other things that, not being a plumber myself, I do not have the knowledge to even consider as something a plumber would do.

Likewise, when people see "learn to code", some will think simple things like.. I don't know, how to grep a directory of text files. But others will think things like how to write an OS.

Or for the car analogy, it's the difference between knowing basic maintenance and being a full-blown mechanic.

Re:Should Everybody Learn Calculus? (5, Insightful)

Ardyvee (2447206) | about a year ago | (#46133799)

Thus, we should say basic knowledge or advanced knowledge (basic maintenance vs full-blown mechanic). Everyone would probably benefit from basic knowledge on a number of things in today's world/civilization. Not everyone will benefit from advanced knowledge.

Re:Should Everybody Learn Calculus? (1)

aslashdotaccount (539214) | about a year ago | (#46133829)

Learning calculus (or algebra or geometry) may actually be more analogous to coding than one might think. Likewise, the relevance of coding to life in our Information Age might be as underestimated as calculus is. The problem is that definitions of coding (in the context of information processing) has not been as standardized as calculus. You might say I'm talking nonsense here, BUT coding for information processing can actually be defined independently of the machine (in terms of flow control, selections, logic, arithmetics, regular expressions, etc) on which the code runs, if we devise a universal model. I personally think the von Neumann (and other) models need to be further expanded to cover contemporary nuances, and that soon we will see the birth of a universal model similar to Principia Mathematica (one might say that it already exists in Donald E. Knuth's Art of Programming).

Re:Should Everybody Learn Calculus? (0)

Anonymous Coward | about a year ago | (#46133861)

The message you wrote is too hard to understand.

Re:Should Everybody Learn Calculus? (1)

aslashdotaccount (539214) | about a year ago | (#46133877)

Also, let me point out that learning how to code for information processing should not require you to learn how to code in a particular language. When you learn calculus the principles you learn can be applied to any number system. It just so happens that we use base-10 for the sake of convenience, since we are most familiar with it. That does not mean that we cannot apply the same principles to binary, hexadecimal or any other base. If we similarly learn the essence of coding we should likewise be able to apply the basic principles to develop programs in any language (we might use a familiar, more English-like one, to learn in the first place).

clickbait (0)

Anonymous Coward | about a year ago | (#46133411)

no, next question

Re:clickbait (4, Insightful)

Joce640k (829181) | about a year ago | (#46133453)

Correct. We should start with learning to read/write before we move on to the advanced stuff.

Re:clickbait (1)

Anonymous Coward | about a year ago | (#46133585)

No kidding. It's high time to put the computers away. Put the phones away. There isn't any electronics required to learn reading, writing, and math. We have students who show up to school after 9 and are gone by 2 with a lunch hour in there as well. We have students "graduating early" not because they are exceptional, got straight A's, or anything else that would set them above the rest. No, they took the bare minimum required. That's right, they don't even have to take basic algebra or geometry or anything beyond 8th grade math now. These are the people that are supposed to be so computer savvy. What we have is millions of idiots who won't make it. Even the pole smokers in the red light district will see their wages decrease because of the influx of these morons.

Re:clickbait (2)

ebno-10db (1459097) | about a year ago | (#46133749)

In my day we walked barefoot in the snow to get to school. Five miles - uphill both ways!

How old are you? Seriously, I'm an old fart and I love to make fun of people younger than me who say "why in my day". Did you have such a vastly better education than what's offered today, or do you just fancy yourself part of some elite? If the former, how do you know what's taught today? Do you at least have kids in high school?

Re:clickbait (4, Interesting)

DoofusOfDeath (636671) | about a year ago | (#46133875)

I do have kids in school. The school places decently in national rankings, and I'm often alarmed by the quality of the kids' instruction. I think the GP is somewhat on the mark. For example, I've seen the kids taught to develop powerpoint presentations, where the emphasis was on the visual aspects of the presentation, rather than on the soundness or validity of their arguments. I've seen this even at the highschool level.

I don't have a good sense as to whether it's better or worse than when I went to school, because I'm not viewing both from the same perspective. But I do see a big gap between the education my kids are getting, and the education I wish they have.

Perhaps my expectations regarding kids' teachability are unrealistic (e.g., that they have longer attention spans and more interest than they really do). But I am sad that my employment situation hasn't allowed me the time to home-school them. I know they're capable of far more than is being asked of them.

Obligatory Betteridge Reference (0, Redundant)

bigwheel (2238516) | about a year ago | (#46133555)

If you have to ask, the answer is no.

http://en.wikipedia.org/wiki/B... [wikipedia.org]

Re:clickbait (5, Insightful)

JaredOfEuropa (526365) | about a year ago | (#46133639)

The question brought to mind a nice quote by Oscar Wilde: "A gentleman need not know Latin, but he should at least have forgotten some". Coding is not for everyone. Neither are history, poetry, chemistry, or Latin for that matter. But it's important enough to be included in a broad curriculum. Show your children everything, and they'll choose the stuff that is of interest to them.

Re:clickbait (4, Insightful)

turbidostato (878842) | about a year ago | (#46133691)

"The question brought to mind a nice quote by Oscar Wilde: "A gentleman need not know Latin, but he should at least have forgotten some"."

Absolutly right and, probably, in the same sense as Wilde tried to transmit.

Should everybody learn to code? Absolutly not.

Should everybody learn to think rationaly, not to be fooled by appearances, find the nut of a problem and then be able to decompose it into action items, set a path of action to solve them and finally check the intended result with the obtained one? I think so.

And it happens tom that learn to code can be a fantastic tool, probably the best, to achieve that goal.

Re:clickbait (4, Insightful)

emj (15659) | about a year ago | (#46133879)

Though for me Logic 101 was a lot better for my thinking than learning to code.

Re:clickbait (1)

master_kaos (1027308) | about a year ago | (#46133865)

yes but you can say that about every field. Chances are kids who are interested in computers will seek it out on your own, same reason they dont teach you how to fix a car, become a sous chef, or how to diagnose a disease. It is too specialized that most of the people have ZERO use for. History is considered general knowledge and you should know that in fact WWII indeed came after WWI. Chemistry wasnt mandatory nor poetry although they were a small subset of the general science and english, and even then chemsitry and poetry was only the basics. Coding isnt a basic, general computing which was part of a course.
They would be much better off having a mandatory course like parenting

Certainly (0)

Anonymous Coward | about a year ago | (#46133419)

Just like everyone should like mathematics, even though not everyone will end up as a mathematician. Understanding basic programme is a skill needed in the new millennium.

Re:Certainly (2)

Anonymous Coward | about a year ago | (#46133449)

At the very least, everyone needs to understand that their phones don't run on magic. And maybe fewer people would look for source code by opening an exe in Notepad.

Re:Certainly (2)

BrokenSoldier (737420) | about a year ago | (#46133501)

THIS. I learned VB.net, C++, C# and a little bit of Python in my Mgt Info Systems courseload as electives because it wasn't offered as required at the time (2008) I have checked back and it is, now. I may not 'be' a coder, but in my current position knowing the basics of it helps me describe bug errors in our software testing to the people that can fix it in a manner that they understand better than "I clicked this button in the web app and it didnt' work....". I talk to my kids freely about my job and my 14 yr old son has an interest in Legos and game level design, and I stress the importance of knowing how to program, along with math, art, and basic graphic design elements so that he has some idea of what goes into making a program and interface work, rather than thinking its all magic smoke. I feel that knowing the use of basic Windows applications like Office, Excel, knowing a bit about Macros, and for g*ds sake knowing how to type are almost essential for most any entry level job now. Many of the managers older than me by about 10 years that I know (im 37) wouldnt be able to re-interview for my job as a mid level support tech with their demonstrated lack of knowledge of basic computing.

Re:Certainly (2, Interesting)

Anonymous Coward | about a year ago | (#46133635)

Ah! that's an interesting point..

Do Phones run on magic? To a lot of people they do, do you know how each component interacts with the others? Explain how a battery works and how it provides power to the device to allow two way communication on a global scale. I have an older boss (In his late 80's) He truly believes that little gremlins move images on screen, he can't comprehend the hardware and software interaction involved in the modern PC, so to him it is like magic.

Now we get to the interesting bit, as technology advances more and more people don't understand the base level of "Tech" involved in higher level computing eg, You know how to install a motherboard but few people can troubleshoot/build one as time progresses this will become more and more commonplace.

I'll use an extreme example of what may happen using an example from the warhammer series, It's 43rd millenium technology has advanced to a point where we have learnt far too much that the fundamentals of our technology are unknown, a cult (the mechaninium) has grown up to dominate higher and lower level technology, simple tasks become a religion and rituals evolve involving the simplest of tasks (eg turning on a switch)

How many non-technical people do you know that provide corporal punishment to their computers when they fail to work quickly enough, we know it has no effect but they believe that such actions are useful.

Magic is a dangerous think as it can easily turn into worship.

Re:Certainly (1)

Anonymous Coward | about a year ago | (#46133791)

Explain how a battery works

Something about electrolytes which plants crave. So a phone must be a plant. If I bury it in the backyard I can grow a phone tree! Press 1 now.

Re:Certainly (1)

nurb432 (527695) | about a year ago | (#46133659)

No, its not a skill required, for most jobs. Math, you use in daily life so its a bad comparison. Besides who said you have to LIKE something to do it?

Re:Certainly (0)

Anonymous Coward | about a year ago | (#46133683)

very very few jobs require coding knowledge. well nothing beyond excel formulas.

Should Everybody Learn To Code? (5, Insightful)

Anonymous Coward | about a year ago | (#46133423)


ensure that every K-12 student in the US has the opportunity to study computer science


Re:Should Everybody Learn To Code? (1)

ebno-10db (1459097) | about a year ago | (#46133759)


Re:Should Everybody Learn To Code? (1)

Boronx (228853) | about a year ago | (#46133819)

Mod parent up.

Reading comprehension first (4, Insightful)

buchner.johannes (1139593) | about a year ago | (#46133425)

(1) Reading comprehension
(2) Household economics
then Coding.
Everyone thinks that their profession is the most important in the world. But making everyone a programmer is not the most important task.

LOGO isn't all that hard (2)

dbIII (701233) | about a year ago | (#46133487)

LOGO isn't all that hard and gives people enough insight into how computers work to cure them of some idea that it's all spooky magic done by scary people.

Re:LOGO isn't all that hard (1)

Anonymous Coward | about a year ago | (#46133543)

spooky magic done by scary people.

Oh no, it's not spooky magic. It's just unimportant work done by porn-surfing losers. If they try to leave the basement, lynch the nerds for being uppity.

Re:Reading comprehension first (0)

Anonymous Coward | about a year ago | (#46133587)

I don't think that it makes sense to have everyone be able to code, but they should be able to do basic data and string manipulation. It is amazing how inefficient some people are at their work, manually changing thousands of lines of data, working multiple weeks until I hear about it and do it in 15 minutes.

Re:Reading comprehension first (1)

Anonymous Coward | about a year ago | (#46133741)

Perhaps they like spending weeks doing nice non-mentally-taxing busywork, goofing off, chatting with their coworkers, padding out the time it takes to do undemanding tasks, and getting paid for it. And perhaps they're trying their hardest not to let you find out about it because you'll ruin it all, and they'll be given more work to do instead.

One of the first unwritten rules of work in the real world, is don't "help" someone unless they ask for it.

Re:Reading comprehension first (1)

eulernet (1132389) | about a year ago | (#46133777)

Coding is knowledge, but there are more useful knowledge than learning to code.
For example, psychology's or negotiation's skills, which will always be useful anywhere.

Re:Reading comprehension first (0)

Anonymous Coward | about a year ago | (#46133885)

Those skills are easy to learn.

Re:Reading comprehension first (3, Insightful)

DoofusOfDeath (636671) | about a year ago | (#46133895)

(1) Reading comprehension
(2) Household economics
then Coding.
Everyone thinks that their profession is the most important in the world. But making everyone a programmer is not the most important task.

This, a million times over. I'm a good computer scientist, but I haven't been careful or thoughtful about household economics. I suspect that if I'd had some instruction in these matters, I would have been more disciplined. Now I find myself only being able to consider jobs which are high-paying, because I've financially boxed myself into a corner. This limits where I can live, on which projects/products I can work, and how much time I can have with my family. It turns out that spending one's mental energy only on computer science isn't always a winning strategy.

If you're at the beginning or your career or still in college/high school, I implore you to find the knowledge and discipline to create a budget and to live within it. Even though your salary can rise quickly as you gain work experience in software development, it will never outpace your ability to over-spend it.

Re: Reading comprehension first (0)

Anonymous Coward | about a year ago | (#46133921)

Learning (2) might motivate learning how to code.

Yes (2)

eyepeepackets (33477) | about a year ago | (#46133441)

Yes. but then I think everyone should learn the basics of critical thinking. Fundamentals of programming isn't that different from algebra and geometry, so junior high-schoolers should get a dose. If nothing else, they'll learn that programming isn't rocket science: It's a flexible tool which can be used to do rocket science and make Caturday-related goofiness.

Re:Yes (1)

jones_supa (887896) | about a year ago | (#46133463)

Yes. but then I think everyone should learn the basics of critical thinking.

Especially the capability of viewing the issue realistically from a completely opposite perspective is a skill that should be refined. Dialectics, I believe that is called.

Re:Yes (1)

ebno-10db (1459097) | about a year ago | (#46133811)

Fundamentals of programming isn't that different from algebra and geometry

Yes it is. Algebra and geometry are fundamental and foundational subjects that also have endless applications. Computer programming is simply a skill that is useful to some people. There is also some theory associated with it, sometimes inaccurately called computer science, but better called software engineering. But that's not so fundamental that it's particularly useful to non-programmers. To the extent that some people argue it is, what they're really talking about is the math that it's based on, like graph theory.

Re:Yes (1)

Bengie (1121981) | about a year ago | (#46133923)

Programming is the application of knowledge and encompasses all sciences. In order to program, you must be able to look at a problem, understand it, and break it down into its atomic pieces, the same type of thinking that must be done for all problems in any system.

Opportunity to learn: yes. Manditorily must: no. (0)

Anonymous Coward | about a year ago | (#46133459)

Besides anyone who's gotten past high school math has learned the most important parts already.

Depends on what you define as "learned" (3, Informative)

GrumpySteen (1250194) | about a year ago | (#46133465)

Kids need to be exposed to a wide range of subjects (including programming) that they may later choose to pursue. They don't need to be taught to be experts in every subject, but they do need the basic understanding that will allow them to start learning on their own and to know whether it's something that would interest them or not. That basic understanding will help them make good choices about what classes they take, what they major in, etc.

This comes down to two question... (0)

Anonymous Coward | about a year ago | (#46133473)

Should every person be allowed the opportunity to take a programming class as part of their basic school curriculum, YES.

Should everybody be forced to take a programming class, NO.

No (0)

Anonymous Coward | about a year ago | (#46133479)

Well I think everyone should learn to write some code, but I've been conditioned to answer headline questions with no.

I see people in all professions writing code, often in tools like Excel that aren't really designed for it. Giving everyone some exposure to coding would both teach them that there are better tools available and give them the mental models to write less shitty code. This doesn't have to be in a computer science class. It could just be a little bit of programming in a science or math class. And by code, I just mean control stuctures and loop, not Turing machines and Landau notation. Let them learn that stuff only if the initial exposure ignites an interest in the subject.

I get why it's so valuable, but forcing it.. (4, Interesting)

Anonymous Coward | about a year ago | (#46133503)

I'm torn on this issue as someone who works in a sales org but has learned how to code/is in a continual process of getting better at it.

On the positive side of things, it's absolutely amazing how much time can be saved by extremely trivial code. For example, I had a client who needed to check something like 800 URL's for a given result on their page. They were chunking out ranges of the URLs to give to a team of people to do the task before we told them to put down the crack pipe and give us 10 minutes. A quick Python script looking for said element on each URL in the list dealt with that task nicely.

On the negative side-- the one thing learning code has taught me is that I'll never be that good at it. I had to bash my brains out on a table for many, many weeks, just to understand basic concepts like lists and arrays, and am only NOW really grasping the concepts of classes/why I should care. My code is sloppy, works well only really when run by me, and my ability to read other code/make modifications is limited to say the least. I stuck with learning code ONLY because I truly enjoyed it, and even then, after about 6-7 years of working at it, remain pretty mediocre.

In short, I'll never be a very good coder. I had to work INSANELY hard to get as good as I am, and I only did so because I genuinely love coding (even if I'll never be a savant with it). Trying to force people to go through that sounds like bad news bears, and I just can't see it working on any level. On the other hand, I get the appeal, because really everyone benefits. I get along great with our engineers because I can genuinely speak with them at a level that is more attuned to what they are thinking, and I can legitimately translate between the two orgs better than they could without me. It should be noted that we also have some rare engineers who can cross over to our world and love them for it.

So in short, I get why people want this to happen. Forcing it however is a recipe for disaster.

Re:I get why it's so valuable, but forcing it.. (1)

turbidostato (878842) | about a year ago | (#46133753)

"I had to bash my brains out on a table for many, many weeks, just to understand basic concepts like lists and arrays"

And that's exacly why programing could be a very nice *tool* to develop youngsters' brains.

You see, "lists" and "arrays" are words from common language because lists and arrays in programing are exactly that: lists and arrays.

That you had problem understanding that, means that in fact you have problems with such common concepts.

It's a pitty, but if you have problems grasping basic concepts like iterations (go once and again onto something till you get to your intended result), functions (decompose big tasks into shorter ones), boolean algebra (when a composed assertion is either true or false), etc. what it means is that you are not properly prepared to understand the world around you and your education has made of you a gullible person easier to fool than it should be.

On the other hand, of course you are better at programing the more you practice and the more fitted your natural abilities are for the task. I'll take your assertion that you work for a sales org as if you are a salesman. Do you think being a salesman is an easy task? Do you think you are not a better salesman a decade into the trade than the day you started?

For one task. (0)

Anonymous Coward | about a year ago | (#46133839)

It's a pitty, but if you have problems grasping basic concepts like iterations (go once and again onto something till you get to your intended result), functions (decompose big tasks into shorter ones), boolean algebra (when a composed assertion is either true or false), etc. what it means is that you are not properly prepared to understand the world around you and your education has made of you a gullible person easier to fool than it should be.

You obviously never studied Topology because you don't know your ass from your elbow.

No, but... (1)

Pav (4298) | about a year ago | (#46133505)

...many important concepts useful to logical and critical thought can be learned this way. I guess it's up to the educators to decide the best way to get students to grok these skills. Coding for codings sake? Wrong reason.

Re:No, but... (0)

Anonymous Coward | about a year ago | (#46133655)

Expressing methodology in a computer language forces it to be unambiguous and computationally effective. The task of formulating a method as a computer-executable program and debugging that program is a powerful exercise in the learning process. The programmer expresses his/her poorly understood or sloppily formulated idea in a precise way, so that it becomes clear what is poorly understood or sloppily formulated. Also, once formalized procedurally, a mathematical idea
becomes a tool that can be used directly to compute results.

Gerald Jay Sussman

http://web.mit.edu/lipoff/www/CoSI/CoSI_files/SussmanAbstract.html [mit.edu]

Reminder (0)

Anonymous Coward | about a year ago | (#46133515)

It is rude to randomly redirect visitors to beta.slashdot.
Even more so because beta sucks.

Providing a hard to find opt-out, adding /?nobeta=1 to the url, just upgrades the aggravation level from "rude" to "insulting and infuriating".
The only acceptable option is, as always, opt-in.

I guess you need reminding. a lot.

First and foremost, everyone should learn to live. (1)

EzInKy (115248) | about a year ago | (#46133527)

If learning to code accomplishes that goal then yes, everyone should learn how to code. On the other hand, those who can survive without coding should not be forced to learn to code.

learning BASIC helped me in business (0)

Anonymous Coward | about a year ago | (#46133531)

Way back in high school I learned BASIC to program my Commodore 64 (remember those?). Later in university i took turbo Pascal. Does anybody even remember that? But my point is, learning how to program is a skill that stays with me today. Almost every day in my business, when I need to figure out some information, I just open up a spreadsheet and lay out the data myself. I would never have been able to do that without the skills I learned in basic and pascal.

So maybe that is not the example everyone is thinking of, but when I see how useful that skill is on a daily basis, you get my vote for a yes.

Learn to code not necessarily to write code (2)

Urd.Yggdrasil (1127899) | about a year ago | (#46133557)

Formal logic: Yes Troubleshooting: Yes Basic computer skills: Yes The fewer people who think computers are magical devil machines and can figure out how to solve technical problems on their own the better, but the vast majority of people will not write programs.

Re:Learn to code not necessarily to write code (1)

DoofusOfDeath (636671) | about a year ago | (#46133721)

To be fair, I've got a phd in cs, and I still think of macs as magical devil machines.

01101110 01101111 (1)

rmdingler (1955220) | about a year ago | (#46133567)

A public education for every child is a marvelous thing, but it has become overly general.

Every opportunity should be available to each student, but we must learn to admit our children have different strengths, weaknesses, and preferences.

Though it seems true any child can grow up to be POTUS, not every child can be an astrophysicist.

So very, very dumb. (2)

ip_freely_2000 (577249) | about a year ago | (#46133569)

The Association for Computing Machinery wants everyone to code? I wonder what The Association for Fixing Your Car, Association for Small Repairs Around The Home, The Association for Recognizing and Stopping Child Abuse, The Association for Common Courtesy and The Association for Reasonable Adult Relationships would think. All worthy, imo.

No (0)

Anonymous Coward | about a year ago | (#46133573)

It's hard enough to get a job as a programmer as it is.

Re: No (0)

Anonymous Coward | about a year ago | (#46133607)

Um, what? It's one of the easiest jobs to get provided you're competent.

Re: No (0)

Anonymous Coward | about a year ago | (#46133673)

A competent American candidate must be a non-white veteran of at least one recent war, otherwise no American candidate is qualified.

Re: No (0)

Anonymous Coward | about a year ago | (#46133681)

Competence was not a factor in any of the job interviews I've ever had (including those that resulted in a position) and usually the person who decides whether you're hired knows nothing about the subject field.
And at least where I live there are about 100x as many programmers as there are even general IT vacancies. Are those programmers any good? No, most of them are terrible. But is that ever going to matter in an interview? The HR guy says ‘no’.

Re: No (1)

ebno-10db (1459097) | about a year ago | (#46133853)

It's one of the easiest jobs to get provided you're competent.

If you're not "too old", live in the right part of the country, and can put some stuff on your resume that has nothing to do with basic competence or skills, but is currently trendy.

Perhaps not everybody, but many more (2)

mothlos (832302) | about a year ago | (#46133581)

Having worked in office environments, the amount of effort office workers could reserve by having access to a decent scripting language is immense; I once saw someone renaming over three thousand files by hand in order to change a date format. The potential drawbacks are also fairly obvious since businesses tend to do a terrible job of managing their IT tools and anarchistic coding is going to make this worse. However, the potential for productivity enhancements is there and it seems like a challenge which can be largely overcome, particularly if the workforce had these skills which were languishing. If this is the reality we should to push for, then some sort of programming experience which can be linked to useful activities seems like it would be worthwhile for many, from the drones in the office to automated farm equipment and CNC operators.

Re:Perhaps not everybody, but many more (3, Informative)

Tom (822) | about a year ago | (#46133717)

I once saw someone renaming over three thousand files by hand in order to change a date format

They don't need to code. They need an IT department that doesn't have its head in its ass and is supplied with enough resources to be able to afford solving user problems like that.

Sadly, most companies run with a "lean" (read: understaffed) IT. Meaning they don't have time for anything but the essentials. But since most people in accounting, etc. don't make that much less than an IT worker, for a task like this which takes 15 minutes of time for the IT guy but could save a couple hours of work for the account (or whatever) dude, the interest of the company would clearly be that he picks up the phone, calls IT, explains his need and some IT guy does the shell magic for him quick.

Teaching everyone how to code, even basic skills, however, would cost a lot more than it's worth. Just hire two more IT guys. It's cheaper.

logic is better (0)

Anonymous Coward | about a year ago | (#46133589)

Just teach everyone logic and let them "code" in their native language.

Teaching everyone to code simplifies the profession. Sure anyone can put a few instructions together to write code, but very few people can write good code (clear, efficient, maintainable, etc.) and even fewer understand how the undelying hardware works ... And that include the vast majority of the people who presently call themselves software engineers.

Define "code" (1)

gmuslera (3436) | about a year ago | (#46133593)

Would coding in visual languages like Scratch [mit.edu] qualifies? Everybody should learn how to solve problems and do tasks in a formal way, and see how that solution runs by itself, without their intervention, free will, or common sense. Doing it wriitting text or manipulating diagrams is independent of the core question.

Opportunity: yes. Mandatory: No (1)

Opportunist (166417) | about a year ago | (#46133603)

Everyone should be given the opportunity to learn programming. Unfortunately it is not as simply done as teaching math. To learn basic math, you need paper & pencil. To learn basic programming sensibly, you have to have some sort of computer available. We're talking a very big leap in cost here for those who are not so fortunate to be able to dump a few 100 bucks on something as not immediately survival ensuring as education.

Yes, I can hear how many here cry out how I dare to say that education is not worth a few 100 bucks. IMO, it is, but then again, I have a few 100 bucks easily every month to spend on whatever I please. There are people out there who are by no means close to that, and for whom, say, 500 bucks for a computer to teach their kids programming is an investment they simply cannot make.

So yes, I think it should be our responsibility, as a society, to enable kids from these backgrounds to learn programming and offer them the necessary equipment (at their school or at some other place) to study and learn using equipment they need.

I'm by no means in favor of cramming programming down everyone's throat. I've earned a few bucks as a study aid for pupils who were pressed into "computer courses" by their parents who thought that it's "necessary" to make their kids the next programming generation because "computers are the future" (no, really? I thought they're the present...). It just doesn't work. You cannot force people into the mindset necessary for programming. People who do not want to learn it will not learn it. They will not even understand some basic concept, all they will take away from it is that it's some sort of arcane magic that only geeks and other dweebs can possibly grok, and that it's some scary stuff they don't wanna touch beyond what their GUI lets them.

If anything, forcing people into programming will drive them away from computers and raise the next generation of luddites.

Re:Opportunity: yes. Mandatory: No (0)

Anonymous Coward | about a year ago | (#46133701)

Raspberry Pi is $35 and was created precisely for the purpose of giving everyone an opportunity to learn to program computers just as we did with Apple ][ or Commodore PET or Altair 8080 or PDP 11.


Anonymous Coward | about a year ago | (#46133631)

Please, half the 'programmers' I work with don't know anything about writing professional, legible and maintainable code. If you actually have a talent for writing software, you'll find out automatically.

Teach them to use, not code (1)

Thruen (753567) | about a year ago | (#46133641)

Most people will never need to look at any amount of code in their lives, even people who spend every day working on a computer don't need to understand the code behind the software they're using. What needs to be taught are much broader computing skills. During my time in IT, not once did I wish anyone knew how to code, but every day I wished they'd take courses on general usage. What I mean by that is they come out of school knowing how to access the software they expect to need for their profession and an understanding of how they should be able to use it, but no idea what to do when that software fails or falls short of their needs. I watched a company spend two years trying to make their accounting software run their entire business, hiring one expert after another, being told the entire time by said experts the software simply isn't ideal for their needs but refusing to look at anything else because it was what they knew. Switching wouldn't have been difficult, certainly easier than spending years trying to jury-rig software into another purpose, but they knew so little of anything else they refused to consider it.

This was a small business with less than half a dozen people needing access to this software, not some giant corporation where a switch would cost millions, and they continued to spend more on updating their software than many alternatives would have cost. Their stated reason for not switching was that they didn't want to learn different software. Most of us understand it doesn't take very long to adapt to new software if you put the effort in, the only people I've ever been unable to teach are those that refuse to try to learn. But people come out of school thinking they just spent all that time learning how to use a few things and it'll take just as long to learn anything new, it's a problem that might not sound so bad but it truly handicaps the workforce.

Don't teach kids how to code, teach them how to use different types of software, teach them how different things on a computer interact, explain the importance of updating software and drivers. Keep the option to learn to code available, but don't make people think it's some necessary skill to use a computer, that's going to make anyone who doesn't take to it feel even less secure in their computer skills.

Re:Teach them to use, not code (1)

turbidostato (878842) | about a year ago | (#46133833)

"Most people will never need to look at any amount of code in their lives"

Absolutly wrong. Most of people will manage to go through their lives without touching a command prompt. But most first world people would save a lot of hours just with minimal programing abilities (shell level).

You think otherwise simply because you just don't foresee how many automatable actions you do along your day, from obvious things, like algorithmically renaming your computer-based photo collection, to not so obvious (to you) like a big percentage of what an office drone does along his day.

"What I mean by that is they come out of school knowing how to access the software they expect to need for their profession"

Which is a lost proposition but quite aligned to your "most people won't be exposed to code": lack of imagination. If there's anything true is that the software that they are expected to need for their profession when at school won't the the software they'll use when some years in the future are in their professions.

"explain the importance of updating software and drivers"

I've spent more than twenty years in the field and I still don't understand what the need to update software and drivers really is, can you explain, please? I, of course, understand the need to replace *faulty* software and drivers, mostly on Windows environment, but that's a different issue.

No... (0)

Anonymous Coward | about a year ago | (#46133643)

Should everyone learn electronics? Should everyone learn to fix cars?

No... Because if everyone knows a bit of everything, nothing ever gets done properly.

No (2)

nurb432 (527695) | about a year ago | (#46133649)

While its nice to know what coding is, as it helps make the magic box do things, it wont enrich most of the public to know how to do so.

Hate to break it, but 99% of the public really don't care how most things work, they just want it to work when its turned on. Knowing how an appliance ( yes, that is what a computer is to most ) works doesn't really make it work any better.

The herding impulse (-1, Troll)

hessian (467078) | about a year ago | (#46133653)

No, not everyone should learn to code, for two vital reasons:

1. People have skills in different areas. They should develop those.

2. Coding is about to be obsolete. There are no mysteries anymore, and it is being automated.

In another dozen years, this bubble -- the coder bubble -- will have popped.

Telling people to learn to code now is not only bad advice, but potentially damaging advice.

Re:The herding impulse (0)

Anonymous Coward | about a year ago | (#46133703)

2. Coding is about to be obsolete. There are no mysteries anymore, and it is being automated.

Mindless fratboy brogrammer coding was never real programming in the first place.

Re:The herding impulse (0)

Anonymous Coward | about a year ago | (#46133707)

2. Coding is about to be obsolete. There are no mysteries anymore, and it is being automated.

If you think this is the case, then please, go find another field to work in. Leave the real work and discoveries to people willing to find them.

Re:The herding impulse (1)

BorisSkratchunkov (642046) | about a year ago | (#46133825)

I think that you're making the mistake of perceiving a mindless code monkey to be tantamount to someone who is a seasoned computer scientist with a solid grasp of theory and a fair understanding of software engineering principles/design patterns (or a super competent software engineer with a fair understanding of theory). Code monkeys will not make real discoveries or do real work- like it or not, for better or worse, only the super-talented will (yeah, reality's a bitch). We've also reached a bit of a ceiling effect in science and tech more generally in my eyes- all the low-hanging fruit has already been picked, so the discoveries that remain to be made require much more effort and interdisciplinary teamwork than ever before. Getting more people trained to code won't change that.

The other point is that most programming languages these days are becoming more expressive anyways, which lowers the entry barrier to coding significantly so that most people will be able to figure it out at one point or another anyways- you don't need to be in the IQ > 120 club anymore because you don't need to really understand pointers or assembly code or any of that mess. Domain-specific languages are becoming mature enough that a statistician won't necessarily need to learn C and can most of his or her work done with R; ditto for the scientist who wants to use Julia or SciPy (without delving into any of the non-SciPy libraries available in Python). Syntactic sugar has been added to web languages like such as Javascript (e.g., Coffeescript) and even HTML/CSS (although goodness knows why these needed syntactic sugar). Perhaps I'm just coming from a privileged standpoint where I already find it simple so I can't see how other people will continue to find it hard, but I really really don't think that the simpler aspects of programming are going to be out of reach for the masses that much longer.

One last point is that a lot of the progress I've noticed in the tech world right now seems to be in the world of DevOps, which is what I believe is being referred to in point 2; a minimal number of systems administrators and developers are needed now to due to advances in deployment and debugging automation. Case in point: Google's servers broke and fixed themselves. Do we still need workers to do these tasks now? Definitely. 10 years from now? Not so sure, and flooding the job market with a bunch of "coders" certainly won't make matters better.

Re:The herding impulse (1)

BorisSkratchunkov (642046) | about a year ago | (#46133891)

On second thought, I just made a pretty good argument for more training in domain-specific languages. I still don't think that just plunging in like a mid-90s cowboy coder generalist will work anymore though. Those days are definitely gone.

Re:The herding impulse (1)

IkeTo (27776) | about a year ago | (#46133733)

(1) is not specific to coding, and for (2) it is simply not true. For a few tasks coding is being automated, for the rest it depends largely on lots of human being doing all the hard stuff. But I think neither address the original question anyway. The original question is whether everybody should learn some coding, and not whether everybody should do professional coding. I think asking everyone do at least a bit of coding is a good idea, because it is (1) an exciting experience, (2) eye-opening to understand that programming involving thinking in all details, and (3) a good weapon for anyone in the works to know what is automation all about.

Re:The herding impulse (1)

ebno-10db (1459097) | about a year ago | (#46133873)

Coding is about to be obsolete. There are no mysteries anymore, and it is being automated.

They said manufacturing was going to be "automated" too, but in politicalspeak "automated" means sent to cheap labor countries.

Oh my goodness NO! (0)

Anonymous Coward | about a year ago | (#46133669)

Perhaps everybody should have a inkling what a computer is,
    but only those who are going to take the time to learn how to do it well should code.

The current state of wild west coders makes too many things only just barely work.

rule of headlines (1)

Tom (822) | about a year ago | (#46133685)


next question?

Of course (1)

Idou (572394) | about a year ago | (#46133695)

I am a financial analyst. Knowing how to program allows me to automate boring things and generate analysis that would otherwise be impossible. It also means I am constantly creating tools that threaten the employment of coworkers who do not know how to program.

When you know programming, you spend most of your time improving the 1st and even 2nd derivative of the productivity function of a given task. When enough people like that are available for a given field, why would employers bother with people who are not capable of that level of productivity?

Re:Of course (1)

DoofusOfDeath (636671) | about a year ago | (#46133737)

Leave it up to a financial analyst to wreck workers' lives using derivatives!

In School You Don't Know What You'll Be Good At (1)

Greyfox (87712) | about a year ago | (#46133705)

So everyone probably should get at least some exposure to it. Some of them will probably like it and go on to be programmers. But I think it's more important to focus on applying the knowledge you've picked up in school to solving problems the students haven't encountered before. School learning seems to be increasingly just memorization and teaching to tests, and a lot of people that I meet don't seem to be particularly good at synthesizing solutions to problems they haven't seen before. There seems to be an aversion to experimentation, even when the experiment would not be terribly expensive to run. I prefer a hands-on approach where we poke at a problem, try a few things, keep the stuff that seems to work well and throw out the stuff that didn't.

No (1)

BorisSkratchunkov (642046) | about a year ago | (#46133719)


flamewar of the decade (5, Insightful)

bzipitidoo (647217) | about a year ago | (#46133727)

And it's a lot more fun than MS vs Linux, Java vs .NET, Nvidia vs AMD, or even vi vs emacs. Sorry "gcc or llvm", your grudge match will have to settle for a 3 AM slot on a low budget, obscure science light cable TV channel.

The big language demolition derby is still hot and furious, like the annual playoffs of old sports that still excite fans, if you can see past all the smoking wrecks like Modula and the entire team of modular programming cluttering the arena. If only the Perl 6 team could sort out their engine troubles and get their car into the arena, replace that sputtering Perl 5 vehicle and challenge that JavaScript/CSS/HTML/AJAX monstrousity that was cobbled together from a dozen different brands of automobiles, and that C++ bug that still works after being run over and rolled over and which just got a fresh set of wheels. OOP sponsors must be wondering which teams are still proud to bear their logos. And where's Haskell? Oh yes, loudly honking their horns from atop the safety of their functional programming pedestal while the LISP car circles round and round as if they expect a ramp to appear at any moment. Python? Dancing around the LAMP pole with PHP's go-kart. In one of the darker corners of the arena are the excruciatingly slow horse drawn wagons of the Fortran and Cobol teams, just trying to hold their ground. Follow the oil slick to find C. Java is struggling to move under the crushing weight of their massive armor, spare parts, and the huge gas tanks needed to feed their too thirsty engine. The kids would still love those Logo toy cars they used to hand out last century.

If coding is so universal, what language should everyone learn? We're nowhere near sorting that out. Shouldn't we be able to settle and standardize on the essential elements of a programming language? As it is, it's like arguments over mathematical notation. Multiplication works the same whether the symbol used is x or * or a dot or nothing at all because it's the default operation. But it's not so easy to tell what is trivial and what is important in programming languages.

Math Books (0)

Anonymous Coward | about a year ago | (#46133729)

Put a chapter in 5th grade math books titled "Basic computer code" and just explain the structure of it and how a computer reads it.
1 chapter may spark interest in some children to pursue more knowledge but it may also give everyone that understanding of how things work without much effort.

Should everyone learn auto mechanics? (1)

hawguy (1600213) | about a year ago | (#46133763)

Surely people should also understand how to repair the cars they drive every day. It's not that hard, they just need to learn how to use basic hand tools and diagnostic tools, and then everything is is a simple step by step process. Sure there are tip and techniques that mechanics develop over time as they have more experience, but hey, anyone fresh out of a 12 week "Become an auto mechanic" boot camp can rebuild an engine.

And for that matter, everyone should become a plumber, electrician, HVAC engineer, etc. If you don't know how to build and repair the technology you use every day, how can you hope to survive?

I know, there once was a time when some basic mechanical knowledge was needed, but nowadays one can expect to go years (or decades) without ever opening the hood of their car -- my wife hasn't looked under the hood to her car, ever, after 10+ years of car ownership -- she used to take it in for oil changes every 5000 miles, but her new car tells her when it needs an oil change (every 10,000 miles) -- so just like computers, people can treat them as a "black box" without knowing anything about how to build or repair them.

Impossible (0)

Anonymous Coward | about a year ago | (#46133787)

Some people simply cannot code, no matter how hard they try to learn. What you'd get in a mandatory coding education program is a neutered rote memorization course to pass a standardized test to maintain acceptable pass rates determined by the government.

A better approach would be a general computer literacy requirement with a conceptual understanding of what programmers do as one of its goals.

Re:Impossible (1)

cinnamon colbert (732724) | about a year ago | (#46133931)

just total BS
however, if you can post some data to back up your posistion - and not just anecdotal candidate couldn't understand C indirect pointer stuff - I will gladly apologize

sure, maybe 60% of the population can't become good coders, but they can learn enough to , say use Perl to filter stuff, or at least understand that coding is not magic

Code is to instruct machines... (0)

Anonymous Coward | about a year ago | (#46133803)

... people should learn to think by themselves. But for many people the less people can think by themselves the best for them.

But what about the Diversity? (1)

ZecretZquirrel (610310) | about a year ago | (#46133823)

FWIW, I remember this brilliant (to me) math professor who taught me abstract algebra back in the '80s. She carried around Rubik's cube key chain, and would solve it in moments while explaining the group theory behind it. She was in awe of us in CS, and that programming stuff we did--it was just beyond her. The modern cultural cadres in charge tell us that diversity is A Good Thing, to be sought as an end in itself. So why do we all have to be programmers? I'm glad Bohr and Einstein didn't bother with this shit. Or Cézanne and Picasso.

Sure, but not all the same... (1)

jpellino (202698) | about a year ago | (#46133845)

Some as a pro
Some as a hobby / interesting thing to know
Many just enough to know when you're being tweaked by a HW or SW salesperson
(So does this include USB3? Yup. iEEE1394? Sure. Full LRF support? Absolutely!)
(We have to have the pro package - this one doesn't do .MID to .OBJ - and it'll be extra two weeks of training.)

Thought process (1)

Boronx (228853) | about a year ago | (#46133869)

Becoming a serious programmer means changing the way you think. Quite frankly, we need to have people who don't think like a programmer.

Making everyone learn how to code would be like sending everyone to law school.

Select individuals should (1)

chill (34294) | about a year ago | (#46133905)

All judges and anyone working in the Patent Office should be required to have taken the equivalent of a college minor in computer science. (Not IT, but real CS). Just the core courses.

is coding more important then (1)

cinnamon colbert (732724) | about a year ago | (#46133913)

there are so many hours in the school day.
Look at the world: real problems are war, famine, violence, lack of love
this has nothing to do with coding
I think that rather then take hours out of the k12 curriculum for coding, we should take hours out for psychology.
maybe if children learned more about them selves and others, ti would help with the big problems

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?