I don't think that everyone should learn to code. That's pretty idealistic and far fetching idea. I can get behind "Everyone Should Understand Basics of Computer Behavior" or something like that (there's probably a proper phrase/name for that).<p>I'll explain it with following example:<p>You know how sometimes if you're "good with computers" your relatives or friends might ask you to help with some application? That's where "Understanding of Computer Behavior" helps. You don't have to know every single application - and you can't, but by knowing fundamentals of computer behavior you can deduce what you need to do to accomplish required task.<p>Maybe that's not even a separate ability, but good old logic?
I think everyone should in the Heinlein "specialization is for insects" sense, along with sonnet writing/manure pitching etc.<p>I think everyone should spend more time making things they can love. If you think software is a thing you can love, then sure. I also understand a lot of people are too tired after working three shifts at minimum wage jobs to make things they love, and I think thats a problem.<p>I sometimes see "Everyone should learn to code" proposed as a solution to unemployment/decrease is skilled labor, but its not a very intelligent solution. The labor market only needs people who love coding. A large group of people who are doing it because they 'should' can't be supported by the current market.
I share the opinions of the other comments: We have our subjective world view and it is easy to get lost in it and think of it as objective and thus overestimate the importance and benefits of knowing how to code.<p>That said, I still think, that for some types of children learning to code is a nice way to learn logic and mathematics, because it can be applied and is not some school stuff in their mind you have to learn for the sake of learning it.<p>For college education, my view is a bit different: These students are going to work in an environment where more and more parts are automated by software. I often had clients, who had not even a basic understanding of how an application is structured.<p>Just recently a client of mine let his "computer guy" talk to me, who designed a web form in dreamweaver and therefore thought most of the job was done. I think many people have this UI centric view and it seems highly beneficial for them to understand some basics of validating, processing, saving and securing data if they have to deal with software in the future.
No! Absolutely not!<p>Why? Because i am an average mediocre programmer, i work 9-5 read on hacker news, have 3 small and crappy side projects and i suck monkey balls on design and css/html. Most of my skills are about fetching and massaging data from a database.<p>If everybody knew how to code my skills would not be a novelty anymore and my salary would not as high as it is now, also in my country being a programmer is seen as an advanced job among common people i would loose the little social status i currently have.<p>My paranoid mind already thinks that there are way too many smart people graduating with cs degrees and i sometimes wish that i was a programmer in the early 90s when people who wanted to learn to code were few in numbers and people with economics degrees where not able to learn rails in 3months.<p>I also strongly believe that in a nearby future programmers within my skill set and capacity will be replaced or just function as simple configuration admins with lower salary, as engineers makes implementing software easier by every year.
The saying "Everyone should learn how to write" is the same sort of thing. It would be great if more people were able to write well, but the reality is one must put in some effort to be effective at any skill.<p>Should everyone learn how to code? It would be nice/cool if everyone did, but it is probably not plausible.
I don't really agree with this logic. It can be applied to anything. For example Marketing is everything in life. How you create your personal brand, your company brand, what is your target audience (even on dating, it's neccessary to know), your key metrics to understand how you are doing and what to improve. More seriously though, it would be beneficial for everyone to learn but should is a strong word. There are far more important things for everyone to learn and coding, while ranking high is not one of the top.
In favor.<p>Everybody in my highschool class learned how to program but I'm the only one who ended up being a programmer. I'm really not concerned about competition. Learning a thing and than doing a thing for the rest of your life are two different pair of shoes.<p>If more people had insights in what programming entails, we would have less stupid requests by clients who have not even the faintest idea how things work, how long they take, and that programming can be quite complex or complicated.
It's a nice shorthand for "everyone should learn to think algorithmically or procedurally". I think it would be easier to learn this kind of thinking while or after learning a specific programming language. And the best way to learn a programming language is to learn to program, or to code.
Everyone should try it in grade school to find out if it matches their natural interests and ability. We had logo in the 80s. Most kids were disinterested, but some were very interested and were identified early on.