6 ms·
This 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
by singular 16y ago
This 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.
- hackerblues 16y agoI am 23 years old and today I watched a youtube video to learn the proper way to cut up an onion. I cook a lot with onions, maybe two or three times a week, and before today I didn't know how to dice an onion except to slice it into rings and then hack at it a lot. Seriously. Is this evidence that I am fundamentally unable to cut an onion? No. After I watched the video I went and did it. It's just that in the past I knew enough to get the job done and so learning anything more on the topic didn't have a huge priority.
- commieneko 16y agoI have spent hours in a class room trying to teach adults to reliably save a file in a known location and later open it. How to create folder to hold related files for a project. Some students are insulted by the simplicity of those exercises, but others _never get it_. I can walk them through the motions, draw tree diagrams till we are all sick of them. Some times I can train them to recreate a particular example, but they are still unable to generalize what is going on. And the are not dummies I'm talking about.
- rokhayakebe 16y agoIn many ways it's in fact insulting to software engineers to suggest that 'anybody could do it' - then what, exactly, do we do? You miss the point, so let me rephrase it for you. A few centuries: A: Everybody should now Mathematics. You: It's an insult to us, not everyone can understand discrete Math. A: Dude I do not mean they should know how what graph theory is, I am just saying they should know basic math so one they can become bank tellers, do their own basic finance, measure how much water is in the cup etc... Edit: I am a firm believer that only a certain % of the population are able to think in that funny way we programmers do. Wrong. Anybody is able to think like a programmer. It is not as if programmers, doctors, or physicists were born with certain brain functions that others lack. Every single professional developed their skills over time. It makes more sense for a athlete to say "not everyone can do what we do", then it is for an engineer to say the same. That being said, I have admiration and respect for what software engineers can do.
- singular 16y agoYou miss the point, so let me rephrase it for you. [snip] Okay, well if that is indeed all that is being suggested - fine and I couldn't agree more - but it is so often the case that people want more than the simple system allows them, very quickly in fact. Seriously, look at any work MS access sheet for evidence - without fail things get very complicated very quick and in the end a developer has to sort it out. Wrong. Anybody is able to think like a programmer. [snip] We are just going to have to agree to disagree on that. I totally agree that it is largely about work, lots and lots of hard work (I'm a developer myself, so don't I know it); but there is a certain kind of structural way of thinking about things which I just don't think most people possess, in the same way that most people don't possess the type of mind which just 'gets' music. Talent is totally overrated, but it it is a pre-requisite to being able to do difficult things. And yes, I do think that is literally being born with a certain type of brain, or at perhaps also early life too to some degree...
- civilian 16y agoTo go with the cult of Myers-Briggs, it's because they're NTs. Still, we should encourage all students to go through at least one programming class in high school. We don't want to lose any potential programmers from not exposing them to programming.