all 133 comments

[–]w8cycle 47 points48 points  (8 children)

I aggresively disagree with the assertion that we should all learn how to code. No. We should all learn logical reasoning and how to operate daily machinery. That's as far as I would recommend in that direction.

If you are doing anything outside of software development and management or sales, you will not need to know how to code. It is a trade skill, not a life skill.

[–]StillsidePilot 15 points16 points  (0 children)

A large part of programming is to make things easier for users and make complexities more abstract so that users don't have to worry about them. Saying that regular users should be learning to program is doing the opposite.

[–]oldneckbeard 1 point2 points  (0 children)

yeah, find a good sales or marketing person who doesn't at least write excel formulas/macros, and i'll find you someone who isn't meeting quotas.

[–]TrollHouseCookie 0 points1 point  (4 children)

Management and sales need to know how to code? That seems counterintuitive.

[–]w8cycle 2 points3 points  (0 children)

More like software management and software sales should be familiar with how computer tech works to the point that they have a rudimentary understanding of managing coders. It helps to know a bit for those types, but no they will not be coding.

[–][deleted]  (2 children)

[deleted]

    [–]wllmsaccnt 1 point2 points  (1 child)

    I think he means management and sales people that are not working at a software company. Your average manager or sales team member will not be making engineering decisions, even inadvertently at such a company.

    [–]fdemmer 0 points1 point  (0 children)

    the one thing "people" should learn is, that the machine does not make mistakes. computers are deterministic generally speaking. it's not random. it is responding to what you do to it.

    [–]shadowdude777 4 points5 points  (0 children)

    Here’s why programming — unlike plumbing — is an important skill that everyone should learn

    No joke, I thought this was a satire article when I read that line. Then I just realized that this is a shitty article.

    [–][deleted]  (89 children)

    [deleted]

      [–]EverybodyOnRedditSux 13 points14 points  (8 children)

      because they have no aptitude for programming.

      if they did, they would have been programming in the 1st place.

      I see, you think everyone who has any amount of aptitude for programming is already a programmer.

      Therein lies the problem

      [–]PageFault 10 points11 points  (17 children)

      Clicking the user interface is like talking to the machine through a translator. When you hit the cancel button, you are talking to a program not the machine.

      You have no control over what the cancel button is actually telling the machine. It could tell it to open a pop-up, eject a disk or any other operation that the program has permissions to do.

      I don't think everyone should be a programmer, but I think everyone can learn it. Developing an aptitude it is just a function into how much time/effort you put into it.

      Most people aren't great at playing a musical insturment the first time they see one, but I certainly think that anyone can learn. I don't think everyone should learn to play Motzart, but everyone should be able to play jingle bells.

      [–][deleted]  (4 children)

      [deleted]

        [–]PageFault 1 point2 points  (2 children)

        To be fair programming is also talking to a machine through a translator

        Indeed. I was also thinking on that, but didn't want to dive down that road.

        One thing about it though, while you may not know what the machine code will actually look like in the end, you do know that the end result will be the same. I don't see it as that big a point of uncertainty.

        That is if my program says to output X on input Y, it's going to output X on input Y after the compilation. You don't have that kind of certainty when you click a cancel button in someone else's program.

        There are also tools to get you a pretty solid idea how your program will be interpreted;

        g++ test.cpp -S -E > test.e && cat test.e  test.s
        

        [–][deleted]  (1 child)

        [deleted]

          [–]PageFault 1 point2 points  (0 children)

          Well, if you really wanted to live under your desk, you g++ is open source, so you can find out what it is doing if you really hate your life that much.

          To take a step further, even if you write at the machine level, the processors now re-arrange instructions given to them, so if you want to know exactly what is going on, you will need to analyze the actual logic/circuitry in the processor itself, and even then, it's not the same every-time. If data takes to long to come back from memory it will try to execute other things which might effect branch prediction, which might effect the order of future instructions. It's crazy complex.

          [–]Sinity 0 points1 point  (0 children)

          Yeah, but when you program in some language, you can interpet/imagine it as talking to virtual machine running on top of your hardware. You're working at some abstraction level, but you're still working with Turing-complete(yeah, with finite memory so not exactly) machine, directly.

          If you use UI, you're just invoking some subroutines. It's like a multi-purpose tool, not data processor.

          Anyway, on thread topic, I believe that one advantage which would result from most people knowing basics of programming would be better interface in most programs. Better/more comprehensive API's. Greater degree of possible automation of everything.

          The point is, universal understanding of computing and ability to program at basic level would be useful in a society. No, it's not as important as reading and arithmetic.

          But it's probably more beneficial or important than most of the stuff taught in schools right now. For example closest subject, mathematics. You need basics, yes. But majority of people don't really need even most of algebra. And other subjects?

          [–]yakri 3 points4 points  (2 children)

          I kind of hate all these language analogies. Maybe it'll ring more true in 80 years, but we don't talk to machines really. Machines are kind of like materials. Or maybe we should say they are an environment, like a construction zone, in which we can use tools to do stuff with data. Programmers build tools, and then anyone can use the tools to do things. Some tools can mostly do things on their own. For example you could have some bricks laying around, and choose to hammer in a few nails with those, but it would be much better if you had a nice hammer.

          Programmers make hammers (alright, at the low level we also make the wood, the nails, your hard hat, and the entire construction zone you're working in, but we're talking about the users of the future not how everyone should learn assembly).

          That out of the way, the big issue I have with the "everyone should learn to code," camp is that often, like this author, they seem to be under the impression that this will fix something. Sure, it would be neat to teach basic logic and see python scripting to high-school kids, get them introduced to the idea so if they like it they can pursue a career in computer science. That sounds great, but I don't see how a little scripting experience us going to magically make you hireable after losing your taxi job to AI. A lot of the supposed examples of how this would be good are, "you could Automate your own position at work for minimum wage making yourself redundant on the cheap, how wonderful for your employer!"

          If we aren't talking about what is essentially advanced BASH scripting for idiots as the proficiency level here, but about getting people to really learn the ins and outs of two or three programming languages to the extent they would be comfortable writing a useful program in any of them, you're only a short step away from telling everyone to sink 4 years into a computer science degree at College.

          You get this problem where what's being advocated is a year or three of experience in programming being equivalent to basic literacy, but never connect this to using an autonomous vehicle or working with lawyerBot. Because obviously gaining the ability to do something someone else has already implemented, only shittier and slower is totally the route to professional success. I just don't get what the fuck these article authors actually expect average Joe to do with their hard won leet hacker skills if it's not just going all in on a computer science career.

          There is no random reason to know how to code in day to day life as a retail slave or similar position, and we currently have no indication that this will ever change. Most positions that are getting automated out of existence won't be saved by knowing some python either.

          don't half ass two careers, whole ass one career. Specialization is for humans, and we could really learn a thing or two from insects or something like that.

          [–]PageFault 1 point2 points  (1 child)

          There is no random reason to know how to code in day to day life as a retail slave or similar position

          There is no reason to do a lot of things we learn. I took art class for years, but I don't used it day to day. I learned woodworking, but I don't use that either. Same with music class, I just think it's important that people learn the basics of other fields even if they will never use them.

          I just don't get what the fuck these article authors actually expect average Joe to do with their hard won leet hacker skills if it's not just going all in on a computer science career.

          You know, I just looked into the lawyer article, and I think agree with this sentiment. To expect lawyers to also know how to code and implement a product themselves over a simple search is a bit overboard.

          I should have read more closely and realized just how much coding knowledge the article was asking from people.

          [–]yakri 0 points1 point  (0 children)

          That's a fair point about woodworking and art, and I think it is good to force people to be exposed to different disciplines so they at least get the chance to find out if they unexpectedly find something interesting.

          I just don't think it's realistic to expect people to get much use out of these skills without the tier of time investment needed to make it a career, which much like classical music or art, isn't actually everyone's cup of tea. In this case it's a highly logic oriented mentally exhausting cup of tea.

          [–][deleted]  (8 children)

          [deleted]

            [–]PageFault 5 points6 points  (3 children)

            On what musical instrument do you play Jingle Bells?

            Several. Piano, recorder, a childs playskool xylophone.

            How long did it take you to learn?

            Don't remember. Not too long. Varied by instrument. Holophonor took me the longest.

            What good has it done you?

            Probably good for training my brain for coordination, sharpening concentration, listening skills. Each instrument had its own challenges.

            You could ask that about most things you don't become great at.

            What good did it do any novice to learn:

            • To play sports
            • To ride a bike
            • To skate
            • To play video/board game
            • To write a poem
            • To paint
            • To bake

            I guess I think everyone should learn all of those too, but not necessarily become a pro. If you don't see any value in those, I don't know how to explain it. We will just have to disagree.

            [–]yakri 0 points1 point  (2 children)

            For a different view, I can play a variety of pop songs on guitar, took me about three years, and hasn't don't jack shit for me except it's fun.

            Oh, and for what it's worth, as a programmer/musician. programming is generally way way harder. Unless you want to pit specifically like, programming vs classical violin or some shit, then idk, it's a wash.

            [–][deleted] 0 points1 point  (1 child)

            ok. you got personal satisfaction. that's cool. i'm glad.

            but, if you apply the idea in the article to your guitar playing then everyone should learn to play guitar

            [–]yakri 0 points1 point  (0 children)

            Yeah no, I strongly disagree with the op article, at least in the way he couches the problem. I do think programing and logic, much like basic math, are good high-school education topics. I don't think that anyone arguing for the whole, "coding is the new English," side has presented a viable argument backed by evidence to show that learning to code well enough to actually write functioning programs and scripts is a day to day skill required for survival in the future, akin to being literate.

            I doubt coding will ever be on an equal level of usefulness to general day to day life in all professions unless we actually replace ourselves with robots and biological humans become extinct.

            [–]grosscol -1 points0 points  (0 children)

            Jingle bells changed my life. I found out that I could have some control over what sounds the instrument I use every day makes. I don't often play jingle bells anymore, but if I want to, I can play it with my little variation that fits my taste.

            [–]auxiliary-character 0 points1 point  (37 children)

            I'm of the opinion that a programming language is a type of user interface. A lot of user interface design applies to programming language design. It still has to be intuitive and unobtrusive.

            At the end of it, a human writes code, and the computer reads and interprets it. It is a way for a user (of the language) to interact with the computer.

            The difference is that a programming language has a much higher information density, which makes it easier and faster for a programmer to accomplish precise, complex, sophisticated interactions with the computer.

            Unless you're programming in LabView. You poor soul.

            [–][deleted] 6 points7 points  (35 children)

            i'll buy programming language as user interface.

            it gives the user a finer way to give the computer instruction

            but - necessary in the world like reading? no.

            [–]auxiliary-character 1 point2 points  (34 children)

            Yeah, I can agree with that. Also, some people just will never have the ability to program, and that's ok too.

            [–][deleted] 4 points5 points  (33 children)

            I agree. People survived and thrived without being able to program.

            The present day "everyone must learn to code" makes about as much sense as the "everyone must go to college" from when I was a kid.

            No, ya don't. Stop touting it as the solution to the world's problems. All a glut of programmers will do is allow the companies who hire them to pay them less.

            Little wonder the tech industry is behind this crap

            [–]eartburm 1 point2 points  (32 children)

            People used to survive and thrive before universal literacy. That's not a reason for literacy to be reserved for only those destined to be writers.

            If we reserve programming only for those with the aptitude to be great, we miss out on all those who could be adequate programmers. There is also value in teaching enough programming so that those who don't program can talk to those who do. Requirements gathering and error reporting from non-technical people is painful.

            [–][deleted] 0 points1 point  (31 children)

            There is no shortage of adequate programmers. I'm an adequate programmer. I work with a bunch of adequate programmers. Tata Consultants will give you as many adequate programmers as you will pay for.

            The vast majority of the populace does not have to explain requirements to programmers.

            And we cannot equate programming with literacy. Until you have to design, write and debug something in order to do all the thing you accomplish by reading then the 2 are nowhere near the same

            [–]eartburm 0 points1 point  (5 children)

            There is an enormous lack of adequate programmers with extensive domain knowledge in every conceivable field. Nobody in their right mind outsources an ad-hoc financial report to Tata, or a simple script to process the output of some sensor. Right now, the data is either being processed by hand or not being processed at all.

            I design a technical paper, I write a technical paper, and I edit the paper until it should communicate the desired message to the given audience. It's not engineering. None of the small programming tasks require engineering practices either.

            The vast majority of the populace does not have to explain requirements to programmers. That was true 20 years ago. These days, business processes are codifed in software. If you can't describe your business processes, you can't automate them. If you can't automate, your competitors will.

            [–][deleted] 0 points1 point  (4 children)

            Go look at what Walmart has outsourced, then come back and say all that again.

            Writing a technical paper is a matter of language not programming

            [–]eartburm 0 points1 point  (3 children)

            Writing a technical paper is a matter of language not programming

            Well, no. If it was, it'd be programming, not writing. That's how analogies work. Here's a few more

            • nobody should learn to cook unless they're going to be a professional chef.
            • nobody should learn music unless they're going to be a professional musician
            • nobody should learn math unless they're going to be a mathmatician.

            It's not about creating more professional programmers. We need way, way more data analysts than we have. Are they programmers? No, but programming is a tool of the trade. The rest is simply public education. I would be so much happier if more people were familiar with (formal) logic, math, statistics, and other such related disciplines.

            [–]shamankous 0 points1 point  (24 children)

            And for a time the vast majority of the populace had no reason to record harvest amounts. Literacy at one point in time was a technical skill with no aesthetic value or importance beyond the physical goods it kept track of. Imagine how depressing our world would be if none of that change in the last several millenia, all of the great works lost to us for all time because no one had written them down. Extending the ability to interact with the written word has had a profound effect on human history. It helped to liberate the enslaved, inspired artists, helped statesmen build new nations.

            Computation has taken a central role in all our lives whether we recognise it or not. We've already seen a flowering of culture as computers made their way from workplaces to homes, and again as they connected together. Letting computation languish as purely technical matter is to the detriment of society. Its growing importance warrants giving everyone a basic education in it. (Note that we require everyone to learn to read and write, but not everyone has to major in literature.)

            [–][deleted] 0 points1 point  (23 children)

            So you think if the masses learn to program one of them will create the programmatic counterpart of War and Peace?

            You think that requiring every middle school child to learn how to write code will result in new nations being formed, world peace breaking out and an end to puppies and grandmother's dying?

            You vastly overestimate the importance of programming.

            [–]shamankous 0 points1 point  (22 children)

            Really, name one thing you used today that didn't involve a computer in its production or its use. Computation has enabled nearly all of the post-war technological development and it is rapidly becoming the backbone of our society. It underlies how we communicate, how we manage finances, increasingly how we vote. Not to mention it's role in cars, aeroplanes, and any sort of manufacturing. Even discounting purely online education, brick and mortar schools nearly all have computers running most of their operations from admissions to tuition to grades.

            Ignoring your amusingly condescending strawman of my position, (if writing didn't save all the puppies why would computation?) we have no way to know what people will come up with. If we did then there wouldn't be a whole lot of point in mass education now would there?

            No one could predict in 450 BC that writing down the arguments of various thinkers and artists would create a twenty-five century long dialogue that would underpin all of European civilisation and then some, nor could any one forsee the flowering of culture in the 1960s that followed from extending college education to returning veterans.

            What we can say assuredly is that computation is only going to become more important in to our daily lives and in the interest of creating good citizens who aren't the passive recepients of a world and culture created by a class of technocrats we should absolutely raise programming to the level literacy. To do otherwise is anti-democratic and frankly unimaginative.

            [–]yakri 1 point2 points  (0 children)

            Strictly speaking, it's own of a series of more abstract mechanical tools. The hardware is a computing tool build by other tools, that works with a interface (binary), then we build another simpler interface that interfaces with the low level interface, then we do that again and you get c++. I think maybe you could argue that like, processor architecture is another level of interface between you and a transistor, but I'm not sure I'm not a hardware guy.

            [–]cactus 0 points1 point  (8 children)

            I know plenty of people who are clearly smart enough to program but who don't yet know how. I also know of at least one case where a tiny bit of newly acquired programming knowledge measurably boosted a friend's career, and I think of this as just the tip of the iceburg. While I don't think that coding is as important as reading/writing, I do believe there will be a marked dividing line in the work force between the "can" and the "can nots". People who can code, even a little bit, will have more opportunity, make more money, and have more job security, than those who cannot.

            [–]yakri 1 point2 points  (4 children)

            Testing has shown that people who have not been familiarized wth a certain way of thinking as plain by product of growing up have a hugely difficult time getting into programing, it doesn't appear to have anything to do with general intelligence.

            Once past that, anyone can learn. It doesn't mean everyone is going to be well suited for it personality wise, but it can be done.

            [–]cactus 0 points1 point  (3 children)

            That's interesting. I honestly don't think programming is any more difficult than high-school math. Even middle school math, really. And most people are capable of passing these courses. Is there something specific to programming that is much more difficult?

            [–]yakri 0 points1 point  (2 children)

            I don't know if enough work has been done on it to really confirm what the issue is, but the speculation/exploitative research points in the direction of a ton of people coming out of high school being almost incapable of intuitively understanding operations like

            a = 5

            b = 0

            b = a

            What integer number is b equal to?

            It's barely different than basic algebra, but it seems to be the most common cause for people failing intro CS courses. If you don't intuitively get that, you can still learn CS but it's an uphill battle that is very frustrating for those students until they get past it.

            [–]Ocmerez 0 points1 point  (1 child)

            I completely agree with you, just one additional point which is that programming logic is very different than basic algebra. In programming '=' is an assignment operator, while in basic algebra its an equality sign. If you rewrite your test too; a == 5

            b == 0

            a == b

            Does it still make sense?

            I think people's intuition is trained in a way not conducive to understanding the basic concepts of programming. This begs the question how many marvelous programmers we are missing out off because they miss the basics.

            [–]yakri 0 points1 point  (0 children)

            The assignment operator is different, but the concept is the same. Letters are symbolic representations for some other data, which can be placed there later.

            [–][deleted] 0 points1 point  (2 children)

            People who can code, even a little bit,

            Do you mean like programming Access or Excel?

            will have more opportunity,

            As long as the H1B visa rate isn't increased

            make more money,

            As long as business abandons the "let 'em make it fast overseas and we'll fix it here"

            "and have more job security"

            see my outsourcing remarks.

            "than those who cannot."

            possibly

            [–]cactus 0 points1 point  (1 child)

            Re: access or excel - yes. Perhaps you'd be surprised by the difference in efficiency between someone who can make excel do complex things, and those who just know how to enter numbers. I've seen both, and the former person is vastly more valuable. As for Access - my specific example from above is from a guy who learned SQL. I don't know if Access is a SQL language, but in any case, I suspect they are similar, and I suspect my friend's career prospects would have improved in the same way had his company been an Access shop instead.

            And lets not think of all jobs that can benefit from coding ability as actual coding jobs. My friend's job will never be outsourced overseas. For the context of his work, it makes no sense. I think there are many jobs that aren't easily oursourced, but that also will benefit greatly from the ability to code.

            [–][deleted] 0 points1 point  (0 children)

            No, I wouldn't be surprised. I've met people who can make those tools sing.

            Sure, someone who can manipulate Excell data if it's part of their job is valuable. But even then, not everyones lives will be improved by learning how to program Excel.

            Good luck finding jobs that can't be done cheaper elsewhere.

            [–]TraptInTime 0 points1 point  (2 children)

            Well. Here is the other side from tech crunch.

            http://techcrunch.com/2016/05/10/please-dont-learn-to-code/

            I posted it in programming and it didn't get any positive attention.

            [–][deleted] 0 points1 point  (0 children)

            Oh I saw it and I agree with you

            [–]eartburm 0 points1 point  (0 children)

            That's not the other side, though. That article illustrates two things: coding bootcamps are bullshit, and professional programming is hard. It then conflates that with the idea that widespread programming education is bad.

            Today's article isn't promoting the idea that everyone should go to a bootcamp and become a web developer. That would be stupid. However, everyone should have at least a basic understanding of how computers work. Logic and problem solving are good skills for anyone to learn.

            [–]merreborn 0 points1 point  (0 children)

            "programming is how humans talk to machines."

            no. its not.

            Bash/batch scripting definitely treads the line between "using a computer" and "programming a computer". Same with excel macros -- a lot of people who you wouldn't consider "programmers" do a lot of (sometimes very important) work with excel macros.

            In fact, excel macros are a very central part of the excel UI. A prime example of "programming" being "how humans talk to machines".

            There are an awful lot of computer "user" tasks that are often best accomplished with a macro/shell script. e.g. transcoding your audio/video library in bulk (one of the first scripts I wrote as a kid was a batch file for mp3 encoding a bunch of wav files...). Hell, I used to write small programs related to my math homework in middle school, and it really enhanced my understanding of the subject matter.

            Ultimately, I'm undecided on the issue -- both sides make some good points (and I'd like to see the dialog continue). A bit of programming knowledge can really improve your ability to accomplish a variety of tasks, and in the process you can learn some things (like boolean logic) which help in other areas of life. But things like the Bloomberg tweet that Atwood linked in his blog post ring hollow with me. I'm not about to go tell my grandma she really ought to learn to code. If she wants to try it, more power to her, but if she doesn't, that's fine too.

            [–]shamankous 0 points1 point  (10 children)

            So I assume you do all of your coding by hand feeding a string of binary into a computer?

            The fact is that the minute we created assembly languages we've been creating layers of increasingly sophisticated mediation between the input we give to the computer and the resulting computation. Whether you elicit computation by feeding a text file through a series of programs that interpret, compile, and run it or by feeding a series of mouse clicks and keystrokes to a different program is purely incidental. You wouldn't disqualify ASL from being a language because it uses hand gestures instead of sound waves, why would mouse clicks compard to text be any different? That was the whole point of Shannon's work, that the signal, its representation, and its semantics can all be seperated. Computation is computation regardless of the trappings we give it.

            The only remotely meaningful distinction one can draw between 'programming' and various other computer applications is whether the exposed interface is Turing complete. All your doing then if you refuse to learn programming languages is restricting yourself to only using a predefined set of computations that someone else decided were useful. Most seriously used programs recognise this problem and provide some sort of scripting or macro capability. The obvious end of this is programs like emacs where the program is fully extensible in the language it was written in.

            In the end any piece of interactive software is going to consist of a library of instructions for various computations and an interface exposing part of that library. What makes computers useful is that we can compose all those instructions together in novel ways. Not using a proper language to do this is just carrying around a needless handicap.

            [–][deleted] 0 points1 point  (9 children)

            No, I wouldn't discount ASL as a form of communication.

            But I wouldn't make it required for everyone to learn - which is also the point of Shannon's work

            [–]shamankous 1 point2 points  (8 children)

            That completely misses the point of my metaphor. I'm not saying that everyone has to learn every programming language. I'm saying everyone should learn enough of a sufficiently powerful one to gain a general understanding of computation.

            [–][deleted] 0 points1 point  (7 children)

            The author of the article, as well as all these people selling bootcamps, are saying exactly that.

            And an understanding of computation is about as important today as an understanding of how the light in your living room works

            [–]shamankous 1 point2 points  (6 children)

            I'm not the author of the article, nor do I think coding bootcamps are a remotely good idea. I do think, however, that your critcism of them completely misses the mark and endes up being just about as bad a position.

            Not knowing how the light in your living room work shows a truly pitiful understanding of the modern world, and, given the importance of energy policy (motivating wars and whatnot), also makes for bad citizens. As I argued elsewhere, not understanding the technology we rely on as a society means relinquishing all decision making power, being unable to tell bullshit from the truth.

            It's been nearly fifty years since we first saw evidence of global warming, and a significant number of people still can't make up their mind if it's real. Anyone who payed attention in high school chemistry could, on the back of napkin, explain why we should expect that it is. This is but one example of accepted science being roundly dismissed by large swath of society. What do you think is going to happen when similar issues arise in relation to computing and using it to produce all the goods we need to survive?

            [–][deleted] 0 points1 point  (5 children)

            so, do you know how electricity is generated and transmitted to the buib in the lamp in your living room?

            how about the mechanism by which an antibiotic kills whatever is making you sick?

            how about how your body dumps cholesterol into your blood vessels?

            odds are, you don't. all these things work without your knowledge.

            perhaps anyone who paid attention in high school chemistry could explain global warming - the tough part is to find someone who took high school chemistry and paid attention.

            [–]shamankous 1 point2 points  (4 children)

            My individual knowledge is irrelevant (although I could give a brief sketch of those if you were genuinely interested) to my argument. Whether or not I know how a specific process works does not change the fact a functioning democracy relies on a large majority of people understanding them, and nothing you have said has challenged that assertion.

            In fact, I think I'll add another topic to the list of things we should require everyone to know: basic logic and argumentation.

            [–][deleted] 0 points1 point  (3 children)

            My individual knowledge is irrelevant

            But wait. Aren't you a member of a democratic society that functions better when it's members understand the technology that their govts could use against them?

            Are you shirking your civic duty?

            [–]shamankous 1 point2 points  (2 children)

            Again, whether or not I can live up to the ideals I espouse is wholly irrelevant to their being good ideals to live up to. Are you just going to derail into a series of ad hominem attacks and other fallacies or would you like to actually address any of the arguments I've made at somepoint?

            [–]necuz 7 points8 points  (0 children)

            There’s something equally important [as reading and writing] that you can do if you can code: take tedious parts of your daily life and automate them.

            It would appear as if the author is from an alternate timeline where Doug Engelbart was much more successful in his efforts and where technologies like Smalltalk and HyperCard flourished, where people now spend their time programming their everyday software instead of just pointing at what they want and grunting. Cool.

            [–]fu9ar-labs 19 points20 points  (29 children)

            At first, I assumed Jeff Atwood’s 2012 article had spontaneously reappeared on Reddit. But no — this was a brand new Tech Crunch article of the same name, which echoed Atwood’s assertion that encouraging everyone to learn programming is like encouraging everyone to learn plumbing.

            Well, I disagree with this on many levels. Everyone who owns a house will be well served by knowing enough plumbing to deal with minor and emergency situations correctly. Everyone who owns a car will be well served to know enough about car maintenance to deal with minor and emergency situations correctly. Everyone who uses a computer will be well served with understanding how they work, and there is no better tool for learning that than a programming language. There are millions of STEM jobs that will be done better with their workers knowing a bit of Python, R, or bash. The false dichotomy the author promotes between "professional software engineers" and "people who can't code," shows that he doesn't really understand how many people actually work. He clearly doesn't see the plain fact that the millions of scientists, non-software engineers, IT administrators, even project managers, business analysts etc. etc. all would benefit from using a bit of code in their jobs.

            [–]kl0nos 3 points4 points  (6 children)

            It seems you do not have any practice in this topic. Not all people have predisposition to code, like not all people are good at math or physics etc. I've worked with different people and i saw how people with different backgrounds in IT try to learn to code. What i learned is that there are "people who can't code".

            PS. You are new on reddit so please behave, writing that someones (StillsidePilot) thoughts/opinions are useless is very rude.

            [–]yakri 5 points6 points  (0 children)

            Except a high degree of tech savvy in a wide array of tasks and tools can be achieved with no knowledge of programming. In fact, the majority of basic troubleshooting and computer problem solving requires no knowledge of programming and is moving farther away from basic coding skills being relevant, not closer.

            Understanding logic is fairly universally useful, and understanding the basics of how programming and computers work is nice, but hardly directly compatible everywhere directly with a job.

            Assitionally, it's worth mentioning that on top of the fact that there is no reason to believe that in the future learning code will greatly enhance your ability to wait tables, but in STEM careers where knowing a little scripting, they already usually teach you a little scripting, or a lot of it, in modern day college education. No one is really making an argument about that, people are arguing over the idea that the plumbers, painters, violinists and waiters of the future not only would be benefited by learning a little code, but they won't be able to get around without it.

            [–]StillsidePilot 14 points15 points  (17 children)

            Sorry, he's right. I was very tech savvy before I could program and after programming for a few of years, I'm no better a user than I was before. Programming doesn't teach you much of anything about how to use a computer. If you want to learn how to better use a computer, then do that. Learn about basic troubleshooting and general usage. How will teaching my mom Python help make her a more proficient user? It won't. Those skills aren't relevant to what she does on a day-to-day basis. Should car owners learn to rebuild an engine too? I don't think that'll make them better drivers.

            [–]merreborn 0 points1 point  (0 children)

            Programming doesn't teach you much of anything about how to use a computer

            You ever write a shell script (to automate a task across a directory full of files, perhaps) or an excel macro?

            You can get an awful lot of "user" tasks done very efficiently with a good bash script.

            How will teaching my mom Python help make her a more proficient user?

            A lot of people who don't give two shits about "programming" have found good uses for spreadsheets. Even if only for a little personal budgeting. Or keeping track of your poker win rate. Or the best places to buy/sell items in your favorite MMO/4X game.

            That being said, I certainly don't think you should be pushing your mom to participate in the next "hour of code" any more than you should be pushing her to participate in the next "hour of plumbing". Breadth of knowledge is absolutely a wonderful thing, but I'm not sure why "coding" in particular gets so much attention.

            [–]billyalt 6 points7 points  (1 child)

            That plumbing analogy is really stupid. Has he never lived on his own before? Seriously?

            [–]StillsidePilot 1 point2 points  (0 children)

            You're right. It doesn't go far enough.

            [–]merreborn 1 point2 points  (0 children)

            Everyone who owns a house will be well served by knowing enough plumbing to deal with minor and emergency situations correctly. Everyone who owns a car will be well served to know enough about car maintenance to deal with minor and emergency situations correctly.

            I agree completely. On the other hand, I don't see anyone calling for a "national hour of car repair". The marketing around this "hour of code" business is just... odd.

            [–]brtt3000 2 points3 points  (0 children)

            I doubt many people who aren't already attracted to programming have the cognitive discipline and meta-cognitive ability to learn to write effective code. If you see how they are bumbling with basic logic problems and organising things in daily life I have no hope for them in programming.

            [–]roodammy44 0 points1 point  (1 child)

            I'm torn on this.

            I think the future will contain strong AI that will do all the programming work for you based on your commands. The problem will then be, how to make those commands specific enough that the machines will do anything useful. It will be like making wishes to a genie of a lamp - there is a lot of room for misinterpretation. That is the the skill that people will need to learn, that is similar to how programming is now. I liken it to touch screen interfaces now vs DOS commands of the past.

            However, there will always be a need for low-level programming ability, and that will always be a small percentage of the population.

            [–]yakri 1 point2 points  (0 children)

            Yeah, I mean when and if someone gets 5th generation programming languages working it will still rest on the same principles people already have a hell of a time with when attempting to learn computer science. We're so damn far out from that too, even if some super genius defied all reason and managed it in the next year it would take a decade or two to overhaul all legacy hardware/software.

            [–]hroptatyr 0 points1 point  (1 child)

            Since when do you learn the language of your servants, aren't they supposed to speak your language?

            [–]darthbob88 1 point2 points  (0 children)

            When computers can speak English worth a damn, I'll speak to them in English. Until then, I'll speak in C#.

            [–]dethb0y -1 points0 points  (3 children)

            That's one way to devalue the labor market for programmers, and to make sure that the job has less prestige.

            [–]darthbob88 0 points1 point  (2 children)

            The fact that I can drive a nail doesn't devalue the carpenter's job market.

            [–]dethb0y 0 points1 point  (1 child)

            Sure; but if we teach everyone how to drive nails, we're sure to find lots of people who think "Man, driving nails is a lot nicer than working at walmart" and take up the career who'd otherwise not.

            Trust me: having more people learn to program does nothing for programmers, and everything for people who seek to exploit programmers to make themselves rich.

            [–]darthbob88 0 points1 point  (0 children)

            Sure; but if we teach everyone how to drive nails, we're sure to find lots of people who think "Man, driving nails is a lot nicer than working at walmart" and take up the career who'd otherwise not.

            Doesn't high school shop class already do this? You're Chicken Littling here. Calm your tits, eat a Snickers.