4 ms·
We're All Coders Now: Why everybody should learn to code
- woid 16y ago"Software, after all, affects almost everything we do. Pick any major problem—global warming, health care, or, in Finnegan’s case, highway safety—and clever software is part of the solution." what? global warming? A simple reason why people should learn to code os because then they get independent, they don't need to work that much, machines will do.
- brudgers 16y agoReminds me of the old saw, "There are two types of computer users: programmers and victims."
- singular 16y agoThis is such a common idea brought up time and time again - the problem is that most people can't program beyond a very simple level. The fact is that once you get past the simplest level, you are effectively programming, whether or not the interface is designed for 'non-programmers' - and all that complexity you can't get away from remains there (i.e. the essential complexity of the problem at hand), as well as accidental complexity arising from the fact that as soon as you make it easy to do a certain thing, other things become more difficult in any programming environment. You only have to work in an internal IT dept. where the users have access to excel/access to realise the impossibility of this goal. In many ways it's in fact insulting to software engineers to suggest that 'anybody could do it' - then what, exactly, do we do? We are a victim of our own success - applications look almost, straight-forward to users they have no idea the complexity involved in getting just about anything substantial working. Having said all that, I think encouraging people to use their computers more effectively is great - they just have to accept that programming is actually hard. You can pick up a guitar and play a lick, badly, very early on. Actually becoming any good is way, WAY harder. I am a firm believer that only a certain % of the population are able to think in that funny way we programmers do (I recall Knuth suggesting it was 2%) - that's not an ego thing, just literally that we lot have the right 'type' of brain for it.
- kondro 16y agoAs a software engineer, I disagree. I think more people should spend more effort learning how to write software. Every day I see people doing jobs that would be better completed by automated systems, or human-assisted automated systems. If these end-users would 'wake up' and realise that every time they do something more than once they can automate the task, they would live happier lives. I think problem solving, researching and programming skills should form part of the core curriculum for school-aged kids. Learning to learn and research are much more valuable than being able to recall facts that will be forgotten 5 minutes in the future.
- singular 16y agoThe question isn't whether it'd be great for people, I agree it would, but rather whether it is at all possible - I honestly think people wouldn't be able to do it beyond a simple level. It's hard to say that without sounding patronising, but I think it's unfortunately true! However, I think there is a great deal of power available in allowing users to provide some simple level of control, i.e. via DSLs.
- commieneko 16y agoYou would be surprised how many normal adults simply cannot reliably save a file in a known place, much less retrieve it. I'm not talking about dummies either. Try teaching some community education classes some time, it will give you a enhanced appreciation fornthose who design user interfaces for things like ATMs, pointnof sale systems and such. Kids do do better than adults, but the are learning a particular set of interface conventions, and worse they are learning it as a language, rather than as a set of abstract principles. When the paradigm changes they often have just as much trouble as their parents.
- singular 16y agoA real-life example:- a significant chunk of people I have worked with, who are working with computers every day, don't know how to open an application if the application's icon does not appear on the desktop. Seriously.
- commieneko 16y agoYears ago, we're talking late '80s, I would take normal office workers, with essentially zero computer experience, and have them creating useful applications with Apple's HyperCard in a few weeks. It was tremendously useful, but not with out pitfalls. One worker would make a tool, say a bibliographic utility, another worker would think this is great and get a copy and immediately start making their own modifications and mutation. You can see where this is going... Still I can see that with better tools and some type of data authority, users could greatly benefit from being able to roll their own apps. I had hoped that the web would offer the same the same types of opportunities, but web programming quickly became a mess, or more charitably, too complicated for general office workers to program.
- kondro 16y agoOh, that's the other core tenant that normal office workers need to be taught. Source/version control. The amount of issues I've had with exchanging and modifying Excel/Word documents via email with groups of people is uncountable. Some basic understanding of version-controlled file-systems (like git or svn) with users writing actual comments on how they have modified their files would make this type of editing much, much easier.
- commieneko 16y agoSource control for office documents would be great, but git, svn, your favorite flavor goes here, are NOT suitable for general office workers. It's possible some type of shell or scripting interface could be slapped on, but it would need to be so thoroughly tested and bullet proof that you would probably be better to use a tool developed for that environment.
- kondro 16y agoI don't see why not. It isn't rocket surgery. I say, if you employ smart staff, they can learn new things and smart staff always provide more value than cheap staff.
- Isamu 16y agoEveryone should be given the opportunity to create their own solutions, in the space that is currently called "programming". Maybe this is a contrary point of view, but I think very little has been done to enable this for everybody. The op seems to think everybody should man up and learn one of the current generation of languages. I think the whole space of end user programming is mostly unexplored.