Slashdot Mirror


Literacy: Natural Language vs. Code

sirReal.83. writes "The Guardian has an article by Dylan Evans, author of Introducing Evolutionary Psychology. The article discusses literacy in computer languages, and suggests that we are in the 'technological middle ages.' Cuddly UI's are the manifestation of wishful thinking; just as we try to make computers to adapt to us, we must adapt to them." Some good points are raised, with the example of the command line interface used, which is a much better choice than, say, an array of switches or a punch card.

534 comments

  1. Empowering users with the command line by Nooface · · Score: 5, Informative

    For a more in-depth discussion of this topic, see Neal Stephenson's essay In The Beginning Was The Command Line.

    --

    Nooface
    In Search of the Post-PC Interface
    1. Re:Empowering users with the command line by mesocyclone · · Score: 4, Insightful

      It's unfortunate tyhat Stephenson, in that essay, seems to believe that Gates and Allen invented the idea of selling software. It is so typical of the PC generation that people imagine that if the first person to use an idea on a PC invented it.

      A relative of mine was selling software in the early '60s. I worked for a company selling software in 1971. I wrote a command line interface for a teletype in 1969, and first used one in 1967.

      Likewise, I first used saw a hyperlinked GUI presentation at a FJCC in 1967 or 1968.

      As far as the article that started this thread, it is idiotic. It was either done by someone who has no clue about software engineering, or who suffers from recto-cranial insertion. Probably both!

      People have been trying for a very long time to figure out how to KEEP folks from having to know all the dirty little details of computers.

      By the logic of the article, we should also all become logic engineers, and then solid state physicists, and finally wave Shroedinger equations around to understand how the computer REALLY works. Those of us who have done all of that still end up specialists who don't do more than a tiny bit, and those who are not specialists in that area don't need to know it, or even know that it exists.

      I tell folks who really want to know how a computer works to learn assembly language, and then study the internals of an OS. Then they at least understand what a computer *does*. But they still don't know how to build one, nor should they!

      Personally, I use command line for most of my work - cygwin on Win2K for most, Linux for some. But I would NOT want my wife to have to use it, nor my daughter the neuroscientist!

      --

      The only good weather is bad weather.

    2. Re:Empowering users with the command line by God!+Awful+2 · · Score: 0, Redundant

      Well said.

      -a

    3. Re:Empowering users with the command line by Anonymous Coward · · Score: 0

      People have been trying for a very long time to figure out how to KEEP folks from having to know all the dirty little details of computers.




      Machines have been trying for a very long time to figure out how to KEEP folks from getting to know all the dirty little details of the matrix.


    4. Re:Empowering users with the command line by bockman · · Score: 1

      I Agree 100%.
      But here it is another thought: computers today are under-used and mis-used (at least around here). If more people (not computer scientists and engineers) would know more about what a computer is, they could come up with some good idea about how to use computers in their work/hobby/life.
      In this sense, increasing computer literacy could empower the users.

      --
      Ciao

      ----

      FB

    5. Re:Empowering users with the command line by Anonymous Coward · · Score: 0

      Thankyou. It was very much required.

    6. Re:Empowering users with the command line by EvilTwinSkippy · · Score: 1
      I agree. By logical extension of this argument a mechanical engineering degree would be required for your driver's license, and a medical degree required to apply a band-aid. And don't get me started on toilets.

      Really folks, life is about getting down to what you want to do. I love fiddling with computers in the same way some people fiddle with woodwork or knock a perfectly innocent white ball around a grassy field with holes in it.

      I would much rather have folks focus on what they are genuinely interested in. If for nothing more than it allows me to do what I like to do.

      --
      "Learning is not compulsory... neither is survival."
      --Dr.W.Edwards Deming
    7. Re:Empowering users with the command line by Anonymous Coward · · Score: 0

      Assembly language is for wimps, real MEN get dirty with the Hex! Grrrrrrrrrrrrr!

    8. Re:Empowering users with the command line by Anonymous Coward · · Score: 0

      There's a lot of truth to what you say, but there is also a real need to make some parts of programming easier.

      A lot more people would benefit from computers if scripting languages were simple and easy to learn. I have a Biology/Chemistry graduate friend into Bioinformatics (did her Honor's thesis in it) and she has come to me for help in making a computer do what she needs it to. She's very sceptical and denies completely that it is even possible for a computer to do a majority of what she does, which really confuses me. I gave her examples of Perl, Python, Java, C, and Lisp and let her choose what she wanted. She chose Python in the end, but I think even Python isn't very adequate. This isn't just try of bioinformatics by a long shot. Clients will come to me asking for simple VBA scripts that will automate document generation.

      So, this has lead me to some questions that maybe some people on /. may have some ideas or information about.

      Is there really any effort out there actually aimed at programming for the end user?

      What kind of constructs would be best for the average end user?

      Keep in mind that end users didn't really get the idea of directories until an anology to filing cabnets was made, and now everyone thinks that a peice of information is a file when it could be a record in a database.

      What kind of unified way of accessing information could be made in order to not confuse a reasonable user?

    9. Re:Empowering users with the command line by Anonymous Coward · · Score: 0

      I don't think that's the point. While it shouldn't be _required_ to have a mechanical engineering degree to drive, you shouldn't be forbidden from getting a degree and taking apart (and sometimes putting them back together), modifying and designing cars (BTW a guy with a mech eng degree would design cars, mostly, a guy in an auto shop is a "mechanic", a job not necessarily requiring degree qualifications...)

      Closed Source, "black box" software and, worse, DRM, is an attempt to make it _impossible_ to really get to know the insides of your computer. It is just like the middle ages, when stone masons kept the secrets of how to build things to themselves in "guilds", and so on. We really are in the "information middle ages".

      The people pushing hardest for intellectual "property" laws are the ones who consider themselves our feudal overlords - the "Corporate executives".

      Ultimately, the pursuit of Science is fundamentally at odds with IP. Here's to hoping science wins.

    10. Re:Empowering users with the command line by Anonymous Coward · · Score: 0
      I tell folks who really want to know how a computer works to learn assembly language, and then study the internals of an OS. Then they at least understand what a computer *does*. But they still don't know how to build one, nor should they!

      I disagree with this. I write software for embedded systems, so I have to work with the bare metal a lot of the time; but if I had the time and the food, I could build a computer from scratch (designing/debugging the circuit board, and soldering all the parts by hand), write an operating system, and keep on building it up until I had a complete GUI.

      The chances are I'd get bored several times before I finished, and linux 5.8 would have arrived by then too; and admittedly, I'd probably only base the system on a fairly low frequency 680x0 chip; but the fact remains that I have a detailed understanding of a wide range of fields, and they all aid me in the work that I do on my "tiny bit".

      As far as I am concerned, I SHOULD be involved in a constant search for knowledge in an ever wider range of fields.

      Come back next week to find out how I move from combinatorial mathematics to an exegesis on William Blake. ;-)
    11. Re:Empowering users with the command line by xmedar · · Score: 2, Funny

      nor my daughter the neuroscientist!

      Given that the current pole is Internet dating, may I ask if your daughter is

      a) already attached
      b) under 35
      c) cute

      And no, I've never done this before, honest!

      --
      Any sufficiently advanced man is indistinguishable from God
    12. Re:Empowering users with the command line by mesocyclone · · Score: 1

      But we aren't talking about you!

      I also write software for embedded systems, and could (and have) designed computers from hand (including PC layout and soldering in the parts). Next to my desk I have a Tektronix scope, a digital mixed signal analyzer (2 analog, 8 digital channels), JTAG interface, 8 serial ports, signal generator, freq counter, DVM, soldering iron, solder sucker, various in circuit emulators and all the other goodies that an embedded systems lab should have (this is all in my home, btw).

      But the users of the resulting devices shouldn't know any of this! And even those who want to know how to program a computer IN DEPTH don't need any of this. Just give them raw silicon and the manuals and some help and tell them to build an RTOS and a simple App, and they will learn what *they* need.

      We are specialists and need to know this. But just like we don't need to know how to spay a dog in order to own one, others shouldn't need to know how all this other stuff!

      --

      The only good weather is bad weather.

    13. Re:Empowering users with the command line by mesocyclone · · Score: 1

      a: sorta
      b: yes (I'm not ancient enough for that to be false)
      c: yes

      --

      The only good weather is bad weather.

    14. Re:Empowering users with the command line by mesocyclone · · Score: 1

      We could go further.

      Real men get dirty with verilog.

      And real, real men are doing semiconductor quantum physics.

      It is a huge conceptual hierarchy. My deepest education in this is quantum physics for engineers, which is nothing compared to what my physicist friends took.

      To be a good programmer, you don't even need to know anything about chips or electronics, unless you are doing embedded systems or test and measurement or a few other specialties!

      To be a good programmer for most coding done today, you don't even need assembler language.

      To be a good architect, you should know the principles of and have an intuition for operating system internals, language concepts (i.e. not how to write in a language but how a language creator thinks), and a bunch of other stuff.

      To write application code, if performance isn't an issue, you need know nothing but the current environment you are in, the requirements of the application, and the basics of programming.

      --

      The only good weather is bad weather.

    15. Re:Empowering users with the command line by symbolic · · Score: 1

      Personally, I use command line for most of my work - cygwin on Win2K for most, Linux for some. But I would NOT want my wife to have to use it, nor my daughter the neuroscientist!

      Your comments, and the points mentioned in the article form what seems to be an interesting paradox: we want technology to make our lives easier, but in doing so, we are becoming victims of our own success. The more of it there is, the less we collectively know about what it does. All we know is what we see...it's what we don't see or know about that can lead to some rather disturbing scenarios - information being collected that we do not know about, used in ways that we do not know about. Knowing how computers work seems to be more a matter of being able to protect oneself from flagrant intrusions into our personal lives, than anything else. For most, I suspect it's hassle, but can happen in the absence of vigilance can be even more frightening.

    16. Re:Empowering users with the command line by sjames · · Score: 1

      I agree. By logical extension of this argument a mechanical engineering degree would be required for your driver's license, and a medical degree required to apply a band-aid. And don't get me started on toilets.

      The logical extension is that we don't need cars that drive themselves, band-aids that apply themselves, or toilets that just know when to flush.

      Most people are expected to know how to drive a car AS IS (unless physically incapable of it). Some really get in to it and go on to learn how to race a car, repair a car, stunt drive, or even design a car, but that's all consodered optional. Filling with gas and changing a tire are NOT generally considered optional. While those who can't drive are not looked down upon like someone who can't read, it is considered odd, at least..

    17. Re:Empowering users with the command line by Anonymous Coward · · Score: 0

      WEll this is the great truth that computers ought ot be eaiser to use. Big whoo-hoo. You have ot go from machine language to human somehow.. he talks as if he could erase the need to get from bits to an interface and no one has yet realized that. Come on. This is fluff in the extreme. Yes, we know computers have to be easier to use. You DO program your computer every time you choose an option on an option menu...

      He doesn't know what he's talking about, but it's not stopping him

    18. Re:Empowering users with the command line by ppanon · · Score: 1

      Hmm, perhaps an under-35 neuroscientist would be more interested in someone who can spell poll?

      --
      Laissez lire, et laissez danser; ces deux amusements ne feront jamais de mal au monde. - Voltaire
    19. Re:Empowering users with the command line by xmedar · · Score: 1

      Keyboard seldyia I'm afraid, had to type fast, before anyone else thought of it, and I didnt even get moded up as funny, oh well, I'm at the karma cap anyhow.

      --
      Any sufficiently advanced man is indistinguishable from God
    20. Re:Empowering users with the command line by sco08y · · Score: 2, Insightful

      As far as the article that started this thread, it is idiotic. It was either done by someone who has no clue about software engineering, or who suffers from recto-cranial insertion. Probably both!

      According to the article, the author cowrote an essay on the Matrix and evolutionary psychology.

      I guess that proves your point...

      But I would NOT want my wife to have to use it, nor my daughter the neuroscientist!

      I agree, but not because the command line is inherently hard.

      For example, it's great to be able to say:

      find . -name \*foo -exec rm \{\} \;

      That's not a complicated thing, and in fact nothing on the command line is actually difficult to comprehend.

      The problem is that there are far too many kluges that are regarded as l33t skillz, such as escaping and the proliferation of executable configuration files. (Being executable, of course, it's not possible to write a decent configurator for them.) Every program you use has a different way of doing things, and open source just makes it worse because it grants immortality to poor design decisions. To top it off, the terminal interface, the lamest interface ever concocted, is regarded as sacred by CLI luddites. (Oh, but I can make it 50% transparent!)

      The reason CLIs are used by so few is that a handful of zealots refuse to fix the bugs and insist on sticking to stupid POSIX anachronisms. So the rest of the world moved past them.

    21. Re:Empowering users with the command line by Anonymous Coward · · Score: 0

      The assumption that understanding comes through reductionist voyages into the guts of computation is mistaken in the world where the computer is the general purpose tool.

      The author seems to be (or perhaps i'm putting words into his mouth) drawing out the need to penetrate the convenient illusions provided by our tools. Once done, we can re-analyse, re-direct, and re-tool our problem solving efforts.

      When the interface is monolithic, providing restricted methods for accessing data (which is the why we use them, right?), the user is left to their own devices when processing.

      . . . ... 0G ... . . .

  2. Re:Why bother adapting? by Anonymous Coward · · Score: 0



    Well, I for one welcome our sentient computer overlords!

  3. sigh by russellh · · Score: 1, Insightful

    sigh. where are you, ted nelson?

    --
    must... stay... awake...
    1. Re:sigh by Anonymous Coward · · Score: 0



      And Ted Nelson would be who...? Your gay lover?

    2. Re:sigh by Anonymous Coward · · Score: 0

      Clearly, this person meant danson...as in Ted Danson.....as in Cheers.....as in Becker.....as in ~Emmy award winner.

  4. Incredibly foolish article by Anonymous Coward · · Score: 4, Insightful

    Microsoft is oppressing the masses with the GUI. Everyone must learn a scripting language in order to manipulate information. Suuuuuuure.

    Who the hell wrote this article, the union of all slashdot posts?

    1. Re:Incredibly foolish article by hellswraith · · Score: 5, Insightful

      I can't agree more. This about the most stupid article I could have ever hoped to see on this topic. I am sure some short sighted person said such things about the automobile when it first arrived. Probably something like "If you don't understand how your car works, and can't fix it yourself, you will be walking everywhere."

      Give me a break. Programming has become such a complex subject, that there is no way the majority of users could ever hope to achieve the level of proficiency needed to even code the simplest of applications. It takes a majority of coders 5-10 years to become 'experts'. That is why there are application developers, and the users they write applications for. If we (the application developers) do our job right, then we can satisfy the users needs without them having to know how to write code. This lets the users concentrate on using the applications that were written to perform other business needs that they will spend their time studying.

      To prove my point that this will never happen, I have an example. Out of the 40 people that started a Java class in my college, only 6 of us finished it. 34 couldn't keep pace and couldn't understand it. The class wasn't that hard. One chapter a week, and one little app a week to re-enforce the chapter's materials. How is 'everyone' going to learn programming if that many can't hack a beginning class?

    2. Re:Incredibly foolish article by cscx · · Score: 2, Insightful

      I had a boss with the same line of thinking. He always went on and on about how that was the reason he used Linux and not Windows, because for some reason if you can't do something in the most complicated way possible, you don't "truely understand how computers work" and are therefore stupid. Or something like that.

      As you can infer from that, he was a complete asshole in general, which is why I quit. :D

    3. Re:Incredibly foolish article by Anonymous Coward · · Score: 0, Insightful

      > As you can infer from that, he was a complete asshole in general, which is why I quit. :D

      Actually what I infer from that is that, you are a Windows fanboy poseur, and as soon as you realized you were technically inept compared to your boss and couldn't bullshit yourself through an 8-hour workday, you bailed as quickly as you could.

      I know your type, sir.

    4. Re:Incredibly foolish article by Hatta · · Score: 1, Interesting

      200 years ago do you think you could have taught English reading and writing to a bunch of farmhands with no stake in actually learning it? Today everyone can read and write, because it's nearly impossible to get by without it.

      If, as the article says, in the future writing code will be nearly as important as writing English, then like English, programming will be taught to our children. So a high school graduate will already have about 10 years experience with it.

      Not that I believe it will happen. (though I wish it would) Just that I believe that most humans are capable of learning programming if introduced early enough and given proper incentives. It is a language after all, and that's what we're good at.

      --
      Give me Classic Slashdot or give me death!
    5. Re:Incredibly foolish article by hazem · · Score: 1

      I don't think it will happen either, but I don't think that's a bad thing.

      As computers become more powerful, the interfaces will get more intelligent. An average user could speak to the computer and say something like "Computer, find all the pictures from Sarah's wedding and print thumbnail sheets with 20 pictures per page" or "Computer, I'm having 8 people over for dinner tomorrow. I'd like to make Coq au Vin. Find some good recipies, print them and order what we need from the grocery. Oh, and that Pinot Noir we got last time was a little too dry." or "The president is coming to town tomorrow. Plan an alternate route to work so I can avoid all the traffic blockages."

      Sure, a programmer could write specific programs to accomplish things like these. In fact, I'd be hard-pressed to write them myself. It's my belief, though, that I won't need to in the future.

      I probably watched too much Star Trek as a kid!

    6. Re:Incredibly foolish article by IM6100 · · Score: 3, Funny

      Since you quit anyways, you should have snuck into his office once or twice and cut the cord off his mouse. Why should he need to use a mouse?

      If you had the resources at hand (probably not) you should have pulled his PC entirely and wheeled in a mini-computer with a switch panel and lights, like a PDP-8. Why should he use a computer that boots automatically? It isn't that hard to memorize the five or six octal command sequences to bootstrap a PDP-8 and get it started reading the high speed paper tape to load the FOCAL interpreter.

      --
      A Good Intro to NetBS
    7. Re:Incredibly foolish article by antiMStroll · · Score: 2, Insightful

      Too bad you quit. You might have learned something new and valuable by listening to your boss, asshole or not. I'm the only one at work who predominantly uses Linux at home (2k for HalfLife only) and am constantly consulted at work for solutions to Windows problems, including from the GUI-clicking IT support staff.

    8. Re:Incredibly foolish article by cscx · · Score: 1

      That's not to say I don't know how to use Linux or the shell prompt (hint: I run a Linux server), but if someone constantly hounded you about driving a car with an automatic transmission, citing its "easiness" and your inability to "truely understand how cars work" since you don't drive a stick... well... you see where I'm going.

    9. Re:Incredibly foolish article by Anonymous Coward · · Score: 0

      When I was going off to college, my mom gave me this book from 1910ish; it was some kid from Alabama's diary of his years at a big Northern college.

      On of the courses he had to take was Electricity. The idea was that electicity was becoming such a big thing that everyone who was going to be anyone would have to know it.

      I ended up going to the same college. Other than maybe some specialized EE courses, there were no classes on electricity. And most of us graduated to pretty good salaries anyways.

    10. Re:Incredibly foolish article by Anonymous Coward · · Score: 0

      Everyone must learn a scripting language in order to manipulate information.

      This also shows some technical ignorance on the part of the author.

      Learn the language of machines...Yeah! Like Perl? Perl is a lot closer to MacOS than it is to machine language. Hell, you could even say that assembly coders are just caught up in the matrix and not seeing the real guts of the machine.

    11. Re:Incredibly foolish article by Srin+Tuar · · Score: 2, Interesting
      "If you don't understand how your car works, and can't fix it yourself, you will be walking everywhere."


      Thats a bad analogy.
      A car enhances your muscles: you should never need to understand it anymore than you need to understand your legs. (a little practice and go, right)

      A computer can be used for many types of jobs.
      Some of those jobs could require little to no understanding of logic.

      For thinking jobs however, you will need some competence to be good at them. In this case the issue is not so much "understanding the computer", as it is "understanding the problem".

      There will never be a star-trek like computer, competent enough to "do what you mean and not what you say" in a non-disastrous fashion.

    12. Re:Incredibly foolish article by rtconner · · Score: 1

      yeah i agree too, i really don't understand. is it supposed to be some sort of self-serving geek feel good article or something? the logic in that article is incredibly off base. i just dont get it.

      --
      023AD01("Child", "Evil");
    13. Re:Incredibly foolish article by mcrbids · · Score: 4, Insightful

      To prove my point that this will never happen, I have an example. Out of the 40 people that started a Java class in my college, only 6 of us finished it. 34 couldn't keep pace and couldn't understand it. The class wasn't that hard. One chapter a week, and one little app a week to re-enforce the chapter's materials. How is 'everyone' going to learn programming if that many can't hack a beginning class?


      The strange thing is that computer programming is getting both hard and easier at the same time.

      Things that were traditionally difficult are now easier than ever. However, the things that are expected of computers today make yesteryear's problems pale.

      As languages evolve new capabilities, expectations rise to meet them - and the net effect is that the power of computing never really makes it to the average Joe.

      This is news?

      --
      I have no problem with your religion until you decide it's reason to deprive others of the truth.
    14. Re:Incredibly foolish article by Alex+Belits · · Score: 1

      There always will be something that "peasants" won't care to learn, and among that will be "literacy", something that truly differentiates them from more advanced parts of the society. Modern "peasants" may not be defined as people who do farming, and are placed under the rule of their lords, but there certainly there is a part of the society that survives while getting inadequate education, and having ridiculously low amount of decisions that they can make for themselves.

      If something will improve this situation, it will be the elimination of the things that cause large number of people to become "peasants", however I am not holding my breath for that. In particular, modern American society's economy, politics and culture are entirely based on the presence of a large uneducated, faceless, easy to manipulate mass right above the bottom of the society and below the much smaller number of well-educated people.

      Eventually when more complex knowledge will become a thing that separates peasants and lords, some of the current "lords" may find their heirs being thrown to the "peasants" level, and some "peasants" may find themselves "accidentally" acquiring literacy as a side effect of job training or as a result of their curiosity, but it's unlikely that the structure will get fundamentally changed because of that. It can only be changed if there will be a force that purposefully acts to eliminate the "illiteracy", and therefore the existence of "peasants" and their servitude. Too bad, American society has no such force.

      --
      Contrary to the popular belief, there indeed is no God.
    15. Re:Incredibly foolish article by D-Train · · Score: 2, Insightful

      It takes a majority of coders 5-10 years to become 'experts'.

      This, to someone who has worked in software engineering for 5+ years, is crap. Most coders are as productive after 1 year as they are after 10. If you can think logically (work out the steps to doing something and work out the boundary cases of those steps), and you can abstract problems (so you don't have to solve the same problem 10 different times), then that's about all there is to it. There is simply not much depth to most (although certainly not all) of the problems that coders solve.

      I do however totally agree with you that the article is crap as illustrated by your example. My reasoning is slighlty different however. Simply put 95% of people lack the two aforementioned skills which are needed to be able to write code. It is what makes us (coders) special.

    16. Re:Incredibly foolish article by Spyffe · · Score: 4, Insightful
      I agree that it is not the GUI per se that is the instrument of oppression. It is, instead, the adoption of mediated tools to access information.

      For instance, when I want to find something on the Internet, I use Google. I trust that if I type in two words, Google will find me Web pages that contain those two words. I have no idea how they do this, because they keep it secret.

      This is the dangerous thing. The Merovingian (watch Matrix II Reloaded!) would love it: I type in words and I get links and I click them, with no idea of why I got them!

      Nowadays, that's reasonable (although Google is already starting to remove links that are extremely unpopular or expose them to lawsuits). But in the future, Google's mediation of my interface to the Web could really hamper me.

      If at that point, I continue to use Google with no understanding of how to spider the Web for myself, I'm screwed. My searches will be controlled by Google, and I will be jacked in to their particular Matrix, seeing only information they choose to purvey.

      Similarly, right now I use a PowerBook for everything. I have a Japanese DVD (Spirited Away) that I want to watch. But I can't, because the firmware in my DVD-ROM drive locks me out. I have allowed another company to mediate my experience of the data on the DVD. They have chosen to limit what I can see, and because I don't understand their hardware (i.e. I can't reprogram their BIOS) I am at their mercy.

      The GUI can be a powerful tool. It can enable one to visualize what is going on in an extremely detailed fashion. But if I don't know what's being visualized, and what simplifications are being made, and how they're being performed, I'm screwed if I want to do it any differently.

      Have you watched Serial Experiments Lain? It is a Japanese animation about a little girl that is slowly sucked into the world of the Internet. In her school, they learn programming and she has a textbook that describes the architecture of her computer. In effect, this is what all who want complete self-determination need: a textbook that tells us how the tools we use to process data do it.

      This makes non-self-determination an attractive option. Most people will simply choose to take what they are given and to hell with how it's processed or from what source. They will eventually end up looking at a data-feed and occasionally clicking on interesting bits of information. This may be a satisfying way of life.

      Then there will be the Merovingians, holding all the keys. They will understand the workings of the data-feeds and will, through subtle manipulation, be able to tap the vast computing power of the hardware that underlies them. They will also control all the drones.

      The fight is happening right now. The media companies are the Merovingians, and consumers of media are being herded into smaller and smaller squares. Some will squeeze out of the barriers, and form a Zion of resistance, of hard-fought lives on the fringes of the information society. Some will join the Merovingians. But most will enter the Matrix.

      As Roac son of Carc would say, I will not say if this be good or bad. But I will say that I want to be in Zion.

      --
      Sigmentation fault - core dumped
    17. Re:Incredibly foolish article by Anonymous Coward · · Score: 2, Interesting

      Silly as the authour may sound, he is making a good point. Imagine a car company's tech support conversations (I think I saw this in a joke somewhere).

      Support Rep - How may I help you?
      Customer - I'm sitting in my car, and it won't go.
      Support Rep - Have you used the ignition key?
      Customer - The what?
      Support Rep - The ignition key. You insert it into the lock by the steering wheel, or the 'ignition' as we techies like to say, and twist it.
      Customer - Why do I have to know all this technical stuff. I just want to go places in my car!

      I've seen people copy 300+ files in W*ndows by drag-n-dropping each one. Programming languages, not really necessary, but it would certainly make peoples lives a lot easier if they knew a little about how a computer works (ie, what a bus is, what a graphics card is, what a file is, what a GUI does, what RAM does, and why we would rather have things we are working on in RAM rather than random access from the HD etc...).

      After all, how many people with cars don't know what a petrol tank is, and why it's bad idea to drive 70mph on a motorway in 1st gear. When cars came along 100 years ago, people were equally pissed off when they came to the realisation that they actually had to know something of how they worked, and couldn't just leave it all to the blacksmith to sort out.

    18. Re:Incredibly foolish article by God!+Awful+2 · · Score: 1


      Thats a bad analogy.

      All analogies are bad analogies unless you have a good audience.

      80% of the analogies you read on /. are dumb. And when it comes to the ones that are reasonable (such as the parent post), someone always posts some asinine rebuttal. Unfortunately, you can't defend analogies with logic.

      -a

    19. Re:Incredibly foolish article by eatdave13 · · Score: 1

      It's a very good analogy, and was a valid prediction at the time, it was just wrong. Let's follow that analogy a little further.

      A car enhances your muscles. You cannot drive a car without muscles.

      A computer enhances your mind. You cannot use a computer without a mind.

      When cars first came out, you needed a fair amount of muscle to use them. The starter crank was hard to turn, the steering wheel was hard to turn, even the pedals were hard to push. Now, people that need a walker to move drive cars.

      As computers mature, they will amplify your mind more and more, and the entry level will become lower and lower. Now you say that there will never be a computer competent enough to do what you mean, but you're wrong there unless the human race ceases to exist in the next few centuries. A computer trained in language processing and psychology could understand what the speaker means better than the speaker himself, and since that's what we the human race wants, we will get it, eventually.

      A "thinking" computer is not a violation of any natural law, and therefore it is achievable. Given the fact that we are an extremely survivable race (yes, I'm willing to debate that if you want to) and that we have increased our knowledge since our race began with only minor setbacks, it's basically inevitable that we will eventually get just about anything we want that doesn't violate natural laws given enough time.

      --
      "Verbing weirds language." -- Calvin
    20. Re:Incredibly foolish article by eatdave13 · · Score: 1

      Yup, that's exactly what it is. The article completely ignores, well, EVERY other human invention's history. It's a prediction that seems plausable if you just read an accept it without thinking about what he's saying. The motivation for writing was to make the author look smart, flatter the geek readers, and make anyone else that reads it feel inadequate. The plan is to create a food chain, put the author on top with loyal followers, and make a self-subjugated lower class. The problem is that the only people who would fall for such a transparent ploy are already useless to anyone. It's just an overactive survival instinct that would blow up in the author's face if anyone actually cared about what he was saying. Luckily for him, I and 95% of the people who read his article won't remember his name 10 minutes from now.

      --
      "Verbing weirds language." -- Calvin
    21. Re:Incredibly foolish article by eatdave13 · · Score: 1

      You're confusing productivity with experience.

      Just because you can write the same amount of LOC/hour as you could when you started doesn't mean that they have the same quality. In fact, if they DO have the same quality, either your are a savant, or you're still programming at a 1 year programmer level after being in the industry for 5+ years.

      Although, if you feel that way, I've got a friend who just started programming last year that could use a job. Have any compilers that need writing?

      --
      "Verbing weirds language." -- Calvin
    22. Re:Incredibly foolish article by eatdave13 · · Score: 2, Interesting

      No, he's not making a good point. His point is not that people should know how to copy those 300+ files with multiple selection, his point is that they should know how to write the file manager.

      Here's his article in an automobile support call:

      Support Rep - How may I help you?
      Customer - My car's engine doesn't turn over when I turn the ignition.
      Support Rep - Well, you need a new starter, just build one?
      Customer - How do I do that?
      Support Rep - You need to make a DC motor. Just get a couple of strong magnets and a few hundred feet of wire. Make sure you use wire that's a proper guage to handle the amperage you'll be putting through it, and be sure to wrap it in the proper direction for the current and magnetic poles. Use the right hand rule if you get confused.
      Customer - Can't I just take the car to a garage?
      Support Rep - Well yeah, but you'll be dooming yourself to a life of hardship and servitude.

      --
      "Verbing weirds language." -- Calvin
    23. Re:Incredibly foolish article by eatdave13 · · Score: 1

      For instance, when I want to find something on the Internet, I use Google. I trust that if I type in two words, Google will find me Web pages that contain those two words. I have no idea how they do this, because they keep it secret.

      This is the dangerous thing. The Merovingian (watch Matrix II Reloaded!) would love it: I type in words and I get links and I click them, with no idea of why I got them!

      Nowadays, that's reasonable (although Google is already starting to remove links that are extremely unpopular or expose them to lawsuits). But in the future, Google's mediation of my interface to the Web could really hamper me.

      Google has not managed to capture all web searching yet. If it ever consistently failed to return useful results, or was discovered to be misleading you, it would be replaced by a better competitor.

      People who are completely unable to trust end up in mental hospitals.

      --
      "Verbing weirds language." -- Calvin
    24. Re:Incredibly foolish article by Froggy · · Score: 1

      Out of the 40 people that started a Java class in my college, only 6 of us finished it. 34 couldn't keep pace and couldn't understand it. The class wasn't that hard. One chapter a week, and one little app a week to re-enforce the chapter's materials. How is 'everyone' going to learn programming if that many can't hack a beginning class?

      Maybe it's not an impossible task. Maybe it's our teaching methods that are at fault.

      Look at it this way. We've been doing (and teaching) computer science for about fifty years. We've been doing (and teaching) mathematics for millenia, and there is still an active literature on the best ways to teach it. On what basis can we conclude that we're using the most effective teaching practices for programming? My gut tells me we can do better.

      --
      It is a woman's prerogative to change other people's minds.
    25. Re:Incredibly foolish article by amoe · · Score: 2, Insightful
      Programming has become such a complex subject, that there is no way the majority of users could ever hope to achieve the level of proficiency needed to even code the simplest of applications

      No? Shell scripts written by people who have been immersed in the Unix environment only a few weeks seem to suggest otherwise. If you put the time in and use the right form, programming - i.e. logic - isn't mentally taxing; it can be universal.

      This lets the users concentrate on using the applications that were written to perform other business needs that they will spend their time studying.

      This is newspeak for "shackling the users to what you think they want".

      Out of the 40 people that started a Java class in my college, only 6 of us finished it. 34 couldn't keep pace and couldn't understand it.

      That was Java. Imagine if programming was as simple as hooking together a few pre-written components - like a graphical Unix shell, if you like. Once the user had become naturalized with the components, they could begin to write their own in whatever language they felt capable of; there would still be applications, but they would be infinitely extensible by the user.

      Isn't that better than being chained to an inflexible GUI? It makes me wonder why someone hasn't done it, because it certainly is technically feasible.

      --
      You look beautiful! Incidentally, my favourite artist is Picasso.
    26. Re:Incredibly foolish article by PsiPsiStar · · Score: 2, Funny

      The Matrix taught me many important things about Religion and Philsophy. For example, Jesus knows Kung-Fu and shoots people. And... um... spoons aren't real.

      I swear, next time someone says "There is no spoon" I'm going to throw a spoon at them.

      --

      ___
      It's the end of my comment as I know it and I feel fine.
    27. Re:Incredibly foolish article by pyat · · Score: 1

      The difference between the car and the computer is that the car is a single-purpose device. The computer is a general purpose device (hence the programming). The analogy would be more correct if you compared car maintenance to pc-building and repair.

      You may be correct that people cannot learn to program, but the fact is that those people will end up operating at a less efficient level than if they could write some programs (I see this even among well-educated colleagues in the professions).

      Returning to the car analogy. I think that not knowing how to program is like not knowing how to drive. Sure you can pay somebody to drive you around, but most could not afford that and would thus end up walking.

    28. Re:Incredibly foolish article by David+Kennedy · · Score: 2

      Are you seriously arguing that programmers with 1 year of experience are as productive as programmers with 10 years of experience?

      Like you, I have 5+ years in software engineering and I can assure you that there is no way you can compare the output of two programmers with those levels of experience. I know the code I produce now is better than that I wrote when I started - how do I know? Generally I've ended up back doing maintanence on my own code at some point, and having seen what I wrote two years ago, when I thought I was shit-hot (and was well regarded with my teams), I know I've improved.

      There is a lot more to the art of programming than lines of code per hour, and the experience you gain in programming is often what we generally call 'design', which is very hard to measure but easy to recognise.

    29. Re:Incredibly foolish article by snarkh · · Score: 1
      Well, it is a simple misunderstanding, really.

      Human languages are for people to communicate. If you cannot communicate, your ability to function is limited. Computer languages are to give computer commands, which is a very special type of communication and is also possible at different levels.

      There is no equivalence between illiteracy and computer illiteracy.

    30. Re:Incredibly foolish article by Daniel+Dvorkin · · Score: 3, Insightful

      I'm always amused by people with no sense of history throwing around phrases like "200 years ago." Apparently you just picked a number that seemed like "a long time" and put it up on screen. If you'd said 500 years, I probably wouldn't have taken issue, but ...

      200 years ago. 1803. The US -- a nation which had come into existence, to a large degree, because of its large literate peasant population -- was just getting on its feet. The beginnings of reform (extension of the franchise, etc.) were taking shape in Britain, because for the first time, the farmers and the growing industrial working class were demanding it -- and they did so because they read. (It would take a few more decades for this to come to fruition, granted.) France was in the middle of the turmoil of the Napoleonic era; say what you will about the guy, but he tore down the ancien regime's policy of keeping the peasants ignorant, and set France on the road to democracy. In fact, of the great powers of the day, only Russia was able to stifle the urge of its unwashed masses for knowledge and freedom ... and a large part of the reason why today, the US, Britain, and France are proseperous, stable democracies while Russia is essentially a giant Third World country with nukes can be traced back to this.

      In short, the great story of the early 19th c., at least in the West, is the "rise of the demos," for the first time in history. And it happened because "a bunch of farmhands," all over the world, wanted to educate themselves. Never underestimate people's ability to see what it will take to build a better life for themselves and their children.

      --
      The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
    31. Re:Incredibly foolish article by OldCrasher · · Score: 1

      Experience is knowing what NOT to write.

      That experience takes years to fathom. Given new technologies and languages, it's a remarkably difficult skill to fully appreciate.

    32. Re:Incredibly foolish article by EvilTwinSkippy · · Score: 1

      The day the Google ceases to work for me is the day I write my own Search Engine. A collection of links to websites does not a monopoly make. Especially when the corpus of data is essentially obsolete upon generation.

      --
      "Learning is not compulsory... neither is survival."
      --Dr.W.Edwards Deming
    33. Re:Incredibly foolish article by Yartrebo · · Score: 1

      I don't have a compiler in need of writing, but I can think on one large, unnamed company that needs help on it's Longhorn version on Visual BASIC. Your friend should fit in just right with them.

    34. Re:Incredibly foolish article by bj8rn · · Score: 1
      I swear, next time someone says "There is no spoon" I'm going to throw a spoon at them.

      The kid who said "there is no spoon" really makes me a bit angry. How can he be so sure about it? This particular spoon you're holding in your hand, ready to fling it at me, is really just an image my sensory system has created. Whether it really exists or it's just my imagination, I can't tell. But, just the same, I can't say that it does not exist at all. This spoon here (already in mid-flight now) may not exist, but there might be one behind all those signs of spoons (just like there was a real world behind the Matrix -- or was there one?).

      *Ouch!* the spoon hit me. Apparently my body believes that it's real. Foolish body, foolish!

      --
      Hell is not other people; it is yourself. - Ludwig Wittgenstein
    35. Re:Incredibly foolish article by Srin+Tuar · · Score: 1

      A "thinking" computer is not a violation of any natural law,


      That is your logical fallacy. We, as a race, do NOT understand how thinking works. We do not understand our own minds. There is no cogent theory that explains the function of the brain.


      Given our current science, there is no way we will ever duplicate the human mind. There's a much stronger basis for time-travel than that.


      A computer will remain a tool for the brain to use for the foreseable future. A tool *amplifies* the minds power. That means that a weak mind, at your "lower entry level", will not be able to duplicate the feats of a well trained one using the same tool.

    36. Re:Incredibly foolish article by Phantasmo · · Score: 1

      I met a woman at church who is absolutely terrified of her Windows PC. If an error message pops up, she shuts the machine off and tries again the next day.

      Imagine my surprise when I learned that she used to be a software developer. She used to write programs for mainframes in assembler!

      I'm afraid of touching assembler in case I fuck something up, and she has to have a lie down when Word barfs at her?

      I think that people have been conditioned by the industry to fear their computers.
      Don't touch these settings! You may damage your computer! Call Microsoft Tech Support at 1-900-MO-MONEY!

      Teaching someone a programming language, even if they don't get much further than for loops, really empowers a person. I'm sure that if she fiddled with a Python interpreter from time to time she wouldn't be so terrified.

      --

      The US Army: promoting democracy through unquestioned obedience
    37. Re:Incredibly foolish article by Zan+Zu+from+Eridu · · Score: 1
      France was in the middle of the turmoil of the Napoleonic era; say what you will about the guy, but he tore down the ancien regime's policy of keeping the peasants ignorant, and set France on the road to democracy.

      Acrually it was not Napoleon but the French revolutionaries who guillotuined the ancien regime and its nobility. Right after the revolution the newly formed French republic experiences a lot of internal (anti-revolutionaries) and external (war) pressure, ending in a "reign of terror" by Robespierre's jacobins. After the jacobins are overthrown and Robespierre is executed as a terrorist, a five years period of rebellion and coups follows until Napoleon seizes power in 1799. Napoleon crowns himself emperor of France five years later, declaring "I sealed the gulf of anarchy and unraveled chaos. I purified the revolution and strengthened the monarchy."

      While Napoleon did some good for France and Europe, he also caused destruction and killing on a scale not seen before in the world, he took away a lot of the French' newly gained freedoms, and he most certainly did not intend to create a democracy in France.

      In short, the great story of the early 19th c., at least in the West, is the "rise of the demos," for the first time in history. And it happened because "a bunch of farmhands," all over the world, wanted to educate themselves.

      The French revolution for one started because of new ideas amongst the bourgeoisie who were educating themselves in the growing cities, the peasants were in it mostly because they saw it as the only way to lighten the tax-burden put on them by the ancien regime.

      (And no, I'm not French :)

    38. Re:Incredibly foolish article by zephyrfalcon · · Score: 1

      *drool*

    39. Re:Incredibly foolish article by Artifakt · · Score: 1

      There certainly will be star-trek like computers, competent enough to do what you mean in a non-disasterous fashion - non-disasterous for them anyway. Those who can't be clear about what they really mean may face the major disaster of being treated as rightless sub-humans, or the minor disaster of having all the high paying fun jobs go to those machines, depending on how much we manage to keep up on some level. It will be nice if the uber-machines develop enough empathy to appreciate the plucky human who at least tries to keep up.

      --
      Who is John Cabal?
    40. Re:Incredibly foolish article by A.Gideon · · Score: 1

      I'm not all that far from that assembler programmer. First, I've done that: programmed assember on several microprocessors, and on DEC 10s and 20s. I've an undergraduate computer engineering degree and an MS in computer science.

      But MSFT products "scare" me. Oh, I'm not quite so bad as she. But I know that an error or problem on an MSFT environment is provided in "user friendly" form, with details and solutions hidden. How one problem is solved may be completely unrelated to how another problem is solved, regardless of how similar the problems might appear to be.

      This is in contrast to my typical experience with other environments. In those environments, there's a level of consistency. A little knowledge and some guesswork normally provides a solution. I think of these as "predictable". MSFT products are far from predictable.

      I'm not so much scared of breaking something as I am scared of being sucked into something which would require hours or days to learn enough to fix, and but where that acquired knowledge would be useless in any other situation. That is, it would suck up my time with extremely limited reward.

      I might attribute this to a lack of training on my part. After all, I've only done things like write device drivers in UNIX, or write interrupt-based software which ran "under" DOS environments on an 8088 CPU. I've taught programming in various languages, including Java, Perl, C, C++, SQL. I've taught OO and DB design concepts, sound programming practices, and some GUI programming. In my spare time, I fly small Cessnas. So I've a lot to learn yet.

      But people with certification in these MSFT environments seem, if anything, more puzzled and more inefficient in their use of time solving problems.

    41. Re:Incredibly foolish article by Spyffe · · Score: 1
      The day the Google ceases to work for me is the day I write my own search engine

      This does not contradict my point. If you are indeed capable of writing your own search engine, congratulations: you are among the liberated.

      --
      Sigmentation fault - core dumped
    42. Re:Incredibly foolish article by Spyffe · · Score: 1
      If it ever consistently failed to return useful results, or was discovered to be misleading you, it would be replaced by a better competitor.

      I'd like to think that. Certainly if it failed to return useful results, that would damage it. But I don't think one could compete with Google simply on the basis of "Hey, we don't filter out the Anarchist's Cookbook!" (Note: Google doesn't censor this as of this writing.)

      People who are completely unable to trust end up in mental hospitals.

      The kind of people who end up in mental hospitals are those who believe everybody is involved in a huge conspiracy to "get" them. This is an irrational belief that everybody else's self-interest runs counter to one's own.

      Belief that leaders of organizations prefer that their members quietly accept the leaders' views is based upon a rational belief that people prefer others' self-interest to be aligned with their own. I'd like it if everyone agreed with me. :)

      A desire to have one's own self-interest be independent of anyone else's (not opposite, just independent) isn't paranoia. It's based on sound evolutionary principles. In Ghost in the Shell , Motoko Kusanagi says very accurately:

      "If we all reacted the same we'd be predictable. And there's more than one way to view a situation. What's true for the group is also true for the individual. It's simple. Overspecialize and you breed in weakness. It's slow death."
      --
      Sigmentation fault - core dumped
    43. Re:Incredibly foolish article by charlieCoolly · · Score: 1

      " I am sure some short sighted person said such things about the automobile when it first arrived. Probably something like "If you don't understand how your car works, and can't fix it yourself, you will be walking everywhere." "

      Yeah, you won't exactly be walking everywhere, but if you don't know anything about cars you'll probably be paying through the nose everytime you take it to the shop. I think the point the author of the article was trying to make (however poor his choice of words were) is that computers are becoming so prevalent in our everyday world, not knowing at least the basics of computer architecture could put an individual at a serious disadvantage when it comes to small, everyday things. I don't think he was suggesting people would end up as Morlocks if they couldn't whip up a simple "hello world" in Java. And to the topic of your Java class, just because you learned Java in a class that had 34 dropouts doesn't mean the general public is too stupid to learn more about computers. It's quite the opposite actually. Not enough is being done to teach people. Better professors, more classes, better textbooks etc etc.

    44. Re:Incredibly foolish article by Anonymous Coward · · Score: 0

      Sadly roughly a quarter of your class have since died due to electrocution.

    45. Re:Incredibly foolish article by PsiPsiStar · · Score: 1

      "cognito cognito, ergo cognito sum"

      I think I think, therefore I think I am.

      --

      ___
      It's the end of my comment as I know it and I feel fine.
  5. Inq by heli0 · · Score: 1, Informative

    Here is the Inq writeup on this from a few days ago: Man that inspired The Matrix reckons we should all learn assembler

    --
    Whenever the offence inspires less horror than the punishment, the rigour of penal law is obliged to give way...
    1. Re:Inq by aastanna · · Score: 1

      OK, that article was pretty stupid. A command line interface has nothing to do with adapting to computer logic, it's adapting to the conventions of the person who wrote the command line interface.

      If you really want to adapt to computer logic, you would have to write programs to do whatever menial task you are trying to do at the moment, but that's just as stupid...want to find a file on your hard drive? it's not that hard, just read about the dirent struct and make a recursive search, it'll only take about 10 minutes, and to think you could have done it in 10 seconds.

    2. Re:Inq by SashaM · · Score: 1

      So when the Oracle told Neo he had a connection to the source, she meant the source code?

  6. still amazed by malus · · Score: 2, Interesting

    that the customers I write software for 'work' on their computers 8-10 hours a day, and still have very little 'understanding' of what they are doing.

    These users, which I can only imagine are representative of most computer 'users', don't really care. They simply look at their keyboards, mice, and monitors, and think, "I don't need to understand what I'm doing, all I know is that I need to do this, that, and perhaps another thing, and voila! A paycheck every 2 weeks!"

    1. Re:still amazed by dreamchaser · · Score: 2, Redundant

      That's exactly how it should be. A computer is just another tool. Do most people understand what goes on inside their microwave? No, they just push the buttons and stuff gets hot.

    2. Re:still amazed by Anonymous Coward · · Score: 0

      Which, as able to repair Microwaves, makes you more valuable.

      It's good to posses a skill the unwashed masses do not.

    3. Re:still amazed by Atragon · · Score: 1

      I disagree, using a tool with no comprehension at all of how it works is a bad thing. It can lead to accidents.

      For example, to take your microwave example; Suppose someone just knows that to use a microwave they put what they want warmed inside and push the buttons. So they put something in a metal container in the microwave.

      Computers are even more complex and powerful than microwaves, with even more things to mess up. Shouldn't users be expected to posess at least a rudimentry understanding of just how a computer works?

    4. Re:still amazed by 00420 · · Score: 2, Insightful

      Shouldn't users be expected to posess at least a rudimentry understanding of just how a computer works?

      In my opinion, no. Don't get me wrong, it would be great if everybody that used a computer knew WTF they were doing, but I don't think it's realistic, and I don't think somebody should not be able to use a computer just because they don't know how to do anything but point and click (and a lot of people even have problems with that).

      One of the major things holding people back is that most people are not very good at thinking logically, and using a computer well involves logic. Other things holding people back are time and interest. Many people just don't care how to do anything accept the narrow list of things that they want to accomplish on their computer. Developers need to make OSs and applications that cater to these people (while staying secure at the same time), but they also should not forget about the people who do want to do more.

      Eventually when computers are *intelligent* most of this won't matter because you'll be able to just speak your native language to your computer to get tasks done. (Although a command line would still be faster in a lot of cases)

    5. Re:still amazed by Sylver+Dragon · · Score: 1

      I disagree, using a tool with no comprehension at all of how it works is a bad thing. It can lead to accidents.

      For example, to take your microwave example; Suppose someone just knows that to use a microwave they put what they want warmed inside and push the buttons. So they put something in a metal container in the microwave.


      This type of problem still does not require an intimate knowledge of the tool being used. Its simply is a matter of those people who really do understand a tool giving everyone else a basic list of do's and don't's. As in your example, most people know not ot put metal in a microwave, but they have no clue as to why. Same with a car, right now desiel is cheaper (in my area), than standard gasoline, why aren't people trying to put that in passener cars? They know not to, they don't know why, but knowing not to is enough.
      Its the same thing with computers, people are learning the basic do's and don't's, and while we have a long way to go till everyone runs a firewall, we are getting there. It just takes time for everyone to get used to the idea.

      --
      Necessity is the mother of invention.
      Laziness is the father.
    6. Re:still amazed by Beg4Mercy · · Score: 1

      Malus, I notice things like that too.

      Also, alot of people are saying that average guy doesn't need to know the details to use his computer. That might be true, for minimal use. However, knowing what's going on will always let you do more, be more productive and (for me) enjoy doing it more. It's often better to know a bit too much than a bit too little.

    7. Re:still amazed by eatdave13 · · Score: 1

      Well sure, but there's a finite limit to how much one person can learn. I'd rather my doctor be able to deal with a blood clot speeding toward my brain than be able to build a car, calculate the orbits of galaxies, write a MUA and decipher an ancient language.

      In fact, if a doctor spends the time he should have spent learning how to destroy a blood clot writing a script to make his computer send a message to his cellphone when he gets an e-mail, he's nothing more than a nurse and a power-user. He's not a programmer and he's not a doctor. Either specialty is more valuable than having both novice skills.

      P.S.
      I don't mean to insult nurses. I know they're very skilled people, and comparing them to a power-user is not fair, I just can't think of a good word to describe someone who knows a little bit of first-aid.

      --
      "Verbing weirds language." -- Calvin
    8. Re:still amazed by malus · · Score: 1

      One thing that amazes me, is that at 5:00, somebody seems to push the magical 'reset' button inside people's brains. All of the knowledge accumulated during that day, is magically erased.

      Typically, by the end of the day, I've managed to tutor a user on the art of navigating the hard-drive so they can find there files. But 9:00AM, the next morning, they are once again, lost. "Where are my files?"

      Windows95 changed, dramatically, the way people navigate the box. I like explorer. it's simple. it fast. Even though explorer has changed, moderately, in the last 8 years, it's not changed much(!). Why people can't seem to learn/remember the basics of machine navigation, I'll never know, and I will just have to keep up with windows releases, so I can teach them.

  7. not all bad by beni1207 · · Score: 1

    Things can only get worse. As our society becomes ever more dependent on information technology, the gulf between those who understand computers and those who don't will get wider and wider.
    Hey...maybe the job market for software guys will finally pick up then.

    1. Re:not all bad by jellomizer · · Score: 3, Interesting

      Not really. It is an issue where programmers them selves no longer have to understand computers to program. Going thew college there were way to many students saying "Why do I have to take a course in assembly? We never need to program in it." The future programmers them selves are no longer really understanding what is happening underneath as well. With languages like VB and others high level languages, people can get things done. But this where the scary part is. Is the people who do know how it works in more detail, they are more feared because they know to much and people wont higher them because they feel their skills are to specialized.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    2. Re:not all bad by Ieshan · · Score: 1

      Why is this an issue? You write english at a human-readable level without knowing a thing about it's evolution, assuming you're the regular Joe.

      Why should you have to graduate from the "I know where this came from" class to move on to the "I know how to use this" class?

    3. Re:not all bad by Anonymous Coward · · Score: 1, Funny

      "they are more feared because they know to much and people wont higher them"

      obviously you are not one of these fearsome people

    4. Re:not all bad by jellomizer · · Score: 1

      You write english at a human-readable level
      Wow I will take that as a complement! I am use to my spelling and grammar being made fun of so much that I will take what I can get!
      But now for the reply....

      Well unlike spoken language (Which I still is is a good idea to learn about its evolution if you are to become a professional writer) Computer Languages are running a machine that is a lot less flexible then a human is. Understanding what is happening underneath helps you make good informed decisions, when you develop your applications. Things like knowing how memory is handled, and how the OS uses different hardware, this information helps out greatly when using higher level languages too. It makes it easier to read and understand the Docs, And allows you to make good informed decisions of the size memory you may need to store information. Also the most import part with learning assembly and digital system logic is that it removes all the magic from computers and allows you to or use the computer with out the emotional fear that the computer is out to get you or that it is smarter then you.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    5. Re:not all bad by CharlesEGrant · · Score: 1
      "Why do I have to take a course in assembly? We never need to program in it."
      The exponentially expanding breadth of human knowledge drives the division of labor. Even computer programming is now so broad a field that sub-specialists can legitimately ask questions like "Why do I need to understand assembly language?" Certainly such a question would seem foolish coming from someone specializing in procssor engineering or compiler design, but is it equally foolish coming from someone specializing in bioinformatics or artificial intelligence?

      Why stop at assembly language? Should all programmers be able to write microcode? How deeply should they understand logic gate arrays? It would be wonderful if we could all understand everything, but life is fleeting and there are guns versus butter choices to be made in our educations.

    6. Re:not all bad by Anonymous Coward · · Score: 0

      Maybe they won't hire you because you can't spell. I hate to be a grammar nazi (and english probably isn't your first language) but we need to draw the line somewhere. This is what employers call 'soft' skills.

  8. I can tell you for a fact. by Anonymous Coward · · Score: 0

    The Guardian is a newspaper read by British fops. You do the math.

  9. The text, because it is already slashdotted! by Anonymous Coward · · Score: 0

    Smash the Windows

    To be truly free in the 21st century, we have to ignore the flashy graphics and really get inside our computers

    Dylan Evans
    Thursday November 6, 2003
    The Guardian

    In the west, at least, illiteracy is practically a thing of the past. That's just as well, since it is difficult to survive, and virtually impossible to prosper, in today's world without the ability to read and write. There is another kind of illiteracy, however, as widespread as the old kind used to be: computer illiteracy. Even in the most advanced countries in the world, the vast majority of people are still unable to read or write any kind of computer language.
    Sure, most of us can use computers these days. We know how to send email, surf the web or write a letter in Word. But would you know what to do if all those pretty little icons in your browser disappeared and, instead of Windows, you were left staring at lines of letters and numbers of HTML, the language in which web pages are written? If, like Neo in The Matrix, you could see the code behind the graphics?

    If your answer is "no", then you are in the majority - one of the many millions of peasants in the technological middle ages. Like most humans in The Matrix, who believe they are living a normal life when in fact their bodies lie inert in a vast complex of pods, you are asleep, a prisoner of your ignorance. And the only way to escape is by getting to grips with the machines, by learning their language. If you don't get inside them, they will get inside you. Adapt or die.

    Things can only get worse. As our society becomes ever more dependent on information technology, the gulf between those who understand computers and those who don't will get wider and wider. In 50 years, perhaps much less, the ability to read and write code will be as essential for professionals of every stripe as the ability to read and write a human language is today. If your children's children can't speak the language of the machines, they will have to get a manual job - if there are any left.

    This is yet another reason why Windows is such a dangerous commodity. It lulls us into the pernicious illusion that we can deal with computers without adapting to their logic. By presenting us with colourful screens and buttons for us to click on, Microsoft encourages us to believe that we can force computers to adapt entirely to our preferences for visual images, without having to adapt ourselves to their preference for text.

    But not only does this prevent people from getting inside the machine and keep them in a state of blissful ignorance, it also proves to be a deceit, for in the end the user still has to adapt to the machine anyway.

    We wait, a captive audience, while the browser painstakingly loads the next image-stuffed web page, or we click through menu after menu until we eventually realise that we are not in control after all. The Windows control us.

    Paradoxically, it is only by learning the language of the machines, by adapting to their logic, that we can free ourselves from their dominion. It is only by seeming to go backwards, to the way we interacted with computers before Windows came along, that we can go forwards. Remember DOS or the ZX-80, or the old BBC computer? Not much in the way of fancy graphics. Just lots of text, and strange words like DIR and CD.

    Isn't this too much of a burden for the average computer user? Shouldn't we try to force computers to adapt to us as much as possible by giving them user-friendly interfaces and hiding their internal workings? Shouldn't we be able to get on with our jobs without worrying about what is going inside the black box? If that is your attitude, fine. If you want to remain inside the dream world of The Matrix, that's your choice.

    It's not just laziness, of course, that prevents people from getting to grips with computers. Cowardice also plays its part. But whatever the motive may be, the result is always the same. Natural selection doesn't care whether a man in a bur

    1. Re:The text, because it is already slashdotted! by Anonymous Coward · · Score: 0
      Under the inspiration of my guru, I have been trying to classify various jobs as moral or immoral, so I can see if they should be counted in the "Christian Employment" statistic.

      Unfortunately, I believe I must classify Dylan Evans as unemployed. This type of writting benefits no one and just wastes the time of those reading it.

    2. Re:The text, because it is already slashdotted! by Anonymous Coward · · Score: 0

      But would you know what to do if all those pretty little icons in your browser disappeared and, instead of Windows, you were left staring at lines of letters and numbers of HTML, the language in which web pages are written?

      Close notepad?

  10. Not everyone is computer "useage" literate yet by Dr+Tall · · Score: 1

    I shudder at trying to teach my mother C++ or Java; she struggles even to check her e-mail.

  11. Microsoft is already developing a natural language by MongooseCN · · Score: 5, Funny
    Instead of typing in stuff like:
    int main()
    {
    printf("Hello World.\n");
    return 0;
    }
    Now you simple type in:
    Microsoft_knows_whats_best_for_me;
  12. Not everyone needs custom software. by Anonymous Coward · · Score: 0

    If you need new software, you can hire someone or code it yourself. If you don't need new software, then there is no problem.

  13. Re:lucky stars by Drantin · · Score: 1

    I actually spent quite a bit of time while compiling gentoo using links2 from vc/2 to read slashdot...

    --
    Actio personalis moritur cum persona. (Dead men don't sue)
  14. Fantastic Article by Beg4Mercy · · Score: 3, Insightful

    The author poses the question of "Would you know what to do if you were left staring at lines of letters and numbers of HTML?" to which I (and most of Slashdot, I suspect) answered YES! Then I found out since my answer was yes, that I am in a minority! Awesome!

    I am a Computer Science major at MUN and with the reduced spending and reduced high-tech jobs my greatest fear is that I will not get a job in a couple of years when I finish my degree. I, along with many other SlashDot readers, might become obsolete.

    This article takes the opposite viewpoint -- it emphasizes how important computers and technology are to our future. I particularly liked the article telling us that everyone else is in a dark age. :) This is simply a case of somebody "telling me what I want to hear" and I love it! :)

    1. Re:Fantastic Article by Anonymous Coward · · Score: 0

      The author poses the question of "Would you know what to do if you were left staring at lines of letters and numbers of HTML?" to which I (and most of Slashdot, I suspect) answered YES!

      Nope

    2. Re:Fantastic Article by Tablizer · · Score: 1

      fear is that I will not get a job in a couple of years when I finish my degree. I, along with many other SlashDot readers, might become obsolete....This article takes the opposite viewpoint

      I think they meant that coding was going to be a *minimum requirement* for non-tech jobs, sort of like typing is now. However, a dedicated "typist" is a dying profession because more people key in their own stuff now.

      However, if it is possible to farm most programming jobs off to India or Cheapostan, couldn't the secretary do the same?

    3. Re:Fantastic Article by penguinland · · Score: 2, Informative

      I'm going to have to disagree with the article on this. As a CS major at Harvey Mudd College (one of the most technology-oriented colleges in the country), I have already learned not only assembler, but how to build computers starting with transistors and wires. While this is fascinating (I have a whole new respect for anyone who writes an operating system), I don't think it is at all necessary for my future. The entire reason that grammars and parsers (For those of you who aren't really into CS, these are the things that turn Java and other high-level languages into machine code. In essence they are how a computer that only understands machine language can understand other languages as well.) were created in the first place is so that we don't need to work in assembler any more!! Yes, some people will always need to know machine language to write new OSs and new networking protocols, but most people won't ever use this: not only will secretaries, dry-cleaners, and construction workers not need to use assembler, most CS workers won't need it either. Most webmasters hate typing HTML by hand (My summer job this past year was assisting our college's webmaster. I started it typing in HTML, and the head webmaster convinced me by the end of the summer that it is more effective to use FrontPage). Game developers don't need assembler (as I recall, the source code to Half Life 2 was leaked earlier this year. It was written in C++).

      It's obvious that some people will always need to understand assembler, so that they can make new operating systems, new languages (Prolog, for example, cannot be written in Java - it requires assembler), and a few other applications. Other than that, however, many industries are thriving despite not using assembler. The article cited claims that we should all need to know what goes on under the hood of the microprocessor, but does not give any justification as to why this is so. I see no reason why the majority of people in the world need to learn in order to keep up in society.

      --
      "Flying is the art of throwing yourself at the ground and missing." - Douglas Adams
    4. Re:Fantastic Article by Anonymous Coward · · Score: 0

      What's MUN?

      Moonie University - Nashville?
      Montana University at Nebraska?
      Manhattan Union of Necrologists?

      Please explain.
      thxs.

    5. Re:Fantastic Article by Beg4Mercy · · Score: 1

      Oh sorry I didn't explain b/c it wasn't important. I don't know why I mentioned it in the first place. :) MUN just stands for Memorial University of Newfoundland.

    6. Re:Fantastic Article by ken_mcneil · · Score: 2, Interesting

      I see no reason why the majority of people in the world need to learn in order to keep up in society.

      Sure...the majority of people, but your attitude is really scary. As a CS major you must understand how a microprocessor, and therefore machine code, works. There is rarely a sitution, other than writing compilers, where you need to work at that level, but being able to think at that level is critical. Leaky abstractions are everwhere, and without a solid understanding of a computer from top to bottom you will never be able to debug problems when the abstractions built for you in languages like C++ and Java break down. I could give you tons of examples, but as just a bit of advice, you don't have to pick whether to learn how to do things the "hard way" (e.g. assembly) or the "easy way" (Java). Once you know assembly, Java is patty cake and you will be more productive with it.

    7. Re:Fantastic Article by mkldev · · Score: 1
      Case in point, a few years ago, I never thought there was a chance in you-know-where that anything I learned in my undergrad compiler class would ever be useful. Now I'm maintaining and enhancing a piece of software that creates documentation out of code comments. Two weeks ago, I gave it a new tokenizing parser....

      Apple releasing iTunes for Windows, me rewriting a code processor that parses close to a dozen different programming languages, and the 700 club criticizing a Republican administration... Hell definitely froze over, and it's showing no signs of thawing. As long as this trend continues, you never know what could happen next or what skills might come in handy in a few years....

      --
      120 character sigs suck. Make it 250.
    8. Re:Fantastic Article by Tintagel · · Score: 1

      (Prolog, for example, cannot be written in Java - it requires assembler)

      Java and assembler are both Turing-complete. Therefore any program that can be written in assembler can be written in Java.

      Think about the core features of a Prolog interpreter - unification and backtracking. Why do you think you can't write these in Java, where you have a fair amount of expressive power. Or in a functional language with even more expressive power, like higher-order functions?

      (As an aside: What do you mean by 'Java'? You probably meant the Java language, but think about Java bytecode - it *is* an assembly language. And it's exactly as powerful as x86 assembler, though its expressive capabilities are different since it assumes a different (virtual) machine architecture. So if I can write a Prolog interpreter in x86 assembler, I can write it in Java bytecode. And since the mapping from Java source to Java bytecode is fairly straightforward, I hope you agree that I can write a Prolog interpreter in Java source too.)

    9. Re:Fantastic Article by You're+All+Wrong · · Score: 1

      """
      As a CS major at Harvey Mudd College (one of the most technology-oriented colleges in the country) ...
      Prolog, for example, cannot be written in Java - it requires assembler.
      """

      You're going to fail.

      -1 Bullshit

      YAW.

      --
      Your head of state is a corrupt weasel, I hope you're happy.
    10. Re:Fantastic Article by oobar · · Score: 1

      Except that it makes no sense whatsoever.

      Do you need to know the intracacies of spark advance timing and its effect on the onset of detonation in order to drive your car? No, you certainly don't and I don't see anyone clamouring to encourage people to do so.

      Does one need to understand how the resonant cavity of a magnetron works in order to use a microwave? Of course not. Will microwaves enslave the unwashed masses that don't understand their internal workings? Of course not.

      Are you HONESTLY saying that a person today that can use a computer to do all sorts of simple and straightforward tasks (such as editing photos, sending email, surfing the web, etc.) is WORSE off then 10 years ago when he or she would have had to familarize themselves with a handful of command line tools and arcane knowledge? Of course not, that's just ridiculous.

      The premise of this article is that because computers are getting easier to use, that someone how that's a bad thing. I don't understand this logic at all. Sure, if you don't know the details of what's going on inside your computer you are more or less at the mercy of the person that wrote the program. But to that I say, SO FUCKING WHAT? To someone with no interest or aptitude in programming, the choice is either get nothing done because there are no easy to use tools, or get the majority of basic tasks done because someone has written an easy to use interface. How can you possibly say that that is imprisoning anyone? If anything, it's liberating.

      And finally, I ask you, where does this inane line of reasoning stop? So, you know a scripting language. Okay, but you don't really know what's going on unless you know a compiled language like C. But then, you really don't know what's going on unless you understand the low level calling conventions and internals of the underlying API. Fine. But when you think about it, you still don't understand what's going on until you have delved into the microcode and architecture of the CPU, and you understand how all the chipset registers function. Egads, you're still missing out on so much. How could you possibly leave yourself imprisoned by such a system without understanding the 14 layer masks of the CPU that powers your computer. Come to think of it, you really are in the dark unless you understand the solid state physics of each processing step involved in making that chip, as well as circuit design principles involved in every component. But wait, what about all the processing necessary to get the raw materials into a usable state? You're still imprisoning yourself by not knowing every possible underlying principle, all the way back to the chemistry of the Silicon atom and how it's refined from sand.

      Do you see how utterly ridiculous this is? There was a point at some time in the very distant past where a single human could understand every single aspect of every piece of technology that that person ever encountered. THAT TIME HAS LONG SINCE PASSED. The reason we are able to have all this technology is precisely because we can divide it up into managable domains, so that no one person has to know every single facet of some device in order to be able to use it to do useful work.

      The notion that this article presents is about the most ridiculous thing I have ever read on slashdot. Gee, we should all learn assembler otherwise we'll be enslaved by robot death machines. Yeah, okay, whatever. Please. Get. A. Fucking. Clue.

  15. Re:Natural Language Programming by CaptDeuce · · Score: 2, Interesting

    ... the future really is a machine that "thinks" in natural language and ideas, such that 'programming' will become a matter of speaking to the machine...

    Indeed.

    In 50 years, perhaps much less, the ability to read and write code will be as essential for professionals of every stripe as the ability to read and write a human language is today. If your children's children can't speak the language of the machines, they will have to get a manual job - if there are any left.

    Dylan Evans obviously has never watched Star Trek: The Next Generation. If machines can't speak the language of children within the next 50 years, somebody won't be doing their job correctly.

    Windows is such a dangerous commodity. It lulls us into the pernicious illusion that we can deal with computers without adapting to their logic.

    Nor has he ever used Windows. How he can claim that Windows is logical much less than anyone should adopt what it uses for logic buggers my imagination.

    --
    "Where's my other sock?" - A. Einstein
  16. You guys missed the point by Anonymous Coward · · Score: 0

    Not everyone needs to know how to program, but if you want to escape from the matrix you better get learning.

  17. Re:lucky stars by EnigmaticSource · · Score: 3, Funny
    Who wants to read Slashdot from a text-browser like Lynx
    I Prefer my Slashdot that way...
    Porn Sites Really Suck though.
    ----
    Real Men Don't X ----
    --
    The Geek in Black
    I know my BCD's (when I'm Sober)
  18. wait.. by xao+gypsie · · Score: 0

    and suggests that we are in the 'technological middle ages.
    doesnt the fact that he mention that imply that we are not in the tech middle ages? i mean, to say that we are in the middle implies that we know the other side, which clearly we do not...

    xao

    --


    xao
    http://TheHillforum.hopto.org
    1. Re:wait.. by Anonymous Coward · · Score: 0

      doesnt the fact that he mention that imply that we are not in the tech middle ages? i mean, to say that we are in the middle implies that we know the other side, which clearly we do not...


      By this logic we don't live in the modern age but rather some ancient one.

    2. Re:wait.. by xao+gypsie · · Score: 1

      even the ancients realized that they were in ancient times, and that there were also many who had lived before them. i didnt believe it either, but my arch prof was pretty convincing...

      xao

      --


      xao
      http://TheHillforum.hopto.org
    3. Re:wait.. by softspokenrevolution · · Score: 1

      Let's not forget that the technological/social middle ages was that time between the fall of Rome and the invention of the printing press/and or reneissance. This is what people are saying when they talk about why people need to understand history, because this guy sure doesn't (not talking about you Xao, about dave,you just rock on)

    4. Re:wait.. by zcat_NZ · · Score: 1

      By this logic we don't live in the modern age but rather some ancient one.

      And several thousand years ago, "Ug who cut meat with broken stone and cooked meat over fire" was considered by his peers to be an advanced, perhaps even enlightened, being. What's your point again?

      Oh yeah.. it's all relative..

      --
      455fe10422ca29c4933f95052b792ab2
  19. Thousands of hours... by dasdrewid · · Score: 2, Insightful

    If it is also necessary to spend hundreds - no, thousands - of hours at the keyboard, how are our scientists, the ones that aren't only interested in computers, supposed to get the time to study their own respective fields? I mean, thousands of hours takes up a bit of time, but I don't think we want nuclear physicists or molecular biologists putting their own fields second. I mean, imagine if your surgeon were a little tired from trying to figure out the slashcode he just installed on his home computer? I know my friends can't keep their hands steady holding their Mountain Dew, much less keep a scalpel steady while they're messing with my heart...

    --
    No trespassing. Violators will be shot. Survivors will be shot again.
    1. Re:Thousands of hours... by Anonymous Coward · · Score: 0

      1000hrs works out to 2 4-credit hr courses every semester in a 4year college career. That's hardly massive overload, in itself. I do think that 1000hrs is a bit much, though. It really only takes a fraction of that, if you're willing to learn and experiment...and you use something like vmware to restore like crazy. :)

  20. pointless article by hankaholic · · Score: 3, Insightful
    Basically, the article says:

    GUIs don't map very well to the way that computers actually function.

    Within 50 years, the average secretary will need to know how to program or will be unable to perform his or her job.
    Those aren't direct quotes, but that's the meat of the article.

    Imagine that in 1930, somebody said that the controls presented to drivers don't map well enough to the function of cars, and that in the future people would have to know how every drivetrain component works in order to drive or face losing the ability to use public roads.

    You don't have to know how a VCR functions in order to use it. You don't have to know how your cell phone transmits signals in order to use it. You don't have to be an engineer or know how a torque converter works in order to drive with an automatic transmission.

    I don't see why an article that states that users will have to know how to code in order to use computers is worth a spot on the homepage.

    Am I missing something here?

    --
    Somebody get that guy an ambulance!
    1. Re:pointless article by bug-eyed+monster · · Score: 1

      Am I missing something here?

      Nope, you got it spot on. What the article misses, is that we use natural language to communicate with other humans, so it's important we all know it. But computers and software are tools and programming languages are used to make these tools.

      The average person shouldn't need to know how to make the tool (ie learn the programming language), they should only need to know how to use it. If every person in the world needed to learn programming languages just to get by, it would be because the computer industry is creating awfully crappy tools for the world to use.

    2. Re:pointless article by MagikSlinger · · Score: 1

      Others have addressed the specific point, but as for your claim about cars:

      that in the future people would have to know how every drivetrain component works in order to drive or face losing the ability to use public roads.

      Pretty much true to keep your car on the road unless you want to either a) pay LOTS of your hard earned money to someone who does, or b) take some time to understand what the basic components are and how they are maintained.

      If you don't know that your drive train needs to be inspected every 200,000 miles, your car could be an immobile artifact on the side of the road. If you don't know how to check the oil in your car, you could end up losing your engine block.

      This argument that "we don't need to know anything about the inner workings of the car" is bupkis. You use standard transmission on your favorite SUV? That's a rather obvious exposure of the machine to the driver.

      This is a side topic, but saying one can be blissfully ignorant of how the machine works for you is just a recipie for the machine to work you.

      --
      The bitter lessons of a veteran coder: http://bitterprogrammer.blogspot.com
    3. Re:pointless article by FattMattP · · Score: 1
      Am I missing something here?
      Yes.

      A car can have a consistent user interface because the functions that it performs are specific and limited. The same goes for cell phones and VCRs. That's also why cell phones, VCRs, and microwaves turn on instantly instead of having to boot up; Their functionality is usually fixed.

      Computers, on the other hand, are multi-purpose machines that people want to use to process information in lots of different ways. How you want to process your information will determine what software you will run. Some people have simple courses of actions that they wish to perform and might use a program that does it all for them (say, a word processor).

      Others might need more flexibility in how they deal with their data. The tools they use will be more specialized and there will be more of them. (say, Perl, unix cmd line tools, etc). They will prefer a literate interface where they can be more articulate in explaining to the computer exactly what it is that they want the computer to do for them.

      GUIs don't map very well to the way that computers actually function.
      GUIs map very well to how computers actually function, and that's one of the current problems with them. Example: If I drag a file from one folder to another on the same hard drive, it moves it. If I drag it from one folder to another folder that is on another hard drive or a network share, it copies it. Why isn't the UI consistent? Why must the user be exposed to the underlying physical storage structure to know if their file will be moved or copied?

      I'd say instead that GUIs don't always map very well to the specific task or set of tasks that the user wants to accomplish.

      Within 50 years, the average secretary will need to know how to program or will be unable to perform his or her job.
      I can see that happening. In 50 years we're going to want/need to process data in all sorts of different ways that we can't think of now. I suspect that there will be better ways to give a set of instructions to a computer to accomplish a task than the current GUIs that we have now. Programming for the average Joe will probably be much simpler than writing a Perl script is today while still having as much power, or more.
      --
      Prevent email address forgery. Publish SPF records for y
    4. Re:pointless article by moloney · · Score: 0

      You don't have to know how a VCR functions in order to use it. You don't have to know how your cell phone transmits signals in order to use it. You don't have to be an engineer or know how a torque converter works in order to drive with an automatic transmission.

      So far, so good.

      I don't see why an article that states that users will have to know how to code in order to use computers is worth a spot on the homepage.

      Oops, you blew it there.

      To continue your analogy, you could have said that users don't need to understand pipelining the in the CPU, or they don't need to understand how a NAND gate works, or they don't need to understand n-type and p-type substrates that compose the chips. But you screwed up your own analogy.

      Continuing your analogy (correctly) doesn't even support your argument because a user/programmer doesn't need to understand these things to program the computer. However, they might become a better user/programmer if they did.

      I didn't read the article (so sue me) but I'm guessing that the article said, "More people are going to have to learn to use the more expressive UI of computers (programming languages) to more effectively tap the power of computers rather than getting by with the pre-packaged/dumbed-down UI of applications as they do today."

    5. Re:pointless article by RestiffBard · · Score: 1

      my thinking, either this guy is trying to blow smoke up our ass and give us a little false self importance, or he honestly thinks we have to know how to code in order to use a word processor. nonsense.

      nuts and bolts are a certain way. so we made a tool to operate on them that matches both the object being worked on and the hand that guides the operation. you don't need to understand physics to understand that when you turn a wrench one way the bolt will loosen and the other, tighten.

      0s and 1s are a certain way. so we make a tool to operate on them that matches the object being worked and the hands thay guide the operation. you don't need to understand C to use a word processor. perhaps we just haven't built the right tool yet.

      It took till Jefferson to come up with a better freaking plow and we'd been plowing fields since we left the hunt.

      --
      - /* dead coders leave no comments */
    6. Re:pointless article by Anonymous Coward · · Score: 0

      Everyone's missing the point, hardware will become more single purpose. Kinda like the car, problem with computers is they do several things well, but nothing extremely well.

    7. Re:pointless article by NortWind · · Score: 1

      I think you are missing the point that many intrinsic parts of programming are hard to learn. Some people will never get recursion. Some types of tasks cannot be done reasonably without recursion. So, I claim, some people will never be able to do some kinds of programming.

      Another problem is that English and other natural languages are terribly vague.
      Human: "Computer, add the first 50 numbers".
      Computer: "Should I start with 0?"
      Human: "Of course not, 0 is not a number!"
      Computer: "Hokay, if you say so. Done."
      Human: "Well, where's the answer?"
      Computer: "What answer?"
      and so on...

    8. Re:pointless article by Drooling+Iguana · · Score: 1

      Am I missing something here?

      Yes. A more accurate analogy would be someone who drives using only the gas pedal because the steering wheel/brake/etc. are too hard to use. You don't need to understand every drivetrain component in order to drive your car, just as you don't have to know how to build a CPU in order to use a computer. However, you do need to learn how to use all of your car's controls in order to drive it effectively, just as you have to know how to use CLIs and do some simple script programming in order to use your computer to its full potential.

      --
      ... I'm addicted to placebos
    9. Re:pointless article by Nucleon500 · · Score: 1
      Imagine that in 1930, somebody said that the controls presented to drivers don't map well enough to the function of cars, and that in the future people would have to know how every drivetrain component works in order to drive or face losing the ability to use public roads.

      Like all others, this car analogy is flawed - the controls presented to drivers map perfectly to the function of cars, and only moderately well to humans. Cars have throttles, humans have feet, so there was a gas pedal which directly controlled the throttle. Cars have rack and pinion steering, humans have hands, so there's a steering column connecting your hands to the steering system.

      Contrast this with a computer - computers have programs, humans have hands, so you either type the name of the program or move the mouse to the icon and click on it. Yes, it's more complex, but there's a reason - instead of a few linear or discrete controls, computers have many abstract concepts. To drive, you must understand the controls (turning the right while moving foreward makes the car go right, while the car is moving backwards, it goes in reverse, it does nothing while the car is stopped). To use a computer, you must understand the abstract concepts - this is a program, it runs, it interacts with files, files are stored in directories, etc.

    10. Re:pointless article by Anonymous Coward · · Score: 0
      You don't have to know how a VCR functions in order to use it.


      Wow, I'd be hard pressed to come up with a simpler machine that is better known for having an unusuable user interface. Have you ever seen a flashing 12?

    11. Re:pointless article by Anonymous Coward · · Score: 0

      The driver who knows what's going on under the hood and can fix things or advise a mechanic if necessary has more freedom than the one who doesn't. The ignorant driver gets ripped off when he/she takes the car to the garage.

    12. Re:pointless article by sodar · · Score: 1

      > Am I missing something here?

      Information is, and will be the most valuable market product. You need to know how to create/process information efficiently. No matter how - you can use gui/text/whatever. In the future people who can't process information efficiently will remain outside the 'information society' and become peasants - as the article says.

    13. Re:pointless article by RealUlli · · Score: 1
      Imagine that in 1930, somebody said that the controls presented to drivers don't map well enough to the function of cars, and that in the future people would have to know how every drivetrain component works in order to drive or face losing the ability to use public roads.

      Am I missing something here?

      Yes, you are. People don't have to know the function of every part of the drive train, but it sure helps to know why the car just stalled, or why you got in a skid going around a corner without slowing down. Sure, you can tell the driver not to exceed a certain speed going around that corner, but what happens in winter? Some basic understanding of physics at the instinctive level (at least, training to the instinctive level) is necessary for safe operation of the car. The UI of the car is just an abstraction and has nothing to do with the underlying physics.

      I know some turns where you can safely exceed the speed limit by 50% (except when there's a cop 'round that corner ;-)) ), but I also know some turns where you cannot exceed the speed limit by more than 5% without leaving the road... both values for dry road, average car.

      I had it happen to me that I got in a skid (wet tram tracks tend to be slippery, I should have gone slower) in a left turn at some traffic lights. Most drivers would have panicked, slammed the brakes and possibly hit something or blocked the crossroads. Myself, I saw my mistake: rear-wheel-drive, too much power, so the back wheels lost traction. Solution: Correct with the steering, reduce power slightly. Effect: Got the car back under control, no lasting effects, except that some other driver that had been trying to crawl into my exhaust stopped doing that... ;-))

      Normal driving school doesn't teach you stuff like that, but you can book training sessions where you get explained the physics and get to practise getting a skidding car back under control. There they also train you to release the brake if you want to go around an obstacle instead of hitting it, or how to get the maximum out of your brakes...

      I should stop rambling now, this article is offtopic enough... ;-))

      Regards, Ulli

      --
      Simple things should be simple, complex things should be possible.
    14. Re:pointless article by pyat · · Score: 1

      Car analogies seem to be popular.

      The problem is: the car is a single purpose device, the computer is a multi-purpose device. That is why you program it.

      Not being able to program the computer is a bit like not being able to drive the car, it is not like not knowing how to maintain it.

      Even with a VCR, you need to learn some fundamentals in order to use it... e.g. telling time. Without knowing how to read a clock or tell time you could still play rental movies, but could never reliably set the VCR (videoplus notwithstanding).

      Equally, without learning the basics of computer programming (as opposed to the details of transistors and electronics) you are very limited in your use of a computer. Not that you cannot use it, just that you are a bit hobbled.

    15. Re:pointless article by misterpies · · Score: 1

      >> Within 50 years, the average secretary will need to know how to program or will be unable to perform his or her job.

      From my perspective, that's already started to happen. I work for a magazine publishers which is now doing most of its business online, so we do a lot of text processing. We recently sent 12 people on a perl course. Only 2 were in real programming roles. Most of the others were junior or middle management who had never programmed before. But they had finally figured out that instead of waiting for a developer to write a few lines of perl for whatever simple task needed to be done (e.g. substituting some XML tags) they could do it themselves. And even if they didn't do it themselves, at least they'd have an idea of how complex a task it really was.

      And as for secretaries getting into programming... try creating even a simple Excel or Access macro without a knowledge of visual basic (or at least some understanding of programming).

      --
      The author of this post asserts his moral rights.
    16. Re:pointless article by hankaholic · · Score: 1

      You seem to confuse being able to perform normal maintenance (changing oil, inspecting various components, checking fluid levels, etc.) with understanding how, say, a limited-slip differential or CV joint works.

      I never said that computer users won't have to perform maintenance (such as performing backups, restoring old versions of files, installing and upgrading software, etc.) -- I said that programming experience isn't a prerequisite for using computers, and probably won't be in the future.

      Furthermore, driving a stick-shift does not teach you how the transmission works. Moving a lever and pushing a foot pedal does not explain how synchros work to make the shift smoother, or how the shifting forks select the proper gear, or how the throwout bearing is laid out.

      Nor is any of that necessary knowledge for those who drive stick-shifts, and most of it probably wouldn't even help the average driver.

      And I don't like SUVs. If I wanted something tall with tons of cargo room that handled much worse than the average car, I'd drive a minivan.

      --
      Somebody get that guy an ambulance!
    17. Re:pointless article by hankaholic · · Score: 1
      That's also why cell phones, VCRs, and microwaves turn on instantly instead of having to boot up; Their functionality is usually fixed.
      Interesting. My cell phone, VCR, DVD player, Playstation, and Comcast cable box all have a delay between initial power-on and full functionality. It's too bad that you claiming that they don't doesn't suddenly make my cell phone allow me to place a call within 8 seconds of initial power-on, since it's still starting up (not seeking service, starting up).

      GUIs map very well to how computers actually function, and that's one of the current problems with them. Example: If I drag a file from one folder to another on the same hard drive, it moves it. If I drag it from one folder to another folder that is on another hard drive or a network share, it copies it.
      How does this rather arbitrary design choice map well to the way the system actually functions? In this case, the GUI is designed with the user's actions in mind, not the system's function.

      In years past, users often used media to which the system often had only temporary access (such as floppies). When the user dragged a file to another drive (especially to or from removable media), the system assumed that the user was making a copy, such as for backup purposes. When the user dragged a file to another location on the same drive, the system assumed that the user was placing the file in a more appropriate location, and moved it.

      This design decision had nothing to do with any underlying operating system requirements or behaviour that files cannot be moved across media unless the user is holding a modifier key.

      I would claim that many GUI components don't map very well to the state that they try to represent. Take, for instance, the famous hourglass cursor. It's not actually indicative of system load, but rather appears at the whim of the application developer during times which he or she has imagined the system might be unresponsive. These are two different things -- Windows will happily thrash the swap file for minutes on end while the cursor remains arrow-shaped.

      Why isn't the UI consistent? Why must the user be exposed to the underlying physical storage structure to know if their file will be moved or copied?
      And furthermore, what does this have to do with any mapping between the way the system functions on a basic level and the GUI? The GUI calls one OS function if the user is dragging between directories on the same drive, and another function if they're dragging between drives. This is an arbitrary design choice, not an insight into the underlying OS.
      --
      Somebody get that guy an ambulance!
    18. Re:pointless article by hankaholic · · Score: 1

      No, basically the article said what I did in my summary -- that people would no longer be able to use computers without programming knowledge.

      Not that programming knowledge would be useful. That it it would be necessary. That secretaries won't be able to write a letter without coding knowledge.

      You'll argue that the article deserved a place on the homepage, but you didn't read it? What is the homepage for, if not for referring to articles which are worth reading?

      --
      Somebody get that guy an ambulance!
    19. Re:pointless article by hankaholic · · Score: 1

      I'm not missing that point, I totally agree with it.

      The future of computing isn't in forcing the users to know how to code. The future of computing is in designing interfaces that map better and better with human expectation and intuition (such as, say, uninstalling an application under MacOS, instead of Windows' unintuitive counterpart).

      --
      Somebody get that guy an ambulance!
    20. Re:pointless article by hankaholic · · Score: 1

      What is "[using] a computer to its full potential"?

      Can you use a hammer to its full potential? What about an axe? A paintbrush?

      Computers are tools. If they get the job done effectively, then they are good tools.

      I don't understand this elitism. If someone wants to write a letter, let them write a letter, don't try to force programming up their ass. They're not "wasting" the tool, they're using it just as you are when you're piping output in bash.

      Are there more convenient ways to do things? Possibly, but if the job gets done and the user is happy, then I'd say that's an overall success.

      --
      Somebody get that guy an ambulance!
    21. Re:pointless article by hankaholic · · Score: 1
      To use a computer, you must understand the abstract concepts - this is a program, it runs, it interacts with files, files are stored in directories, etc.
      Yes. I would agree that this is fairly requisite knowledge for, say, word processing.

      But knowing how to write your own program is not requisite knowledge, which the article implies pretty strongly.
      --
      Somebody get that guy an ambulance!
    22. Re:pointless article by hankaholic · · Score: 1
      The article doesn't say that people will have to "process information". It says that people who cannot read and write code (not click on GUI widgets, write code) will be stuck with manual labor. Look:

      In 50 years, perhaps much less, the ability to read and write code will be as essential for professionals of every stripe as the ability to read and write a human language is today. If your children's children can't speak the language of the machines, they will have to get a manual job - if there are any left.
      Emphasis added.
      --
      Somebody get that guy an ambulance!
    23. Re:pointless article by hankaholic · · Score: 1
      There's a difference between knowing enough of the physics of driving to pull out of a fishtail and knowing how, say, a CV joint works (or even what it does).

      Okay, okay, you said RWD, so let's say a limited-slip differential, or a torque converter (or throwout bearing, if you're of that persuasion), or a water pump, or an ignition system.

      Did you read the article? Did you catch this paragraph?

      In 50 years, perhaps much less, the ability to read and write code will be as essential for professionals of every stripe as the ability to read and write a human language is today. If your children's children can't speak the language of the machines, they will have to get a manual job - if there are any left.
      If an article tells me that doctors and lawyers will have to know how to code in order to save themselves from field work, I'm going to call bullshit, plain and simple.
      --
      Somebody get that guy an ambulance!
    24. Re:pointless article by hankaholic · · Score: 1

      YES!

      Thank you. I hoped I wasn't along in feeling that if a doctor needs to write code, the computing industry is woefully lacking.

      --
      Somebody get that guy an ambulance!
    25. Re:pointless article by SmallFurryCreature · · Score: 1
      Yes you are missing the fact that most people don't seem to know how to deal with their VCR. That blinking clock is not a joke.

      I also think you are missing just how many people know about the inner working of cars. I am certainly no mechanic but I know how most of the bits roughly work. An electrical motor sets the crankshaft in motion wich causes cylinders to move. The action of this creates suction drawing in air wich is fed alond a nozzle from wich fuel is pulled wich then mixes with the air. This mixture is then ignited in the cylinder at the a certain point wich causes the cylinder to move and foila the engine is started.

      How many here can tell this a lot better? At least a quarter of the readers I will bet. So most people will not be to cheated at a car dealer/repairshop. If we don't know enough ourselves we can rely on people close to us who we thrust for help. I can fix a loose wire and will not be charged for replacing the pistons when the sparky things have just gotten old (moped)

      Now go and check how many people understand what a partition is. I recently found this one out and it scared the shit out of me. The person had a 60gb hd and wanted a new one because it was full. So I asked what he did with it to determine if perhaps he needed to go for a 200gb wich was on special offer. Turned out he didn't do anything special with it. So why was his disk full? He only had one tiny little partition.

      This person was a slave to his machine. With a car he would be unable to tell something is wrong when it does a mile to the gallon, with a vcr he would be unable to record a program while he wasn't there to start it. Any shop clerk could have sold him anything with the highest profit.

      It is like when the church was dead set against the bible being translated into english. They wanted people to rely on them to tell what the word of god was. Translate it into english and people might just make their own mind up about it,

      So does everyone need to learn the innerworkings of their PC? No as long as they are happy with the fact that they are completly and utterly reliant upon others. Do you need to learn the innerworkings of your car? No as long as you are happy being totally and completly reliant on others when things break down.

      We seem to be moving away as a society from thrusting other people completly. How many people would no longer ask for second opinion from a doctor for something serious?

      --

      MMO Quests are like orgasms:

      You may solo them, I prefer them in a group.

    26. Re:pointless article by hankaholic · · Score: 1
      Did you read the article?

      What I'm arguing against is statements like this:

      In 50 years, perhaps much less, the ability to read and write code will be as essential for professionals of every stripe as the ability to read and write a human language is today. If your children's children can't speak the language of the machines, they will have to get a manual job - if there are any left.
      Your little example (knowing that a starter is an electric motor) is like knowing what a partition is.

      To put it in automotive terms, the article says that anyone who can't change a head gasket or rebuild a transmission won't be able to drive.

      Yes, it's a shitty analogy, but all analogies break down when you look closely enough. The point is, it's rediculous to say that a doctor or lawyer will be forced to "get a manual job" simply because they don't have "the ability to read and write code", which is what the article suggests.
      --
      Somebody get that guy an ambulance!
    27. Re:pointless article by MagikSlinger · · Score: 1
      You seem to confuse being able to perform normal maintenance (changing oil, inspecting various components, checking fluid levels, etc.) with understanding how, say, a limited-slip differential or CV joint works.

      That level of knowledge is akin to assembly language and digital circuit design. Programming experience isn't about that level of knowledge about the computer; you're using a C or assembly view of programming. There are lots of higher level languages users can learn and be aware of, and that's my impression of the author's point. He said that the user interface has completely hidden the nature of the computer, and that as long as people only have that kind of relationship, they can end up serving the machine instead of the other way round.

      Cars have not completely hidden the nature of their machinery. The average driver may not know what a friction plate is, but if they drive standard, they have to know that you need to engage and disengage the clutch to change gears. The average driver is painfully aware the car needs gas and oil changes. Windows XP and the Mac have hidden all that from the users so you either have to call tech support or a really knowledgable friend to fix your computer when it goes down. The user who has no idea how a virus works is more vulnerable to infection than one who knows how Outlook Express behave with regards to attachments. You become at the mercy of the machine if you don't have any idea what the nature of the machine really is.

      But he also made a more specific point. He's saying that if you only have a superficial relationship with your computer, then you have no job security. A secretary or admin clerk with zilch programming experience vs. one who has some knowledge of how to use VBA will have radically different productivity rates. I've seen it here at work how a little knowledge of VBA improves their productivity thus making them more valuable employees and thus giving them better job security than the poor user who only knows how to mechanically enter and tabulate data.

      He's saying most people are doing such menial jobs in the information sector that they could easily be replaced by a machine. If you don't want to be replacable like that, you need to develop skills a computer still doesn't have: creativity and the ability to instruct (or program) the machine. People who could merely use DreamWeaver were the first to lose their jobs when the Dot Bomb hit. But those who either had the creativity to design and draw, or a good knowledge of HTML and Javascript (not just how to drag n drop in Dreamweaver), found they could either keep their jobs or find new work faster. So the secret, he argues, is either be creative or be a programmer.

      And I don't like SUVs. If I wanted something tall with tons of cargo room that handled much worse than the average car, I'd drive a minivan.

      Good for you! Now to convince the rest of them. :-)

      --
      The bitter lessons of a veteran coder: http://bitterprogrammer.blogspot.com
    28. Re:pointless article by hankaholic · · Score: 1
      He's saying most people are doing such menial jobs in the information sector that they could easily be replaced by a machine.
      I think he's saying much more than that.

      From the article:
      In 50 years, perhaps much less, the ability to read and write code will be as essential for professionals of every stripe as the ability to read and write a human language is today. If your children's children can't speak the language of the machines, they will have to get a manual job - if there are any left.
      Emphasis added.

      As I've stated elsewhere, if someone tries to convince me that a doctor or lawyer's time is best spent coding, I'm going to call bullshit. That's what programmers are for -- I wouldn't expect a coder to diagnose illness, and I wouldn't expect a doctor to write code.
      --
      Somebody get that guy an ambulance!
    29. Re:pointless article by MagikSlinger · · Score: 1
      As I've stated elsewhere, if someone tries to convince me that a doctor or lawyer's time is best spent coding, I'm going to call bullshit. That's what programmers are for -- I wouldn't expect a coder to diagnose illness, and I wouldn't expect a doctor to write code.

      I think I know what you're getting at now, and now that I think about it more carefully, I'm beginning to see what the author of the article's point was.

      For years, Astronomers have written their own code. Theoretical physicists write their own code. You're treating programming as a rarified art that can be safely left only to the coders, but that's not ever been true. There are lots of professions where programming knowledge is not only useful, but essential. They don't hire Comp Sci grads to write chemical analysis software. Accountants prefer to have accountants write and design critical accounting software (I know a few accountants so sue me :-)). Accountants still have to verify the code and final binary before it can be certified for use in certain situations, and that does require knowing something about code so they can read it and verify it.

      Programming is not the same as being a doctor. It might, at best, be like being a lawyer. There is a need for professionals who devote their time to it, but everyone has to have some understandind of the legal system or be screwed by it. In most of Canada, consumer education is mandatory for high school graduation and it also includes basic law that every citizen should know. Doctors especially have to know the law. Why isn't programming like the law in this case?

      In the case of programming, sure not everyone is going to be an expert coder, but there are an increasing number of professions where having familiarity with programming is important. Whether or not *every* profession will be affected is debatable, but you can't deny that programming isn't, and never has been, the exclusive domain of Computing Science types.

      Sure, not everyone has to become an expert coder, but programming is slowly creeping into a lot of professions. Getting a good job with a pure Comp Sci degree is getting difficult. I needed at least a Geography minor to get into GIS, and the analysts I work with are Geography majors with Comp Sci or InfoTech minors. There are countless other professions like expert machiners who need to know how to program a CAM lathe. Even though it isn't VB or C, it is still programming a computer.

      I think the author does have a point: programming is becoming more pervasive, and what will separate the expendable from the indispensable is your ability to control the machine.

      --
      The bitter lessons of a veteran coder: http://bitterprogrammer.blogspot.com
    30. Re:pointless article by hankaholic · · Score: 1
      ...but there's a difference between saying that many people might benefit from coding, and professionals will be unable to do anything but manual labor without coding experience.

      Sure, coders do need to be familiar with the domain of the problems they are trying to solve. However, I really, really doubt that, say, every therapist will need to be able to code in order to help children from broken homes.

      Besides, even given the assumption that everyone who isn't swinging a pick axe can code, there are a lot of wheels that will be reinvented out there. Chances are that certain programs will become widely distributed, and people will get back to their actual jobs.

      The point is that there's a difference between saying that programmers are much more useful when they have knowledge of non-CS domains to which they can apply their knowledge (which is what you seem to be saying) and saying that an air traffic controller who can't code will end up doing yard work, which is what the author of the article seems to be saying.

      Whether he meant to say so or not I won't argue, but he said that the "the ability to read and write code will be as essential for professionals of every stripe as the ability to read and write a human language is today", and those who cannot write code "will have to get a manual job - if there are any left."

      Although, looking at the other side of the coin, perhaps you are correct in your interpretation -- namely, that the author didn't mean what he actually said, he meant what you actually said. If that is the case, perhaps he is showing that today one can get by as an author without the ability to write clearly. If that is the case, his statement would imply that "in 50 years, perhaps much less", people who write code poorly will be okay, just as those who write unclear articles often are today.

      I think the author does have a point: programming is becoming more pervasive, and what will separate the expendable from the indispensable is your ability to control the machine.
      I might agree if the author hadn't said that all professionals would be unemployed unless they could code.

      Furthermore, professionals are still hired by companies. Often companies realize that specialization can be more efficient than having every employee perform every task. I would imagine that long before a company would ask every employee to learn to code, they would find a few people to develop the apps they need in-house. This would allow a few people to know the codebase well, rather than many people to know the codebase a little bit.

      Of course, this supports your point quite well, but not the author's.
      --
      Somebody get that guy an ambulance!
    31. Re:pointless article by MagikSlinger · · Score: 1
      ...but there's a difference between saying that many people might benefit from coding, and professionals will be unable to do anything but manual labor without coding experience.

      Good point. The author was probably exaggerating for the benefit of attracting readership. I don't think it'll be "Coding or the work camps for you!", but a question of who does really well and who doesn't. Kind of like having a Business degree to augment your expertise gives you a better chance of becoming rich than simply being an expert. He seems to believe that not being able to code will hamper you in all professions, but I don't believe there is definitive evidence either way for that prediction.

      I would imagine that long before a company would ask every employee to learn to code, they would find a few people to develop the apps they need in-house.

      But that's viewing programming as Big App oriented. A lot of code will be written like FORTRAN used to be: lots of small things scattered all over the place. A lot of enterprises already have dozens or more of these mini-apps. One sales manager might use MS Access to manage his customer contact information; a project manager creates the Excel spreadsheet/macros from Hell to do project estimation. Because they can do a little bit of coding, they will be more productive that their counterparts who don't. And in the end, the productive employees are kept.

      Not everyone is going to work on Big App projects. It's just that if they want to get that little, annoying but time consuming task done faster, the productive will program their computers. Non-programmers will become a slave to their computers manually doing something that could be done with code, and the author's argument was if your job's existence only depends on doing something that code can do, you will be replaced by code. So to thrive in tomorrow's job market, you gotta be just that little bit smarter than the rest, and he argues coding will be that edge.

      And it's not like you can go to the IT department for help anymore. More and more companies outsource their IT so going for that help can prove to be really expensive, so if you can do these small things for yourself, you will have an edge over the one who can't. And in this age of cutting staffing to the bare minimum, the more productive employees and professionals will survive. That's what I thought his argument meant.

      Having said that, this does suggest a strong opportunity for some creative entrepeneur: creating a "coding" environment that lets non-programmers program their applications and computers without becoming a hard core programmer. Hypercard was a step in that direction. A more specialized version is Flash and Shockwave. Visual Basic for Applications is a massive step backwards, IMHO.

      For the record, I work for an IT outsourcing company and I am "embedded" with the client. I do a lot of this little grunt work on a fixed cost basis. A small macro or a small app can go a long way to improving someone's productivity. ;-)

      --
      The bitter lessons of a veteran coder: http://bitterprogrammer.blogspot.com
    32. Re:pointless article by FattMattP · · Score: 1
      Interesting. My cell phone, VCR, DVD player, Playstation, and Comcast cable box all have a delay between initial power-on and full functionality. It's too bad that you claiming that they don't doesn't suddenly make my cell phone allow me to place a call within 8 seconds of initial power-on, since it's still starting up (not seeking service, starting up).
      Wow, that sucks. I was able to turn on my VCR and use it within about a second and a half. My TV came on right away and I was able to turn the volume up and down and change channels within a second of hitting the power button. My microwave was also useful in the same amount of time even after unplugging it and plugging it back into the wall. My cell phone (old StarTac) came on immediately and only took about four seconds to connect to the network (Sprint). That sucks that yours takes eight seconds just to turn on. I can't comment on the cable box, but seeing how slow the user interface is on those AT&T/Comcast cable boxes are I'm not surprised it takes so long to turn on. My cable goes right into my VCR. My DVD player also came on right away, ready to accept a disc. Just for grins I left I DVD in there, turned it on and hit play. It started playing the DVD within a second or two.

      Maybe you should buy better equipment if you have to sit and wait so long for it all to come on.

      --
      Prevent email address forgery. Publish SPF records for y
    33. Re:pointless article by hankaholic · · Score: 1
      Maybe you should buy better equipment if you have to sit and wait so long for it all to come on.
      I'm glad that you're familiar enough with my usage patterns of the devices I've listed to recommend me wasting more money on more crap I'll rarely use anyways.

      This all has nothing to do with your argument that GUIs map well to the way the system actually functions, but thanks for playing.
      --
      Somebody get that guy an ambulance!
    34. Re:pointless article by FattMattP · · Score: 1
      I'm glad that you're familiar enough with my usage patterns of the devices I've listed to recommend me wasting more money on more crap I'll rarely use anyways. This all has nothing to do with your argument that GUIs map well to the way the system actually functions, but thanks for playing.
      Then why did you respond to that part of my original message if you didn't feel it had anything to do with your point?
      --
      Prevent email address forgery. Publish SPF records for y
    35. Re:pointless article by hankaholic · · Score: 1
      Because I was pointing out a fallacy in your argument. Your citing counterexamples did nothing to change the fact that you were incorrect.

      That's also why cell phones, VCRs, and microwaves turn on instantly instead of having to boot up; Their functionality is usually fixed.
      Look, you said that devices with fixed functionality "turn on instantly instead of having to boot up." I provided examples which disproved your statement; you can provide examples of some devices which seem to turn on "instantly", but since the general statement "cell phones... turn on instantly" applies to all cell phones, all I have to do is find a single cell phone which does not turn on "instantly" in order to prove the falsehood of your generalization.

      Since I have one such phone myself, I've disproved your general assertion. It's done, it's over.

      Imagine this exchange:

      You> Cars are blue.
      Me> My car isn't blue. In fact, it's red. Maybe some cars are blue, but "cars are blue" speaks for all cars.
      You> But I have a blue car! Cars are blue!

      Now you can go on about how "cell phones... turn on instantly", but that doesn't change the fact that you're wrong. Not all devices with fixed functionality turn on instantly. You've lost -- you're wrong. It's okay, it happens to lots of men. Just take your toys and go home, will you? The horse is dead, and if you keep flogging it it's going to really start to smell.
      --
      Somebody get that guy an ambulance!
    36. Re:pointless article by FattMattP · · Score: 1
      Look, you said that devices with fixed functionality "turn on instantly instead of having to boot up." I provided examples which disproved your statement; you can provide examples of some devices which seem to turn on "instantly", but since the general statement "cell phones... turn on instantly" applies to all cell phones, all I have to do is find a single cell phone which does not turn on "instantly" in order to prove the falsehood of your generalization.
      That's why it's a generalization. Not all cell phones turn on instantly, but the majority of them do. I could say the same thing about cars like you did. "Cars are painted." If you have a car that has no paint that doesn't disprove the generalization that the majority of cars have paint on them and therefore by saying that "cars are painted" most people will know what I mean and agree.
      You've lost -- you're wrong. It's okay, it happens to lots of men. Just take your toys and go home, will you? The horse is dead, and if you keep flogging it it's going to really start to smell.
      Do you wish to have a discussion like an adult? Comments like these make you look very immature.
      --
      Prevent email address forgery. Publish SPF records for y
    37. Re:pointless article by hankaholic · · Score: 1

      And your lack of ability to stick to the main thread of this discussion doesn't do much for your appearances either.

      Now, if you'd like to discuss something, how about responding to my comments about GUIs not mapping well to the way a system actually operates?

      --
      Somebody get that guy an ambulance!
  21. The problem with a command line interface.. by windows · · Score: 5, Insightful

    The article suggests that machines deal in text instead of through colorful GUI windows. This isn't true at all. The computer has no preference between user interfaces; it doesn't make a bit of difference to the machine.

    Whether or not I'm adding a switch on the command line or checking a box in some GUI, I'm performing the exact same function - that is, toggling some flag/setting within the program. It's just a different representation. The article suggests that text is the language of computers. This is not true at all. The language of computers is a stream of octets that are interpreted as instructions by the processor. That is the only language the computer actually understands.

    I can say for sure that I find the GUI very efficient at times. For example, I do some video editing and converting, and find myself using mencoder (a tool included with mplayer) rather often. There's a LOT of switches at the command line, and often I find myself spending several minutes browsing the manual page to find what switches I need set. And even then, sometimes I find myself turning to Google to find the information I need. I can't help but think that it could be done much more efficiently with a very basic graphical front-end. The CLI isn't always more efficient.

    I know, there's many tasks that are better done from the command line. But to say that a user operating a GUI is further removed from the internals of the computer, is just incorrect. Whether or not I'm adding a switch on the command line or checking a box in a GUI, it generally has the same effect.

    1. Re:The problem with a command line interface.. by Hooya · · Score: 1

      sure GUIs are very efficient at times. just like pictures are efficient for cartoons.

      what you have just pointed out are the only areas of computing that are better served by GUIs. i'm talking CAD, photo manip., CGI (even that is debatable since scripts actually do the bulk of the work) etc. because they deal with pictures.

      don't get me wrong GUIs do have a place. just like pictures do. but if pictures were really worth a thousend words (enough to replace them altogether) why do we still carry around books with thousend words in 'em? perhaps accounting books could be user friendly by having just a smiley face to denote a profit and a frown for a loss instead of all those numbers and all that math. the book doesn't really have a preference either.

      you see, quantifying something using words is a lot more easier than with pictures. even tho 'pictures are worth a thousend words'. perhaps that's why you've stopped reading books with large pictures on them since the 2nd grade.

    2. Re:The problem with a command line interface.. by Anonymous Coward · · Score: 0

      Not sure if you've heard about it, but there's a perl/gtk app called acidrip that uses mplayer/mencoder to rip DVDs, maybe it can do normal normal encoding too.

    3. Re:The problem with a command line interface.. by Admiral+Burrito · · Score: 1

      So how do you do loops and conditionals through a GUI? Computers exist to do stupid and repetitive things, yet most GUI apps don't give you a flexible way to take advantage of that. You can only do the tasks the programmer intended. To do anything else, you need to be a programmer, and that usually means a text-based programming language.

    4. Re:The problem with a command line interface.. by Compuser · · Score: 1

      Well, but most people do not want to do boring
      repetitive things. They mostly want one op done
      at one time: move this file(s) there, telnet/ssh
      here, play that movie, etc.
      What repetitive tasks would a secretary need to
      perform?

    5. Re:The problem with a command line interface.. by Drooling+Iguana · · Score: 1

      Give me a list of the tasks a typical secretary performs, and I'll tell you which ones could be automated by a few simple scripts.

      Sorry, but I've never had a secretary, nor have I ever been a secretary, so while I have a general idea of what they do, I don't know many of the specifics.

      --
      ... I'm addicted to placebos
    6. Re:The problem with a command line interface.. by Anonymous Coward · · Score: 0

      they make recording of movements like macro magic

    7. Re:The problem with a command line interface.. by Anonymous Coward · · Score: 0

      but most people do not want to do boring
      repetitive things.


      This is exactly what the parent post is about, the user does not wish to do the boring repetative things, so the computer should be easily configurable to do them for him. The example of a secratary is perfect for this scenario, as much of a secrataries work consists of looking up things on lists, transcribing either written or spoken information onto documents or into forms, keeping track of appointments, addresses, contact info, and doing basic research so thier boss doesn't have to do these things him(her)self. Without understanding how to use the programmability of a computer or its applications, you often find secrataries using spreadsheets as layout tools, calander apps as templates for printing, and word processors as list keeping tools. I've often found spreadsheets that have the same data hand entered over and over, seen secrataries using calculators to compute the sum of a column of numbers, or to perform othe calculations that the spreadsheet could have done for them.

      The basic assumption that people have no need to know how to program is misguided, and needs to be replaced with the idea that persons should have access to the knowledge and programming tools to accomplish or make easier whatever thier job or thier interest leads them to. Many programmers might take issue with this concept, but it is more likely that an accountant will be able to create a better accounting program than a expert in Java (unless that Java wiz takes the time to study accounting).

    8. Re:The problem with a command line interface.. by cookiepus · · Score: 1

      A bit of a difference.. Haha, get it?

    9. Re:The problem with a command line interface.. by firewrought · · Score: 1
      The language of computers is a stream of octets that are interpreted as instructions by the processor. That is the only language the computer actually understands.

      While I don't necessarily agree with the article, let me make an argument for CLI that might be in line with what the author was suggesting: computers fundamentally understand symbolic instructions... whether they are raw opcodes, a string at the CLI, or gestures in a GUI does not matter to the computer.

      Many of the things we humans want to use computers for are symbolic in nature (especially in business applications... not so much in gaming and graphics). So what's the most efficent way to join the user (seeking to automate symbolic tasks) with the computer (which is expecting symbolic instructions)? There is no one right answer here, but text is highly effective because humans have tremendous facilities for language comprehension and expression.

      Don't get me wrong: text is difficult to learn (be it CLI, a programming language, or a speciality language). But here's the catch: GUI apps are easier to learn because they limit the functionality of the computer. GUI's blatantly advertise the few options that are available and help the user carry those out with a minimum of fuss.

      There a section in The Pragmatic Programmer that compares advanced "Find File" operations with the Windows GUI and the unix 'find' command. The unix command will scale to any obvious need (especially when coupled with xargs, grep, sed, etc.), but you have to get comfortable with a lot of syntax. The Windows GUI optimizes the most common operations, but it can't scale to other needs.

      Part of the problem here is the inherent tug-of-war b/t generality and directness. The more flexibility I need, the more complex the application must become. There are a lot of clever tricks that can be used to mitigate this: you can hide advanced functionality, or you c an provide multiple interfaces (e.g., CLI, GUI, and web). You can create tools that provide novices with an easier way to work through common problems (e.g., like with GUI builders or HTML authoring software). A lot of these tricks can work on text too: auto-completion, Bash shell tab completion, intellisense, hyperlinks, and IDE's that are smart enough to parse the code around the cursor point and jump you to the correct place in the documentation (try pressing F1 in VisualStudio.NET sometime).

      However, the fundamental catch-22 still exists: the more control you want to have, the smarter you have to be (where smart refers to your expertise with the technology you are working on).

      --
      -1, Too Many Layers Of Abstraction
    10. Re:The problem with a command line interface.. by Equinox · · Score: 1

      I sort of agree with this. While checkboxes are easier than CL switches, every layer of complexity just makes room for more to go wrong. Take fdisk for example. I still use the command line fdisk over all the others for one simple reason: it's simple. When it comes to managing several partitions, there's a lot less room for things to go wrong. What if I was in a hurry, or slightly intoxicated (Or very intoxicated, for that matter) and I checked the wrong box because they all look pretty much the same? Oops...there goes a lot of data. (Maybe fdisk isn't the best example...you could (should?) be able to back out of the changes without committing to disc, but I'm straying from my point.) With the CL fdisk, 'n' makes a new partition, 'd' deletes one. Everything I do with that one is, more than likely, very intentional. 'n' is several keys away from 'd'. With a GUI, the difference between creating and destroying is only a few pixels. (If this doesn't make sense, just ignore it...I'm tired.)

    11. Re:The problem with a command line interface.. by smcv · · Score: 1

      That's precisely the point, people *don't* want to do boring repetitive tasks, especially if they know enough about computers to know that the computer could do it for them.

      OK, how about:

      - In a word processor document, do something based on formatting; for instance, put all bold, underlined text into 24pt and remove the underlines.

      (Yes, I know someone who understood the word processor would have used a stylesheet in the first place, but I know people who work on a shared computer and aren't confident enough to edit the stylesheets, since they don't know whether they'll accidentally change them for everyone.)

      - From a "busy" folder containing many file types, select all .ppt files and move them elsewhere.

      - The same operation, but only if they've been modified recently.

      - Convert an entire directory of Word documents to HTML.

      (While on a summer placement I wrote a Delphi program to clean up Word 97 HTML, remove some of the obvious stupidity, replace the headers/stylesheets with nicer ones, and add links, for web publication (having the content creators work in HTML directly wasn't an option, since this was a no-budget HTMLization of existing Word97 content); however, whenever the Word docs changed, it was necessary to go through the directory re-exporting them manually. Had I not been able to provide the program, the task would have been even more boring.)

      - Given a list of objects for which up to two "more info" files (with known names) may or may not be present, create a nice HTML index listing all the objects by name and number, and linking to their "more info" HTML files.

      (The same program did this - the user just had to open a spreadsheet containing the list, delete all but the first column and export to CSV. I hate to think how long it would have taken without my program.)

    12. Re:The problem with a command line interface.. by Darth_Burrito · · Score: 1

      But here's the catch: GUI apps are easier to learn because they limit the functionality of the computer. GUI's blatantly advertise the few options that are available and help the user carry those out with a minimum of fuss.

      A GUI does not limit the functionality of a computer. It implements and organizes a subset of those features in a logical and intuititive manner. This is exactly what a command line interface does as well.

      The primary difference between a CLI and a GUI is that the CLI typically has more options per interface (often too many) and it is easier to combine with other commands.

    13. Re:The problem with a command line interface.. by yerricde · · Score: 1

      The unix command will scale to any obvious need (especially when coupled with xargs, grep, sed, etc.), but you have to get comfortable with a lot of syntax. The Windows GUI optimizes the most common operations, but it can't scale to other needs.

      Then why not have the GUI display the command used to perform a given search, so that the user can gently become acquainted with the syntax?

      the more control you want to have, the smarter you have to be

      Then why not make apps that gradually teach the user?

      --
      Will I retire or break 10K?
    14. Re:The problem with a command line interface.. by firewrought · · Score: 1
      Then why not have the GUI display the command used to perform a given search, so that the user can gently become acquainted with the syntax?

      GUI's for CVS are generally quite good at doing this (WinCVS, Cervisa, LinCVS). It's really just another variation of the idea of provinding a tool that translates instructions into a lower-level "language" that is also ispectable and manipulable by the user (compilers, GUI builders, HTML editors all do this in a way). It's a good trick, and it's not used often enough. Heck, most programs don't even have an architecture where the GUI sits on top of a command line that encloses all of the relevant functionality. (For one thing it's more difficult to design... the GUI has to parse the output of the CLI tool. It's easier just to have a shared library that both CLI and GUI link to.) But still... the CVS design is cool.

      The key here, I think, is to provide the user with visibility on how the easy "representation" gets translated to the more powerful representation. For example, the Microsoft Access QBE grid (the query-builder tool) lets you see (and alter) the SQL it generates. That little feature helped me ease into learning SQL several years ago (it was great... I would use the tool to generate the view I needed and then copy paste the resulting SQL into my ASP scripts). Now, naturally, I scorn QBE grids and hammer out huge SQL statements that arbitrarily transform and manipulate data. :-)

      --
      -1, Too Many Layers Of Abstraction
    15. Re:The problem with a command line interface.. by Compuser · · Score: 1

      Curiously, all your explicit examples are ones
      where you need a better gui. A command line
      interface will not help you sum data in a column
      of a spreadsheet faster or easier. We are not
      discussing the need to know how to use the tools
      and knowing which tool is better for the job, we
      are merely discussing whether a command line is
      the optimal tool for most "regular" tasks.

    16. Re:The problem with a command line interface.. by Compuser · · Score: 1

      Quite frankly, I think it is rare that one needs
      to change all words with one format to another
      type of format and there is so many words that it
      is hard to do by hand. In those cases, I think the
      most reasonable approach would be the one your
      company has taken: have a developer code up a way
      to do this, put a GUI button/icon/widget to trigger
      the automatic processing and train users about
      the capabilities of said widget. I cannot see
      your html cleanup being any more efficient if every
      users were to roll up their own utility.

    17. Re:The problem with a command line interface.. by CreateWindowEx · · Score: 1
      The problem I have noticed is that it often takes more mental energy to set up a macro or whatever to do something rather than just blindly do something by hand. I'll often find my coworkers who use CAD programs doing these incredibly repetitive tasks (probably causing repetitive stress injury) that could be done with macros, and while sometimes it's because that particular task is hard to do with a macro, often it's just because it's easier just to start clicking than to have to plan out a macro, even if it will save time. Often if your work involves a lot of problem solving and making decisions, having a small burst of repetive/mindless "busywork" can actually be sort of a break. Obviously after a certain point it becomes really annoying if there's no good way to automate that process. I think different people get annoyed at different points--a lot of programmers will write a macro to do something two times!

      I've caught myself doing the same thing in the code editor--I've tried to make myself always quickly define a temporary macro to do those things just to save wear and tear on my tendons. The problem with repetitive tasks is that you're typing at maximum speed for an extended period of time, while in more typical coding there's usually a few pauses for thinking or compilation.

      To get vaguely back on topic, one case where I find a CLI infinitely superior to GUI is operations involving displaying, moving, deleting, or copying a lot of files but only certain kinds. E.g. in Windows,

      del source\*.cpp
      from the CLI is so much faster than opening the folder window, selecting "Detail" view, clicking on the "File type" sorting tab, scrolling down and finding the _first_ .cpp file (easy to be off by one), clicking on it, scrolling down to the last one, and then shift-clicking on the last one (and hoping you didn't accidentally click on a file while scrolling down), right-click and choose "Delete".

      This is a case that probably happens more to coders than other people, but I'm very curious to see what an OS that treated "folder windows" as more like database query results would do for those types of operations, especially if it was very easy to quickly create a new custom view, use it, and discard it (kind of like smart playlists in iTunes). Supposedly longhorn will attempt some of this stuff, but presenting a good interface to this sort of power (that non-coders can use) is not trivial. When dealing with files, I often switch back and forth between doing operations in the folder windows and doing them from the command line depending on the specific task, but it would be nice if both methods could employ more of the power of the other (e.g., being able to easily see "property" and "summary" information from the CLI.)

  22. How much abstraction? by GnuHaiku · · Score: 5, Insightful

    The suggestion that people should use CLIs instead of GUIs so that they can understand how their computers work at a fundamental level seems kind of ironic to me. CLIs were originally introduced as just another layer of abstraction. When you type "ls", you don't really think that you're sending the command directly to your CPU, do you? The command shell processes the text that you input, interprets it, and cranks out a result (I oversimplify, of course). Even your file system is just another level of abstraction, as is the C or C++ code that you type in to be compiled. On the other hand, additional abstraction can simplify user tasks tremendously and make learning curves much shallower. Try writing a "hello, world" program in ASM^H^H^H octal, and then in Perl or Python or C or java or whatever, and see how much easier it is!

    1. Re:How much abstraction? by lurker412 · · Score: 1
      The level of abstraction is the key point. The article did not express the problem well. Current user interfaces do not express the real world well enough to permit us to work efficiently unless we understand concepts like file hierarchies, programs, URLs, etc. The author suggests that we need to understand those things in order to use computers well today, and I agree. However, I think that a better solution to the problem would be to devise new level of abstractions that hide all the gory details better than we are doing today.

      Interestingly, there is no reason to think that a GUI would necessarily be better than a CLI, assuming that the command interpreter were smart enough. The ultimate goal, after all, is the Star Trek computer, which responds appropriately to a (voice) CLI. In the meantime, it is hard to disagree that understanding a few basic concepts will make computers more useful to people who lack the basics.

    2. Re:How much abstraction? by Anonymous Coward · · Score: 0

      Current user interfaces do not express the real world well enough to permit us to work efficiently

      I don't want UI to express the real world. I can't find a fscking thing in the clutter of my apartment - and it's not even a particularly small or cluttered apartment.

      Even my gf, who is way more organized than I am, spends loads of time organizing her office with file folders and post-it notes, just to make sure nothing gets lost.

      UI should work *better* than the real world. It should be *easier* to find things than in real life.

      "Where did I put that invoice? Is it on top of my desk? No. On the bookshelf? No. Inside one of the books on the bookshelf? No. In the closet? No. Inside of my shoe? Jackpot!"

      You laugh, but this is a real story about a subscription editor at a semi-major magazine.

  23. Article lacks reason. Is this really necessary? by SamNmaX · · Score: 5, Insightful
    The article doesn't really give a reason that users should learn languages. Their only reason is being 'stuck in the Matrix'. Gee, thanks...

    I'm not sure the average user need to start cracking open books on Java (or even VB). Yeah, as a programmer I take great interest in how the computer works, and it probably makes me more productive. However, I think I was very productive with the computer without actually knowing any programming languages that well.

    The key to being productive, after understanding the basics of the computer in terms of memory, files, etc., is tools. How do you search for text in files (grep, find)? How do edit HTML files (text or GUI based program)? How do you move files around? (samba, ftp, etc.)

    It may be useful to at least be able to wrap your head around something like a regular expression, though even being able to understand what "*.txt" means is nearly as useful. For the adventurous, a scripting language. I don't think any more, at least given the current tools, is that necessary. Making a full-fledged program is hard work, it takes time. Most tasks you may think require programming are already be implemented.

    Obvoiusly, computers shouldn't be made purely for those who have no patience to learn. However, there is a balance, and everyone knowing assembler Java, or even HTML isn't it.

  24. Total Nonsense by Ignis+Flatus · · Score: 5, Interesting

    This type of nonsense always comes from programmer geeks, too. Face it, the computer is a tool, not an end in itself. Sure, it'd be nice if every school child could write perl and understood regular expressions, but why? I'm sure most of you can drive a car, but how many can rebuild an engine? Can you do a brake job? Sure, being a mechanic in the height of the industrial age would have given you a financial advantage over your peers, but in the end, the automobile is just a tool that gets you from point A to B. The same is true of computers, it's just a tool. If I'm say, a theoretical chemist, why would I need to understand how to get under the hood of my operating system and tinker with it. It's just a tool. I might be interested in some scripting language that my chemistry visualization or analysis programs use, but for the most part, I shouldn't have to tinker with my computer. I should be able to put the key in the ignition (login) and it should work. If it's broken, then I take it to the technician and let her get under the hood.

    1. Re:Total Nonsense by iggymanz · · Score: 1

      yup, the author wasn't thinking too hard or clearly. How many of us can program in the assembly langauge of the chip that's in our cell phone, microwave oven or car (I don't even know nor care what CPU is in those!) Even those of us that are in front of an Intel or AMD box, how useful is it to most of us to know x86 assembler? Some C/C++/Objective C programmers might find that useful, but for those of use who write Visual Basic or Java or Perl or Python or P/SQL it's .....utterly useless!

    2. Re:Total Nonsense by ktorn · · Score: 1

      You are absolutely right.
      Software development is a skill that only software developers need. And if the society was all made up of software developers then who would fix my car? Or act as my financial adviser or lawyer?
      For those who say "computers/robots will be your mechanic, lawyer, etc" I reply with: when computers take over 'intellectually demanding' jobs, software development jobs will be the first to go.

      And it's not science fiction really. Software already writes itself to some extent (in the shape of automated code generation). When CASE tools/visual programming finally succeed in replacing 'code writing' with 'diagram drawing' then computers drawing boxes are your future programmers.

    3. Re:Total Nonsense by be-fan · · Score: 1

      Maybe, but perhaps you're underestimating the importance of computers.

      Consider, children spend 12 years of their lives in mandatory education. To learn essential, and very complex, skills like writing, reading, mathematics, and analytic thinking. People could in theory get along just fine without knowing these things. But the benifet of teaching these to our children so outweighs the cost that we go to great lengths to do so.

      None of these things are fundemental. They come and go. Once, a detailed grasp of theology was considered one of these critical skills, but is no longer today. Who is to say that we can't add another? If computers are to revolutionize the world, then it might very well be that being able to command computers (programming, of some form or the other) might not become one of those critical skills?

      --
      A deep unwavering belief is a sure sign you're missing something...
    4. Re:Total Nonsense by smchris · · Score: 1

      There is a difference. Yes, the automobile gets you from point A to B. It is a _doing_. There was you and the automobile at A and now you and the automobile are at B. Same components, different location.

      Using a computer is a _creating_: e.g., raw data to structured output in the case of a statistical analysis. Knowledge is created as a secondary-level product in the programmed organizing process of discrete data. Something exists that didn't exist before. Doesn't matter whether you have to program it yourself or press the icon that starts the programming someone already did for you.

      If all the uses you have for a computer can be handled by clicking icons someone has already programmed for you, then a computer is already easier to use than a car. If not, then you better learn programming.

      I predict a natural language "Mr. Data" is really a _long_ time off. You don't have to be a cognitive scientist to see that the epistemological challenges of creating an artificial sentience with a rich phenomenology that meshes with reality are overwhelming. You just need to own a cat to be impressed with that daily.

    5. Re:Total Nonsense by Anonymous Coward · · Score: 0

      Sure, it'd be nice if every school child could write perl and understood regular expressions

      No it wouldn't! That'd make those skills less valuable, which means I have to work harder.

      Protect your jobs, keep users stupid!

    6. Re:Total Nonsense by starm_ · · Score: 1

      Yes but one could debate that there are other more important critical skills. Understanding the political system so you can make enlighened choices, for example. First-aid, medical knowledge (could save your life!) philosophy, psychology (we all have a brain!), communications skills, It could be anything else!

      What makes computer programming more important? Plus, the possible knowledge is endless. When do you stop? Scripting languages? c++? assembly? or even transistors? quantum phenomenons at the trnsistor level? As there are so many programming languages, so many different computing domains, so many operating systems, so so so many protocols that all do the same thing, you could spend a life time trying to understand every aspect of a computer.

    7. Re:Total Nonsense by Anonymous Coward · · Score: 0

      What happens when that computer tool becomes a robot, capable of being automated with perl and regular expressions?

    8. Re:Total Nonsense by be-fan · · Score: 1

      I think a fundemental assumption of all this is that computer languages will become so simple, powerful, and natural, that you don't need to be an expert to make good use of the technology. Just like you don't need to be a mathematician to take advantage of math, or a writer to take advantage of language studies.

      --
      A deep unwavering belief is a sure sign you're missing something...
    9. Re:Total Nonsense by Anonymous Coward · · Score: 1, Interesting

      Consider, children spend 12 years of their lives in mandatory education. To learn essential, and very complex, skills like writing, reading, mathematics, and analytic thinking...None of these things are fundemental. They come and go.

      No. Writing, reading, mathematics and analytical thinking have been fundamental since Sumer.

      Once, a detailed grasp of theology was considered one of these critical skills, but is no longer today.

      At one point, God was an important subject. Analytic thinking about him was encouraged. Now, he's not so pressing, and we teach kids to think analytically about other things.

      If computers are to revolutionize the world, then it might very well be that being able to command computers (programming, of some form or the other) might not become one of those critical skills?

      Electricity has revolutionized the world. Do we teach our kids to spend a lot of time thinking about electricity?

    10. Re:Total Nonsense by Anonymous Coward · · Score: 0
      the automobile is just a tool that gets you from point A to B. The same is true of computers, it's just a tool.

      What you say about the automobile is true. However, the computer isn't a tool. It is infrastructure. It allows you to use other tools to get from point A to B.

      And because most users don't ever know how to make (not install) tools that get them to point C, D or E from A, B, F, or Z, they are limited in what they can do with a computer. Even more so if they can't figure out how to install other tools.

      So, a more appropriate analogy is this: Everybody knows how to use a toaster (application). But to make or repair your own toaster, you must understand how electricity (computer) works, how to build (write) circuits (programs), and how to use standardised components (like variable resistors, lightbulbs, etc.) (APIs).

    11. Re:Total Nonsense by pyat · · Score: 1

      You probably haven't read the article. It does not refer to kernel/device-driver programming, but rather to programming in general.

      Understanding what a computer is "about" is to understand that it is general-purpose and programmable. Once you get that, then a whole range of possibilities become apparent. You mention using a scripting language in some chemistry app., well that is exactly the kind of thing the author is talking about. Most users never script anything, and this makes them inefficient and wastes their time.

    12. Re:Total Nonsense by leerpm · · Score: 1

      When CASE tools/visual programming finally succeed in replacing 'code writing' with 'diagram drawing' then computers drawing boxes are your future programmers.

      I think that will never happen. Code writing will definitely get easier and more abstracted, but there are things much easier, or only possible to implement in code than through a CASE tool.

      Plus with each generation of CASE tools you are limited to the constraints of what the original designers of the tool could comprehend. I doubt the tools designed 10 years ago could handle a concept as radical as a KaZaa-like P2P architecture. It is true that with each generation of these tools, they are able to handle more and more, but it is a sort of never-ending race.

    13. Re:Total Nonsense by Felinoid · · Score: 1

      If it's broken, then I take it to the technician and let her get under the hood.

      Like computer techs MOST people in automotive repair are honnest but some people in both fields will see that "I don't know anything" look and charge you $200 per screw and bolt.

      People get stranded in the middle of nowhere not knowing how to fix the car.

      You don't actuallly need to have a car you could take a taxi BUT getting a job with out "reliable transportation" (a car in good running order) is vertually impossable.

      Also people are being premotted for having programming skills or being passed over for premotion for NOT having programming skills.
      I've heard storys of managers getting demotted over it.

      And in one local Taco bell a job skill for a manager is the ability to replace the internal ticker tape printer on the registers...

      Now as for the whole Microsoft conspericy....
      The only conspericy here is to turn the home computer into a product delivery device.
      This is far less incriminating than Microsoft trying to controll the market. It's Microsoft trying to make develuping software for it's operating systems more proffitable. Part of making a os is attracting develupers and part of Microsofts tactic for that is to reduce or eliminate the posability of compeating with free software.
      It reduces the chances of someone creating external utilitys and adding features you didn't.
      When you make an update you want to be able to sell it but the odds of that happening drop when your users can download free utilitys to give them the same features your offering.
      Then there are the clones. Why buy software when you can get free software (legally)

      But what Microsoft is doing isn't amounting to market manipulation so much as making Windows a good product delivery system for other software companys.

      --
      I don't actually exist.
    14. Re:Total Nonsense by be-fan · · Score: 1

      No. Writing, reading, mathematics and analytical thinking have been fundamental since Sumer.
      >>>>>>>>>>
      They might have been technically fundemental, but they weren't something we taught all children.

      At one point, God was an important subject. Analytic thinking about him was encouraged. Now, he's not so pressing, and we teach kids to think analytically about other things.
      >>>>>>>>>
      You're using "analytical thinking" so broadly that the comparison is useless. By that logic, memorization makes the learning of religious history and the multiplication table the same thing.

      Electricity has revolutionized the world. Do we teach our kids to spend a lot of time thinking about electricity?
      >>>>>>>>>>
      Knowledge of electricity isn't universally applicable. Unless you work in a related field, you can't really take advantage of that knowledge. In comparison, knowledge of computers is something that you can use in pretty much any field. A computer is a meta-tool. Its a general way to access a large number of tools. Its this characteristic that makes computer-skills closer to reading and writing than to something more specific like knowledge of electricity.

      --
      A deep unwavering belief is a sure sign you're missing something...
  25. Good Analogy by LuxFX · · Score: 3, Interesting

    An interesting concept. And this is exactly why Open Source software should be promoted.

    The spread of human language has been an accumulative process. After the middle ages, when more and more people became literate, there was a corresponding increase in writers. The more writers, the more literature was available, which generated more ideas for more literature. It built on itself. Literature was Open Source. Anybody could take existing material and take ideas from that to build more material.

    When we come to a similar stage with comptuers it will be the same thing. Programming will no longer be for the scholars, and more and more people will begin to take part. And the more software in the collective existence, the more resources there are to build more software. But it needs to be Open Source to facilitate the accumulative process.

    --
    Punctanym: alternate spelling of words using punctuation or numerals in place of some or all of its letters; see 'leet'
    1. Re:Good Analogy by StewedSquirrel · · Score: 1

      I think you're dead wrong.

      Just as when cars were first introduced, everyone needed to know how the magneto worked in order to be sure they could get it started. There were few mechanics, so those who dealt with cars frequently had to be adept at rebuilding components and such.

      Can you say that now, 100 years later, that every driver on the road is MORE adept than those early pioneers?

      When the functionality becomes transparent, people don't even KNOW they are using a PC. Do you know how many computers you engage to start your car? Can you program all of them? Do you NEED to? Will you ever need to?

      Think about it. When people built cars before assembly lines, virtually every person on the line had to know how the car was constructed, down to the last bolt. Now, ask some factory workers their job and the answer is "I put this metal thing into that slot and jam the plastic tip on it"

      Do they know how the fuel injector system mixture varies by the speed of the car? No.

      Do they need to? No.

      Do you need to to drive it? No.

      Is it important to the performance of your car? Yes.

      Stewey

      --
      There are 10 kinds of people in the world. Those who understand binary and those who don't.
    2. Re:Good Analogy by StewedSquirrel · · Score: 2, Insightful

      just to point something out about my reply. I was addressing the comment "programming will no longer be for the scholars".

      The truth is that there WILL be more capable programmers in the future as the technology increases, but that is simply because the breadth of "scholars" in the area will increase, not because "Joe Secretary" will learn to program in order to understand his email system better and start hacking Mozilla Mail as a result. :-)

      Stewey

      --
      There are 10 kinds of people in the world. Those who understand binary and those who don't.
    3. Re:Good Analogy by LuxFX · · Score: 1

      Why the obsession with comparing cars to computers? There seem to be a lot of responses on this article along the sames lines.

      A car only has two or three main purposes. With cars, the most advanced/successful user is either the safer or faster driver (depending on road or track). The simpler and/or more efficient method of translating the desires of the driver, the higher the success rate of the driver. The desires of one drivers are not that different from the desires of another driver, because the task required of a car is meant to be performed by itself.

      The maximum flexibility of a car is reflected by the user's desired function: off-road, street driving, hauling, etc. But even this 'flexibility' is a limitation because (in 99% of cases) you have to get a completely new vehicle to gain added the added flexibility.

      A computer is adaptable. It's meant to perform multiple tasks, which means that the most advanced/successful computer user is one who can make the machine help him/her with as many tasks as possible, as quickly as possible. Because a computer must help many different users with many different desires, they must maintain flexibility. And unlike a vehicle, that you by itself outside of your other tasks, the computer is meant to enhance multiple existing tasks, throughout the day. They are integrated into our daily world.

      Because of this integration computers must not only be flexible on a task-by-task level, but to achieve maximum efficiency each task must also be flexible on a user-by-user level. And because computer manufacturors and software companies can't reasonably manage this level of flexibility, the task must be passed on more and more to the users themselves. As the integration becomes more complicated, more of this flexibility is required by the user.

      If cars even approached this kind of flexibility, people would choose from only one of a handful of cars (like choosing from only a handful of OSes), and be able to adapt that vehicle to any need. They would be able to alter any of these specifications at will: color, maximum speed, seat number, fuel efficiency, cargo capacity, clearance, etc. etc. etc. And this would undoubtedly take considerable knowledge of the mechanics of the car.

      The closest cars come to this these days are the car modifications (like those from The Fast and The Furious, etc.). It's not very close, because these modifications are still one-shot deals, not real flexibility. But these drivers do tend to be much more fluent with the mechanical aspects of the cars.

      The analogy is sound, if you compare apples with apples, and not Apple with Toyota.

      --
      Punctanym: alternate spelling of words using punctuation or numerals in place of some or all of its letters; see 'leet'
    4. Re:Good Analogy by IM6100 · · Score: 1

      A way to summarize this is to say that one of the tasks of a wise, educated person is to know how and when to delegate a task to a pre-built mechanism.

      Sometimes an 'intro to C programming' student makes the mistake of dwelling too much in lower-level coding. It's easy to take a minimalist tact and not use any standard library calls. You can code all that stuff yourself. However, even if your code works well, a good instructor will mark you down for doing that.

      It's a good idea for everyone to have a general idea of the mechanism behind the automata they use to perform tasks. But it's ludicrous and borders on ignorant to claim that they should roll up their sleeves and do it all themselves.

      --
      A Good Intro to NetBS
    5. Re:Good Analogy by burns210 · · Score: 1

      but for the 'common man' to program, we will have to evolve to something more natural than C or C++. something that doesn't focus on the language, and lets the programmer just fricking program. Maybe in the future iterations of Java, or a more natural scripting-like language of Applescript(doubtful, but who knows) we will find something that lets program what they want.

      A look forward to the 'age' (a few years off, given today's teen/20's being so computer savvy) where computer compatince is the norm, rather than the evil tech support story users we hear so much about.

    6. Re:Good Analogy by LuxFX · · Score: 1

      I think we're already seeing the first stages of that. Word and Excel, for example, come with highly integrated VBScript. There is lots of room for improvement, but the fact remains that millions of people have a scripting language at their fingertips, they only need the necessity to learn it.

      I think that necessity will come when so many people begin using computers for so many personalized tasks that software companies simply can't keep reasonably create every option for everybody. And again, I think VBScript in Excel is already an early-stage example of this.

      --
      Punctanym: alternate spelling of words using punctuation or numerals in place of some or all of its letters; see 'leet'
    7. Re:Good Analogy by LuxFX · · Score: 1

      But it's ludicrous and borders on ignorant to claim that they should roll up their sleeves and do it all themselves.

      I agree with this, and I think it doesn't oppose the original article. I don't think (or at least don't hope) the author really expects people to code all of their needs by themselves. I think it's simply a matter of necessity to customize.

      As I've mentioned in another post, I think VBScript integration in Excel is an early example of this. Microsoft realizes they can't provide every function for every user for every circumstance, so they integrated the capability for people to program their own functions.

      In the future computers will be an ever more integral part of our lives, and the need for higher and higher customization will exist for more and more people. Software companies won't be able to keep up, and more and more people will depend on coding their own customization.

      --
      Punctanym: alternate spelling of words using punctuation or numerals in place of some or all of its letters; see 'leet'
    8. Re:Good Analogy by LuxFX · · Score: 1

      not because "Joe Secretary" will learn to program in order to understand his email system better

      Agreed. I just think that in the future, even "Joe Secretary" will be so much more integrated with his computer that his demands for customization will exceed what a software company might be able to supply. I don't think we can create a real example with our current software reality (and definately not with email) -- but things like VBScript programming for Excel is at least in the right direction.

      Take Excel/VBScript and move forward 30 years. Try and imagine this great convergence -- people get more tech savvy as more and more generations are born with personal computers integral in their lives, and computer languages get more and more elegant and refined, and easier to understand. Also advance the current state of our dependence on computers.

      At some point the three lines will cross. Programming languages become easy enough that the tech savvy of an average person is enough to utilize it, and the advanced state of computer dependence will create the necessity to do so.

      The more I think about it, the more I agree with the concept.

      --
      Punctanym: alternate spelling of words using punctuation or numerals in place of some or all of its letters; see 'leet'
    9. Re:Good Analogy by Dun+Malg · · Score: 1
      In the future computers will be an ever more integral part of our lives, and the need for higher and higher customization will exist for more and more people. Software companies won't be able to keep up, and more and more people will depend on coding their own customization.

      I think his point was that when customizing the interface becomes a need, it won't require anything even remotely resembling "coding" to customize it. Essentially, tools always appear to reduce the amount of of informational "buy in" necessary to achieve a given goal. I would be willing to wager that computer interface customizability will NEVER reach the point where one needs to learn a CLI in order to effectively adjust the system to one's needs. We passed that milestone back in '84, when the mass-migration of commodity computer systems to GUIs began. Flexibility and power notwithstanding, the Great Unwashed Masses will never again need to learn another CLI to use a computer. I'd lay money on that assertion.

      --
      If a job's not worth doing, it's not worth doing right.
    10. Re:Good Analogy by burns210 · · Score: 1

      but we need to move from an app-specific system, to an OS-wide scripting language, which i think is what Applescript does nicely.

      it shouldn't be just excel, it should be how excel talks with other apps to get info, or fill in data.

      You are right, scripting like that is the first step, but i think applescript is a more user-friendly(plain english-like syntax) and it is system wide, so it can talk and interact with many applications.

    11. Re:Good Analogy by LuxFX · · Score: 1

      I don't have any experience with applescript, so I can't really comment, but I agree with what you're saying. VBScript is pretty OS-wide though, as the Windows Script Host reads it (as well as javascript and another one or two I think). Python is starting to be used like that too. And that pretty much takes me back to my original comment, that Open Source will be an important step in the process. Scripting languages really just echo this step, since they can be read by anyone with the code (obfuscation aside).

      Cross-application information transfer is still sticky though, you're right. I think a lot of this could also be solved by making more applications Open Source. But it's good to see that there are some steps already taken. I am QUITE ready for the next generation of computing!

      --
      Punctanym: alternate spelling of words using punctuation or numerals in place of some or all of its letters; see 'leet'
    12. Re:Good Analogy by burns210 · · Score: 1

      not only more open source apps, (and here i have no experience, just opinions ;) but also a standard on how apps can talk with eachother(xml or somesuch?), along with inter-application apis or something. Then again, this may be the case now, and i don't know it, but for the 'next gen' of programming to take off, it has to be pretty easy to start coding in, and very broad reaches, so that you are not limited to programs that are only developed to be used in certain ways.

  26. Re:lucky stars by Hatta · · Score: 1

    Actually, slashdot rules with lynx. The layout of the site is highly amenable to presentation on the console. Not that I'm not using mozilla right now, but the computer by my bed doesn't have X, and using lynx detracts almost nothing from the /. experience.

    --
    Give me Classic Slashdot or give me death!
  27. One step at a time by snilloc · · Score: 1
    Disclaimer: I can't code for shit (I took some intro C in high school, haven't touched it since. My html is piss poor as well).

    Many users don't even know basic things, like the difference between RAM and Hard disk "memory". My brother has no idea what a "browser" is even though he uses one every day. My parents can't follow windows-related directions involving more than two steps. A good friend of mine asked if he neede a Zip drive to open zip files.

    I think that having at least a rudimentary idea of what all the icons and pictures actually represent should be a prerequisite to calling one's self "end-user literate".

    1. Re:One step at a time by Arctic+Dragon · · Score: 1

      How about people who call IE "The Internet?"

      Just recently I helped someone rid his harddrive of spyware, which was causing his "Internet to scroll slowly."

    2. Re:One step at a time by spectre_240sx · · Score: 1

      At the store / shop where I work, people are always asking if we just need their "hard drive" or not. It takes a bit of self control to withold a witty answer.

  28. I don't buy it by mhlandrydotnet · · Score: 2, Interesting
    Things can only get worse. As our society becomes ever more dependent on information technology, the gulf between those who understand computers and those who don't will get wider and wider. In 50 years, perhaps much less, the ability to read and write code will be as essential for professionals of every stripe as the ability to read and write a human language is today.

    I wonder if he would have said the same thing about cars 75 years ago? As we get further into this new technology, everyone will be driving a car. You won't be able to get anywhere unless you can fix any and all problems that arise.

  29. It doesn't matter by Josh+Booth · · Score: 1

    It doesn't really matter how you display something, whether graphically or textually, but how you represent something. CLI works because it represents everything as a file upon which commands act upon. This is why I think that file managers suck. They throw out most of what is good about CLI, many commands and options to commands, and keeps the files. GUI isn't bad when done correctly or at least consistantly, like NextStep (caps?) or MacOS but when you have redundancy and things that you have to change interfaces for, something is wrong. Of course, you have to fight the people who want to put their own spin on things and create a new button widget that does half the cool thing the old one did so that it can do two new cools things. That's why X sucks: it is inconsistant because everyone has their own idea about how to implement things and no group has enough software to really make the GUI complete. I wouldn't mind a complete GNUStep desktop, but that doesn't really exist.

    What might be nice is to use Java and expose the messages to the user through a GUI. Maybe like Smalltalk was going for, I think.

    I am still waiting for a direct computer to brain interface to let me send messages to objects and lets me extend my brain with the computer.

  30. Ridiculous by dreamchaser · · Score: 4, Insightful

    As has already been pointed out in other posts, computers do NOT have any preference for text. All he is doing is spelling out HIS preference for text and projecting it as a need for everyone to learn 'the language of the machine'. Does he realize that the language of the machine is just a streams of 1's and 0's? Apparantly not. I can't believe anyone published this drivel.

    Making a tool more accessible for the masses is exactly what should be done, and is the normal progression for any technology. Perhaps he thinks that we should program our VCR's by setting dip switches, or reprogramming it's code just to catch the latest episode of The Simpsons?

    Yet another example of someone with far too much time on his hands to think coupled with an amazing lack of common sense.

    1. Re:Ridiculous by Mmmrky · · Score: 1

      Ones and zeros? Does your computer care if you call it a one or zero? Nope--I'm shouting ZERO at my computer quite loudly at the moment but it doesn't seem to understand. Bah, another abstration. It's just transistors in one state or another. Voltages, little itty bitty electrons (is there any other kind?) zipping around from here to there.

      It's amazing that the damn things work at all.

    2. Re:Ridiculous by leerpm · · Score: 1

      No, the logic of ones and zeros (true and false) is really the lowest level you can go. Everything else, including the transistors are built on the logic. And be careful with the analogy of the lowest level of it being electrons. The fact that today's computers are operated with electrical energy is merely an implementation detail. The first computer was a mechanical device, and the next generation of computers are likely to be based on fiber-optics.

  31. novel Linux argument: Windows = Matrix by danharan · · Score: 1

    We don't actually need to make easy to use interfaces for people to accept Linux on their desktop. No, we have to save them from the control Windows has over them. Give people a console, force them to learn obscure commands, that is the way to freedom.

    IMO, that author is on crack, and this is a cheap way to advertise a bad movie.

    --
    Information: "I want to be anthropomorphized"
  32. Re:Microsoft is already developing a natural langu by Mongoose · · Score: 0, Troll

    The parent post isn't a troll -- it's a sad fact CS students are learning '.NET' which in 90% of the cases is really VB.NET. They can't even figure out how to pipe simple CLI commands together.

    You might think 'well why learn CLI?'. I'll tell you why -- CLI is so ortho you can pipe a dozen commands together and not have to write a whole app to do XYZ for some type of maintaince task. Also relying on vendors to make everything for you means you're incapable of doing anything outside their boxed in world.

  33. differentiate between programmers and users ? by pjdurai · · Score: 1

    This guy fails to realize the difference between programmers and users.
    Well.. would people need a window repaired in 50 years will all go windowless because.. they are all not carpenters ?

    There will always be geeks and programmers. So that other people can have easier life with computers.

  34. what a nutter..... by humungusfungus · · Score: 1

    I find the attitude of the author a bit extreme.

    As a system administrator for a medium sized company, I consider myself very computer literate.
    Can I write (or read) assembly code? Not fluently, or in any way that's useful no.
    Does it matter?

    Um, no.

    There are degrees of intimacy with technology; you only need to go so deep for any given task.
    To suggest that everyone in the future need be a programmer or be able to work a CLI simply to survive is idiotic. Understanding computers (in a practical day-to-day sense) is not about speaking their language, it's about realizing what they can (or can't) do and knowing (vaguely) how they do it, even if it's from a macroscopic level.

    Besides, companies will always dumb down their products so they can sell to the masses. HTF do you figure microsoft keeps going?

    I mean, I am something of a CLI zealot, but even I can appreciate the neccesity to simplify for simplicity's sake. It's happened before and the trend will continue.

    If the author had been around for the birth of the automobile, he would claim that everyone in the 21st century would need to be an automotive engineer, just to keep up.

    What a crock of alarmist shit.

    --
    No sig.
  35. Pretty Interesting by GrimReality · · Score: 1

    It is pretty interesting, how commandline interface seems to be getting a lot of good press lately.

    I heard that Microsoft was mandating that all major functions in its next generation operating systems to be available from the commandline, or something like that.

    Or is this some kind of cyclic phenomenon that comes (CLI gets praised to the skied, then the euphoria dies down, and the GUI is praised to the skies, then the euphoria dies down and so on.)

    I suppose things would get pretty interesting.

    Personally, I find the commandline interface pretty handy, especially for scripting (CLI is a simple mechanism compared to some fancy way to do the same thing). Even for interactive usage, CLI is sometimes very handy

    Contrary to the popular notion, one does not have to learn tonnes of commands, there will be a few that you use very often and you would learn it by simply using it. In fact, even in the GUI world one would have to learn menu position and stuff, no matter how intuitive and smart the menus are, it would take some time to get the feel of where what is and it is quite the same with commandline.

  36. Which proves once again... by cscx · · Score: 2, Insightful

    That journalists, even "technical journalists," know jack shit about computers. Let this guy start hammering out all the x86 opcodes one by one then tell me his article makes sense...

    1. Re:Which proves once again... by Anonymous Coward · · Score: 0

      What, you mean you can't bang out
      B4 09 BB 08 01 CD 21 C3 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21 0D 0A 24 ?

      (for those who haven't guessed yet, that's a Hello, World program for x86 in hex, assuming I haven't mixed up which Bx opcodes map to AH and DX)

    2. Re:Which proves once again... by Fancia · · Score: 1

      "This article is only compatible with x86 processors."
      Sometimes things that separate the user from the base language of the computer are a good thing. ;b

      --

      Bít, zabít, jen proto, ze su liska!
    3. Re:Which proves once again... by Anonymous Coward · · Score: 0

      Yeah, but that program uses old DOS calls like int 21h function 9 (which is a throwback to CP/M days...who terminates strings with dollar signs these days?), and is a plain old binary image. I want to see a PE file off the top of your head that imports WriteFileA from kernel32.dll ;).

    4. Re:Which proves once again... by pyat · · Score: 1

      You really should be a little more polite given all human beings' ability to make mistakes.

      The fundamental thing about computers is not x86 opcodes, or C, or perl, or VB. The fundamental thing is that it can be programmed and is general purpose. After that, what language you use all depends on what you want to do. Maybe you find x86 opcodes handy, other people use perl. But fundmentally you are both programming the computer to create a new(ish) function.

      This is the point. Most users never do that,they only use exactly the programs they are supplied with. Even writing a script in visual basic for applications withing MSExcel requires an understanding that a computer *CAN* be programmed and that you can define new functionality.

      Everything else is a detail of implementation.

    5. Re:Which proves once again... by cscx · · Score: 1

      Maybe you misunderstood the point I was trying to get across... just because you can go lower-level than someone else, DOESN'T automatically make you smarter, etc. The point is that there shouldn't really be a need to go lower-level unnecessarily, and doing so does NOT make you "hard-core" in the process... Just because you pick a different level of abstraction than I do doesn't make any difference in most cases; however, I think the article writer failed to see this.

  37. Natural language is too ambiguous. by ShadeARG · · Score: 1

    We have foresight and obscure rememberence for details that are far too ambiguous for a computer to (yet) understand. The closest thing to natural language that can instruct a computer are BASIC-like languages that have particular words in a particular order in which they follow.

    But then I thought about it some more.

    Perl is not very picky about order, and it has no problem reading a statement written several different ways, and accomplishes the same task with the expected results.

  38. Whew! by jd · · Score: 1
    Guis are about laziness and cowardice? These are remarkably tough words from the Computer Guardian section, which has always been a dwevout worshipper of GUI systems.


    What's changed?


    I don't know - I don't have any mind-reading devices handy - but I'm going to guess they have used, or witnessed someone using, a command-line system utilizing every scrap of the machine's capability.


    With command-lines, you can usually do this. With GUIs, you're often inhibited. Although it should be perfectly possible to GUIfy pipes between applications, if you're wanting to do this you are almost certainly going to use a command-line system.


    Want to split a stream into two? Sure, if you're on the command-line. tee works just fine. There's no option to click on to do this in Windows.


    Want to write a script? Sure! You're going to use a text-editor, either way. There are very few comprehensive IDEs for shell scripting.


    You can't escape from the text. As soon as you need more than push-button logic, you will be forced into the command-line one way or another.


    My main dispute is with calling the current system medieval. Most cultures abandoned pictograms in favour of text prior to the Dark Ages.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    1. Re:Whew! by Anonymous Coward · · Score: 0

      Want to:

      Edit a movie?
      Mix a sound file?
      Edit a massive digital audio playlist?
      Use advanced programming editors? (The world's moved past Emacs and vim, you know)
      Visualize a massive database or graph system?
      Draw a picture?

      There are somethings that a GUI is very good at. Certain things are simply more natural and more intuitive graphically, not to mention the ability to get a resolution better than 80x25.

      Split a stream? Sure, use a shell. But don't claim it's the only (or even best) way to do things.

    2. Re:Whew! by Alex+Belits · · Score: 1

      GUI is useful. The point is, if ALL you know is GUI, you can't do anything that others didn't do for you, and you need to know more than that to do something less trivial. Sure, Photoshop (or Gimp) GUI works fine, but each and every piece of those GUI was made for a purpose that was already known at the time of its writing, and there is more to image editing than what is written and neatly packaged in those programs and plugins to them. It's a tool, and there is nothing wrong with tools, however inability to modify one's tools is always a limitation on the person's creativity, and at some point the user is faced with a situation where the tool is inadequate. This is where ignorant user has to do thousands of drags and drops, or has to train his aim to hit a particular pixel on the screen with a mouse, and knowledgeable one types few tens of characters.

      --
      Contrary to the popular belief, there indeed is no God.
  39. Hear me o Peasants of the Technological Middle Age by legomyego · · Score: 1
    Oh Prisoners of your own Ignorance! There are those among you who do not Hand Code your own HTML!

    "Like most humans in The Matrix, who believe they are living a normal life when in fact their bodies lie inert in a vast complex of pods, you are asleep, a prisoner of your ignorance."
    Let us see if we may surmise the cause of this moral Weakness:
    "It's not just laziness, of course, that prevents people from getting to grips with computers. Cowardice also plays its part."
    The Pronouncementation of Verdict:
    "The secretary who can't be bothered to learn more about the office computer than how to read email and the grandad who feels intimidated by the new technology are equally doomed."
    May God show mercy on your Souls.

    Proceed!

  40. Re:lucky stars by Anonymous Coward · · Score: 0

    The benefit of reading Slashdot from lynx is you don't have to be afraid that links you click might turn out to be goatse. :)

  41. CLI vs. punch cards by schmaltz · · Score: 2, Informative
    % CowboyNeal | schmaltz >>/dev/slashdot 2>&1
    Some good points are raised, with the example of the command line interface used, which is a much better choice than, say, an array of switches or a punch card.
    Well, the CLI is essentially a direct descendent of the punch card. Back in them olden days, yer Hollerith cards was how you got a stream of data into a system for processing -mighta be program, mighta been data, or both! The output of your input was generally a fanfold pile of scrim.

    On antique iron you might be running fortran, cobol or BAL proggie which got compiled and executed, but today thru the CLI your input stream could be a perl -e script, data, commands strung together for serial execution, whatever. The big difference is that now you usually get feedback immediately following your pinky whacking the enter key.

    So, while it's improved quite a bit (especially turn-around time), it's not a huge evolutionary leap from punch card to CLI.
    --
    Big Daddy, Johnny, Burp, Aunt Zelda, Scott, Slurp, Big Momma ... where's Siggy?
  42. not totally convinced by mjh · · Score: 1
    The most compelling argument that this guy gives is that we all had to learn to read and write in order to adapt ourselves to our society. And it's not easy, either. We spend enormous amounts of time, money, and energy trying to ensure that our children learn these skill, and appropriately so, since they're a critical part of our society. Saying the same is true for computers and that we all have to adapt, somewhat, to how they work is a compelling argument.

    Still, this sounds like the ramblings of someone who really dislikes windows... and I, myself, am a command line guy. I love pipes. I love how you can get them to do so many things. I'm a command line guy because I think it's a lot more powerful and much more flexible, and much more easily scriptable. But this guy seems to raise the command line to the level of worship.

    It just seems to me that the entire purpose of computers is to make our lives easier by automating the mundane, error prone processes that we all have to do (e.g. calculating sums in spreadsheets). They're supposed to be user friendly because they're supposed to make our lives easier. No one would argue that the toilet makes our lives harder in comparison to an outhouse. Why should I need to know plumbing in order to use the toilet? Do we all now need to become mechanics in order to effectively drive to work? I don't think so.

    There will always be someone behind the scenes who needs to know how it all works so that when something catastrophic happens, they can come fix it. But this requires two things to be true in order for computer specialists to be as ubiquitous as plumbers and mechanics:

    1. We all need access to the source code. If we have that, then anyone who's willing to learn can be a fixer.
    2. The computer systems we use need to be significantly more reliable than they currently are. And I mean by a huge amount. They need to be reliable enough so that the average user doesn't need to call in an expert on a daily or weekly basis because something bad happened.
    That is the goal: make computers so reliable and so intuitive that they actually do make our lives easier. Don't get mad at microsoft because they tried to make computers easier to use (even if they really just copied someone else). Get mad at microsoft because they, single-handedly redefined the word "crash". They made computers so grossly unreliable that the average joe can't possibly comprehend what he needs to do on a daily basis to get his routine tasks to complete reliably. Get mad at microsoft for continuing to hide their source code so that expensive microsoft tech support can tell you that they're not going to fix that nagging problem. Get mad at microsoft for the things they do wrong. Attempting to make computers easier to use shouldn't be one of them.
    --
    Key to financial independence: Spend less than you earn. Save and invest the difference. Do it for a long time.
  43. Not at all... by Mongoose · · Score: 1

    Cars don't handle your personal, finanical, and various other types of data. You need to know how to use a computer to a degree to control, maintain, and extract new information from it.

    Cars, VCRs, and telephones only do one thing and that's it. Computers are very much general purpose. In fact years from now you can explain what a telephone operator was to your child -- they'll most likely be using some type of VoIP replacement. Why? Well if you don't know how it works in the least - how do you know how to use it well? With the car you should know at least WHAT needs to be done to maintain it, so you can pay someone to do it for you. If you don't know a VCR is obsolete until you can't find VHS tapes anymore what will you do?

    What you're missing is that how well you do something sometimes matters a lot more than if you can do it at all. ...and learn how to change your tire safely, jesus.

    1. Re:Not at all... by Anonymous Coward · · Score: 0

      What does application have to do with engineering?
      Cars handle important things too - they're called peoples lives. A staggering majority of the population straps themselves into several thousand pounds of steel and electronics without any clue as to how it all works. How is that any different than your mom and dad only knowing to surf the web and check their email? All the general populace needs to know about a tool is the bare minimum for it to function. 20 minutes on any road in north america will (unfortunatly) prove that. I don't understand why a computer has to be any different. Just because the technology literate minority may get a hard-on thinking that their niche will one day become the norm, doesn't mean its going to happen. There will always be a Windows equivalent. There will always be tech support for idiots and prebuilt computers. Just like there will always be mechanics to rotate your tires, flush your coolant, and change your oil.
      What does application have to do with engineering?
      Cars handle important things too - they're called peoples lives. A staggering majority of the population straps themselves into several thousand pounds of steel and electronics without any clue as to how it all works. How is that any different than your mom and dad only knowing to surf the web and check their email? All the general populace needs to know about a tool is the bare minimum for it to function. 20 minutes on any road in North America will (unfortunately) prove that. I don't understand why a computer has to be any different. Just because the technology literate minority may get a hard-on thinking that their niche will one day become the norm, doesn't mean its going to happen. There will always be a Windows equivalent. There will always be tech support for idiots and prebuilt computers. Just like there will always be mechanics to rotate your tires, flush your coolant, and change your oil.
      Vehicles are a perfect example, actually. Look at their last century of development. They have become far more complicated, and far simpler to use. Why do you think we have automatic transmissions, anti-lock brakes, and airbags? For the exact same reasons we have that stupid Paperclip in Word, Plug 'n' Play, or a friendly dialog box instead of a BSOD.
      If anything, computers are going to be come more idiot-proof, BECAUSE they are transforming into a necessity and not a luxury (again, like cars).

      But you should all be happy about that. It's the "Where's the anykey?" crowd thats going to create your jobs and pay your salaries. If everyone was computer literate, Slashdot would become a gathering for the unemployed ;)

    2. Re:Not at all... by IM6100 · · Score: 1

      they'll most likely be using some type of VoIP replacement.

      Yes, they'll be using some type of VoIP replacement. Embedded into the handset of a phone, with the same array of buttons we use on a phone today.

      I find it unbelievable that people like you are assuming that general purpose computers are the be-all and end-all and that things like VoIP translate into booming sales for Sound Card vendors.

      --
      A Good Intro to NetBS
    3. Re:Not at all... by Mongoose · · Score: 1

      Why do you assume the keypad will stay the same? In 20 years time -- assuming VoIP is *the standard -- phone numbers won't make much sense will they?

      You shouldn't be a slave to the artifact - you should use the concept or the function of the artifact. Don't get hung up on minor details like the grandparent post did. For example sound cards have nothing to do with VoIP -- sound cards are an artifact that only applies to PC users using some software client. Read up on VoIP deployment sometime and see how that PBXs are going first, then maybe the phones that once used them will go later.

      No, what I'm saying is that you'll have more devices that are more closely in line with general purpose devices than single use devices. Here in Atlanta something like 75% of households have cell phones and a lot of the single middle class don't even have land lines. Now imagine if multipurpose devices like the PSP/Phone take off, which isn't so far fetched.

      My final advice to you - 'change or die out'.

    4. Re:Not at all... by IM6100 · · Score: 1

      You're dwelling too much on my 'keypad' comment. My point was that the VoIP implementation that the mainstream uses will NOT be attached to an ASCII keyboard. It will NOT be through a PeeCee.

      If VoIP becomes 'the standard' there will be a number or identifying code of some kind that people enter on the handset to make a call. Probably with buttons or a touch screen or some mechanism similar to what's in use today on the Western Electric 2500 set on my desk, which has a 1982 date code on it.

      My final advice- get used to the idea that we all get to 'die out' eventually.

      --
      A Good Intro to NetBS
    5. Re:Not at all... by hankaholic · · Score: 1

      You don't have to know how to code in order to use Quicken, or GNUCash.

      And I do know how to change a tire safely, but again, that has nothing to do with how the vehicle actually works.

      Changing a tire is like restoring a file from a backup, not like writing C code.

      --
      Somebody get that guy an ambulance!
  44. No need to burn your eyes out by slobber · · Score: 1

    I've just seen this awesome commercial on Tech TV by the "Video Professor". It said "buy three CDs for the price of one and learn everything you want to know about computers in a matter of hours!"

    Now, how cool is that!!!

    --
    "You mortals are so obtuse." -Q
  45. The death of useful manuals by snilloc · · Score: 1
    (Sorry to reply to myself - consider this an addendum.)

    When I finally left my trusty Apple2gs and bought a windows machine the first thing I noticed was that the manuals SUCK for stuff now. My copy of AppleWorks 3.0 came with a very detailed and useful manual that described exactly how every function worked. It wasn't written in overly complicated language, but it was very thorough.

    Contrast this with that thing that came with my copy of MS-Office97. Totally useless. It had a bunch of "practical" examples (which had little to do with my needs). Finding out what a specific function did, or even finding a list of available features was next to impossible.

    The moral of the story is that people don't want to learn how to use a program, they want to intuit it. To the extent that they can't intuit it, they want their hands held, and they want "practical" results immediately.

  46. Re:Natural Language Programming by d3faultus3r · · Score: 1

    I doubt programming will ever be as simple as speaking to the machine. All the unnecessary words and wierd pronunciations we humans routlinely use would require a computer with a sophisticated fuzzy logic system. Plus, all the homonyms and variety of uses of words would cause a computer no end of problems. Many people mistake they're and their, and we're used to our language. I think programming will remain pretty much like it is now. Pretty much anyone who understands algebra and has a fairly logical mind can learn programming.
    The spoken word is often slower than typing, so it would be more efficient to simply keep our keyboards and mice.

    --
    read my blog
    musings on politics and technol
  47. Screw to our text based interface overlords by softspokenrevolution · · Score: 3, Interesting

    So, I'm reading this little article right, the man is here comparing the ability to read in general with teh ability to read and write code and laying a claim that in the future everyone must know how to read and write code because the current interfaces we have are illusions, or some other such nonsense, and that the ability to read an write code will be integral to ever profession.

    I think regular literacy is just great, in an information based economy and world, you really can't get along without the ability to understand the assemblage of alphabetic characters or pictograms if that is your preference.

    However, it is not necessary to know some really arcane computer programmingn code to be able to turn on a computer and use an internet browser. That's why we have computer programmers, to give us tools based on these machines that everyone can use, Windows is popular because you just turn it on and look at pictures and words in an easy to understand format (except on very poorly done websites).

    We must adapt to computers, sure we do, we need to bring out culture into an age where informations is availible at the touch of a button. What captain Dylan fails to understand is that though it may seem, these machines are not gods that enslave us with their cold bluish glow, but they're tools. He starts out with a premise and is just ranting about that, he has no real arguments, no real evidence to back it up besides the fact that he wrote a book, wow, that makes someone an authoritative expert on everything.

    Let's deconstruct shall we, here's my favorite line...
    This is yet another reason why Windows is such a dangerous commodity. It lulls us into the pernicious illusion that we can deal with computers without adapting to their logic. By presenting us with colourful screens and buttons for us to click on, Microsoft encourages us to believe that we can force computers to adapt entirely to our preferences for visual images, without having to adapt ourselves to their preference for text.
    Now, I get just as pissed when Windows crashes on me, or drops my internet protocols so I can't get on the network. But to say that Windows (specifically mind you, He doesn't talk about Mac OSes, you know the ones that windows holds an eerie resemblance to) creates an illusion that we can interact with computers on a level that the average person would appreciate straight out of the box is just unfounded, and I'll tell you why. Because it works, sure when everything was punch cards and cryptographic text you needed to have some specialized training to get computers to do what you wanted, but now that computing is something well into the mainstream people are picking it up much like any other bit of technology, like hammers (not the best analogy but whatever), I feel that Mr. Evans failed to grasp thtt the reason why computers are so indemnic now is that they do offer a clear and simple solution.
    In 50 years, perhaps much less, the ability to read and write code will be as essential for professionals of every stripe as the ability to read and write a human language is today. If your children's children can't speak the language of the machines, they will have to get a manual job - if there are any left.
    This part was pretty funny. For someone who wrote a book on evolutionary psychology he doesn't seem to grasp the concept of gradual specialization within a society. you see eventually as a society progresses, you get people whose job it is to think, and expressing that further you beginto develop proffesional groups as thought progresses. Eventually these professional groups become specialized themselves, like docotrs, sure way back in the day you went to your barber if you needed a good bleeding or if you wanted a limb off, but today there is a specialty for almost every concern. I look at it like food, not everyone is a farmer right? Yet, we all benefit from the product of a farmer's labor. Now agriculture has been around for let's say 10,000 years, most of us would be hard pressed if

    1. Re:Screw to our text based interface overlords by sql*kitten · · Score: 0, Troll

      The Guardian is like the New York Post of your nation isn't it? Obviously this is just some fluff piece that's trying to play off the Matrix just to get the average reader to go through it.

      Let me explain. The Guardian is a newspaper written by Marxists, for Marxists, and as such, their world-view is divided into "the workers" and "the party". The party, or course, are the Guardian's readers. The workers are, well, everyone else. In a Marxist economy, it is necessary for workers to be perfectly interchangeable, because Marx could only understand very generic, unskilled economic roles such as "farm labourer" and "assembly line worker". So a worker could be moved from the farm to the factory and back again seamlessly, wherever the party felt his "ability" could best be used that day. The underlying reason is that if workers are specialists, and there is demand for specialists, that is a de-facto market, and Marxists hate markets. Similarly, the Guardian hates the idea that companies can make money by selling people what they want; they'd rather people not be able to work at all (for example, secretaries writing their own wordprocessors) than for a market to operate. But at the same time, the Party deserves all its luxuries, like a Mac user interface which is far too good for the proles, etc etc.

      When you read a Guardian article with this in mind, it will make more sense.

    2. Re:Screw to our text based interface overlords by eatdave13 · · Score: 1

      Heh, I knew I had you on my friends list for a good reason :) That explains a lot.

      --
      "Verbing weirds language." -- Calvin
    3. Re:Screw to our text based interface overlords by leerpm · · Score: 1

      Something occured to me as I was reading the article. I find it almost too hard to comprehend the author actually believed what he wrote. Personally, I think the article was a somewhat elegant troll. He decided to write something completely off base and semi-contraversial about modern computers, find some way to tie it to the Matrix (ride the hype for all its worth!), and end with a such a ridiculous and fear-mongering conclusion that it will make people remember the article (and author and the Guardian) for at least longer than it takes to finish their morning coffee.

    4. Re:Screw to our text based interface overlords by Anonymous Coward · · Score: 0

      I wish I had mod points, even if that is a troll it explains a hell of a lot about the guardian.

    5. Re:Screw to our text based interface overlords by sql*kitten · · Score: 1

      even if that is a troll it explains a hell of a lot about the guardian.

      Not a troll, just the way it is. Probably modded down by a Guardian reader who doesn't like what they see in the mirror.

    6. Re:Screw to our text based interface overlords by softspokenrevolution · · Score: 1

      That's probably the truth now that I look at it in the morning.

  48. Tools by AdamHaun · · Score: 3, Interesting

    The people who make comparisons to microwaves and cars are missing the point. A microwave is designed to do one thing and one thing only. A computer is designed to do, well, anything. The idea that the interface of a general purpose tool should be as simple as that of a more specialized tool is silly. The whole *point* of a computer is its complexity.

    In this context, the article's assertion makes a bit more sense. People who use tools to solve problems need to understand the nature of those tools. Thus, people who use computers to solve new and interesting problems need to understand what a computer actually does before they even begin to work on a solution. Perhaps in fifty years time we will be using computers for much more interesting things in daily life than we do now. Given the existance of a near-natural language interface and voice recognition, tasks like word processing become trivial. The goal, then, is to be able to instruct the computer what to do in the most efficient way possible. Short of a strong AI, the only way to do that is to understand a bit about how a computer works.

    When you look at things this way, the article doesn't seem quite so extreme. I don't know about "every secretary in the world", but I can see plenty of circumstances where complex instructions would need to be turned into "programming" to get anything out of them.

    --
    Visit the
    1. Re:Tools by Aeiri · · Score: 1

      A computer is NOT designed to do "anything". When was the last time you cooked your meal in a computer? When was the last time you built a house with a computer (physically, not with architectural software).

      A computer is designed to compute, that is, manipulate and display information, in many different ways. Just like the microwave is designed to heat food in many different ways.

    2. Re:Tools by IM6100 · · Score: 1

      Well, actually, the little beeping sound that was made at each key-press of the control panel on the microwave oven was generated in software in (one of) the computer(s) in your Microwave oven. Likely, the speed control on your blender is done using a microprocessor (computer) as well.

      The thing that this article misses by a mile is that general purpose computers are severely sub-optimal for many tasks, and people make a lot of money building little bitty specialized computers into other devices.

      It's hard to believe people are so distracted by 'the computer' (meaning, that beige box that makes noise beside their desk) to recognize this. I thought this was a tech site, not another phone-in 'computer' Thursday-night radio program.

      --
      A Good Intro to NetBS
    3. Re:Tools by Aeiri · · Score: 1

      The term computer is more of the collection of the motherboard, processor, etc. The microprocessors in other devices are still just microprocessors, not computers themselves.

    4. Re:Tools by zvoid · · Score: 1

      As Aeiri notes, a computer is designed to compute. We assign the abstractions on what it computes, but as a tool, it processes 1 and 0. Understanding a bit about how a computer works is fundamentally the same with knowing the basic processes, whether a 60's mainframe or the G5 I'd like to have. But how I (choose to) interact with a modern computer is substantially different than how I would have had to interact with the 60's mainframe. And I have no doubt that with another 50 years of language/interface design that you speak of, that that future secretary will be able to do far more technologically and still not have to know a goddam thing about Assembly/Java/OOP or whatever the preferred programming language of the time is//

    5. Re:Tools by Anonymous Coward · · Score: 0

      The (substitute your favorite single-purpose tool here) is a special-purpose tool, whereas the computer is a multipurpose tool, therefore computer users need to know how to program... have it partially right. Yes, the computer is a multipurpose tool. For many users, the multiple purposes for which the computer is used are few in number - say emailing, web browsing, instant messaging, writing letters, listening to music. Learning how to use the computer to perform each of these tasks is less difficult than learning how to drive a car. Many of us, apparently, are able to handle this level of complexity without the need to know how to program a computer using toggle switches (much more fun and fundamental than working with a CLI :)

  49. Interface programming by the+uNF+cola · · Score: 3, Interesting

    Isn't this too much of a burden for the average computer user? Shouldn't we try to force computers to adapt to us as much as possible by giving them user-friendly interfaces and hiding their internal workings? Shouldn't we be able to get on with our jobs without worrying about what is going inside the black box? If that is your attitude, fine. If you want to remain inside the dream world of The Matrix, that's your choice.


    I'm a programmer for quite a long time. I've dealt with designing interfaces (not too bad at it) and implementing other's designs (some are really great, it's where i've learned). Keeping the insides-in and the outsides-out is what keeps our lives simple. It's also what makes interface programming such a friggin' pain.

    Let's take a screen that has just a simple checkbox. On.. off.. that's pretty easy.

    Something more complex: a set of radio buttons. If none are on by default, you have to add a check to make sure things are fine.

    Now let's add something like the slashdot post-comment page. Strip all "bad stuff", check that both aren't empty and check against a few rules.

    How about an international address form. City/state is in the US or CANADA, you check for zip codes of certain types. (I know these two off the top ya' brit's :P). In the USA? Then yuo have the state thing, but if it's not, you turn that into a province thing, but only for certain countries.

    Want to include a phone number? Forget it. In the US, it's an area code that doesn't begin with 1 or 0, doesn't have 3 repeating digits (I believe), prefix doesn't start with 555, 1,0 or a few other things. No symbols except possibly -'s in the right place...

    Now if this were done all premptively, warning you "no, you can't do that" along the way, it's one big pain-in-the-ass. Warning you after the fact that you can't continue is also another big PITA.

    But you know what? It's so very necessary. Anyone remember OS/2's SYS1375 error? I hated that frickin' thing. It was the equiv of a segfault or sigbus in OS/2, when a program crashed... something like that. But you know what, those overly-verbose messages are great when you are in charge of maintaining or creating a system.

    In the end, I want to be babied from A->B when going through some task or process that has an interface. I like the idea of not needing to consciously think that, "I have to create an image of a cd first THEN i burn it." That's one thing I like about CD burning tools vs cli's making an ISO first and then burning. I wish configuring a kernel to my system were that simple. It'd be nice if it all worked with autodetecting modules upon first-time startup.

    It's the difference of wasting those internal mental cycles of figuring out what's going on. If I wanted complex, I'd figure out how to read my phone bill. They like to send it in spanish, though I told them I want it in english. Morons..
    --

    --
    "I'm not bright. Big words confuse me. But Wanda loves me and that should be enough for you." - Cosmo

  50. Rubbish by sydbarrett74 · · Score: 1

    This article is rubbish. Anything that can be reduced to arithmetic and boolean functions can be expressed on a computer. The gates on a CPU could care less what they're storing or calculating.

    --
    'He who has to break a thing to find out what it is, has left the path of wisdom.' -- Gandalf to Saruman
  51. Re:[Not a] pointless article by nels_tomlinson · · Score: 3, Insightful
    Imagine that in 1930, somebody said that the controls presented to drivers don't map well enough to the function of cars, and that in the future people would have to know how every drivetrain component works in order to drive or face losing the ability to use public roads.

    Am I missing something here?

    Maybe you are.

    The car, in 1930 and today, is a simple, single-purpose artifact. However complex it may be under the hood, it goes places and takes you along. The driver needs to steer, and control speed. That's it. To suggest that the driver CANNOT use it without being able to understand, repair and adjust every component is pretty silly.

    The computer is a non-specialized, multipurpose artifact. A programmer can make it into a very expensive word processor, or a very expensive ledger, or a very expensive sliderule, or a very expensive map, or ... To suggest that the operator must be able to provide at least some of the instructions the computer needs, in order to make full use of it to accomplish his job, doesn't seem entirely silly.

    Any job which requires no creativity (for want of a less fuzzy word) can be done by a computer without any human intervention. For example, if you are simply entering data and running programs A, B and C, a better system could enter the data and run the programs without you.

    I would say that any worker using a computer who can do his job without doing ANY programming could be replaced by a slightly better program than the one he is ``operating''. The only exceptions would be people doing jobs which are wholly creative, and could be done without a computer at all (e.g., writers, who could use pencil and paper).

    Furthermore, the complexity in a car is not irreducible. A battery, an electric motor, some wheels ... it would be possible to make a car that the average driver could understand. There is nothing there beyond the moving parts. The car is not valued because of its complexity, but because it gets you places.

    In contrast, the complexity of the computer is irreducible. Even if it were physically simple and comprehensible (and really, it is), the software is arbitrarily complex, to the extent that we have a new field of science to study it. It's is this complexity which makes the computer valuable.

  52. This is just silly by DarthTaco · · Score: 5, Insightful

    This guy is an idiot.

    By presenting us with colourful screens and buttons for us to click on, Microsoft encourages us to believe that we can force computers to adapt entirely to our preferences for visual images, without having to adapt ourselves to their preference for text.

    Computers have no preference for text. They have no preference for graphics. If they could be said to have any sort of preference at all, it would be binary. And that would still be a misleading statement.

    His goofy comments about html don't make any sense. HTML is just as artficial a construct as the graphics rendered by the browser engine.

    Does this guy think that you can just write some code on a piece of paper and show it to a CPU? The text on your screen is already an abstraction.

    Sounds like he has some problem with the fact that even idiots like himself can use a computer without any kind of in depth knowledge.

    And all this nonsense about forcing computers to adapt to us. WE MAKE COMPUTERS. They didn't "evolve" of their own volition. I'm surprised this guy isn't complaining about how using a steering wheel doesn't require knowledge of the actual steering mechanism.

    1. Re:This is just silly by cookiepus · · Score: 1

      Seriously.

      The main useful thing about computers is the layers of abstraction. Kinda like GUI keeps you away from the CLI, the CLI keeps you away from having to hardcode your programs to do your tasks in C or whatever, while C is there to keep you from coding in ASM which is just a level of abstraction over machine language, which is just a level of abstraction over opening and closing some electic sqitches, which is just a mechanisation of something you can represent on paper with truth tables.

      The more levels of abstraction you heap onto the Von Neuman machine the more useful it becomes to a normal person and to society.

    2. Re:This is just silly by Alex+Belits · · Score: 1

      Computers have no preference for text. They have no preference for graphics. If they could be said to have any sort of preference at all, it would be binary. And that would still be a misleading statement.

      Sure they do. Try to write a program that can operate on another computer, reading the bitmap ot its screen in GUI and sending keyboard/mouse events. Can't be done, there will be always ambiguous and hard to recognize situations (like, oddly overlapping windows and shapes, unfamiliar fonts, etc.), unless there is some severe limitation imposed on the GUI.

      On the other hand, countless scripts talk to the terminals or other programs through text streams.

      GUI is something that a computer program can not understand -- humans and only humans have the set of metaphors that allow them to see objects in what GUI draws on the screen. This set of metaphors is completely foreign to the computer itself, and its idea of objects is merely represented in the GUI picture.

      --
      Contrary to the popular belief, there indeed is no God.
    3. Re:This is just silly by eatdave13 · · Score: 1

      Writing a program to understand a given GUI would be fairly trivial with decent OCR and graphics libraries. Writing a program to understand a themable GUI with access to the themes and knowledge of what theme is being used would be harder, but not impossible. Writing a program to understand any GUI understandable by humans would be ... well impossible if you're talking about skinned MP3 players and stuff, but even a marginally consistent GUI wouldn't be impossible, just VERY difficult.

      Computers do not have a preference for text. We could write a command shell that only accepted numbers, or only accepted certain tones played into a microphone, or frequencies of light, or weights, or densities, or whatever we could imagine.

      If computers have a preference for anything, it's opened and closed circuts, and that's only if you say that computers must be a digital device.

      --
      "Verbing weirds language." -- Calvin
    4. Re:This is just silly by Florian+Weimer · · Score: 1

      Computers have no preference for text.

      Most of them have a preference for serial execution (at least at the machine code level, not in terms of implementation in silicon), and text comes quite close.

      The Guardian article neglects the power of spreadsheets which have served millions of users as a non-serial programming environment. Some impressive applications have been created using them. Their creators might not understand any general-purpose programming language, but they aren't dumb users, either.

      I'm not sure how detailed knowledge of technology will be required in a few dozen years before you can consider yourself as an informed citizen. Currently, some simple activities (like the decision whether to open an email attachment or not) require lots of knowledge, but other important ones (such as shaping legislation on technology) does not. I don't how things will turn out. I could image it both ways: you will strand if you can't shape technology, or you will become an obscure outsider if you try to shape technology (unless you work in the R&D department of one of the three remaining information megacorps).

    5. Re:This is just silly by Alex+Belits · · Score: 1

      Writing a program to understand a given GUI would be fairly trivial with decent OCR and graphics libraries.


      False.


      Writing a program to understand a themable GUI with access to the themes and knowledge of what theme is being used would be harder, but not impossible.


      False


      Writing a program to understand any GUI understandable by humans would be... well impossible if you're talking about skinned MP3 players and stuff, but even a marginally consistent GUI wouldn't be impossible, just VERY difficult.


      False. All those things are impossible. After a fair amount of technology development it may become possible to do them with low probability of errors, but it will be always impossible to avoid errors completely because GUIs are inherently ambiguous.
      This is tolerable with humans at their terminals because ambiguity of GUIs is often outweighed by lower speed and higher probability of human errors without GUIs, however the problem remains with humans, too.



      Computers do not have a preference for text. We could write a command shell that only accepted numbers, or only accepted certain tones played into a microphone, or frequencies of light, or weights, or densities, or whatever we could imagine.



      All those things ARE different kinds of text, defined for the computer as sequences of bytesthat directly correspond to the data being sent across the interface.


      If computers have a preference for anything, it's opened and closed circuts, and that's only if you say that computers must be a digital device.


      Computers have preference for circuits, opened and closed IN SEQUENCE as means of their i/o. What is the same as sequentially written text.

      --
      Contrary to the popular belief, there indeed is no God.
    6. Re:This is just silly by eatdave13 · · Score: 1

      Well, then it looks like I've managed to do the impossible. Just a short while ago, I wrote a quick program to automatically craft items for me in SWG. It did this by scanning the colors until it found the patterns matching an OK, next, crit fail, etc buttons.

      Granted, it was a quick and dirty little program that couldn't do anything else other than craft items given a few ingredient slots, which schematic to select, and the amount of experimentation I wanted to put into it, but then again it only took me a couple days to write.

      Extending this to be able to work with every widget of a given GUI would not be very difficult, and the only difference between that and a themed GUI is instead of hardcoding the patterns, you just load them.

      How is it that a sequence of bits representing pixels is any different than a sequence of bits representing letters and words? I'm not sure how much programming you've done, but you need to do more before you can authoratively say that something can't be done, especially when I can come along and say that I have done it.

      GUIs are NOT inherently ambiguous, unless of course your theme makes heavy use of the random number generator. The goal of any well designed GUI is to make them understandable.

      --
      "Verbing weirds language." -- Calvin
    7. Re:This is just silly by Alex+Belits · · Score: 1

      Extending this to be able to work with every widget of a given GUI would not be very difficult, and the only difference between that and a themed GUI is instead of hardcoding the patterns, you just load them.

      Except that most of pattern appear at random times (you can't be sure that the piece of interface stopped changing at some point -- you can only guess that if it's not changing anymore for some time, your next input will be sent to it, and not to, say a dialog box that is about to appear). And multiple items may overlap, require scrolling, be obscured, etc. This is ambiguous and therefore unsafe to rely on.

      How is it that a sequence of bits representing pixels is any different than a sequence of bits representing letters and words?

      Pixels are not in a sequence on the screen -- they should be processed as a single image of the screen, and sequence is formed by a changing image. It's not even possible to get ALL changes that happened over some time, GUIs are not designed for that, and should be readable for a human even if multiple changes happened between screen refreshes. Obviously, there is always some guesswork about what really got obscured, users often find that they have to "wiggle" windows around just to find if their scrollbars are really where it seems, or if there is a hidden window under them.

      On the other hand, text is always a continuous stream, and it does not matter at which precise moment some piece of it is being sent -- the semantics don't change with any buffering as long as everything that is sent is eventually received.

      I'm not sure how much programming you've done

      More than you likely ever will.

      , but you need to do more before you can authoratively say that something can't be done, especially when I can come along and say that I have done it.

      Game interfaces are borderline cases that do not correspond to any traditional GUI guidelines, therefore solutions for them do not matter.

      --
      Contrary to the popular belief, there indeed is no God.
    8. Re:This is just silly by eatdave13 · · Score: 1

      God you're an idiot.

      --
      "Verbing weirds language." -- Calvin
  53. The Author May Be Computer Illiterate by Arbogast_II · · Score: 1

    First off, he quotes the Windows example, perhaps he is unaware Windows is quite powerful with Scripts and Command Lines.

    Likewise, his bias on command lines vs graphics is archaic. Some human / computer conversations are better conducted in text. Others human / computer conversations are impossible without graphics.

    --


    HenryJamesFeltus.com
    1. Re:The Author May Be Computer Illiterate by TheCrazyFinn · · Score: 3, Insightful

      umm, Windows is VERY weak on the command line. Unless you install Cygwin or some such, the windows command line is barely functional as compared to other OS's. Only the Classic Mac OS is worse for command line use.

      Windows scripting is both worse than the command line and better. By default, Windows Scripting is a joke. There is no real scripting capability. However, 3rd party utility's integrate significantly better than 3rd party command line utilities. But by default, Windws comes in dead last for scripting (AppleScript is very powerful compared to Batch Files, and Classic Mac OS is still second worst for scripting).

      Longhorn should change this, with the rumoured next-gen command line implementation that approaches Unix-level capabilities.

      --
      "You've got an invalid haircut" -Warren Zevon - Life'll Kill Ya
    2. Re:The Author May Be Computer Illiterate by Anonymous Coward · · Score: 2, Interesting

      Longhorn should change this, with the rumoured next-gen command line implementation that approaches Unix-level capabilities.

      Approaches? Are you crazy? MSh goes so far beyond Unix shells its not funny. Rather than the "everything as a stream of bytes approach"[1], MSh will use real objects. It features multi-language support. Objects in the filesystem. Full, multi-directional, conditional pipes. All features missing in Unix shells. Face it, Unix is 30 years old. It needs to be updated.

      [1] Can someone explain whats so great about this? Doesn't that encourage ad-hoc interfaces, a poor programming practice? I realize that much of Unix is generalized for text, but generalizing it for objects is a much smarter idea, one which MS has pulled the carpet out from under us on.

    3. Re:The Author May Be Computer Illiterate by GileadGreene · · Score: 3, Insightful
      "everything as a stream of bytes approach"... Can someone explain whats so great about this? Doesn't that encourage ad-hoc interfaces, a poor programming practice?

      Perhaps you should go and browse through Eric Raymond's new "The Art of Unix Programming" book (you can even find it free online). He discusses the stream approach, and why it's a good idea (vs say the object approach). I'm sure others have covered the same ground, but that's the reference I've seen it in most recently.

    4. Re:The Author May Be Computer Illiterate by Alex+Belits · · Score: 3, Insightful

      If everything is a stream of bytes, any kind of interface can be created with it, based on its purpose. Simple interfaces can hide complex structure by just exchanging blocks of data blindly, complex ones can use parsers (a thing that Windows programmers never learn) and implement any format easily. And this clearly separates the programs -- they never ever touch each other's address space and can have any, simple or complex, design of their objects. Also whatever can be done with pipes, can be done with sockets, thus allowing remote and distributed processing without any change to the software doing it.

      Dotnet's "command line", judging by the descriptions that Microsoft made, allows things to just sit in one happy clusterfuck and mess with objects while they are freely floating inside the shell application, something that is in no way different from writing "scripts" in a large spreadsheet. This is yet another example how Microsoft invents 65537th iteration of the mix of their original DLL and DDE, two ideas that they still can't get right after more than a decade of development.

      --
      Contrary to the popular belief, there indeed is no God.
    5. Re:The Author May Be Computer Illiterate by miu · · Score: 1
      [1] Can someone explain whats so great about this? Doesn't that encourage ad-hoc interfaces, a poor programming practice? I realize that much of Unix is generalized for text, but generalizing it for objects is a much smarter idea, one which MS has pulled the carpet out from under us on.

      The 'object interface' that generalized streams replaced in Unix still exist in the form of ioctls and the like. Device numbers and magical interfaces that you had to have headers or documentation to interact with correctly.

      The new object interfaces just have better documentation available, that is why the approach will work better now.

      I am looking forward to multi-language support though, IME is a pain to use for non-English input (but better than the old way of doing it which required application support).

      WRT 'ad-hoc approaches', the value of scripts is that you can toss off a one shot to solve a particular problem. Windows has had two modes: full blown app or batch files, which is part of the reason that I've never viewed it as useful for anything other than a desktop machine.

      --

      [Set Cain on fire and steal his lute.]
    6. Re:The Author May Be Computer Illiterate by kraksmoka · · Score: 1, Interesting

      AFAIK, the only scripts that seem to work on windows start with a browser exploit and then generate popups from now to eternity. we call them spyware, adware, worms and virii. funny how the virus writers know how to automate so well, even with a crippled shell.

      --
      "You never want a serious crisis to go to waste." - Rahm Emanuel
    7. Re:The Author May Be Computer Illiterate by Anonymous Coward · · Score: 0

      The great thing about "everything is a stream of bytes" is that it is flexible. It doesn't try to force any particular view of the system.

      "Everything as objects" is an attempt to force everyone into the current paradigm of the day, object oriented programming. Not all problems are object oriented, and neither are the solutions. Not all programmers prefer working with objects. It is simply Microsoft trying to do what they have always done: Force people into one way of thinking. One Microsoft way.

    8. Re:The Author May Be Computer Illiterate by Alioth · · Score: 1

      My bets are that the Longhorn CLI *still* won't have job control. And that the Longhorn FS *still* won't have real symbolic links.

      Things *NIX operating systems have had for well over a decade.

    9. Re:The Author May Be Computer Illiterate by wirelessbuzzers · · Score: 1

      The advantage of the UNIX "everything is a stream of bytes" approach is that it's simple. It makes your application much easier to check for security (so long as you don't overrun a buffer) at the expense of making parsing difficult.

      There are other approaches to communication that I'd like to see, though. Specifically, a better version of shm, and better approaches for ad-hoc connections to a server. Something like devices which can be programmed by the user (better than named pipes), perhaps.

      --
      I hereby place the above post in the public domain.
    10. Re:The Author May Be Computer Illiterate by Anonymous Coward · · Score: 0

      And to a lisper or a relational database fan, "objects orientation" in the ms/java/c++ sense are limited and limiting.

      At least the Unix way allows objects, rdbms, or lisp to be slapped on top - see KDE dcop - Oh look, arbitrary object access from the shell -
      dcop konqueror-2492 konqueror-mainwindow#3 'minimize()'

      Clueless MS Fanboy.

    11. Re:The Author May Be Computer Illiterate by Feztaa · · Score: 1

      Longhorn should change this, with the rumoured next-gen command line implementation that approaches Unix-level capabilities.

      That made me laugh... "The next generation command line will be better than any before it! It will be almost as good as UNIX!"

    12. Re:The Author May Be Computer Illiterate by TheCrazyFinn · · Score: 2, Informative

      Why in the hell would I want OOP at the script level?

      Scipting is supposed to be quick, dirty and robust.

      OOP can be one of those three (Robust). It's the wrong paradigm for scripting.

      And it really complicates the interaction of multiple scripts and/or command line utilities.

      The 'Stream of text'/Everything is a file approach is proven, and ideal for this type of use. 'Everything is an object' is needlessly complicated, and quite problematic for the kinds of use that scripts are for.

      So WSH, while buzzword compliant, is certainly not up to unix standards.

      And Unix has better multi-language scripting support anyways.

      --
      "You've got an invalid haircut" -Warren Zevon - Life'll Kill Ya
    13. Re:The Author May Be Computer Illiterate by gbjbaanb · · Score: 1

      perhaps you should go read the Unix Haters Handbook (which isn't quite what the title suggests). You can get it on thew web as a free download.

      One of the chapters describes why everything as a stream is a bad idea. (The book was written a while ago - by unix enthusiasts and authors - to point out a few things that could have been done better)

      Personally, I think the whole business of object-orientation is designed to move away from the program having to determine what a blob of data is, to having the blob of data determine what program to use to manipulate it. There's no reason why the OS shoudn't be OOed in the same was programming has become (unless you believe everything should be written in C).

    14. Re:The Author May Be Computer Illiterate by gl4ss · · Score: 1

      essentially ms said it would go that far.. over 10 years ago!

      you know, nt was supposed to be quite a bit more than what it was when it got out at last(so they've had the ideas for quite some time on some level).

      --
      world was created 5 seconds before this post as it is.
    15. Re:The Author May Be Computer Illiterate by symbolic · · Score: 1

      Longhorn should change this, with the rumoured next-gen command line implementation that approaches Unix-level capabilities.

      If Microsoft's past performance is any indication, I guess this means we should all brace ourselves for all the security-related problems this may cause. I won't be worrying about my own system because I won't be running Longhorn, but I am not looking forward to the fallout from this.

    16. Re:The Author May Be Computer Illiterate by Anonymous Coward · · Score: 0

      And to a lisper or a relational database fan, "objects orientation" in the ms/java/c++ sense are limited and limiting.

      So how is the Unix shell not?

      At least the Unix way allows objects, rdbms, or lisp to be slapped on top - see KDE dcop - Oh look, arbitrary object access from the shell -
      dcop konqueror-2492 konqueror-mainwindow#3 'minimize()'


      Great - for the DCOP-ebabled applications. How many of those are there outside KDE? As for RDMBSs, an object-based command line would allow you to essentially use something like JDBC or ADO, (since you are a Lisper, CL-SQL or CommonSQL, or any of the 10 other SQL bindings for Lisp (see below for related commments on FFI)) from the command line, and to get results back as a ResultSet object. Try doing that on the command line. Yes, I know you can pipe commands into 'pgsql' or whatever, but that's not a very rich interaction. How do you deal with the results of your querys? Parse it rhough with awk? The fact that you need an entire pattern-matching language to deal with results from an RDBMS shows you how weak the Unix way is. And if you write those scripts to parse the output, what happens when you add another column to the result, and you have to change all your scripts? That is the type of ad-hoc interfaces I was talking about earlier, the ones that programmers should be moving away from, not towards.

      A real Lisper would find Unix terribly limiting and awkward - after all, none of the LispM's ran Unix, did they. Cripes, read some of the great writings of the Lisp crowd: Worse Is Better, or even the Unix-Hater's Handbook to get an idea of why Unix sucks, from a Lisp perspective.

      Clueless MS Fanboy

      Cute. I'm not an "MS Fanboy" - I simply think that Microsoft is updating it's products with new and better ideas much faster than the free Unix people are. Linux *needs * something like .NET - currently cross-language solutions either suck or are non-existent. .NET increases integration in ways you can't do under Unix. Hell, if there was such a thing, Lisp wouldn't be such a niche language. If it could fully interact with all other languages, it would be viewed as much more useful. For an example of how Unix screwed things up, witness the huge number of FFI bindings available for Common Lisp - every commercial implementation has a different one, and each free implementation has several. With .NET, there's no need for that - all languages can work will all others. It's simply a better platform. If you can't agree that MS has produced some superior products, then it is you who are simply biased.

    17. Re:The Author May Be Computer Illiterate by Jerry · · Score: 1

      Are you using the LH demo where everyone is partying in Paradise and life is easy?

      While the deoms are fantastic, the real products tend to resemble Hell, not Paradise, and you have to pay for your experience.

      --

      Running with Linux for over 20 years!

    18. Re:The Author May Be Computer Illiterate by Anonymous Coward · · Score: 0

      Why is this a command line issue? And btw. NTFS had symbolic links since W2K ...

    19. Re:The Author May Be Computer Illiterate by Jerry · · Score: 1
      Why in the hell would I want OOP at the script level?


      Ah, you or I wouldn't want it, but think about an object for a moment. It is derived from an MS supplied ancestor which contains properties and methods. You can sublclass to add your own, but do you know the names of all the properties and methods that MS installed so you can override them? Nope. Objects at the TCL allows Microsoft to add DRM to the TCL. Bill will determine what your subclasses can do, and what they can't do. You will not, or course, be able to control what Bill can do with your PC when you run one of 'your' scripts. It's for security, of course.

      --

      Running with Linux for over 20 years!

    20. Re:The Author May Be Computer Illiterate by owenb · · Score: 1

      You might call them virii, but I call them viruses.

      http://www.perl.com/language/misc/virus.html

    21. Re:The Author May Be Computer Illiterate by A.Gideon · · Score: 1

      I've built numerous communication mechanisms over the years. Unless you're sufficiently lucky that your underlying environment and what you intend to build "match", a more abstracted underlying environment is going to give you trouble. The low level of the UNIX "stream" has the advantage that many different abstractions can be built over it.

      This is actually quite similar to the nature and utility of a having a communication "stream" over IP.

      You cite DCOP, JDBP, and such. These are Good Things, and powerful tools. But they've implicit assumptions. I'm glad to have them when I need them, but I'd rather not have them than not have the ability to drop down further when they don't fit.

      UNIX has been around for a long time. What you see there is the result of decades of software evolution. But the origins aren't hidden. They're there for you to use...or ignore.

      That they're there, though, is a part of the power of UNIX, and why it has so well withstood the test of time. It's a classic precisely because of its underlying general nature: it can fit a wide variety of models of thinking about software.

      Perhaps because I've been working on the communication side of software for a while, I don't share your excitement over dotnet. Language independent data exchange formats have been around for a while. More interesting is a diversity of coordination models, but even this is not novel (although the patterns have been formally documented only relatively recently).

      The real power of "communication" becomes apparent when one realizes that coordination is by far more important than merely moving data - or even information - around.

      With respect to moving structured information over a stream: I built a marshalling mechanism for C data structures to a language independent data stream in about 1985 or 6. I was not the first, and I was not the last.

    22. Re:The Author May Be Computer Illiterate by qtp · · Score: 1

      NTFS had symbolic links since W2K ...

      Wow, three years now! Almost four!

      That Microsoft sure is offering something different, I guess I'll have to change my mind about them looking like they're re-implementing Unix (rather poorly). And now they are offering a usable CLI (not yet released) that offers more of what Unix does, but different.

      Microsoft is not a horrible operating system, but it is not, has never been, and most likely never will be capable of all that a Unix like OS is (unless they decide to replace most of thier code with BSD). This is partly (mostly) due to thier design philosophy being partly (mostly) determined by market studies and considerations.

      --
      Read, L
    23. Re:The Author May Be Computer Illiterate by Anonymous Coward · · Score: 0

      please do so kindly as to fuck off and die. thank you for your cooperation.

    24. Re:The Author May Be Computer Illiterate by ChaosDiscord · · Score: 1
      "everything as a stream of bytes approach"...Can someone explain whats so great about this?

      Because ultimately everything in a computer is a stream of bytes. A file on disk is just a stream of bytes, the disk as a while is just a stream of bytes, your HTTP request and its response is just a stream of bytes.

      The stream of bytes is the bare minimum you. From it you can build larger, more complex systems. However, if you start from a large, complex system you end up needing to provide the stream of bytes interface anyway (either that or you fail to provide it and eventually someone gets frustrated that you didn't provide an interface that they need).

      Abstractions can be useful, but sometimes you need to get down to the raw level. Build your abstractions on top of the low level, not instead of the low level.

      This is similar to the problem with attaching lots of meta data to a file. MacOS fans often point to the metadata a file has as a feature. All hail the metadata indicating which program created it and which programs can open it. However there is a hole in the system: any non-MacOS system. Suddenly you need to deal with files lacking the metadata. And once you're prepared to live without the metadata, why bother carrying it around?

    25. Re:The Author May Be Computer Illiterate by sjames · · Score: 1

      MSh will use real objects.

      The thing is, those objects better have a strong standard for available methods if they are to be anything like generally useful. Perhaps a serialize function. Other methods would likely be application specific and so useless for piping to other programs that weren't purpose built to work with the originating app.

      Of course, serialize will produce a STREAM OF BYTES. That stream of bytes can then be fed into another object, or perhaps through a translator (we'll call that a 'filter'). Now, what advantage was that again?

  54. ...even those may be translated by sonamchauhan · · Score: 1

    Even x86 opcodes are translated to lower-level instructions inside modern CPUs.

    1. Re:...even those may be translated by IM6100 · · Score: 1

      Even x86 opcodes are translated to lower-level instructions in a plain old Intel 8086 processor.

      --
      A Good Intro to NetBS
  55. reasons by Feyr · · Score: 1

    it has a nice start. but it doesn't give any concrete reasons. WHY are people doomed if they don't want to learn to program?

    i agree entirely though, i was going to forward the article to everyone in the office, but it lacks reasons and explanations. *shrugs*

    1. Re:reasons by eatdave13 · · Score: 1

      I'd hold off on that. The thing the article ignores is that computers are a new technology. In 50 years, an article like this would get the same reception that a present day article claiming we all need to know how to rebuild an engine to survive would get now.

      --
      "Verbing weirds language." -- Calvin
  56. Re:Microsoft is already developing a natural langu by Beg4Mercy · · Score: 2, Informative

    I agree with you that the parent post is not a troll... HOWEVER:

    You say that CS students are learning VB.NET. I am a CS major at MUN and the VAST MAJORITY of labs at the university run on Linux. We have NO Microsoft-specific courses.

    We actually had a Microsoft Canada representive come and give a presentation about .NET. It's obvious they are trying to get inside universities because those of us who had actually heard of .NET really had NO IDEA what it is. The Microsoft presentation was very poorly done. :)

    I don't know about other universities but ours does NOT teach Visual Basic OR .NET etc. Some of the courses are very theoritical/mathematical. The introductory CS courses (CS1700) and the introductory programming course (CS2710) both use Java. And anyone with a rudimentary knowledge of Java is more prepared to learn C++ than someone who knows Visual Basic.

  57. Re:Why bother adapting? by Anonymous Coward · · Score: 0

    If you take some time to look at the state of A.I., you would quickly realize that we have nothing to worry about.

  58. Clearification (Re:Fantastic Article) by Tablizer · · Score: 1

    However, if it is possible to farm most programming jobs off to India or Cheapostan, couldn't the secretary do the same?

    I meant farming off his/her coding needs, not the secretary job itself.

    (sorry about that)

  59. The Guardian by AyeFly · · Score: 0, Offtopic

    I'm sorry if this is a little off-topic, but instead of having all these headline posts that are just re-prints of the Guardian... why not have a column/section instead... like we have for apache, or EFF...?? just my 2 cents

    --
    Sig- http://www.dreamhost.com/rewards.cgi?ayefly
  60. Whups. Good thing i'm an AC! :P by Anonymous Coward · · Score: 0

    My appologies for the repeated paragraph. I did a little hasty cutting and pasting there. ;)

  61. Spot on. by Flaming+Death · · Score: 1

    Its a shame that software developers forget this. I have seen so many 'Engineer and Programmer' developed UIs that are plain useless, because they forget the end user requirements and skill set. Id like to see a set of formal guidelines for UI's for target users - Most apps have a fairly targeted end user and i think that could help app developers focus on the important person in the chain - the end-user.

    Its a tool. The idea is to help people do things with it - not to spend more time trying to figure out how to use it.

    I also wonder whether UI design is an ego thing. I have been involved in assessing and developing tools for a while, and many programmers get personally offended when an end-user cant drive their app. The programmer response is usually - "they need training". At this point I usually whack them over the head and say "design a decent UI you fool."

    Training the rest of the world to use clunky UIs or commandlines.. is well.. dumb. Make the tool.. and make it properly.. or dont complain when an end-user cant figure it out.

    1. Re:Spot on. by cookiepus · · Score: 1

      Why are programmers designing GUI in the first place? I understand in the open source model the guy's just desinging stuff for himself and if someone else doesn't like it, they can change it to suit their needs, but in the real world of business software, the UI requirements should be mandated to the programmer before the start of the project. Usually the programmer is less in position to know how the users think and use the program than sales people and product managers, so it should really be those guys that draw up GUI and the user experience.

  62. Learning curve by tyrecius · · Score: 1

    One of the reasons that literacy is widespread is that in general, each level of better writing/reading makes you better off than the previous one. Even if I can only write at a grade school level, that is more useful than not being able to write at all. Those who read can see through the grammatical mistakes and the crude vocabulary and get my intent. Learning to read at a high school provides a marginal increase in the utility of my skill.

    But this represents a key difference with programming. Computer programming provides almost no practical usefulness until one reaches the college level (and arguably beyond). I look back at the programs I wrote in grade school and there was none of the robustness or correctness that is needed in a generally useful program. It was still the programming equivalent of the Dick and Jane books.

    It wasn't until I got into college that I started doing interesting stuff. Even then, there are few uses in day to day life for the things that I write.

    To sum up, the Dick and Jane book phase, where one is reading/writing simply to learn the skill rather than to actually do something with it, is much longer with computer programming than with normal literacy. This raises the bar to near impossible heights for the general population.

    --
    char a[]="lbiitgt l e \n\n\0";main(){for(char*c=a; *(short*)c;c+=2){putchar(*(short*)c);}}
  63. Bad writing by tyrecius · · Score: 2, Insightful

    A very important point that the author misses here is the fact that most people are pretty bad at literacy. This usually isn't very much of a problem. Even if I'm a bad writer I can usually get my point across to a co-operative reader.

    But a computer is anything but co-operative. Being a bad programmer in the computer realm is a much more serious handicap than being a bad writer in the literature realm. Computers are much less forgiving of mistakes. And there tends to be a lot more complexity engendered in computer programs than in the day to day things that people need to write down.

    --
    char a[]="lbiitgt l e \n\n\0";main(){for(char*c=a; *(short*)c;c+=2){putchar(*(short*)c);}}
    1. Re:Bad writing by FFFish · · Score: 1

      ...most people are pretty bad at literacy.

      Case in point.

      But, then, you admit that right in the next sentence. :-) LOL. Good on ya for being "bad at literacy" yet still able to communicate and being able to solve problems... ...rather like using computers to communicate and solve problems, come to think of it!

      --

      --
      Don't like it? Respond with words, not karma.
    2. Re:Bad writing by eatdave13 · · Score: 1

      Points:

      ^ W V A X Z } { > <

      HAHAHAHAHAAHAHAHAHAHAHAA!

      --
      "Verbing weirds language." -- Calvin
  64. Its kind of funny by TheAntiCrust · · Score: 1

    Everyone who reads slashdot must have at one point or another had a frustrating expierence with a person who couldnt figure out how to do some simple task on thier computer. You quickly do it for them even if you have never done that specific function before becuase you have at least some rudimentary idea of how programs work. You dont need to know specificaly how to program in some language, but you have some idea of how it is programmed. Thats why you can do it and they cant. They have no idea how it works. It's all a big magic box to them.

    Then when someone comes along and simply points that out, you call them an idiot. It's true! In order for people to be better end users they have to have some idea of how and why programs work. Since computers are becoming more and more common in our society today, it isnt a very big leap in logic to assume that people are going to need more and more about how they work.

    1. Re:Its kind of funny by CharlesEGrant · · Score: 1

      But I don't want people to become better end users! I want them to become better at whatever it is they actually do for a living. It is my job as a programmer/sysadmin to try to advance their goals using my years of specialized study in computer technology. It is called the division of labor, and given the depth and sophistication of our technologies it is the only way to go.

      I had to have a CAT scan today. CAT is an incredible blending of multiple advanced technologies: math, physics, electronics, computers and medicine. It's run by a technician who knows the gory details and gotcha's of its operation, and the results are interpreted by a Radiologist who usually doesn't even touch the machine any more. I don't want my Radiologist spending his or her professional time studying processor architectures or HTML. I want them studying their radiology journals and sharpening their diagnostic skills.

  65. Re:[Not a] pointless article by the+uNF+cola · · Score: 2, Insightful

    The computer is a non-specialized, multipurpose artifact. A programmer can make it into a very expensive word processor, or a very expensive ledger, or a very expensive sliderule, or a very expensive map, or ... To suggest that the operator must be able to provide at least some of the instructions the computer needs, in order to make full use of it to accomplish his job, doesn't seem entirely silly.

    I dunno. I think that's perfectly logical. If I want a wordprocessor, I shouldn't have to do more than request it. The idea of a "folder" where all my "applications" go is a little silly.

    On the command line (*nix), if I want an editor, I can type vi. If I want my calculator, I can type bc, and that's it. It's all in a path.

    Would it be unreasonable to make it simple enough to start the word processor w/o having to deal with more than one real step and w/o cluttering up my desktop with all the applications I like to use?

    Sometimes, people don't have the time nor the care to have anything more than a shallow understanding, and that's ok. If an accountant can do his work well, and can be sped up by a calculator and be sped up again by a computer, he shouldn't have to "figure it out". 1+1=2. On a calculator, "1" "+" "1" "=" should get him 2. On a computer, he should expect the same after requesting a calculator.

    You are right, the complexity is what makes it very valuable. It's a multipurpose tool, as you've said before. But so is a car, if you understand it inside and out, so you can turn it into a plane, or an electric generator. Should somethign that is intended as a multipurpose tool be THAT complex to convert from one tool to another?
    --

    --
    "I'm not bright. Big words confuse me. But Wanda loves me and that should be enough for you." - Cosmo

  66. Re:[Not a] pointless article by Anonymous Coward · · Score: 0

    Computer ... multi-purpose? A dweezlish affectation. Doesn't have to be that way. Computers are dirt cheap, pad're ... like socket-wrenches only moreso!! THROW_AWAYS !! Different task == different computer with "different" being defined by appropriate human_factors. Only drooling, whining, simpering byteboyz mutants revel in un-needed complexity.

  67. programming with pictures by hamlet1590 · · Score: 1

    Having dedicated my entire master's research for figuring out how to make it easier for the non techies to program and use computers, the support for command line looks kinda strange to me........

    Anyway, I am sure the command line is something which will get extinct eventually..This is what my research is doing..Allow people to load images and the GUIs will figure out the properties..

    for example, you want to describe a ferrari in your program, you don't have to figure out logic and work out the boolean algebra and properties of the ferrari..just load the image of a ferrari...

    1. Re:programming with pictures by Anonymous Coward · · Score: 0

      Dude, it's awesome that you've devoted your master's thesis to this, and still more awesome that you are (I presume) being funded for it. Design is fundamental.

      That being said, some things will *always* be easier to do - easier as in quicker, not more intuitive - with the command line.

      Both GUI and CLI have a place in the future. That's why MICROS~1 is working to build a CLI into Longhorn.

      I teach for a living. Most of the time speaking is the best way. Other times I have to draw something on the blackboard. Other times I have to write it out on the board or put it in a printed handout. It's seldom easy to tell in advance which is the best way. Having all of them at my disposal is powerful.

      CLI will never go away.

    2. Re:programming with pictures by Anonymous Coward · · Score: 0

      Mod parent up, BTW

  68. geeks + english? by zcat_NZ · · Score: 1

    Sure.. not sure who said it (Pascal?!), but "when you manage to produce a computer that understands plain english, you'll discover that programmers can't actually write plain english!"

    --
    455fe10422ca29c4933f95052b792ab2
  69. Electric motor by Anonymous Coward · · Score: 0

    But note that this is EXACTLY how the electric motor was viewed in the early half of the 20th century. It was the energy source that could be linked into all sorts of mechanisms in novel ways to automate just about any process.

  70. Dylan Evans... by SnprBoB86 · · Score: 1
    The film Matrix Revolutions was in part inspired by Introducing Evolutionary Psychology, by Dylan Evans and Oscar Zarate
    Is that why The Matrix: Revolutions sucked?
    --
    http://brandonbloom.name
  71. Adapt to what? by Anonymous Coward · · Score: 1, Interesting

    Computers are not natural. they were created by people, not God or Nature. we have to understand how other people chose to make them. Binary, could have been decimal. Big Endian little Endian. Is one better. Ascii or EBIDIC. C++ VB PERL? Computers will evole like Any other man made Item. Some things will be as they are for good or bad because they where done that way (tell me I am wrong on you QWERTY key board). Cars are mature in a way a 30 year old car is not any different to drive today. The works have be refined, but it is still a car. At some point computers will reach a point where they are not that different in a 30 year span. Will win2005 be unusable to a win95 user? I agree with the computers are a tool statment. We can adapt computers to us we made them. So we will make them work for us. Like my new car that starts when I turn the key in all weather (no Choke) , tells me if I need an oil change, and turns on the lights when it is dark. Most people are not rocket scientists. Tech that requires that will never be a mass market Item.

    BTW to all the Rocket Scientist that know how the software works , how many know how the hardware works? Most could step on and IC and not know what it was. Will we have to teach everyone that too?

    1. Re:Adapt to what? by Aeiri · · Score: 1

      Actually, binary couldn't have been decimal.

      The reason computers are in binary is because of the WAY they are written on. If there was an easy way to convert to decimal, we would have been using decimal computers for years now.

  72. Arrg by Aeiri · · Score: 1

    People like this and my parents really piss me off.

    They think that learning how to program and do things like that is just some easy thing that everyone can learn how to do, which is entirely incorrect.

    Programming is a PROFESSION, a CAREER. Do I go around thinking that I can learn how to fix a car in a day or two? HELL NO! Why does everyone else think that they can learn how to program a computer in the same amount of time?

    My dad always has these "get rich quick" schemes, and he always wants ME to program a website for it. I usually say I'm busy or something, which I am, with other sites, and then (sometimes) he gets pissed off. My mom, trying to "correct" the situation, asks me if I can just teach her how to do it herself (she struggles in adding attachments to emails :/).

    I think that everyone should just look at some code of even the most basic things, a simple table in HTML even, and THEN go about criticizing how "easy" it is to program and how they could do it if they wanted, if only they tried.

  73. Re:Microsoft is already developing a natural langu by christopherfinke · · Score: 1
    You say that CS students are learning VB.NET. I am a CS major at MUN and the VAST MAJORITY of labs at the university run on Linux. We have NO Microsoft-specific courses.
    I second that. I am an IT student at the University of Minnesota (one of the largest universities in the US) and I haven't heard even a mention of .NET, even though Microsoft makes substantial donations towards research here. The progression of languages taught here is Scheme, (C++), Java, Assembly, C.

    The University servers run on different flavors of Linux, and a majority of the websites are PHP/MySQL-driven rather than ASP/MSSQL.
  74. "almost" detracts nothing... by RLiegh · · Score: 0

    You must not be a fan of following links [bakla.net, tubgirl.com, etc] then. :-P

    1. Re:"almost" detracts nothing... by Arker · · Score: 1

      You must not be a fan of following links [bakla.net, tubgirl.com, etc] then. :-P

      Actually that's the best part. With lynx you don't have to worry about them, the good ones with actual content display, the tubgirl doesn't. :P

      --
      =-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Friends don't let friends enable ecmascript.
  75. Re:[Not a] pointless article by Spoing · · Score: 0, Offtopic

    Moderators...mod that comment up. It's a 5.

    --
    A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
  76. Re:Microsoft is already developing a natural langu by Anonymous Coward · · Score: 0

    Oh, that must give you a nice, well rounded, education. I went to a uni. that used, get this, BOTH!! In my 4 years I learned, C/C++, Perl(Unix Shell, and CGI), Java (3d, Distributed Prog), and C#/C++ w/.NET (.NET Remoting/WebServices).

    I love you "holy" people who think that NOT knowing Windows is a good idea.

    If you think being a Unix Admin is going to remove you from Windows in the real world you are mistaken.

    STUDENTS: Do yourself a favor, LEARN BOTH, don't run from anything! (Except of course VB leave that for the Business students)

  77. Re:[Not a] pointless article by KrispyKringle · · Score: 1
    You seem to assume there are only three types of jobs, those that could be done by a computer, those that involve programming computers to do the first, and those that are "wholly creative, and could be done without a computer at all."

    In fact, only a small number of trained professional jobs could be done by computers. Computers extend the ability of a single person, such that fewer people are needed for the same job, occasionally, but they are not therefore replacable entirely.

    Businessmen who make decisions on investments, business plans, etc, are not replacable. Salesmen are not replacable. Marketers are not replacable. Logistics executives are not replacable. Doctors, lawyers, and yes, even secretaries are not replacable.

    Name a job that is truly only "entering data and running programs A, B, and C". Few jobs truly consist of only data entry because it can be done better by computers. But many jobs involve the use of computers as an implement, to communicate, to do word processing, to recieve information, to make trades, orders, etc, but could not be done by a machine. That is the distinction, that while plenty of jobs need a machine, they could not be done by the machine.

    So I don't really think that most users need to understand how the machine works, so long as they udnerstand how to work it. See the distinction?

  78. Missing the point by eleusis25 · · Score: 1

    The article's got a good point, but the author's not stating it properly. Rather than explain the point as directly as possible, he's gone and made analogies with the Matrix and so on... maybe to make it more 'understandable' by non-technical readers.

    It also does not help to compare a computer to a car. As previous comments have pointed out, a car and a computer are vastly different things - cars do only one thing (or one set of tightly related things) while computers can do a lot more than what cars can do (you can even have a computer controlling parameters of your car, dammit. Can your car do that to your computer?).

    The point Dylan Evans is trying to make is exactly that computers can do more than what people currently expect them to do. Just because there are currently protocols implemented, as computer applications, that enable you to 'surf the web' and 'send e-mail', does not necessarily mean that's how computers will be used forever. Better protocols can be implemented. More useful programs can be written. And that is the point - if someone is accustomed to clicking around nice GUIs and always using pre-written software, without ever trying to write their own bit of software, they will get to the point where they think "Oh well, I guess computers can't do this." That sort of thing would happen because the user does not realise that he has the power to make it possible for the computer to do what he want to do, if only he can communicate the instructions to the computer in the appropriate format.

    Disclaimer: I'm being overly optimistic when I say that the user can tell the computer to do anything. E.g. a program to "take over the world in seven days" might not be reasonably feasible. Keeping in mind the hardware and other logical limitations of computing devices, I hope you get the point.

    :)

    1. Re:Missing the point by lortho · · Score: 1
      While I agree with you that basic computer literacy in general needs to be increased in our society, I think you're setting the bar a little too high in terms of what that basic literacy should consist of.

      "Simple" scripting and programming is a much higher-level ability on a PC then basic driving knowledge is on a car. Heck, even basic operating knowledge on a PC is higher-level. Why? Because a car is much simpler in terms of what it is designed to do than a PC is.

      A car has basically one task to perform - move driver/passengers/cargo from point A to point B along the ground - which in PC terms makes it more like your basic standalone word processor, which is designed for the one task of creating printed documents. But by the same token, today's basic PC's are designed to print documents, play games, organize people's personal schedules, send faxes, play music/movies, etc... and I'm only scratching the surface. In car terms, this makes the PC more like combination car/helicopter/bulldozer/crane/etc. vehicle. Therefore, basic operating knowledge on a pc is more like having basic operation/maintenance knowledge of several types of vehicles, *plus* the additional overhead knowledge of operating a device designed to convert between the functions of these various devices (i.e., the OS). If I were told, as a basic 'end user' of my car, that I were expected to learn all this, *plus* have to learn how to manually reconfigure some of the simpler wiring mechanisms under the hood (which is kind of what even 'simple' scripting/programming is like) I'd think it was absurd. Yet that is what you're proposing should be the expected level of knowledge should be for PC's.

      My point is, it's easy for those of us who are naturals at using computers to lose sight of just how complex they really are. As they become a more and more integral part of our world, we're going to have to be careful to avoid making them too difficult to use, because most people will just not be able to keep up with them.

    2. Re:Missing the point by sjames · · Score: 1

      "Simple" scripting and programming is a much higher-level ability on a PC then basic driving knowledge is on a car.

      I would say that "Simple" scripting and programming is a higher level skill in general, but scripting on a PC is about the same level as basic navigation in a car. Simply driving is useless. Choosing a route and making the correct turns while operating the vehicle safely is what makes cars useful.

      In general, the PC is a higher level of tech than the car. It stands to reason since we had the car decades before we had the PC. It's a much larger leap as well since before the car, we had the horse and carriage which required the same navigation skills.

      That is the natural evolution of technology. The level of basic competance rises ever higher. That's why we now attend 12 years of school when in the past, a shepherd would learn all he needed to know in the pasture with his father.

      Even a simple thing like a washing machine requires skills so basic (to us) that we don't even think of them as skills. Nevertheless, a caveman would be completely baffled as to what it was or how to use it. Very few of us use a washing machine purely by rote. We know that knobs turn and buttons press. We know that the words to the side or on the controls tersely explain the function of the control. An extra button or knob doesn't leave us unable to manage the machine.

      If I were told, as a basic 'end user' of my car, that I were expected to learn all this, *plus* have to learn how to manually reconfigure some of the simpler wiring mechanisms under the hood (which is kind of what even 'simple' scripting/programming is like) I'd think it was absurd. Yet that is what you're proposing should be the expected level of knowledge should be for PC's.

      Actually, scripting (at least in a unix like system) is more like stringing together a group of tools. I know that a saw cuts, and a nail joins (but requires a hammer to be useful)

      A PC is not a car. It is more complex and versatile than a car. It is a full generation (or two) of technological evolution beyond a car. Also unlike a car, one need not learn it all at once just to avoid killing people (Imagine someone who knows about starting and accelerating but not steering or braking!).

      The cost of all of that power and versatility packed into a single small and reasonably affordable artifact is complexity. It does a lot, so it helps to know a lot. Society has grown more complex, and our technology has grown more complex. We can either embrace that and raise the bar for basic skills (again), or we can be luddites.

      If we used the same reasoning for cars then that we use for computers now, the automobile would have been nothing but a curiosity until someone figured out how to make it respond to snapping or pulling the reigns and to automatically refuse to crash into things (In other words, until it was a horse and carriage without the horse). We might also have demanded that upon pulling up to a fuel pump, it fill itself.

      we're going to have to be careful to avoid making them too difficult to use, because most people will just not be able to keep up with them.

      I'm not arguing against making them as easy to use as possible. Personally, I like having an undo feature in vi, and I hated TED (or EDLIN). I despise configuration files that sprawl all over the place and have such enlightening variable names as kjdfks. A nice curses based configurator is a good thing (especially if it can really do anything you can do manually and makes simple setups simple). I shudder to think of editing graphics on a commandline (but do benefit from script-fu and from chaining imabe filters together on the command line for batch processing).

      What I'm arguing against is interfaces that simplify things so much that functionality and versatility is actually lost. So much that simple things become chores. Not only do GUI applications generally dumb things down, but they also effectively become impossibl

  79. All computers are easy to understand... by Ilan+Volow · · Score: 1

    ...because all they understand are 1 and 0, and pretty much everyone understands the concept of 1 and 0.

    Anything other than 1 and 0 is a pure human construct. So when we're saying that "computers are hard to understand", we're really not saying that computers themselves are hard to understand. What we're really saying is that the humans who design the computer software are hard to understand and the messed up way they think are hard to understand.

    A geek is nothing more than someone who has great trouble speaking both the protocols for humans and those for computers.

    --
    Ergonomica Auctorita Illico!
    1. Re:All computers are easy to understand... by Anonymous Coward · · Score: 0

      They don't even understand 0 or 1 -- this in itself is another layer of human abstraction. The hardware that powers desktop computers runs on voltages that range from -12V to +12V, depending on which system components you are talking about. Most digital logic systems will use ground and +5V (+3V for low power systems) to represent "0" and "1". Even then, these are not absolute values either, as they allow (and expect) some voltage drift.

  80. Why Natural Language Processing tanks... by Anonymous Coward · · Score: 0

    Natural language processing because it is context rich, and computers are context free. Computers parse meaning in a compiler in one deterministic way. There can be no ambiguity. So when the phrase "Time Flies" springs about, are you 1. holding a race of flies, where this is a directive to take a stopwatch and "Time Flies", 2. is it a description of a physical entity called time which happens to move through the air? 3. The (somewhat non-sequetor) meaning "Time passes quickly"? Get the idea? Natural language is all context sensative. You need a whole big fat database of pre-determined expressions and somehow need to determine the context. (Good luck with that).

    1. Re:Why Natural Language Processing tanks... by eatdave13 · · Score: 1

      Don't worry, we're working on it.

      --
      "Verbing weirds language." -- Calvin
  81. Re:Most Linux users are masochists by spectre_240sx · · Score: 1

    Ok, I want to get info on my NIC. I could either go to Start > Network Connections, right click on my "local area network connection" then click on the status tab or, in a CLI, type ipconfig for windows and ifconfig for linux. I'm no CLI zealot, but I do think that it definately has it's place. Some things are just a lot quicker and easier with CLI. Not to mention that on a server it's quicker to type a few commands than to load up X just to do some maintanance.

  82. MOD PARENT UP! by Anonymous Coward · · Score: 0

    Dumbasses don't realize this is the Ted Nelson who coined the phrase "hypertext" in 1965. See http://www.w3.org/WhatIs.html

  83. Levels of Abstraction by KalvinB · · Score: 4, Insightful

    If I want to make a 3D game, I can use OpenGL or DirectX. However, I have little clue how exactly telling OpenGL to put a quad with various features on the screen actually gets it on the screen with those features. For all I care it's magic. It just works. OpenGL and DirectX are my lowest levels of abstraction for 3D graphics currently. There's also DarkBASIC et al for those who don't want to go even that far down.

    If I want to make a 3D API like OpenGL or DirectX, I need to dig down deeper to understand how graphics cards work in order ot get any realistic amount of speed. Consoles tend to have fewer levels of abstraction.

    This is how it works in every area. You have the people on top who have little to no abstraction. They know exactly how every little thing fits together. And they get paid accordingly. The people on the bottom just give you your burger. And are paid accordingly. They don't care how the meat or buns or whatever got there or where the money goes aside from their pay.

    I can imagine that like all things, computers are going to reach a level of complexity that's just flat out absurd. Hobbyists work on kit planes but it takes years of training to properly maintain a Boeing 747. As the complexity of planes went up, the requirements for getting hired to work on them also went up.

    However as usual, there will be a handful of geniouses that understand everything who write abstraction layer unpon abstraction layer until a level is reached that it doesn't take a genious to get a polygon on a screen.

    All that will change is the amount of education you'll need to be able to function at a certain level.

    Planes are one thing but it used to be that to fix a computer you had to hunt for a vacuum tube or whatnot that was out and replace it. These days, if a computer breaks, within 5 minutes you can determine the problem then throw out the defective part and buy a new one with little training. It's actually gotten easier to maintain PCs. I don't have to try to find and then fix a transistor in the northbridge. I just throw the MB out and get a new one.

    So yes, you do need to know assembler for certain positions to earn a certain pay. But, there will always be other entry levels that don't require that level of knowledge. It's up to the individual to choose what level they want to strive for.

    In conclusion, dumb, not well thought out article.

    Ben

  84. Re:Microsoft is already developing a natural langu by Beg4Mercy · · Score: 1

    I'm not a holy person who avoids knowing Windows. In fact, sometimes I wonder if open source will put people who write software for a living out of work.

    An earlier reply said that CS majors are learning VB.NET in class, which is the exact opposite of my University.

    Many of the interesting CS courses here are done as electives -- they save the core courses for unpopular stuff that few people would take if they didn't have to. They focus alot on concepts. Anyone is encouraged to learn more (such as .NET) on their own.

  85. Re:Article lacks reason. Is this really necessary? by MalachiConstant · · Score: 1
    I think you hit the nail on the head. I'm always wary of any kind of "it must be all or nothing" claims like this. Two examples:

    1) I used to work at a pre-press shop, mostly with 30-40 year olds (I was about 20). Since I knew a bit more about networking and computers in general I was usually able to troubleshoot quicker than my coworkers who had been doing it longer than me. I've never been able to wrap my head around programming, but I knew what to check when a print job wasn't going through.

    2) In Arthur C. Clarke's 3001 Frank Poole (an astronaut from our time) is surprised to learn that his fellow astronauts in 3001 don't know much about the guts of their ship, just how to make it work and what to do when it doesn't work right. The ships were so complex by that point that only specialists understood them on a basic level.

    We passed the point a long time ago when the computer as a whole could be understood by a non-specialist. Then add in various operating systems and programming languages and see how many non-specialsts really understand it all at a fundamental level.

    I'm sure there are people here how could speak intelligently about processor arcitecture, linux kernal code, and router programming, but there's no way a secretary who gets paid $10 an hour is going to know all of that. Or even someone like me who works with computers all the time but doesn't have the hacker's mindset to learn all the minutae.

  86. Re:Article lacks reason. Is this really necessary? by antiMStroll · · Score: 1
    .... after understanding the basics of the computer in terms of memory, files, etc.,...

    I read this as precisely the author's point. It's possible to use spend years before a GUI and not know these things.

  87. peasants? by dtiberius · · Score: 1

    As one who's done a little reading on the subject ("Thanks, liberal arts education!") let me object to this use of the term. A "peasant", as my best research can conclude, is someone who produces for his own consumption. This generally refers to subsistence farmers, i.e. they grow their grain so they can eat it. Who does this remind us of? Why, hackers, of course. They create code to solve their own problems.

    Subverting the author's own implied metaphor, the hackers are the peasants, (the people who dig in the muck (of computer innards/rice paddies to survive/function) while other people (the local feudal lord/everyday users) reap the benefits in the form of taxes (skimming some of the peasant's grain for their own use) or open source software (using other people's coding prowess for their own everyday computer operations- I of course include myself here).

    So one of the following is true:

    -Hackers are really the peasants, doing work for minimal benefit to themselves (beyond everyday use/ subsistence) while others benefit greatly (either users or corporations who capitalize on their work, like IBM, Apple, et al.).

    -Hackers are really communists (read some actual Marx before you respond) who believe that the means of production should be owned by the proletariat, so that no one is opressed or alienated from the products of their own labor.

    -The use of the word is entirely obfuscatory. "Peasants" have nothing to do with nothing. Implied agricultural metaphors don't apply to cases where the products of labor are infinitely multipliable, unlike grain and more like source code.

    Either the third is true, and the author is just careless, or one of the first two is true, and we have yet to see just who is benefiting (the hackers/proletariat or the corporations/bourgeoisie). Either way, I don't think the author meant "peasants."

    -Classical Studies major signing off.

    1. Re:peasants? by Alex+Belits · · Score: 1

      Um, no.

      Subsistence farming was extremely rare through the history, usually "peasant" was not just producing the food for his own family but had various kinds of obligation to "lord", "owner", "landowner", "government" that taxed him, controlled his behavior, and often property, and performed various services for him that the peasant was incapable of, lacking time, skills or education.

      In other words, someone in a subservient position that requires him to perform large amount of agricultural work but prevents him from doing anything more complex.

      --
      Contrary to the popular belief, there indeed is no God.
  88. All metaphors... even the command line. by SoupIsGood+Food · · Score: 4, Insightful

    Bah. Everything in information technology is a metaphor, an illusion to trick the human mind into coping with the machine. Where do you think the term "channel" came from? It's a metaphor, using a nautical term to boil down an overbearingly complex technical description into a concept non-technicians can understand when trying to get their television to show them Gilligan's Island.

    Saying the command line is "closer" to the way a computer "really operates" is preposterous. The command line itself is a metaphor, an abstraction that simulates lingual conversation, where a GUI is an abstraction that simulates tactile space.

    Most programming languages are based around the lingual metaphor... but not all of them. Prograph was a language based around manipulating shapes in a super-flow chart, and Helix is a relational database language based around the same concept, only in a declarative rather than procedural programming context.

    Computers aren't even remotely human... they aren't even remotely alive or self-aware. These are just anthropomorphizations people assign to the system, because they don't understand that the command line, the C++ language, the GUI, are simply anthropomorphic metaphors, conceptual hacks that empower the user.

    The very first Hollerith machine used on Ellis Island was very close to a GUI system. You plugged in the card, and turned clearly marked dials to indicate nationality, age, etc, which were punched into a card (stored im memory.) Information was read from memory by putting the cards in a reader, where the appropriate option was lit up on a menu of possible options listed in plain english, corrsponding to the nationality, age, etc, as it was stored on the card. It depended on tactile metaphor to store and visual metaphor to retrieve data, rather than an answer-response metaphor like a CLI. The only way to get closer to the metal is to put the bits into memory by hand with a hole punch.

    What's needed are better, newer, more empowering metaphors. GUI's engage the part of the brain that deals with tactile, pattern and spatial relationships, so they're a better metaphor than a command line in most instances. We need to transcend the GUI with a more involving illusion, not just swap it for an older illusion that doesn't take as much advantage of human neurology and psychology... like the command line, or job control language, or patch panels.

    SoupIsGood Food

  89. Unfrozen Caveman Programmer by Dachannien · · Score: 1

    I am just a humble caveman. Your modern user interfaces confuse and frighten me.

  90. You missed the point by Anonymous Coward · · Score: 0

    The author is perhaps moaning the fact that the best that computers are capable of, does not translate through the dummed down GUI. You can cheerfully say 'I know all there is to music!, See, I own a CD player. I push play and I command the greatest orchestra! ...There is a subtle difference between being able to manage a CD player, and managing a Steinway. The difference between driving a car and using a computer are that the controls on a car give you 100% functionality of the vehicle. A GUI on a computer gives you 0.0000001% functionality. A GUI doesn't just make using a computer easier, it also strips functionality.

  91. Re:Microsoft is already developing a natural langu by corbettw · · Score: 1

    Um, why do you think a CS major should be learning maintenance tasks?? Those are OJT skills that are learned after college. College courses should be teaching you *why* computers do what they do, not how. The how will change, often many times from month to month or even week to week. Thy why never does.

    --
    God invented whiskey so the Irish would not rule the world.
  92. Re:[Not a] pointless article by nels_tomlinson · · Score: 1
    Computer ... multi-purpose? A dweezlish affectation. Doesn't have to be that way. Computers are dirt cheap, pad're ... like socket-wrenches only moreso!! THROW_AWAYS !! Different task == different computer with "different" being defined by appropriate human_factors.

    Sure. I think I see your point, and I think that I agree with it. I don't think your point contradicts mine. My idea was that if your job really doesn't require programming, then either:
    1) you can be replaced by a programmed system, or
    2) you are doing something totally creative, which could be done without a computer.

    In case (2), some programmer may well make a more-or-less single purpose system which will do things which can't be done (or can't be done efficiently) by hand. E.g., word processors, GIS, usw.

    I'm not saying this because I think that it'll happen someday, I'm saying it because it's happening now. Switchboard operators are being replaced by touchtone menu systems, data entry clerks are being replaced by bubble sheets and electronic reporting, warehousemen are being replaced by little robots and relational databases, inventory clerks are being replaced by RFID tags, and on and on.

  93. Re:Microsoft is already developing a natural langu by bob65 · · Score: 1
    Uh, are you sure about this? From what I've seen, CS profs are downright *allergic* to Microsoft, and would never advocate teaching anything remotely proprietory. In fact, all throughout my degree, I've been reminded many times that CS is a field very close to mathematics, and that it doesn't matter what language we happen to use to apply concepts - it's the concepts we are learning, programming is just a side effect (plus programming isn't even part of many courses such as discrete math - even when we do write code, we write pseudocode). Besides, most of the labs are full of either Unix terminals, or PC's running Linux - where "piping simple CLI commands together" is surely a prerequisite for even doing basic tasks.

    I'm sure my experience is typical of most CS students - which is why I don't believe your statements above are true.

  94. Hit and miss by Empyrean9 · · Score: 1

    Well after reading the article, and many of the posts, I have really mixed feelings. As a programmer, an aspect of my job is to reduce complexity for end users. On the other hand, I feel it is important for those users to become computer savvy.

    It is absurd to suggest that most individuals require the depth of understanding that your typical software engineer must possess. That said, I think being able to independently diagnose, understand, and solve computing related problems is becoming an essential skill. Another dimension of this is the ability to intuitively learn how to use unfamiliar software.

    Currently, when things go slightly amiss or new software is introduced, many individuals will stare blankly at the screen, panic, and proceed to cry out for technical support. While in some cases it is quite useful to seek advice, most problems (often misunderstandings) are relatively trivial, and could have been solved had the person decided to experiment. This lack of initiative can usually be attributed to fear. Computers can be very intimidating, especially for people who have not grown up surrounded by them. I think this will change over time with the increasing prevalence of the technology.

  95. In the eternal words of Edsger Dijkstra by PissingInTheWind · · Score: 1

    ``Projects promoting programming in "natural language" are intrinsically doomed to fail.''

    How do we tell truths that might hurt?

    A true classic.

    --

    A message from the system administrator: 'I've upped my priority. Now up yours.'
  96. Re:Microsoft is already developing a natural langu by Anonymous Coward · · Score: 0

    Whatever, here at NYU we get XP Pro, Win2k, MSDN, Visual Studio.NET 2003, SQL Server, Visio, Access, etc. for free. All because one class uses .NET (taught in C#, though not a class on C# or .NET specifically).

    Compare the number of schools using .NET to those using Java, and you'll see MS still has a ways to go.

    PS - someone should bring back Pascal. Or move up to Oberon. Or Ada.

  97. Re:[Not a] pointless article by nels_tomlinson · · Score: 1
    You seem to assume there are only three types of jobs, those that could be done by a computer, those that involve programming computers to do the first, and those that are "wholly creative, and could be done without a computer at all."

    But many jobs involve the use of computers as an implement, to communicate, to do word processing, to recieve information, to make trades, orders, etc, but could not be done by a machine. That is the distinction, that while plenty of jobs need a machine, they could not be done by the machine.

    Yes. Those jobs are in my third, wholly creative category, aren't they? They may require communications, word processing[1], placing trades, usw., but those are all functions which can be done by single-purpose machines, like telephones and word processors. If a computer happens to provide some of those services, the user need not be aware of it.

    I think that I largely agree with the article. The author says:

    Things can only get worse. As our society becomes ever more dependent on information technology, the gulf between those who understand computers and those who don't will get wider and wider. In 50 years, perhaps much less, the ability to read and write code will be as essential for professionals of every stripe as the ability to read and write a human language is today. If your children's children can't speak the language of the machines, they will have to get a manual job - if there are any left.
    I'm seeing this already in my field (statistics). There are statistical packages which give their purchasers the illusion that they can perform a statistical analysis. They can't. The users can push the buttons, and get results, but they can't know whether the results make any sense, and they often don't. I can use these statistical packges, and have some chance of getting sensible results, but I often wind up writing programs to analyse data despite having several of these available to me. The programs manipulate data, automate repetitive steps, test results, and sometimes, implement methods which haven't yet made it into the packages. Statistics is changing rapidly, and there are a lot of useful things which may never show up in SAS and SPSS.

    I'm not quite so extreme as is the author: my thind category, the wholly creative workers, will probably be the largest category of workers in 100 years, and those people will not be doing much programming, though many of them will know how.

    One reason that last statement, about many knowing how, isn't as silly as it sounds is that languages will be getting higher-level, and will economise the programmer's time rather than the machine's time to a much greater extent than is true today. I predict that in 100 years, programs will look a lot like today's pseudo-code.

  98. Telescope by Anonymous Coward · · Score: 0

    A good analogy might be the telescope. In its infancy, modern astronomy was just as much about building telescopes as it was about studying the cosmos. That is, the telescope, while in theory a tool, really presented academic problems of its own that stood between the user and the data.

    Nowadays, an astronomer can go an entire career without grinding glass (and if she has PhD students, she doesn't even need to write any code!).

    Just like astronomers don't need to be experts in glass anymore, at some point they won't need to be experts in coding it up, either.

  99. Empowering citizens with Boolean algebra by Frater+219 · · Score: 5, Insightful
    What Evans' article suggests -- a conclusion, I might add, that I would not attribute to Neal Stephenson -- is that understanding computation has become necessary to individual freedom in our computerized society. That is, because we have to use these immensely complex and versatile artifacts, we must understand them and be able to control them, in order to call ourselves free. If we cannot control them, it follows, they will be used to control us.

    In the olden days, there was an expression used to refer to those disciplines and sciences deemed necessary to the free man. That expression was the liberal arts. Though today we might associate that phrase with endless "humanities" classes, or with a college degree not useful for any particular career, of old it meant simply those arts -- practices -- necessary to exercise the liberty of a free citizen. The classical liberal arts were seven: grammar, rhetoric, logic, arithmetic, geometry, astronomy (for which read "physics other than ballistics"), and music.

    (Please note that literary criticism, social theory, and deconstruction are not named among the liberal arts.)

    We still recognize (I hope) that one who cannot recognize a fallacy in argumentation, or who cannot do arithmetic, is severely impaired in exercising the freedoms of man and citizen. A person who is unacquainted with works of literature may miss cultural references in a politician's speech, but a person unable to cope with rhetoric and logic cannot even tell if the speaker is contradicting himself. Likewise, one who cannot add and subtract cannot tell if he is being cheated in the marketplace.

    From a classical viewpoint, what Evans is suggesting is that an understanding of computation has become a liberal art: a discipline necessary to exercise freedom. It is unfortunate and misleading, however, to frame this in terms of "programming languages" or "command lines" -- both of which are simply abstractions (just as is the GUI) on top of the mathematics of computation. The essence that must be understood is no language other than mathematics.

    (As an aside: Historically, computer science -- which has little, I might note, to do with "knowing programming languages" -- is an outgrowth of mathematical logic, which is itself an extension of the liberal arts of arithmetic, geometry, and classical (syllogistic) logic. Thus, Aristotle and Dodgson, to pick two, prefigure Turing and McCarthy.)

    The same fundamental calculi of functions, algorithms, and Boolean binary logic underlie all of the abstractions we may encounter in computing. GUIs, shells, assemblers, virtual worlds -- all of these are necessarily founded upon the same mathematics. No matter how complex the language or how pretty the interface, it must abide by mathematical logic or it cannot function.

    Thus, if Dylan Evans seeks, with Neo, "the code behind the graphics", he should not look to the Unix shell, to C, or even to machine code to find it. Those are tools, not truths, and freedom comes with understanding truths, not simply with mastering tools. Learn the liberal arts -- mathematics and logic -- and you will be much better prepared to defend yourself as a free citizen in a computerized world.

    1. Re:Empowering citizens with Boolean algebra by Anonymous Coward · · Score: 0

      "The classical liberal arts were seven"

      Who fucking talks like that?

    2. Re:Empowering citizens with Boolean algebra by pualo · · Score: 1
      "The classical liberal arts were seven"

      Who fucking talks like that?
      Maybe you should.
    3. Re:Empowering citizens with Boolean algebra by Arker · · Score: 0, Offtopic

      Very well stated!

      Do you have any idea how much time you saved me by posting this, and saving me the trouble? I'd guess with proofreading and revisions I'd have taken 45 minutes or more, and there's always pchance I would not have done as good a job. What a timesaver!

      On the friends list you go! Heheh... foe of a friend, maybe one day when I'm bored I'll take a look at that too.

      --
      =-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Friends don't let friends enable ecmascript.
    4. Re:Empowering citizens with Boolean algebra by akc · · Score: 1

      I agree with most of what you say. However, I think your reference back to understanding the binary logic as being ALL that is required is wrong.

      One doesn't expect a student of arithmetics only to understand how to add and substract - he has to be able to build on these fundamentals and also understand the building blocks made possible by the work of others which give rise to more complex mathematical artifacts.

      By the same token - in the "liberal art" of computing, one must understand the fundementals (which probably start somewhere around AND and OR gates - although I could be persuaded that understanding how a transister works in order to build such a gate could be encompassed), understand how the CPU works (registers, addressing modes etc) and build on those low level concepts to see how operating systems, programming languages, and communications work. The study should continue step wise all the way to understanding whats actually happening behind the scenes to produce the icons on the screen or to deliver e-mail from one side of the world to the other.

      [I do have to ask myself whether the starting point for the subject I have chosen is the correct one or merely the place where I started. I have worked for over 30 years at a computer company, and each year as the new batch of graduates have joined the company they have known less and less about these fundementals. There was a point somewhere in the mid '80s when they stopped knowing how a cpu worked and were therefore incapable without much training to work in assembler. Perhaps Dylan Evans' start point is just later than yours or mine?]

    5. Re:Empowering citizens with Boolean algebra by Ignis+Flatus · · Score: 5, Funny

      Learn the liberal arts -- mathematics and logic -- and you will be much better prepared to defend yourself as a free citizen in a computerized world.

      Nah, to be "free" in our society means having power. And for at least a couple of centuries now, the easiest way to obtain power is to become a lawyer. Learn to defy mathematics and confound logic through the power of law.

    6. Re:Empowering citizens with Boolean algebra by Anonymous Coward · · Score: 0

      He didn't talk like that-- he wrote it. Try learning to write yourself and you'll see the difference.

    7. Re:Empowering citizens with Boolean algebra by eatdave13 · · Score: 1

      Understanding what goes on behind the icons is not necessary. In fact, I don't believe that computers are a liberal art at all. The original seven cover the computer very well already. Logic, arithmetic and grammar is all that is required to truly understand a computer. If you understand logic, then you understand "if I click on the OE icon, then OE will open unless something is broken.

      Computers and cars make excellent metaphors for each other. I can't imagine a case where you would say that it's necessary to understand that long polymer chains have a lot of easily releasable energy in order to drive a car. The only people who need to know that are the people who make the fuel. Because we have reached a degree of reliability with autos that allows us to implicitly trust that a gas station will carry fuel that will propel our car down the road, we no longer need to know that.

      The problem is, and the reason that it's possible for this (relatively) short period of time to believe that truly understanding the nitty-gritty of computers is necessary, is that we have not reached that level of reliability yet, but they have become essential to our lives before they became reliable. In 50 years, or however long it takes to reach that, you won't hear this discussion any more, and most likely even people in the industry will be more ignorant as to how the low-level stuff works than they are now unless desigining a processor or writing a compiler is what they do.

      Computers are a tool, just like everything else people have ever made. The person that puts the head on a hammer most likely doesn't know much about metallurgy or forest conservation, but that doesn't stop them from being able to make a hammer any more than a person not knowing how to run a hammer factory stops them from being able to pound a nail. When getting your e-mail is as intuitive and reliable as swinging a hammer, why know how to repair a corrupt mailbox? In the rare cases where it happens, just get a new mail client, or have it repaired by a professional. The amount of time someone would need to invest in order to be able to do it themselves would deprive a person of that time to do something like installing a new fuel pump in the repair tech's car, and since we're assuming that said person's specialty is repairing cars, would also deprive many other people of getting their cars fixed.

      --
      "Verbing weirds language." -- Calvin
    8. Re:Empowering citizens with Boolean algebra by Dr.+A.+van+Code · · Score: 4, Insightful
      Unfortunately few U.S. citizens today can recognize a fallacy in argumentation. In American politics debates are usually won by whoever can yell the loudest, beat the most strawmen, scatter the most red herrings, poison the well the most effectively, do a better job of making ad hominem attacks stick, or lie the most convincingly. We desperately need more of the classical liberal arts.

      I agree that understanding computation has become an indispensible skill and should be considered one of the modern liberal arts. But I must take issue with your argument that a grounding in mathematics and logic is all that is needed.

      Programming languages and command lines may be only one form that the underlying math behind computers takes, but learning them teaches important lessons about how information is represented and structured in computers. Of course, there are other approaches that will bring about the same understanding. But focusing on the pure abstract math behind it all without ever getting down to the nitty-gritty implementation details will never give anyone the skills needed to survive in the modern world.

      One example should suffice to demonstrate the point. This evening I helped a friend with some computer problems he was having. One problem was an unwanted program that was running every time he booted up. A few moments with regedit quickly cleared up the problem. I'd like to think I'm fairly well versed in math and logic (yes, even Boolean algebra), but no amount of general knowledge would have been enough for me to solve the problem at hand, and, more importantly, it wouldn't have been enough for him, either!

      I knew my way around regedit and the Windows registry; he didn't. Let's have more (and better) education in logic and mathematics (statistics is also vital but too often overlooked), but let's also teach the tools and the practical application of the concepts. Otherwise we'll just produce computer idiot-savants.

      --
      Good mfences make good neighbors.
    9. Re:Empowering citizens with Boolean algebra by Anonymous Coward · · Score: 0

      Stop defending your stupid post as an AC. And while you're teaching others how to write, try to learn not to talk like a pretensious dick.

    10. Re:Empowering citizens with Boolean algebra by leoboiko · · Score: 2, Informative

      Great post.

      I think I'll link to How To Design Programs. It's a book from MIT aiming to teach computing as a liberal art. The preface has a nice discussion about why everyone should learn how to program - much nicer, IMHO, than the Guardian's article.

      --
      Prescriptive grammar:linguistics :: alchemy:chemistry. Stop being a nazi and learn some science.
    11. Re:Empowering citizens with Boolean algebra by bj8rn · · Score: 1
      (Please note that literary criticism, social theory, and deconstruction are not named among the liberal arts.)

      This list reminds me of a mythical Chinese encyclopedia, where animals are divided as "belonging to the emperor", "sucking pigs","listed in the current classification", "et cetera" and so on. Anyway, you could say that literary criticism has always considered itself to be a part of grammar or rhetoric and so has deconstruction (although it could be classified as just another method of (literary) criticism). Social theory? Well, that ought to be the outcome of studying all those liberal arts -- that you know how the society works.

      --
      Hell is not other people; it is yourself. - Ludwig Wittgenstein
    12. Re:Empowering citizens with Boolean algebra by Anonymous Coward · · Score: 0

      Please note that literary criticism, social theory, and deconstruction are just as much "extensions" of the liberal arts of grammar, rhetoric, and logic in the same way that computer science is an extension of arithmetic. Just because you maybe be more familiar with the historic development of one modern discipline doesn't mean the ones you don't understand or agree with have no basis in the classical arts (and are somehow then--gasp--inferior), which is what you seem to be implying in your little asides. Please.

    13. Re:Empowering citizens with Boolean algebra by Hast · · Score: 1

      I do agree with you that understanding how a CPU works in detail is not necessary and completely uninteresting even for many programmers. (For the sake of programming, not if you need to squeese the added performance.)

      The entire point of the original article is that knowing how to "click the icons" and the basic logic it requires will /not/ be sufficient to be deemed "computer literate" in a few decades. If that is your limits you will become a second class citizen, much like those today who are unable to read and write.

      It's like a person who knows that a hammer is a tool with one heavy end and one long end. But has yet to grasp that you can use it to hit nails, and furthermore has no idea of why he'd want to use it to hit nails.

      While a computer is only a tool it is to most advanced and most versetile tool which exist, by far. If your limit in using it is to use what other people do for you then you will never be able to use it's power to any significant extent.

      To again use the hammer and nail comparason. Most people today are on a level where if someone else use a hammer to put a nail in a wall they can hang a picture there. They also understand that they can change the picture or even put up a speak there instead. But they have to idea of how to use a hammer to put up new nails, and they don't even understand why they'd want to learn that. (This comparison may be a bit harsh, but then again all comparisons are. ;-)

      Now I'm not sure that I agree that just because you can't use a computer at a level which today would make you a "power user" you'll be essentially illiterate in a couple of decades. However I'm going to make sure that my children (when that time comes) will know enough about computers that when the times comes for them to put up a new painting they'll know that hammers can be used for that and have the capability to learn how to use it.

    14. Re:Empowering citizens with Boolean algebra by 10am-bedtime · · Score: 1

      that was well-written! i fully agree (hic!)

    15. Re:Empowering citizens with Boolean algebra by dschl · · Score: 1
      I can't imagine a case where you would say that it's necessary to understand that long polymer chains have a lot of easily releasable energy in order to drive a car. The only people who need to know that are the people who make the fuel. Because we have reached a degree of reliability with autos that allows us to implicitly trust that a gas station will carry fuel that will propel our car down the road, we no longer need to know that.
      Gasoline is neither a polymer, nor a particularly long hydrocarbon chain. It is a mixture of many different short hydrocarbon molecules, typically only containing 5-11 carbon atoms per molecule. Gasoline even includes cyclic (ring-shaped) hydrocarbons such as benzene, toluene, and xylenes, which are not really chains at all. While you definitely proved your own point that you don't need to understand gasoline to drive a car, perhaps you should pick an illustration which wich you are actually more familiar next time.

      Other than that, I agree with you, especially about the costs of specialization. I imagine an economist would be able to shred the original article to pieces based on the economic costs of such a vision coming true. Given the amount of time he spent discussing the productivity benefits of specialization and mass production in The Wealth of Nations, Adam Smith would be horrified by their suggestions.

      --
      Slashdot - the place where you can look like a genius by restating the obvious
    16. Re:Empowering citizens with Boolean algebra by los+furtive · · Score: 1

      Allow me to say that your correction to the original post was not only insightful, but less condescending than what is the norm on this site.

      As for your additional insight regarding the economics of such an idea, I must admit they left me with a sense of dismay for two different reasons.

      Firstly because I am always dissapointed when 'cost' overrules the big picture. The same could be said for providing AIDS drugs to Africa, providing money to Iraq, or the use of solar panels to name a few examples. The cost isn't the money required to be invested, that is the price, the cost is the lose that is incurred if nobody is willing to pay the price. The same argument could be said by refering to the logistics that would be required (all students would need chairs and desks in each classroom, and books, not to mention access to computers, and trained professionals to handle the classes/curriculum), but we both know a system to handle that is already in place. Nevertheless the second reason I was dissapointed was that I myself admitted the price would be prohibitive. But then I realised that the solution already exists, has already been implemented, and has already helped at least a few people remain empowered.

      I harkened back to my grade 10 'computer science' classes. In those classes, not only did we learn the history of the computer over the last 100 years, we also learned about bolean logic, how to draw a flowchart to represent the processes of an application. We also wrote for loops, if/else if/else statements, and even fiddled around with different graphics at different resolutions. Sure 50% of the class didn't pay proper attention, but the same could be said for the phyisics and chemistry classes I was taking the same year.

      If a class such as the one I described above was manditory part of the curriculum of all high schools, I think it would be a step in the right direction. I also think the cost wouldn't be prohibitive (just drop phys-ed, lol). The main concern that I have, is that if I attended the same class today it would consist mostly of how to use Internet Explorer, how to search Google, how to format a text document or spreadsheet, or worse yet, the coding would have been replaced by how to use HTML (note the lack of a D prefix).

      What do you think? Is that a reasonable solution?

      --

      I'm a writer, a poet, a genius, I know it. I don't buy software, I grow it.

    17. Re:Empowering citizens with Boolean algebra by dschl · · Score: 1
      But cost is the big picture. You're talking about something similar to lifecycle costs, which are, admittedly, the best way to evaluate pricing. At the end of the day, the cost of a policy should be compared to the benefits. The policy proposed in the study is insanely expensive, especially when you examine the benefits.

      I work for an engineering consultant firm. It is more cost effective for a client to pay my employer than it is to learn and replicate what we do, even though we cost much more on an hourly basis than an employee. I say this to reinforce an earlier comment in the thread about hiring a mechanic to fix your car.

      The class you described would not fly for most high schoolers. Even the 50% in your grade 10 compsci class were an atypical selection of high-schoolers, and were hardly representative of the general student population. I recall that few, if any of my classmates were interested in advanced math, or even in problem solving. North american high school was glorified babysitting after grade 10 for most students - you know, the ones who went on to such fabulous careers as gas jockeys or drug dealers. I do not believe that a mandatory class at the level you describe would be possible - the average kid is not motivated enough to tackle simple problem solving, let alone abstract problem solving. Plus, it is simply not necessary.

      They article authors need to get out of their ivory tower and look at the world of real work. My job requires a degree and several years of experience, and 99% of what I do is repetitive (writing reports, reviewing data, etc), and is well-suited to using generic tools such as spreadsheets or word processors. In the event that a custom tool is required, we either purchase off the shelf specialized software, or use our in-house programmer to develop a solution to a common problem, which is then used by everyone in the firm to ensure consistency in our results.

      Every engineer I know who took classes such as differential equations in university hasn't touched that stuff in years or decades. Look at what people do on a day-to-day basis. A century from now, secretaries will still be acting as a gatekeeper to senior staff and taking care of administrivia, just like today. They may not be answering telephones, but whatever they do will be similar in that it will be 100% routine. The less routine your work is, the more skills you require, forming a continuuum from assembly line worker (I've done that during school) to spacecraft designer (I haven't done that).

      The more interesting jobs (to me) will always require more education than the norm. But for most jobs, the norm is too much. I laugh every time I see some job advertisement for what is basically for a labourer or clerk position, which require Grade 12, or some post-secondary education. There was one last week which wanted a university degree for a "management trainee" for a car rental agency. I nearly pissed myself over that one. Perhaps they wanted a degree as evidence that candidates can read and write, which is a sad testament to the quality of public education. But in reality, high school education is overkill for that type of job, and the equivalent job a century ago (horse and buggy rentals?) was done by a someone who only reached grade 8 or grade 10, if that.

      The older I get, the more I realize that all that matters in the workplace is the ability to build relationships, communicate with others, and solve problems. I think that a successful businessman of a century ago would do quite well today. Similarly, the socially inept with poor communication skills limit themselves no matter their technical abilities. They will be toolmakers, not tool users or managers, and will never have decision making powers.

      A society only needs so many toolmakers. Not everyone needs to become a toolmaker, and few jobs require custom tools built from scratch each day. Perhaps I am myopic, but I don't see that ever changing.

      --
      Slashdot - the place where you can look like a genius by restating the obvious
    18. Re:Empowering citizens with Boolean algebra by CharlesEGrant · · Score: 1
      I knew my way around regedit and the Windows registry; he didn't.

      But why is knowing your way around the windows registry more fundamental to life as a free citizen then understanding any of the other myriad technologies we depend on every day? How deep is your understanding of AC power systems? Ceramics? Metallurgy? Polymerase chain reaction DNA amplification? Diesel engines? Domestic plumbing? Carpentry? Each of us stands on top of vast mountains of diverse technology which we have no technical expertise in.

      I can understand complaints about the general level of technical education. I don't understand why so many computer technologists insist that the particular technology they are expert in is the technology every good citizen must learn.

    19. Re:Empowering citizens with Boolean algebra by smallpaul · · Score: 1

      Thus, if Dylan Evans seeks, with Neo, "the code behind the graphics", he should not look to the Unix shell, to C, or even to machine code to find it. Those are tools, not truths, and freedom comes with understanding truths, not simply with mastering tools. Learn the liberal arts -- mathematics and logic -- and you will be much better prepared to defend yourself as a free citizen in a computerized world.

      I guess you've never seen a pure mathematician or a pure logician use a computer. They do not have any particular advantage over the average layman because the pure boolean logic of the computer is covered by many layers of abstraction. Just as a pure logician cannot necessarily do calculus, a pure mathematician cannot necessarily get their computer to do what they wish (which is, after all, the point of the article).

    20. Re:Empowering citizens with Boolean algebra by ninejaguar · · Score: 2, Insightful
      I commend you on an excellent analysis of the author's intent. I feel you have also correctly identified the core issue of the need for liberal arts in today's society. A society where information is the primary form of currency, not gold. However, I believe that several responses to your post are also correct in their suggestion of combining the theoretical understanding of the arts with a practical application that specifically excercises those arts as skills. It may be that the issuance of a bachelor's degree in the liberal arts may be more appropriately deserved by an additional graded year in practical service where those skills can be applied. Although, this is unlikely to happen, and would be undesireable for the majority of students who prefer a speedy graduation to actual learning.

      As an aside, I've always thought that the addition of another course or subject would have benefited the liberal arts study. As strange as this may sound, I believe that most students who enter college would benefit from a very practical four year course of how to study. A series of courses that would help students to the gain most from the other courses. Perhaps, the course could even focus on the much neglected skill of memorization. Stranger is that this is a subject not taught in public elementary or high-schools (they may be taught in private prepatory schools, though I wouldn't know). This is all fantasy of course, as people generally think they don't require assistance in learning. Sadly, most grades reflect the opposite.

      I recently found a free online book from MIT Press which mentions some of your concerns in the book's preface. I thought you, and others with similar concerns would be interested in reading How to Design Programs: An Introduction to Computing and Programming.

      Here's an excerpt from the Preface:

      " Many professions require some form of computer programming. Accountants program spreadsheets and word processors; photographers program photo editors; musicians program synthesizers; and professional programmers instruct plain computers. Programming has become a required skill.

      Yet programming is more than just a vocational skill. Indeed, good programming is a fun activity, a creative outlet, and a way to express abstract ideas in a tangible form. And designing programs teaches a variety of skills that are important in all kinds of professions: critical reading, analytical thinking, creative synthesis, and attention to detail.

      We therefore believe that the study of program design deserves the same central role in general education as mathematics and English. Or, put more succinctly, everyone should learn how to design programs.

      On one hand, program design teaches the same analytical skills as mathematics. But, unlike mathematics, working with programs is an active approach to learning. Interacting with software provides immediate feedback and thus leads to exploration, experimentation, and self-evaluation. Furthermore, designing programs produces useful and fun things, which vastly increases the sense of accomplishment when compared to drill exercises in mathematics. On the other hand, program design teaches the same analytical reading and writing skills as English. Even the smallest programming tasks are formulated as word problems. Without critical reading skills, a student cannot design programs that match the specification. Conversely, good program design methods force a student to articulate thoughts about programs in proper English.

      This book is the first book on programming as the core subject of a liberal arts education. Its main focus is the design process tha

    21. Re:Empowering citizens with Boolean algebra by Anonymous Coward · · Score: 0

      Your example is a perfect example of why the parent to your post is right about what skills should be requsite of every educated individual.

      From your example, if a school's curriculum included Windows concepts like the registry instead of basic skills like boolean alebra, what would happen if/when Microsoft decides to completely restructure the registry in some update of their software. Suddenly, the knowledge from that class becomes worthless. If you teach general concepts, they can never change.

      It's the historical difference between a liberal arts education and a trade school education. Liberal arts educations don't prepare you for life by teaching you skills, they prepare you by making skills easier to learn on your own. A liberal arts computer education might focus on data structures in general. It then becomes much easier for someone to reckognize that the registry is just one large data structure. At that point, it becomes much less scary to learn on your own.

      Someone who understands general computer science concepts might also be better able to use a search engine to find what they're looking for. To give an example of my own, during a period when our IS person was on vacation (small company), one of our project managers had an issue with a word document that wouldn't save properly. He spent a couple of hours trying to figure it out with no luck. He came to me and I played with it for about 5 minutes before I figured out what was wrong with it (visio embedding was corrupt). Now, I didn't know what the problem was any more than he did. But when I started trying things, I was systematically trying things in a way that felt natural to me. This eventually led me to an error message that he hadn't seen before which I was able to google for to find a page that described the exact problem he was having. So how did I, someone who uses unix almost exclusively, know what to try? Simple, because I have an understanding of the underlying concepts of computing that he was never taught.

    22. Re:Empowering citizens with Boolean algebra by Kevan_moran · · Score: 1
      I thought about this one for quite a while and I really can find very little merit in the article.

      The boolean logic etc post at least says something valid about the subject area.

      I wonder if there is something that makes sense that is a little less abstract than the liberal arts post.

      One thing that constantly amazes me is how quite well educated people fail to understand what current software can do.

      Customers will do a little bit of hand waving and come up with something that better belongs in a Star Trek movie. Then they get upset when you tell them "Look, if I actually manage to do that I'll give you your money back. There's some guys in Stockholm who'll give me a medal and a whole bunch of money if I can figure out how to do that"

      I really wonder if some course, such as MBA's or Business degrees, should include a small review of the complete lack of progress that's been made in AI.

      Even experienced IT professionals seem to become gullible about the capabilities of software when faced with a smooth salesman.

      I wish people would remember that software does very very simple things very very quickly.

    23. Re:Empowering citizens with Boolean algebra by Anonymous Coward · · Score: 0

      a student of arithmetics
      What, both (or is it all) of them?

    24. Re:Empowering citizens with Boolean algebra by Hognoxious · · Score: 1
      You're talking about something similar to lifecycle costs,
      Seems to me he means something more like opportunity cost.
      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    25. Re:Empowering citizens with Boolean algebra by ninejaguar · · Score: 1
      Unconsciously, we also do simple things very quickly. So quick, that when these simple things happen in a sequence, they appear to be one complex activity. Most people don't realize this, but they even perform these lightning fast simple things concurrently. If they didn't, everyday would be a series of accidents leading from your driveway to your parking spot at work.

      Is it any wonder that when some people recognize the similarity between the simple things that computers can do and the simple things that people can do, that they would want to extend computers in a way that resembles the complexity of human abilities? This isn't to say that the simple things are identical; clearly they aren't. But, the similarity lies in the idea that they can both do simple things. And, if one can easily (unconsciously) perform seemingly complex activities, why not the other?

      A good reference for the driving analogy can be found here.

      = 9J =

    26. Re:Empowering citizens with Boolean algebra by Anonymous Coward · · Score: 0
      try to learn not to talk like a pretensious dick.
      try to learn how to spell 'pretentious'.
  100. Plus a shift to hexadecimal. by Thinkit3 · · Score: 1

    The coming shift to hexadecimal will only make us closer to the machine's way of thinking, as it should be.

    --
    -Libertarian secular transhumanist
    1. Re:Plus a shift to hexadecimal. by jared_hanson · · Score: 1

      Yep, I'm early awaiting the day a couple hundred thousand years from now when the first human descendant is born with 16 fingers.

      Until then, give up on your "coming shift to hexadecimal" which is nonexistent except in your illusionary relality.

      --
      -- Fighting mediocrity one bad post at a time.
    2. Re:Plus a shift to hexadecimal. by eatdave13 · · Score: 1

      We understand numbers in base 10 because we were taught base 10, not because we have 10 fingers. Base 10 MAY have been invented because we have 10 fingers, but neither is more intuitive than the other.

      By the way, you should spend some time teaching yourself the valuable social skill of understanding when someone is being facetious.

      --
      "Verbing weirds language." -- Calvin
    3. Re:Plus a shift to hexadecimal. by jared_hanson · · Score: 1

      You may be right about the whole intuitive things. But think back to in school, your ten fingers no doubt helped you learn to add and subtract. They do have some use, and I think it is no accident we have a base 10 system.

      As for this comment: By the way, you should spend some time teaching yourself the valuable social skill of understanding when someone is being facetious.

      I suggest you spend some time reading the persons past post history to see if he is actually being facetious. Oh, and don't assume everything, because you just made an ass of yourself.

      This guy is utterly serious when he says we should switch to hex. He also thinks we should start speaking lojban because it would be easier for computers to do speech recognition. Read his past post history if you doubt me.

      That is all.

      --
      -- Fighting mediocrity one bad post at a time.
    4. Re:Plus a shift to hexadecimal. by eatdave13 · · Score: 1

      Looks like I owe you an apology. I did look over his post history, and yeah, he's a lunatic. Sorry for my tone there.

      I've been reading Slashdot for something like two years, and I'm still amazed by some of the people here.

      --
      "Verbing weirds language." -- Calvin
  101. I am surprised at most of you by aengblom · · Score: 1

    The author truly is on to something here, despite the slashdot masses feeling that computer languages should be something of the few.

    I can disagree with you because I'm someone who doesn't know how to program. I have no desire to be able to build complex applications, but I also am "literate" enough to identify tasks that computers can do much better than I can-at a press of a button. Perhaps check a web site to see if it has changed. Maybe parse out data from 10 web sites and display it in a spreadsheet. Something that theoretically should not be difficult, but because of the OS constructs we live in, not something easy to do.

    The metaphor of literacy is a powerful one. We don't need to teach everyone to read and write so we can all write a great novel. We need to teach everyone to read and write because they need to be able to remember to pickup milk, eggs and sugar when they go to the market.

    As someone who is uses a computer in my job, I do often run into repetive small tasks that could be done quickly if I had the expertise to take 20 minutes and write out some simple constructions. But as I said, I can't program.

    There are a number of barriers. One is, well what language should I learn. Most languages are to build applications. Not to do mirror tasks I myself do. Not to quickly analyze a bit of data I pulled off the web. The other, is it's a lot of work at this point to learn such a language--current OS's are not designed to make it easy to be user-programmable.

    Part of the problem is our reliance on GUI. NOT because computers don't understand GUI interfaces, but because humans don't communicate very well via GUI. GUI's make it difficult for me to tell my computer to do anything that was not planned for by the creator of the OS and application. (I can make my computer do more "for me" with a DOS batch file than I can in Windows XP)

    And the current trends in programing are aimed at turning the home computer into an appliance. And an appliance, by definition, has only a certain limited number of tasks and is built with the idea to remain flexible--to be able to do a number of tasks.

    But as we know, the abilities of computers are really only limited by our own creativity.

    Sadly, the slashdot masses miss the boat. They throw in cliche's that users of car's don't need to know how to rebuild a transmission. This is true. What they miss is that the article is saying that programmers haven't built users a very good steering wheel yet--and it's getting worse.

    If we keep going down this line, the car will only go straight because, afterall, that's the way you're going most of the time.

    --


    So close and yet so far from the world's perfect ID number
    1. Re:I am surprised at most of you by eatdave13 · · Score: 1

      You should spend a few days in a programmer's shoes, and then you would realize that we have to deal with the same things you have to deal with.

      If only I could design a CPU that would deal with variable length strings natively, I could write incredible text parsing programs for you in minutes. Those a-hole CPU designers need to make tools that make it easy for me to design CPUs.

      If only someone would make a conductor that wouldn't leak or generate heat, the people who design CPUs could make incredible processors that handle variable length strings natively. Those a-hole matierals engineers need to make tools that make it easy to create miracle metals.

      If only someone would make a device that could construct elements subatomic particle by subatomic particle, matierals engineers could make an incredible tool that would make it easy to create miracle metals. God needs to get right on that.

      Hey, I found the solution to the problem. If you can convince the omniscient and omnipotent creator of the universe that he screwed you royally when he made atoms hard to make and he needs to correct the situation immedately, your problem will be solved.

      --
      "Verbing weirds language." -- Calvin
  102. Re:[Not a] pointless article by KrispyKringle · · Score: 1
    Well, but in your field, we can already see that trend you described. Mathematica, Maple, and other mathematical analysis packages provide natural-language coding (in the sense that its natural language for a mathematician).

    But I don't really see why most white-collar jobs will require programming, and I think the author overstates it quite a bit. If by programming he means recording macros in Word, yeah, he may be somewhat right. But I don't see any reason to assume a large change from the current situation. What will be different in the business world in 100 years that will make programming more necessary than it is now?

  103. Re:Article lacks reason. Is this really necessary? by SamNmaX · · Score: 1
    >> .... after understanding the basics of the computer in terms of memory, files, etc.,...

    I read this as precisely the author's point. It's possible to use spend years before a GUI and not know these things.

    To an extent, but the article seemed to focus on people knowing the 'language of the computer'. Things like the file system are exposed by the user interface, arguably in manner which is faster to work with than the command-line for most tasks.

    I think for your average user, the times they have to get off the beaten (GUI) path is when something goes wrong. A program has an out of date DLL, the registry is corrupt, etc. The answer to these problems is a more robust system, not forcing the user to know the intricate details of how the computer that are only useful for fixing whatever specific problem they are having.

    On that note, what I do think users need to learn how to do is read documentation. By that, I don't mean they should be forced to read a tomb to get their spreadsheet working. However, they should be skilled enough to be able to look up something when they are having problems. I think some progress is being made, as people learn how much a friend 'google' can be to them.

    In general though, programs should strive for to be easy to learn. There are cases where a program should needs a learning curve to use professiently, but the author seems to be saying the programs should be hard to use so that the user can have some sort of frustrated learning experience. He is making one the worst mistakes a programmer can: blaiming the user. If you are going to force a learning experience on the user, their better be something tangible to them at the end of it. For cars, you learn to drive so you can get from place to place. It takes time. You don't, however, have to learn all the inner workings of your car. Only the enthusiasts tend to... yet the other non-enthusiasts seem to get around just fine. Eventually, if/when cars become automated, the learning curve for driving will be less as well. At that point, do you think people will go through all that trouble to learn to drive? Why would you buy a car that can drive on it's own costing about the same? I can see enthusiasts being the main people wanting this type of control, just like computer enthusiasts want to be able diddle with the inner-workings of their computers. Everyone can be happy.

  104. OOOKAAAYY M0rpheus.... by E1v!$ · · Score: 1

    Looks like someone took 'down the rabbit hole' too literally. Has anyone got a shovel? I think this man's head is stuck in his back yard.

    His arguments could be likened to someone saying in the 40's that autos will become so important to society that everyone will need to become a professional grade mechanic. It seems to me that most 1st worlders get by just fine swapping air filters, topping up fluid and even (gasp) changing the oil.

    Computers will adapt to users because that's what they want. Human adaption to an environment lasts only until we can change that environment to suit us. I doubt computers will remain stupid long enough or become pervasive enough to force genetic change on humans.

    This guy seems to have fallen into his own matrix, but forgot to put a stop condition on the recursive algos, and now he can't get out.

  105. Okay by luekj · · Score: 1
    It must be said. Duh!

    OH LOOK A CAR

    1. We can't talk to it
    2. We can't kiss it

    OH my gosh! We will have to work with it in car terms and use car specific TERMINOLOGY and TOOLSETS!

    A technorevolution! We 'r' evolving, write a book!!!!!!#@#!

    Here's what disgusts me, this is obvious stuff. Yes, Computer code is the most efficient way to work with a computer because we designed computers that way . Once Apple makes iHappy and everyone interacts with an upper level speech recognizing AI we will all just be yelling at our computers to get things done and entertain us.

    To sum it up again (-1 redundant statements here). DUH! YES COMPUTERS ARE NOT DESIGNED FOR ENGLISH LANGUAGE.

    end of line

    --
    Many Thanks,

    Luke

  106. Re:[Not a] pointless article by Anonymous Coward · · Score: 0

    I'm seeing this already in my field (statistics). There are statistical packages which give their purchasers the illusion that they can perform a statistical analysis. They can't. The users can push the buttons, and get results, but they can't know whether the results make any sense, and they often don't.

    Yes, but this would seem to be more a problem of not knowing statistical reasoning than not knowing how to implement that reasoning in a given programming language.

    I can use these statistical packges, and have some chance of getting sensible results, but I often wind up writing programs to analyse data despite having several of these available to me. The programs manipulate data, automate repetitive steps, test results, and sometimes, implement methods which haven't yet made it into the packages. Statistics is changing rapidly, and there are a lot of useful things which may never show up in SAS and SPSS.

    I am a classicist. I work in a field where the entire relevant textual subject matter can be (and is) stored on two CD-roms. Two.

    I've installed Linux as a double-boot because unix-y text munging functions open up *huge* worlds on this when you know how to use them.

    Most of my colleagues don't. Most of them hardly know how to the absurdly primitive proprietary searching mechanisms that are available.

    But the day someone comes up with something like Google for those two CD-roms, that is elegant, easy to use, and powerful, I am going to chuck my scripting languages out the window, and the battle will be fought once again on old-school philology (albeit powered by humming, unobtrusive technology) rather than mastery of arcane regex functions.

  107. Re:[Not a] pointless article by Anonymous Coward · · Score: 1, Informative

    Wow exactly, And i would also add that use the those things (car) as not changed since decades, its like maintaining the same code for 100 years. But coputers program evolve in their utilities so you must adapt(understand how it works) quick ( new problems ) not car.

  108. The article sucks but... by ken_mcneil · · Score: 1

    Yeah, I agree the article sucks, but it does hint at an interesting issue. There are notions in there about what happens when so much is automated that only those who can program machines or be artistic are useful econimically. This may be something that we encounter, much more than we do now, in around fifty to a hundred years. We build machines that can harvest crops, make meals, clean, and build other machines, and then what is left for the majority of people who are doing these manual labor jobs now? Mass wellfare?

  109. The article is crap, and this is why. by Ralph+Spoilsport · · Score: 1
    For any number of reasons, some of which have been discussed by other slashdotters here.

    What the geeky pinhead who wrote the article (his name doesn't deserve remembrance) fails to understand is that there is a non-zero probability that computers may simply disappear in fairly short order, and the only programming that will be necessary is that of arranging a machine to do a certain function.

    Think about it. It won't be that long before we have some scary punk ass teraHertz optical processors. What ever kind of computing that will be done will be to make machines do things for us, and that will be done at a level that makes Max/MSP look like machine code.

    The secretary of the future is NOT going to know programming. The secretary of the future:

    a. won't exist because the secretary of the future will be a machine
    b. if he or she does exist, they probably won't have a computer on their desk. Their desk will simply be "smart", and not in the dorky sense of an electronic rolodex...
    c. That desk will have been built using some super ultra high level language with a bevy of ultra-petaHertz processors with massive amounts of programming code, compilers, etc. *built directly into the chip itself*.

    The only people who will have "computers" on their desks are the few thousand people who will be developing these high end languages and machine development machines.

    THAT'S the future. CLI is an anachronism and the GUI is not much better. We will all be much better off and much much happier when computers disappear off our desks and into the wallpaper.

    RS

    --
    Shoes for Industry. Shoes for the Dead.
  110. Re:Article lacks reason. Is this really necessary? by Anonymous Coward · · Score: 0

    Their only reason is being 'stuck in the Matrix'. Gee, thanks...

    And even if they were stuck in the Matrix, would there really be a point to waking up from it?

    I had a couple of friends who were philosophy majors who used to enjoy starting arguments about this. Usually that would cause me to drunkenly throw things at them and tell them they needed to learn Greek and get laid, not necessarily in that order.

  111. A computer is "just" a tool by Ugmo · · Score: 1


    It is true that a computer is a tool to be used and not an end in itself. Not all people should change their professions from scientist, banker, or teacher to computer programer.


    People have said that a computer is like a car or like a pencil. I believe that the car metaphor is weak. As has been said before, a car is a single purpose device with a single interface. A computer an be turned into a Word Processor and if someone only uses it as a Word Processor there is no reason for them to learn other uses for it. In this way only is a computer like a car when it is reduced to a single purpose consumer device ("dumbed down").


    Saying a computer is like a pencil is closer to the truth. In a child's hands a pencil can make a scrawl on a piece of paper. In a poet's hands a pencil can express great beauty and cleverness. In a writer's hands a pencil can express great ideas. In an artist's hands it can reproduce great visual beauty.


    A computer has as much flexibility as a pencil, and more.


    To an artist, a pencil can be used in a infinite number of ways. The tip can be pointed or blunted. The artist usually does not use a pencil sharpener. He carves it with a knife to a shape suitable to the effect he wishes to achieve. He might even get rid of the wood casing and use the whole side of the graphite, or grind the graphite into a powder and rub it onto the paper directly with fingers or a rolled up piece of paper (called a stump).


    When you learn the properties and capabilities of your tools, what you can accomplish with them is greatly expanded and enhanced. A pencil is extremly flexible but a computer is more so.


    In fact a computer can be not only one pencil, but a whole box of pencils in all different colors. It is a box of pencils and paint brushes, conte crayons, watercolors, a whole artist's toolkit, and a writers toolkit with dictionaries, theosauri, and research libraries in multiple languages. It can be a movie camera and editing station. It is a whole range of tools that can be blended one into the other and shaped into new tools on the fly. If, that is, the user knows enough about the computer and how to shape it.


    The use of a GUI as expressed in the article is not the problem. It is the attitude that a computer should be turned into a car, a simple single purpose tool which no one needs to know how to use or modify beyond the intended purpose. The author of the article is right in that the better a user knows his tools the more that can be done with them. The more that a person can do, the better off they are to themselves, the market, and society.


    If you do not know the computer beyond the Word Processor program or the OS's GUI then you will be less able to take advantage of its abilities. To know nothing of the capabilities of a tool is a choice and an option but a craftsman who knows his tools is worth more than one who does not.

  112. Re:Microsoft is already developing a natural langu by mkldev · · Score: 2, Informative
    While that is true, it is not the whole picture. Schools must also teach the how. This is the difference between a useful education and one of these cookie-cutter "theory schools" that churn out people that can explain in great detail how one develops optimal storage patterns for data storage on hard drives but thinks that it's okay to lose data every now and then, and writing a version that doesn't is just an irrelevant "implementation detail".

    I've seen those sorts of crap graduates in TV, in computers, in film, even in music. Every time I do, if I'm involved in the hiring process, I ask "yes, but can this person really do the job?" and when the answer comes back "no", I say "then hire someone who can." You can't get a good job without at least basic knowledge of "how". You have to not only know the "how" as it stands right now, but also know how to learn the "how" when it changes, and then you have to actually go out and do just that---continue learning it. You have to constantly maintain your skills, constantly learn, constantly adapt, constantly grow.

    If you don't get the understanding of "why", you're going to be one of these out-of-work tech workers who, as one of my former coworkers once put it, know how to sign their names and write perl scripts and call themselves engineers... but if you don't get the "how", I hope you enjoy asking "would you like fries with that?", as you'll likely find that skill much more helpful than anything you learned in school.... The "why" may help you keep a job or move to a new job, but only the "how" will get you a job in the first place.

    Just my $0.02.

    --
    120 character sigs suck. Make it 250.
  113. Re:[Not a] pointless article by Dominic_Mazzoni · · Score: 1

    Any job which requires no creativity (for want of a less fuzzy word) can be done by a computer without any human intervention. For example, if you are simply entering data and running programs A, B and C, a better system could enter the data and run the programs without you.

    I would say that any worker using a computer who can do his job without doing ANY programming could be replaced by a slightly better program than the one he is ``operating''. The only exceptions would be people doing jobs which are wholly creative, and could be done without a computer at all (e.g., writers, who could use pencil and paper).


    Um, whatever. More and more jobs are in the service sector. That doesn't necessarily mean unskilled at all. Various forms of sales reps, counselors, attendants, personal trainers, chefs, waiters, etc - none of those jobs will ever be replaced by computers! Computers are getting rid of the boring jobs so that people can get jobs working with people!

    The article was stupid. Most people don't need to know how to program, just like most people don't need to know algebra. I'm sure that programming will eventually be a normal part of high school, just like algebra, but you're learning it for the experience, not because you'll actually use it in your career.

  114. Thinking about computers in 2003 terms by Anonymous Coward · · Score: 0

    OMgoodness - what claptrap. Computers won't even BE computers in 20 - let alone 50 years. In 20 years there'll be precious little coding for anyone to do - and what languages that exist will be basically English, built up logically - that's where the expertise will be.

    I've been saying for the last 5 years that the Killer App for 100+ GHz machines is "smart". Right now PCs are dumb - and they make us even dumber because they are not designed for people because of their limitations.

    Just as a pocket PC makes us incredibly smart - because they don't need manuals and are intuitive to use - so will PCs finally break the Nerd-Centric barriers which currently hold back common use of computers by all persons.

    My contention is that ANY device which requires a manual of ANY kind is poorly designed - and that as PC power increases, so will the knowledge required to use them decrease - until such time as interacting with a PC is simply like talking and interacting with someone who is 1000 times smarter and several trillion times faster than you are.

    That is, if we survive the next 40-50 years, which is by no means assured.

  115. Re:Natural Language Programming by Alex+Belits · · Score: 3, Interesting

    There is one area of everyday human activity where complex logical structures are always expressed using natural language without any aid from more formalized languages and systems of expression.

    It's called legal system, and it's a mess so huge, no one, human or machine, can predict its behavior, and an army of lawyers, judges and lawmakers of all kinds spend untold amounts of time trying to implement it in their various ways. If computer programming will ever turn into something that resembles this, determining which color should be a pixel (15, 351) ten seconds into a Quake game will be a process not unlike the Kobe Bryant case.

    --
    Contrary to the popular belief, there indeed is no God.
  116. The trouble with this article is by ReyTFox · · Score: 1

    There is no distinction made between "computer operation" and "computer programming."

    They are different skills; one is to work with an environment programmers have made to accomplish a given range of tasks with maximum efficency; the other is to extend the possibilities available within the environment(or make a new environment...)

    1. Re:The trouble with this article is by Alex+Belits · · Score: 1

      They are only different because it is profitable for some companies to artificially limit the number of people who can do their jobs. Really there are only:

      1. Data entry.
      2. Secretary-like job of writing pretty letters.
      3. Data processing.
      4. Writing applications.
      5. Writing tools for writing applications.
      6. Writing infrastructure.
      7. Writing tools for writing infrastructure.

      First two can go feed some sharks, and I won't notice. Last four are busy enough writing code already. The third one is actually what that the question is about.

      The idea that "data processing" is an uncreative job, and all such a person should do is taking pretty letters written by secretaries, demand from application programmers to write something that process them and outputs more pretty letters, and then using those applications like a good peon until there is again a reason to bitch at the application programmer, is widespread but ridiculous and insulting.

      People who understand what data they deal with, should be at least able to express their procedures in a way that doesn't require a trip to the application programmer every time they need to summarize another column, or attach another database. And when those people are incapable of doing that because they were taught an extremely limited idea of how they are supposed to use a computer, the efficiency of their work drops to a ridiculous level, reducing them to the full time "data entry clerks".

      --
      Contrary to the popular belief, there indeed is no God.
  117. We don't ask this of any other category by Have+Blue · · Score: 1

    Do we ask that all drivers be mechanics? Do we ask that everyone who can read be capable of operating a printing press? Do we ask that everyone who owns a house be a mason or carpenter?

    The author of this article appears to be stuck in an outmoded view of computers in which they are something totally new and completely different from everything else in history. Wrong; computers are just complex machines. They are not the final frontier or the brave new world. They're made to be used as tools to perform tasks, and it's perfectly reasonable to ask that the computer hide its internal quirks and leave the user free to concentrate on something besides the computer itself.

  118. The author is closer than many here believe by Sivaram_Velauthapill · · Score: 1

    The author is closer than many here believe him to be. I don't think the author is saying that EVERYONE needs to know EVERYTHING about computers. On the contrary. He is saying that people need to interact better and understand computers better. This does not mean that everyone should have the capability to create complex programs or that they should know the timing and refresh rates of RAM. To be literated, you don't need to read EVERY SINGLE book or understand every language. On the contrary.

    All he is saying is that people need to be able to COMMUNICATE with the computer. Ironically, Microsoft is actuallying moving in this direction. For instance, consider their rumoured SQL-like filesystem. Imagine being able to search for a file created by you, on July 23, 1992, of the type: spreadsheet--or something like that. The rumoured Longhorn filesystem will allow queries like that. I have no idea how much MS is going to implement or if end-users will have access to it. Neverthelss, it just provides an example of how people may be more easily able to communicate via SQL-like syntax vs traditional filesystems. Now, this isn't perfect and I don't think Longhorn will be. However, it is moving in the direction where most people can INTERACT BETTER with the system. A database-like filesystem is easier to understand than a hierarchial filesystem. And a future filesystem will be better than the database-like one. And so on.

    I think the best example I can come up with is MATLAB. MATLAB should be familiar with anyone in engineering (it is basically an interactive system which allows you to carry out mathematical operations, plot graphs, etc). I was going to say some stuff but I have to get going so I'm going to end this message :(

    I think the day will come when people can naturally communicate with computers. People who cannot communicate will be at a disadvantage--similar to illiterate people.

    Sivaram Velauthapillai

    --
    Sivaram Velauthapillai
    Seeking the meaning of life... @slashdot of all places ;)
    1. Re:The author is closer than many here believe by Anonymous Coward · · Score: 0

      uh heh macos has had that search function for years. and years.

  119. Re:[Not a] pointless article by FFFish · · Score: 1

    The spreadsheet in 1979 and today, non-specialized, multipurpose artifact. Irreducibly complex, for all practical purposes.

    And yet it was in the early years that Visicalc users needed to buy thousand-page macro programming tools to accomplish any reasonably complex calculation task.

    These days, much of that power is built-in to the spreadsheet commands. You don't write an amortization macro of your own: you just plug the numbers into an amortization function.

    The software is far more complex, but requires far less skill to use more powerfully.

    So it will be with computers. You won't need to more ability to program your own solutions. The solutions will become more powerful in and of themselves, and consequently even easier to use, and for more things.

    IOW, computer functionality is going to evolve in an ever-easier, less-skill-required, do-more-with-it direction.

    --

    --
    Don't like it? Respond with words, not karma.
  120. Elementary, My Dear Evans. by Bowie+J.+Poag · · Score: 1


    A computer is a finite-state machine. So is a toaster.

    We invented both devices to serve a particular purpose, and to produce a desired result.

    Your suggestion that we should "adapt to our computers", makes about as much sense as "adapting to our toasters".

    It only took me until about the age of 5 to figure out that "adapting to the toaster" wasn't a good idea. The shock-sensation wasn't all that pleasant, and the resulting sparks from the butter knife caused a fire hazard. ...So whats taking you so long?

    --
    Bowie J. Poag

    1. Re:Elementary, My Dear Evans. by Alex+Belits · · Score: 1

      People _do_ adapt to a toaster. They place bread in it, press on the lever and wait for toast to be ready.

      A person that is not adapted to the toaster would demand that a toaster will emulate a pastry chef, take orders in spoken English, and give out ready toasts without burdening the user with bringing and slicing bread, placing it into the correct position, pressing levers or listening to a loud "Twang!!!" when the toast is ready.

      Same about computers. People who advocate making computers adapt to humans want a computer to behave like a secretary, like a VCR, like a mathematician, physicist, engineer -- whatever but behaving like a computer. What is fine in some cases and completely wrong in others.

      --
      Contrary to the popular belief, there indeed is no God.
    2. Re:Elementary, My Dear Evans. by smitty45 · · Score: 1

      Why don't you RTFA ? If you did, then you wouldn't be experiencing such diarrhea of the mouth.

      For someone so interested in UI and a computer's overall user experience, you sure are ignorant about what he's talking about.

      What's the 'particular purpose' that computers were invented for, genius ? Do you use a computer differently than I ?

      Do people use toasters in a wide variety of ways ?
      Dolt.

  121. Re: Total Sense (was: Total Nonsense) by screenrc · · Score: 1
    No, no, no! There is more to life than using
    tool A to solve problem B. Thre is much more;
    at least, there should be!


    I wish to meet that person who can make his
    own shoes, can saw his own cloths, can build his
    own computer, and who can build his own car. His
    time spend would not have been a waste, on
    the contrary, it would have make him a better
    person. A more aware person than the peson
    who just buy's a ferrari, who just buys his
    own whore, and who just buys tool A to accomplish
    task B with the least pain possible.


    If I had a choice, would would choose to
    start a conversation with the person who
    able to make his own shoes than the person
    who just buys them.

  122. Economics 101 by CHaN_316 · · Score: 1

    "Economics is the study of how to allocate scarce resources to produce goods & services that help satisfy unlimited human wants." The scarce resources in this case is time and money when it comes to learning how to program.

    There's quite an oppurtunity cost for the computer illiterate to learn to program... let alone program well. It makes more sense for the computer illiterate individual to trade resources for computer software/services.

    It's far more efficient for people to specialize in what they're good at, and trade that skill or resource for software, which they're not good at producing. Those who choose to be jack-of-all-trades generally will be beaten out by people who are more specialized in specific fields. (See level 3 warrior mage ninja thief monks VS level 100 black mage in most RPG games.)

    So, I don't think this article really makes a lot of economic sense. Those who are computer literate need those in the non-computer industry and vice-versa. Shame on the writer implying these people are too lazy or cowardly to learn how to program.

    To end on a lighter note...

    "If your children's children can't speak the language of the machines, they will have to get a manual job - if there are any left."

    I thought kids today are born knowing how to write C and have a good grasp of recursion. Maybe I'm wrong....

    --
    "There is no spoon." - The Matrix
    1. Re:Economics 101 by Alex+Belits · · Score: 1

      There's quite an oppurtunity cost for the computer illiterate to learn to program... let alone program well. It makes more sense for the computer illiterate individual to trade resources for computer software/services.

      There is an even higher opportunity cost for being born, yet all people that you have ever seen, were born at some point.

      --
      Contrary to the popular belief, there indeed is no God.
  123. Re:[Not a] pointless article by Arker · · Score: 1

    I dunno. I think that's perfectly logical. If I want a wordprocessor, I shouldn't have to do more than request it. The idea of a "folder" where all my "applications" go is a little silly.

    On the command line (*nix), if I want an editor, I can type vi. If I want my calculator, I can type bc, and that's it. It's all in a path.

    This brings to mind why I find GUIs are often unecessary complications, getting in the way instead of making things easier. It's much faster for me to type 'emacs' or 'mozilla' or whatever than to hunt for it in a field of icons. On my windows machine I am constantly hitting CTRL-ESC R and typing in a program name. Even if the program is sitting on the desktop, I can do that a lot faster than I can identify the icon. On Linux and Mac, I keep a terminal window open, and append & at the end of the command lines, for the same affect. I can add a program to my path in about the same amount of time as I can add it to a desktop, and it saves a lot of time in the long run. Yet I here constantly that CLIs are somehow unfriendly, that they get in peoples way... I don't get it. Just the opposite is true for me, it's the GUI that's always getting in my way, and every way I find to circumvent it makes the system more friendly and efficient to me.

    --
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Friends don't let friends enable ecmascript.
  124. Guess what? by Kiryat+Malachi · · Score: 1

    I'm an engineer. I do algorithm and control system engineering. I write a lot of code. I mostly write in an environment called MATLAB. It's a very high level language for mathematical computation.

    If I need to implement a real-time system, I usually wind up using C. You all know C.

    However, one of the newer developments in control system engineering is the idea of autocoding. I know I need a summing block, a control law block, and a difference block. The control law block is composed, in turn, of various components that implement some mathematical function.

    Once I've drawn all this into Simulink, MATLAB's graphical layer, I hit "Code", it generates code implementing my functional design automatically, downloads it to the real-time control system, and I go sit in the lab and see if the transmission blows up with the new controller, or if it works.

    Would my job be more or less effective with autocode? It would certainly be quicker.

    This guy is full of shit, basically. The future is a higher level of abstraction, not less. Why the hell should I care if the underlying computer language beneath my "add A to B" is implemented with this opcode or that opcode? I don't, as long as the end result is "A+B" in the appropriate variable.

    The future isn't going to be a return to bare-iron programming, it's going to be the continuation of the trend we've seen to date - increasing abstraction for everyone except a shrinking number of people who write to the bare iron.

    --

    ---
    Mod me down, you fucking twits. Go ahead. I dare you.
    (I read with sigs off.)
  125. Van Rossum's Programing for Everybody idea? by Anonymous Coward · · Score: 0

    What happened to Guido van Rossum's "Programming for Everybody" idea? If a smart guy like Guido can't convince the powers that be to sponsor it, what does that say?

  126. For those who didn't read the article... by cube_mudd · · Score: 2, Interesting
    Most of the posts here, even by those who seem to have read the article, are missing what I find to be the take home message:
    Being able to make computers serve you in arbitrary ways (e.g., being able to code) is compared to being able to read and write in the middle ages. Those who could do it rose to the top of society, and many of those at the top used their elite skills to oppress those who could not.
    Now granted, the author didn't really do a good job of eloquently conveying that message, but I do think that it is interesting and possibly deserves further consideration.

    People keep bringing up the "you don't need to know how a car works in order to be able to drive it" argument. I think that this argument is misplaced. It is normally the case that you do not need to know how something works if you plan to use it for its intended purpose. However, if you plan to use something beyond its intended purpose (e.g., stunt driving), or use something for an entirely different purpose (e.g., using a car as a portable generator), then most likely you will need a more thorough knowledge of how things work in order to do so.

    Writing was originally invented for accounting records, but anyone trained in writing can use it for just about anything they want, provided it doesn't violate the DMCA. Computers are just about the same.
    1. Re:For those who didn't read the article... by Anonymous Coward · · Score: 0

      I never read /. articles.....
      It's more fun just to read the comments!

      Dr Fred.

  127. Re:lucky stars by Arker · · Score: 1

    Actually some of the best porno sites work great in lynx. http://www.asstr.org/ for instance.

    --
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Friends don't let friends enable ecmascript.
  128. Re:Microsoft is already developing a natural langu by Aceticon · · Score: 2, Interesting
    As a side note, in the 4 (increasing) levels of knowledge:
    1. data
    2. information
    3. knowledge
    4. wisdom
    the "how" is in "knowledge" and the "why" in "wisdom"

    <RANT state="sad&disapointed">
    It's my experience that a lot of developers out there know a lot of "hows" (how is this done; how does this work; how do we install it) but few or no "whys" (why is this designed like this; why are we doing this; why do we use this languquage/os)
    </RANT>

  129. topic more interesting than the article by mattr · · Score: 1

    I think the title of the post is more interesting than the unconvincing article. With natural language recognition people might be able to use computers more efficiently and powerfully if they could explain things to it in an English-like language. I am interested in natural language recognition and have been having some trouble finding anything useable (though I have positively scoured everything I can find from darpa and nlp sites).

    The issue of being controlled by "the windows" is just voicing a simple truth of media as recognized by many media theorists. However the issue of being controlled by corporate entities through subtle manipulation of the fundamental interfaces and protocols of our information infrastructure (including popular software) is a big one that was barely suggested.

    There are plenty of examples in fiction and it would seem also in the real world (maybe in research, and defense) of natural language or pseudo language being used. However in the open source world it is very hard to find command line tools which enable the technical user or developer to easily incorporate elements of artificial intelligence in one's daily work. There are a number of projects in c/c++, java, and perl (I personally want to focus on perl and eventually perl6 with c/c++ extensions) in natural language processing, knowledge engineering, and artificial intelligence but it is not something you can find in any linux distro yet. I'd love to hear if anybody has good information in this area.

  130. uh by Anonymous Coward · · Score: 0

    That article is fucking ridiculous. More human methods of interacting with computers will emerge in the future. Symbols for computations be less mechanical. I would rather run Text Edit in OS X than pico or that other text editor that bsd nerds like.

    yeah, the matrix sucks, too, but i liked the action scenes. maybe computer language should have been implemented in order to avoid the lines upon lines of useless dialogue between all of the mythology. but i'm getting off point.

    the point is the more user-friendly computers get the more we use them and the less they use us. his vision of the future is that of a workin' man instead of an intellectual. in the future there will only be intellectuals and we will live fat on computers that will materialize hamhock replicas. they will taste sweet. everyone who likes chilling the fuck out knows this.

    when it comes down to it, we just don't know yet if machines will develop a sense of self and thus become life. they might just remain extensions of the tool, ie the hubble as an extension of the bifocle. and i hope i spelled that wrong. if spell check were built into this text field, like it will be in 2030. then this post would be a little bit more comfortable: a little more <i>human</i>. I can't wait until i forget html tags.

  131. i don't really think so... by mantera · · Score: 1



    i'm a non-tech guy; i learnt a few scripting languages and i stopped at realizing that they weren't really ever going to be useful to me.

    Almost anything i need to do there's a tool on download.com or sourceforge.net that'll do it, and professionally the world no longer need jacks-of-all-trades, if there is a choice between me doing something or giving it to someone else who'll do nothing else than it day after day and gain the efficiency required then i'll just give it to another person.

    It's almost as cheap giving the occasional job to a programmer and concentrating on my discipline than it is for me to learn programming.

    1. Re:i don't really think so... by Books · · Score: 1

      Dylan Evans article is indeed ridiculous. He compares not knowing to program to not knowing to read.
      Not every kind of ignorance is illiteracy, most are not. For example most people do not know how a car works, yet most are car users either as drivers of passengers. Sure, it's nice to know how combustion engine works, and this knowledge might even help you drive better, but this is not what we mean by illiteracy.

    2. Re:i don't really think so... by mantera · · Score: 1


      yes it's kinda like saying that to be able to use a pen and paper one has to understand the neuroanatomy and neurophysiology involved in the process of reading and writing, and perhaps also the physics and chemistry of ink and the manufacturing process of paper.

      i don't know, maybe we're just being harsh on him. Maybe all he's saying is that if people knew how to program they'd be able to do lots of things more easily, and that i'd agree with.

      I do regret that i'm not better at programming and i wish it was something i knew pretty well. Well, i sorta do but i stopped at the point of learning the advanced bits like OOP, which i understand a little of but not enough to use it usefully. Everything i learnt i am yet to find use for.

      That said though, i think scripting languages are more worthy of knowing that a lot of the junk that they feed to kids. I do think that by the time they graduate out of high school, all kids should know python.

  132. Re:[Not a] pointless article by Aceticon · · Score: 1

    Maybe beter than seeing the computer as a very complex tool one should look at it as a work environment for tool usage.

    Under this methaphor, the user aquires a tool and brings it to his work environment. In that environment the users uses the tool to do something. Power users will even make new tools utilizing other tools in the work environment.

    In computer terms it can be something like:
    A user aquires a word processor and installs it in his computer. He uses the word processor in that computer to write a book. Power users will even make new programs by utilizing other programs (such as a C compiler and a text editor) in the computer.

    ----

    So why exactly should (non-power) users need to learn how to make new tools?

  133. Programming is describing complex tasks by monkeyfamily · · Score: 1

    But the things a computer can do are way different from the things we do with a car. For starters, the computer manipulates information instead of physical objects. A car may have a lot of nice features, but it's got a single purpose, and every physical component of it (e.g. the radio) is pretty simply and of narrow functionality. A computer may have thousands of applications, each with hundreds of functions, and can even be instructed to do things that no computer has ever done before (i.e. run the code you just programmed). In order to get a computer to solve a problem for you, you need to be able to describe that problem in terms useful to the machine. This is often easier to do with scripts or compiled codes than it would be to describe the problem in english to some computer of the future. That said, I agree that taking full advantage of computers doesn't require the bottom to top knowledge suggested by the grandparent of this post - for many purposes knowledge of a scripting language and a bunch of commands is enough. Mastery of the big multipurpose Windows applications like Photoshop or Word entails learning some scripting even today.

    1. Re:Programming is describing complex tasks by Anonymous Coward · · Score: 0
      In order to get a computer to solve a problem for you, you need to be able to describe that problem in terms useful to the machine. This is often easier to do with scripts or compiled codes than it would be to describe the problem in English to some computer of the future.

      I suspect most users would be willing to trade the efficiency of code for the convenience of a machine that understood their own language.

    2. Re:Programming is describing complex tasks by 3.1415926535 · · Score: 1

      But who would be willing to build such a machine? Most people with the experience necessary would also realize how useless it would be.

    3. Re:Programming is describing complex tasks by Hognoxious · · Score: 1
      I suspect most users would be willing to trade the efficiency of code for the convenience of a machine that understood their own language.
      Two men erecting a tent.
      1st guy: Take the hammer. I'll position the peg, and when I nod my head, hit it.
      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  134. Re:[Not a] pointless article by Anonymous Coward · · Score: 0
    Various forms of sales reps, counselors, attendants, personal trainers, chefs, waiters, etc - none of those jobs will ever be replaced by computers!

    You're right! Most of those jobs won't be taken by computers ... they'll be taken by robots. zing!

  135. Illiterate by StrawberryFrog · · Score: 1

    Even in the most advanced countries in the world, the vast majority of people are still unable to read or write any kind of computer language.

    Try this metaphor:

    "In western countries, the majority of adults drive a car on a daily basis, yet most of them are unable to strip down it's engine and replace the sparkplugs or piston-rings at all. They are the modern mechano-peasants, in thrall to garage mechanics, prisoners of thier ignorance."

    Oh please. Don't confuse the need to use with need to be able to fix it yourself.

    --

    My Karma: ran over your Dogma
    StrawberryFrog

  136. okay on a second thought.. by mantera · · Score: 1


    my first post disagreed with the article as learning programming languages itself wasn't very useful to me, however, learning the thinking that learning to program promotes is good; for example, how to simplify things into variables and work out an algorithm whereby those variables interact with each other, and how a complex problem might be decomposed into a series of smaller ones, and how things like encapsulation and subroutines and extreme programming etc....

    The concepts behind programming i find useful in life even if i don't write a single script.

  137. Map reading by 2901 · · Score: 1

    Your conclusion in predetermined by your choice of analogy. You draw the parallel

    computing --> programming languages

    motoring --> drivetrain knowledge

    But introduction of motoring did make intellectual demands. If you wanted to get the benefit of your car you needed to upgrade your map reading skills far above the pedestrian. Previously you could load stuff onto your cart without worrying about wind resistance. Steam cars and battery cars didn't have gears. Once the industry opted for the internal combustion engine every drvier needed to grasp the basics of gear ratios. If you are pushing a broken down car on level ground, it soon builds up plenty of momentum. Those with no grasp of Newtonian mechanics end up crushed against walls.

    What are the corresponding intellectual demands of the computer era? Obviously programming in C, calling malloc and free, opening sockets, etc, is not for the general public. On the other hand, programming concepts are reaching the general public in spread sheets, style sheets, search engine strings, database queries.

    The basic point of a computer is that it automates stuff. It is a pocket calculator and typewriter, plus automation. It is not that programming is merely what is under the hood making it go. Programming it, to repeat the calculation on different data, or to send slightly different letters to different customers, based on information in the data base, is the point of the tool.

    1. Re:Map reading by hankaholic · · Score: 1
      On the other hand, programming concepts are reaching the general public in spread sheets, style sheets, search engine strings, database queries
      How does a spreadsheet require programming knowledge?

      The average user has no idea what a style sheet is, let alone how to write one.

      Search engine strings? I haven't done anything but type in what I'm looking for into the search box since Google arrived on the scene. This is about as difficult as telling a librarian what sort of book you're looking for.

      Furthermore, I'd wager that easily 99% of computer users couldn't even pick an SQL query out of a lineup, let alone write one.
      --
      Somebody get that guy an ambulance!
  138. Silly article, but a kernel of truth by miu · · Score: 1
    The author writes as if everyone needs to have the ability to understand exactly what goes on in the computer to use it - which is clearly false. What's true is that a non-programmer who picks up a 'little language' like VBA or SQL (or whatever) is going to have an advantage over those who do not.

    To expect a budget staffer or admin assistant to write C++ or Java is ridiculous, but they make themselves much more valuable if they can gather data by themselves to carry out their actual job duties. The problem is not that people don't understand the details of what goes on with computers, but that the a lot of should be labeled 'tools' instead is labeled 'code' and therefore lies in the domain of the "computer people".

    I've seen some of the turf battles that arise over access to company databases. The usual situation is that IT does not want to do the work themselves, but certainly does not want someone in accounting to do the work either. The result is that IT grudgingly writes a half-assed attempt and no one is happy.

    --

    [Set Cain on fire and steal his lute.]
  139. Re:[Not a] pointless article by Anonymous Coward · · Score: 0

    What gave you the confidence that the guy pumping data into the spreadsheet can't be "replaced by a simple shell script"?

  140. I have serious doubts about anything said by Anonymous Coward · · Score: 0

    by a 'believer' of evolutionary psychology:
    they take the whole concept of evolution up to levels so high, it can hardly be called science anymore.

  141. Code is better... by Lord+Graga · · Score: 0

    ... Since you can use it for many incredible feats! Now it's possible to count to 10000000 in a few seconds!

    FOR i = 0 to 10000000 PRINT i NEXT i

    Don't hurt me!

  142. Re:Microsoft is already developing a natural langu by Alioth · · Score: 1

    This is what makes me wonder about job interviews: many interviewers ask some simple C++ (or $LANGUAGE question) when they should be really testing the applicant on their understanding of the building blocks of software engineering. It's a sort of the cart-leading-the-horse thing.

    The other aggravating thing about the recruitment process is that it often goes to HR to do, who are clueless. You advertise saying 'We need a software engineer. We are using $FOO language' and HR throws out any CV (tr. US: resume) from a software engineer who has good non-language specific SW engineering education and ten years experience, and calls in the guy who's got 2 years experience in $FOO language, but obviously from their CV is just a code monkey, not a software engineer.

  143. Abstraction, abstraction, abstraction! by The+Cydonian · · Score: 3, Insightful

    You seem to be, quite well I must say, arguing for freedom from tyrants who are other people (or people-like beings), while the guy seems to be arguing against the tyranny of the machines (more precisely, the tyranny of the act of controlling machines). Which is not to say you are wrong in your summary, of course; just that we're talking sliiiiightly different things.

    Which is exactly what I find this surprising here, since I always thought The Matrix was all about this. The author, it seems, is to be unable to understand the concept of abstraction; to become a truly powerful (not necessarily great) programmer, you don't need to figure out how your program works in details, just as, to make a satisfying omelette, you really don't have to know the chemistry behind an egg. Fact of life, people, abstraction strikes at the root of all civilisation, although you're right, to maintain or extend civilisation as we know, we need other tools such as logic.

    His other general point, however, is well-taken; programming is, to be sure, fast becoming critical for career in any scientific discipline, but for reasons other than those he mentioned. Among other things, agent-based modelling (pun wholly intended) is the Shiny New Paradigm (tm) these days in social sciences, and obviously, you need programming for swarm intelligence and all that.

    But no, you don't -- shouldn't -- need to be able to program your CMOS for that.

    1. Re:Abstraction, abstraction, abstraction! by Frater+219 · · Score: 1
      But no, you don't -- shouldn't -- need to be able to program your CMOS for that.

      Thanks for your response -- it leads me to clarify exactly how I meant to relate liberated computer use, programming, and logic. I don't mean to call programming useless, especially as it isn't; rather, I mean that it is the wrong place to start looking for freedom from the machine. The right place to look is mathematics and logic. If one understands these, one can learn programming languages and skills as needed. However, if one lacks these, one will be even more inept at programming than one is at a GUI.

      Logic is a prerequisite to computer freedom, as well as to programming. If one unprepared by logic delves into programming, I suspect we can all predict the result. I've seen code written by people who've tried to get into C or Perl without basic mathematics: it's rather akin to the sounds a baby makes before its nervous system is developed enough to allow syllables. It shows effort, but the underlying control is simply not there.

      I suspect, by the way, that the tyranny of the machine and that of its human controllers are tyrannies closer-allied than you have implied. We need only inspect the thorougly abused user: the poor fellow whose computer is riddled with viruses, adware, spyware, spamware, antisoftware of all kinds. The tyranny of his ignorance exposes him to the false belief that this is normal; and also to the specific abuses of these noxious programs' controllers. He would benefit if he could seize control of his computer and throw off the tyrants. However, he neither realizes this is possible, nor does he have any handhold by which to seize it.

  144. Commandline vs. GUI vs. evolution vs. market by theolein · · Score: 1

    Yet another of my patented theoretical tangents, so either grab some beer or change the channel.

    I know that the thrust of the author's article was to put people who can code in the spotlight of computer gee-whiz evolutionary theory, claiming that knowledge of say, html, is somehow beneficial as opposed to knowledge and posession of an MBA and the ability to manipulate us coders as we sweat over a screen. I sincerely doubt it. Computers are tools and knowledge of those tools, especially Windows is a prerequisite to getting a job or an education in some cases.

    The market demands GUIs. Ordinary people at home would be absolutely lost today staring at the bash prompt or having to type driver addresses into the dos command.sys file using the dos editor. It's not as if people have become better at spelling since the advent of the internet, even though the correct spelling of any word is a google click away. People become adept at using tools and the market usually sorts out which ones are easier and win, in much the same way as people now know how to drive but have no more knowledge of the workings of a car even though it's been around for 100+ years.

    As for the fact that GUIs only came after the CLI, I think that was a random fact influenced by our character based language. If say Mayans, Egyptians or Chinese had been the first developers of computers perhaps they would have started off with a totally different type of interface, one more along GUI lines to manipulate the computer.

  145. Ok, so if this is still the middle ages... by Anonymous Coward · · Score: 0

    Are SCO and Microsoft the plague?

  146. Written language vs. computer language by G4from128k · · Score: 1

    Any job which requires no creativity (for want of a less fuzzy word) can be done by a computer without any human intervention. For example, if you are simply entering data and running programs A, B and C, a better system could enter the data and run the programs without you.

    I would say that any worker using a computer who can do his job without doing ANY programming could be replaced by a slightly better program than the one he is ``operating''.


    Exactly! The problem with the original article is that it fails to explain why computer language is as powerful, if not more powerful, than written language. The article's ranting about CLIs vs. GUIs misses the point entirely.

    Written human language is powerful because it allows people to encapsulate their thoughts and transmit them to another person (or even transmit them to themselves in the case of a reminder note). Writing is archival, asynchronous, and scalable in a way that speaking was not (until the advent of dictaphones, audiotapes, radio, and the like). In many ways written language is a computer language that runs on the "Homo sapiens" processer. Its cool, but labor-intensive. A million people reading and using the thoughts contained in a 200 page book consumes at least 7 million human labor hours just in the read-phase alone.

    Computer language (of any type) is powerful because it allows people to encapsulate their thoughts and transmit them to a computer that then can then act on them repeatedly. Computer language is also archival, asynchronous, and scalable. But the labor costs for execution are neglible. A million computers reading and executing the code contained in a 200 page application consumes virtually zero human labor hours and exponentially decreasing CPU-hours.

    The point is that computer languages let you delegate work to a computer whereas human languages only let you delegate work to another person. Employees who can offload their problems and mental labors on to a computer are much more valuable than people (in a similar job) that can only offload their problems and mental labors on to another person. This is why computer literacy (real literacy as in reading and writing some type of computer language) is so powerful.

    But the original article misses two conflicting forces in the computer language literacy issue. The first is that computer languages are becoming much more like human languages (i.e., compare machine language, assembler, BASIC, and Applescript). Its more efficient to employ a few thousand programmers to create a more human-readable programming language than it is to teach billions of people how to use a less human-readable programming language. A person can be fully computer literate and never use a CLI.

    Second, computer languages only reach full power when they include certain constructs such as conditionals, looping, decomposition (either in terms of subroutines or objects), and recursion. Many computer languages, such as most CLI and HTML lack these structures or are widely used without these constructs. Languages that only let you (or are only used to) execute a linear script of tasks (A, B, C) are not very powerful (and do not count as computer language literacy).

    The problem with this second issue is that so few people have the logical thought processes needed to understand and use concepts like conditionals, looping, decomposition, and recursion. Judging by the poor quality of most software and e-commerce websites, I'd say that most paid programmers don't have the logical thought processes needed for these constructs. Although most people can learn and employ a linear programming language (e.g., a macro langauge), few seem able to use the power inherent in full-strength computer languages. Whether this is a flaw in education, a flaw in our current too-easy-to-use OSes, or a flaw in the construction of the human brain is unknown.

    Whether most people will need to know a computer language depends on the interplay

    --
    Two wrongs don't make a right, but three lefts do.
    1. Re:Written language vs. computer language by Anonymous Coward · · Score: 0

      I don't see why everyone had to know a computer language. It's more easy to teach a computer to talk human language.
      There are lots of researches in human language recognition. My prediction is that we will talking with computers in natural language in a not so distant future.

  147. Not text vs. pictures - logic vs. illogic by alispguru · · Score: 1

    Frater above has the real problem nailed here. He basically says that people need to learn to think logically/clearly/algorithmically to really work competently with computers.

    Today, that means learning a text-based programming language, because there really is no alternative - there are no "visual" programming languages that allow users to express their requirements as precisely and succinctly as text. Even Visual Basic bottoms out in text.

    People have been trying to create more "visual" programming systems for decades, and the closest they've gotten to them is IDEs that analyze your program text and visually show you interesting summaries of it, or maybe let you make straightforward refactoring changes to it.

    (For those of you who will reply to this, pointing to your favorite purely visual programming tool - why have those academic systems never caught on, if they're actually superior to text? If they could really empower the current crop of non-programmers, they would have taken over by now.)

    --

    To a Lisp hacker, XML is S-expressions in drag.
  148. Heard it before by stuntpope · · Score: 1

    This article is snotty and condescending. Society seems to get along just fine relying on technologies that the average user doesn't know, or care to know, how the internals work.

    "As our society becomes ever more dependent on information technology, the gulf between those who understand computers and those who don't will get wider and wider"... well, everyone isn't a mechanical engineer, yet we currently have a society heavily dependent on mechanical technology. What do you do when the car won't go? You take it to a mechanic.

    If his argument were more to the effect that computer professionals, particularly software designeers/programmers, should have a better understanding of the internals and not be complacent with GUIs, I would agree. I know quite a few "programmers" who are paralyzed when put into an environment where the IDE doesn't autocomplete or otherwise give hints about how to program. But to claim that even average computer users who prefer pointy-click are numbskulls living in a Matrix illusory-world (bah! peasants! And lazy, cowardly ones at that!) is too much.

    We tend to design our machines around our needs, and give them interfaces that suit how we approach the world. I don't have to "adapt" to the inner workings of rack-and-pinion steering because it doesn't really have a preference for a steering wheel, nor is using a steering wheel a case of blissful ignorance.

  149. Re: Total Sense (was: Total Nonsense) by imsabbel · · Score: 1

    i would rather talk to the man who buys everything. because he somehow earned money doing something interesting, rather than doing stupid manual work by himself.

    --
    HI O WISE PRINCE. WHT TOOK U SO DAM LONG?
  150. User Centered Design by mboos · · Score: 1

    The article seemed to suggest that most people need to attain new skills in order to operate computers. However, if a user must memorize commands, he is far more likely to mess up trying to remember some obscure command than clicking the icon that claims to perform the task. GUIs give the user more power, because the interface is mapped nicely to functionally, everything is visible and out in the open, and usually (but not often enough) meaningful feedback is available.

    --
    --Mike Boos
  151. pateNTdead eyecon0meter kode voted mostly user by Anonymous Coward · · Score: 0

    friendly.

    other advantages: this stuff is unbreakable, wwworks on several (more than 3) dimensions, & there's never a liesense feechurn/cover charge to restrict yOUR progress.

    the daze of the greed/fear/ego based felonious payper liesense ?pr? ?firm? hypenosys stock markup fraud execrable, is WANing into coolapps/the abyss, at the (increasing) speed of right.

    talk about pressure? those fauxking foulcurrs on wall street of deceit/capitollist hill, are having a whoreabull time attempting to hide the news (buy use of phonIE scriptdead ?pr? ?firm? hypenosys) of their felonious payper liesense billyonerrors' latest softwar gangster hostage taking attempts, &/or the adolescent dictator megalomania of the georgewellian fuddites/walking dead perpetraitors of the greed/fear/ego based life0cide against humankind.

    there's a real risk of overheating (peacing off) the main processor. you don't want that?

    for each of the creators' innocents harmed, there is a badtoll that must/will be repaid by you/US, as the aforementioned walking dead will not be available to make reparations, when the big flash occurs.

    the lights are coming up now. consultations are in order. you know where to look/who to trust? see you there? tell 'em robbIE?

  152. Re:Natural Language Programming by CaptDeuce · · Score: 1

    I doubt programming will ever be as simple as speaking to the machine.

    But the point is: why should people need to know how to program just to use a computer? Answer: they shouldn't.

    In case some people haven't noticed, we're well past the time when using a computer meant programming a computer. Yet another example of how the Good Old Times weren't.

    Evans approached a perfectly valid issue: learning how to use computers effectively will become increasingly important in the job market. But not only does he erroneously equate "using" with "programming", he then equates "programming" with "coding". There are millions of people who successfully program their VCRs and telephones without using any code at all. But the worst for me was when he equated Windows with logic. I almost blew a fuse.

    --
    "Where's my other sock?" - A. Einstein
  153. My theory by Pan+T.+Hose · · Score: 1

    CLIs were originally introduced as just another layer of abstraction. When you type "ls", you don't really think that you're sending the command directly to your CPU, do you?

    I have an interesting theory on that subject. I think that with no doubt the GUI is the future for masses. The "icons" will inevitably evolve, though. From the simple pictures they are now, they will become abstract symbols they are already becoming to be (for example, see the widely recognized ">>" or ">|" symbols introduced decades ago with audio tape players). After few decades they will evolve into a primitive hieroglyphic alphabet, and keep starting to get complex, forming phrases and whole sentences. The next step will be simplifying the overly complex alphabet already consisting of thousands of abstract symbols, probably concentrating on unification the "letters" with "phonemes" (sounds they represent). At that time we will have CLI (because "text" is the ultimate interface for humans) and another illiterate revolutionizer will start introducing The GUI all over again.

    --
    Sincerely,
    Pan Tarhei Hosé, PhD.
    "Homo sum et cogito ergo odi profanum vulgus et libido."
    1. Re:My theory by Anonymous Coward · · Score: 0

      That's actually a pretty good theory, and the high-end of computing long since recognised it as truth. If you look at things like Common Lisp CLIM, that's already how it is. Words are just symbols. So are icons. They have meanings. Their manipulation is "symbolic computing". A good computing system lets people manipulate all those symbols. As CLIM did years ago, and still does. See e.g. screenshots here (though you'd have to actually use it to appreciate the fluidity).

  154. Re:Natural Language Programming by bj8rn · · Score: 1

    There are several reasons why the legal system is what it is. The most important one being that humans' actions are ambiguous -- you can't always say what's right and what's wrong. No matter how you detailed the law is, there's always some grey areas between the black and the white. If the legal system worked like computer programming, O.J.Simpson would be in jail -- but so would many others who have killed someone in self defence. The system is built to prevent the second from happening, it would rather have hundred criminals walk free. It's not perfect, there's always a chance of mistakes, but I don't think anyone could come up with a system that satisfies everyone.

    --
    Hell is not other people; it is yourself. - Ludwig Wittgenstein
  155. Re:Microsoft is already developing a natural langu by nifboy · · Score: 1

    Yup, and the language is called QBASIC. My high school teaches it.

    The above five lines of code are simplified down to one:

    PRINT "Hello World."

    And if your teacher felt like it, you might put END as your second line (though it worked just fine if you didn't)

    As its name implies, it's very basic (No parenthesis, slashes, semicolons, etc, to worry about) Hell, it even spellchecks your code if you mis-capitalized something.

    On the other hand, I think it's a very easy to understand, and you don't really get bogged down trying to explain every little detail (Such as the above "Hello World." program in C++)

  156. From the book of illiad... by EvilTwinSkippy · · Score: 1

    An oldie but goodie from the Userfriendly comic strip.

    --
    "Learning is not compulsory... neither is survival."
    --Dr.W.Edwards Deming
  157. So, the real question is... by mariox19 · · Score: 1

    When will Windows be ready for the desktop?

    --

    quiquid id est, timeo puellas et oscula dantes.

  158. Teaching programming and PC complexity by gad_zuki! · · Score: 3, Interesting

    >Out of the 40 people that started a Java class in my college, only 6 of us finished it. 34 couldn't keep pace and couldn't understand it.

    Well, look at how programming is taught today compared to the late 80s.

    When we were taught BASIC on machines that were only command line, people were quick to pick it up. Why? Because you could actually do stuff with it. At the time writing an app that did stuff like simple math, outputted to the printer, displayed a simple ASCII graph, etc. This is what computers did and being able to do this with a few lines of BASIC code was actually empowering.

    Now look at what computers do now: everything. And they do it with neat-o GUIs. Also, many commercial apps are written so you don't have to program. You don't have Ford telling you that you should be popping open the hood on a brand new car and doing some major work do you?

    Anyway, walk into a Java class. First thing they teach isn't how you can use java to solve problems like sorting text files, etc they throw the bible of OOP at you. OOP is fine and good, but if you don't have some procedural experience under your belt and know your way around at least another language Java is just going to be a mix of OOP, classes, etc and other junk a lot of people are not going to see how it all connects to their everyday tasks. Even if you master Java you're writing horribly slow apps designed for cross-platform applications. Not exactly empowerment there. Sure, you can move to any language from there, but starting to learn programming with Java is like kick in the teeth.

    I think Dylan should have focused on how empowering HTML, Javascript, and PHP are. After reading a book or looking at a few examples you can quickly get the gist of HTML. Same with javascript. The stuff runs, it does stuff, you can show it to your friends, etc. Shift to PHP are you're doing tons more stuff, while your Java programmer is fighting his or her through a complex language with a strict syntax (at least a lot more unforgiving than HTML or PHP).

    If there's a lesson here its embrace modern tools that accomplish something. Moving back to the command line is silliness for most people as they never leave the GUI and don't expect a CL program to be of much use. Giving them the power to generate GUI-like apps through HTML, etc is much more useful than spending 18 hours learning how to use cat, emacs, pipes, uniq, head, tail, etc on Cygwin.

    Its a web/GUI world. This is what people should be adopting to. The days of simple DOS-like programs are far behind us and a lot of scripting tasks can be done within robust GUI apps.

    1. Re:Teaching programming and PC complexity by Anonymous Coward · · Score: 0

      But neither do you have ford telling you you are prohibited from popping open the hood, like Microsoft does.

      Closed-source crap is _designed_ to hide complexity in the _wrong_ way, to preserver the power of the programming guilds. Nowadays, on a linux box, I never need to understand much about underneath with KDE. BUT I CAN IF I WANT TO.

  159. The only intuitive interface... by EvilTwinSkippy · · Score: 1
    The only intuitive interface is a nipple. Everything else is learned.

    I'm at home with a newborn, and I can tell you with conviction the old Unix adage is true.

    --
    "Learning is not compulsory... neither is survival."
    --Dr.W.Edwards Deming
  160. Re:lucky stars by Anonymous Coward · · Score: 0

    why use Lynx and other text browsers?

    When you can use a telnet client instead

  161. We're already headed that way. by yerricde · · Score: 1

    I predict that in 100 years, programs will look a lot like today's pseudo-code.

    Programs already look like the pseudocode of six years ago. Look at Haskell. When a programmer submitted the source code for an application written in Haskell, the boss became confused and commented: "Nice specification, but where's the code?" However, there will always be jobs for assembly language programmers as long as there's a need to get a computer started or to embed really inexpensive computers in really inexpensive devices.

    --
    Will I retire or break 10K?
  162. Re:lucky stars by You're+All+Wrong · · Score: 1

    I find lynx ugly and clumsy (I'm probably too stupid to work out how to reconfigure all the keys), and if given the choice I browse using w3m instead. W3m's particularly cool when run in an xterm or rxvt or similar.

    "links" is prettier than lynx too, IMHO (i.e. lynx is really at the bottom of the heap for me), but is similarly unintuitive to drive.

    My girlfriend swears by lynx, for what it's worth (I swear _at_ it!).

    YAW.

    --
    Your head of state is a corrupt weasel, I hope you're happy.
  163. Cygwin by yerricde · · Score: 1

    I've installed Linux as a double-boot because unix-y text munging functions open up *huge* worlds on this when you know how to use them.

    You might want to introduce *n?x text processing to your Windows-using colleagues, but if so, you should do it gently. Start them with Cygwin so that they don't have to troubleshoot X11 issues just to get started.

    --
    Will I retire or break 10K?
  164. Humans are better at some sensory tasks by yerricde · · Score: 1

    If sales and food service jobs are ever taken by robots, the robots will probably need to have much more powerful speech and vision recognition than what is commercially available in late 2003.

    --
    Will I retire or break 10K?
  165. Are you a man or an ape? by yerricde · · Score: 1

    So why exactly should (non-power) users need to learn how to make new tools?

    To maintain their human potential. According to the mythology of evolution, apes became man once they learned to make tools.

    Or to understand what goes into making a tool, so that they don't ask far-fetched "Why can't a tool do $impossible_task?" questions.

    --
    Will I retire or break 10K?
  166. HCI lang is dead! Long live to BCI lang! by axxackall · · Score: 1
    To be truly free in the 21st century, we have to ignore the flashy graphics and really get inside our computers

    Been there, done that - PDP 11 (embedded ones) era when we were not just programming on assembly - we were interfacing on it.

    What would really make 21st century is to realize the trueth - there should be no interface at all. Or, in other words - we should let computer get inside our brains.

    All existing human-computer interfaces (HCIs) are based on physical inter-media: light and motions. Basically we have at least two sequential interfaces for one direction (brain - hands - motion - mouse/keyboard - computer) and two sequential interfaces for the opposite direction (computer - screen - light - eyes - brains).

    Our hands and our eyes are far from being perfect. Even more - some people do not have hands and/or eyes or have them really impared.

    Computer screens and keyboard/mice are not perfect either. The technology becomes more and morte expensive to come closer to human-side interface (3d screens and 3d gloves for example), but in fact it doesn't improve the concept.

    By the way, two-steps interfaces of both directions are seriosly differnt from each other as they use different inter-media: light and motion. Thus, they will never be syncronized completely. Thus, there will be always a conflict of two languages: the language of input (no matter, do you type or click) and the language of representational output (no matter do you read the text of look at geometrical shapes).

    Fortunately, I see more and more comments on /. encouraging direct brain-computer interfaces. That means there is more and more understanding of importance of it, and more acceptance of it.

    What's even more important - there is more and more funding in the research in this area. Well, Pentagon (and some Soviet institutions) invested in such research already a lot. But now I see many military-unrelated project. Check Google for "brain-computer interface" or for "BCI".

    The major difference of BCI from existing four-tier HCI is that it's based on electronic signals and thus each direction has only one interface. Moreover, both direction use exactly the same media - electric signals.

    There are two major ways they do it: implanted and wireless. I remember two articles about one Toronto professor and the other in UK, they both allowed to implant electric signal sensors into their neural system in order to control life-support devices as they both were impared physically. Of course most (if not all) of wireless achievemenets are focused on only one direction: control of mouse cursor is the best what's achieved successfully so far.

    Therefore, the major problem of HCI, its language, is not solved. Yet. Be ready that in few years the technology behind BCI will improved (both wireless and implanted ones) in its precision. Also it will be expanded to work same way in both directions of HCI. And then...

    So, what do you think? Matrix? I don't think in exactly that way. I think that scientists will develop assotiative programming-interfacing language for BCI and that humans will learn that language as a second language in the school.

    Well, the day when BCI language will be first and today "natural" languages will be second - that day will be the birthday of Matrix. But we still have a lot to do to make it happened.

    --

    Less is more !
  167. Commodization? by mugnyte · · Score: 1

    Wuld you write an entire [insert utility of choice] or use the one that came with the OS? When I use windows, part of knowing how to interact with the machine is adapting to it's special requirements, like a GUI. When I use a Linux, I again adapt and learn the Command Line Utilities (CMU) and config files that must be tailored to suit my needs.

    But either way, I'm not spending every waking hour versing myself on each tool. It's only when I need them that I delve into them. If someone asks for my help, I can either say "yes, I've worked with that before" or "no, that may take some time to learn". The time it takes is relative to your experience.

    And that brings me to my point, CompSci schooling (or just plain 'ole experience) teaches one not to fear the machine or be overwhelemed by it's tools. You can approach a box and start playing around with it, knowing that within certain bounds, you're going to learning things. Try the command line switches, help files, man pages, internet sites for ramping up. Run it 3 ways to sunday to see how it reacts.

    As complex components become commoditized, people are learning CMU interaction with the machine where the block boxes are larger and larger. Thats fine. Even if they don't understand those low-level details (which now can ecome trivia but not essential for most jobs), they are productive. So you have to rank yourself on end-user productivity (knowing the blocks ahead of time, even that they exist) or technical prowess (know how to fix/replace any particular block). I think as programmers we all want to be both, but compsci is just too big nowadays.

  168. I don't get it. by Anonymous Coward · · Score: 0

    Why does everybody find UserFriendly funny? It's so ... hohum. Hrmf.

  169. Re:Tools : YES! by Anonymous Coward · · Score: 0

    "People who use tools to solve problems need to understand the nature of those tools."

    And *this* should be the main point - in order to use a tool effectively you have to understand what it can and cannot do.

    If you don't have even a glimmer of this understanding you will always be limited in what you can do. Greater understanding of the tools required for a job leads to better performance of that job.

    However, the problem most often encountered is that of deciding what the appropriate level of understanding should be, and what constitutes the appropriate toolset for a task.

  170. ITYM by Anonymous Coward · · Score: 0

    ldr r1,=microsoft_knows_whats_best_for_me
    ldr r2,=VRAM
    str r1,[r2]
    mov r14,pc

  171. buttons better than commands by zpok · · Score: 1

    Here's the thing.

    As long as I can't SAY "OK, print 'this here' and don't go wild on the ink, as a matter of fact, do this one black and white and make it a quicky." I don't want to be bothered with anything else than a screen that has the relevant options on printing and doesn't expect me to TYPE.

    Some users need the flexibility of command line, most however don't.

    This article is great, but don't kid yourself into believing commands are somehow better for everything.

    Look at it this way: one button is one click. One command is between three and 15 'keyboardpunches' - and they all must be the right ones in the right order.

    Meaning: as long as we don't have an intuitive natural language INTERFACE - computers with ears and eyes and the muscles to put two and two together - cute UI's are really really wonderful. I love them. They make me happy.

    --
    I think, therefore I am...I think.
  172. Re:[Not a] pointless article by Anonymous Coward · · Score: 0

    While yours is a -1, Offtopic. Ha Ha. .

  173. where is the news ? by XavierXeon · · Score: 2, Insightful

    how many people drive a car and do not know how a combustion engine works ?

  174. A bit snotty by zpok · · Score: 2, Interesting

    If you don't understand cars, you're fated to do menial jobs.

    Maybe a stupid comparison, but I'd rather my kid spoke four, five human languages like her parents than have her spend thousands of hours trying to get into the "mind" of her computer.

    Yes, I do understand HTML (big deal) and I "get" my computer. Most kids of today do btw.

    Suggesting you'll become obsolete when you don't speak computerese - be it through lazyness or cowardice - is really really naive. I think 10-50-100 years from now it will still be about "getting" your fellow man.

    As if "speaking" one of hundreds of languages for machines gives you special powers. I know programmers who still don't get their machine - and wrestle with their VCR and toasters. Lack of 'mpathy', I guess.

    --
    I think, therefore I am...I think.
  175. Re:[Not a] pointless article by hankaholic · · Score: 1
    I would say that any worker using a computer who can do his job without doing ANY programming could be replaced by a slightly better program than the one he is ``operating''. The only exceptions would be people doing jobs which are wholly creative, and could be done without a computer at all (e.g., writers, who could use pencil and paper).
    What about people using computers in doctor's offices to maintain patient records? Or the doctor whose PDA allows him to search medical data sets? What about people using their computers to write letters, or to play MP3s? Who work in auto body shops and use computers to help them to write accurate estimates? Those who do little but browse the Internet and check their email?

    Those doing data entry? What about bank tellers? They use computers to handle transactions and look up customer data. People have been predicting for years that they'd be replaced by ATMs, as you are suggesting that most of the non-creative uses of computers will be automated.

    Have you walked into a bank lately? There are an awful lot of people behind the desks and teller lines, 30 years after ATMs started being used.

    I would say that any worker using a computer who can do his job without doing ANY programming could be replaced by a slightly better program than the one he is ``operating''.
    News flash: Those doctors, repairmen, and bank employees to whom I referred aren't writing the software themselves. Their jobs are already being enhanced by computers, but they aren't the ones writing the tools.

    That's why there's a need for programmers, you see. There's a reason why programs aren't normally written in production environments. Would you rather enter a doctor's office and wait for hours because the doctor is debugging his latest app?

    Perhaps it would make more sense for him to devote his time to helping people, and for programmers to write the programs.
    --
    Somebody get that guy an ambulance!
  176. Proud to be dumb by NoNine · · Score: 0

    From what I've been observing lately, there are many people who desire the quality of being computer illiterate. The trend is that it seems to be growing.

    Nice boots...

  177. A little naive by gillbates · · Score: 1
    But if you want to be truly free, you have no choice but to understand the machines you work with.

    Actually, this is not true. With the DRM that's already implemented in the Windows operating systems, even if you understand the computer, you can't fix it (at least not without violating the DMCA).

    I just purchased a laptop with Windows XP, and I hate it already. It can't read CD-R's or CD-WR's burned on another machine. Even though I can capture screen shots of DVD movies, I can't save them. And for some reason, it won't connect to my other Windows boxes.

    So it doesn't really matter how much you understand about the machine, with DRM, you can only use it the way the OS designer and media companies allow. Like RMS has been saying for decades, all the programming knowledge in the world is useless if the programming tools are illegal or non-functional.

    --
    The society for a thought-free internet welcomes you.
  178. Choice: Everyone missing the point by PurpleWizard · · Score: 1
    To me it seems every post I have read is missing the point. If you can only operate something using the GUI (or as some posters mention the VCR) you can only do the things that someone else gives you power over.

    Take the VCR and video plus recording. If you can only operate the video that way you can only tape programs by numbers. That means you will regularly miss the end of programs. You have to learn a bit more, ie. how to tweak the end time manually, in order to ensure with very high probability that you will get the whole program.

  179. Games a good example by PurpleWizard · · Score: 1

    If you play various games in which you can script your units behaviour you quickly accept you have more power over what you can do and normally more choices of what you can do if you learn the scripting rather than rely upon the course grained GUI options for behaviour selection.

  180. Add 1 thing by gillbates · · Score: 1

    I'm rather well versed in assembly language. I've written bootloader code which would boot up a system from a floppy disk. At one point in time, I was writing an OS which would fit on, and be bootable from, a single floppy. The idea was that I would create something that everyone could use, simply by putting in a floppy and rebooting the machine - no need for messy and complicated OS installs.

    Then PC manufacturers stopped putting integrated floppy drives in laptops. It won't be long before the floppy is gone completely.

    So it doesn't really matter if someone knows this year's OS, or this year's Hot, New! (tm) programming language. Technology changes far too rapidly for the average user to keep up with. By the time the average user becomes proficient in an OS, (not to mention a programming language), it becomes obsolete. And with DRM, users in the future may not even be legally allowed to own programming tools without being licensed and bonded. Even today, DRM is restricting the ability of Windows-crippled machines.

    --
    The society for a thought-free internet welcomes you.
    1. Re:Add 1 thing by Crayon+Kid · · Score: 1

      We digress, but what the hell... ...I have yet to see a removable computer storage media so widespread and so successful as the 3 inch floppy disk. There are probably a hundred alternatives out there today, and the ones that come closest are either not as easy or fast to use, or not widely spread enough. Think about it: you can buy a 3 inch floppy and use it on almost any type of computer provided it has a drive for it, plus modifying its contents happens as easy as on your own harddrive. Now why do they want to take it out? What do they have to offer in its place?

      --
      i ate crayons when i was a kid and now i have two braincells and the blue ones taste nicer
    2. Re:Add 1 thing by unother · · Score: 1

      Shot in the dark here, but... CD-RW? CD-R? DVD-R? etc.

    3. Re:Add 1 thing by maysonl · · Score: 1

      I once wrote a bootable program which fit on a single punched card, and I didn't use either hex or assembly language. [the machine was the now probably 35 years obsolete IBM 1401, although it wouldn't surprise me to find out that there is a mainframe out there running an emulator].

    4. Re:Add 1 thing by Hognoxious · · Score: 1
      ...I have yet to see a removable computer storage media so widespread and so successful as the 3 inch floppy disk.
      Twaddle.
      I've neither seen nor heard of such a thing, so if it does exist, it's for the Amiga, Sinclair Spectrum or some other obscure thing.
      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  181. Re:Microsoft is already developing a natural langu by Slack3r78 · · Score: 1

    Small nitpick - I'd call the above example C more than C++. Someone who started out with C++ is more likely to use cout "Hello World" than printf. But yeah, it works as C++ too, I'm just bored. :)

  182. Missing the point by sjames · · Score: 3, Insightful

    People have been trying for a very long time to figure out how to KEEP folks from having to know all the dirty little details of computers.

    You're trying to carry the author's point way too far (to the point of absurdity).

    By his references to 'Windows', I believe that the author is well aware of those efforts. The point is that those efforts have gone way too far in the wrong direction. Things should be simplified as much as they can be and no more.

    Most 'user friendly' GUIs way over-simplify to the point that simple tasks on the commandline become nearly impossible and horribly time consuming. Haven't we all seen people do open-search/replace-save-close over dozens of files because they don't know how to use for and sed on the command line (and thus, turn a 10 second job into an all day adventure)?

    The real argument is one of basic literacy, not mastery. We don't expect everyone in the western world to be a literary genius or to know how to design, build, and run a printing press. However, we do expect them to be able to read and write. In the same way, most people can drive a car even if they can't design one or even rapair one. Many who can repair a car can't design one from scratch. In the same way that we don't hire a driver whenever we want to travel by car, and don't hire a scribe when we want to write a grocery list (and then a scholor to read it back to us as we shop), we shouldn't have to hire a programmer just to interact meaningfully with a computer.

    Just as we don't avoid the scribe by drawing little pictograms of the foods we want to buy, we shouldn't avoid the programmer by using little pictograms as a replacement for knowing how to make a computer do what we want.

    There are people who get by without literacy in the west, but I don't think anyone trys to deny that they are seriously handicapped nor do they propose that the solution is to eliminate the need for literacy to fully participate in society (Yes, there are some efforts at pictographic signs, but those are mostly for people who are presumed to be literate in a foreign native language).

    It's not a matter of expecting everyone to learn shell scripting right now, it's more a matter of expecting that simple scripting and programming will become a basic educational requirement just as literacy went from being an archane knowledge laboriously learned in early adulthood by a few monks and other scholors to being a basic skill we all begin learning before age 6. Efforts to the contrary are a waste of resources.

  183. Re:lucky stars by Anonymous Coward · · Score: 0

    Why not a simple utility to display the incoming packets as a binary stream? You can just do all the character-set work in your head until you get to the markup language/script code, then just mentally compose it into a page, on the fly, in your head.
    Support any standard you want, based on a glance at the RFC!
    Unlimited Pirst Fosting on /.--what A/C do you think gets them all? (Notwithstanding the occasional bone to Sir Haxalot or another lesser being whenever my bodily functions call me away).
    But I give away my secrets. :)

  184. Paradoxical, No? by Artifakt · · Score: 1

    If MS scripting was as broken as some people say, virus writing would be limited to a few gurus, who would barely be able to coax a trick or two out of it, but wouldn't be able to make them stable enough for the script kidees. Windows scripting has to work better than that, or it wouldn't be possible to exploit it so easily. Personally, I'm getting more and more interested in its legitimate uses as I see just how much some people seem to be able to do illegitimately - Or maybe we all need to learn L33T'speak and move to AOL to become real hackurz.

    --
    Who is John Cabal?
    1. Re:Paradoxical, No? by Anonymous Coward · · Score: 0
      If MS scripting was as broken as some people say, virus writing would be limited to a few gurus, who would barely be able to coax a trick or two out of it, but wouldn't be able to make them stable enough for the script kidees.
      Well, you might assume that if it doesn't let a legitimate use do what he wants, it won't let an intruder do anything.

      But unfortunately, broken and limited are orthoganal.

  185. Hex? by Anonymous Coward · · Score: 0

    What? Hexadecimal is a crutch for pussies who can't handle 1's and 0's.

  186. Inventing selling software by Anonymous Coward · · Score: 0

    Well, I hate to put your illusions to rest, but MS actively helped create the desktop market. They were the first to build their business model upon selling software to end users and they bet on the use of computers not by crazed hobbyists, but as a tool necessary for every household. And they bet right. Give 'em some credit where credit is due.

    1. Re:Inventing selling software by mesocyclone · · Score: 2, Interesting

      Have you forgotten Apple? It was a consumer system, and there were a number of vendors selling software on it - Visicalc is one software title I used on the Apple II. My daughter learned arithmetic on a software title sold on the Atari-800, another end user machine.

      Microsoft merely extended a completely obvious trend. And remember, they bought their operating system from someone who was already selling it.

      Microsoft made their big hit, not by opening up a consumer market, but by winning the IBM contract for the OS for the IBM PC. Before that, Microsoft was selling only to hobbyists also! Because the PC *hardware* design was open (just as Apple was transitioning to a closed design), and IBM commanded so many corporate desktops, whoever won that contract was pre-ordained to end up with the desktop monopoly, and the open hardware design guaranteed the extension of the PC platform into every place one could use a computer of that power.

      So I'm sorry, but Microsoft did *nothing* creative for a long time. They ported Basic (invented while Bill was in grade school) to get their company started. The bought MS-DOS, which itself is a conceptual rip-off of CPM which was a conceptual rip-off of several DEC operating systems.

      Their true ability for a long time was in their shrewd and sometimes unethical business practices, which allowed them to leverage, extend and maintain their PC OS monopoly. They were brilliant at that.

      When it came to technology creativity, I saw little from Microsoft until Visual Basic, and probably someone else had a visual IDE before that, I just didn't see it.

      Microsoft for a long time had the same attitude as Stephenson - if it didn't happen in the PC world, it didn't happen. Hence for many years they proclaimed the invention of various things that us old fogies had used on big machines 20 years before - such as virtual memory (I first used it in 1967 on Stanfords Wylbur system on a 360/67. That machine also had a total VMM on it).

      They kept "inventing" stuff that us more experienced people had been wanting for a long time, since we had it previously, and had to step down in functionality and computer science conceptual levels to use PC's - long after they had the hardware capability to do this stuff.

      And they stole ideas right and left. Remember when there were companies with file system compression? Microsoft subsequently "invented" that. Remember the original MacIntosh? Microsoft had to "invent" windows. But the Mac itself was a ripoff of a Xerox product, and it's intellectual ancestor was the Xerox PARC Dynabook project!

      Furthermore, they rejected some very important ideas, such as the Unix approach of command line or shell scripting using primitive commands and the Unix approach of keeping all configuration information in human readable files.

      This has cost their users immensely, probably cost Microsoft a lot, and was simply unnecessary. GUI vs Command Line is *not* either-or. I am using a GUI (Win2K/IE) to write this, but I also use Cygwin (which has its own warts to do much of my work. Cygwin gives me scripting, and very quickly executed commands with hands on the keyboard. But Windows configuration, done through GUI windows, is much easier for the non-expert than Linux configuration done through command files (although the various X tools are improving there), and I have been runing Unixes at home since 1983.

      At some point in the '90s, Microsoft realized that there really people outside their world who might know something they didn't know. They started bringing in experts (although their choice for NT architecture, and hence probably NT architect was a mistake, which is why NT has so much trouble in SMP configurations - configurations which I first worked with in 1970!). Hence when they needed a good database, they stole much of Informix's crew (but still, had it run on their deficient NT Win32 kernel).

      Now they have lots of serious pe

      --

      The only good weather is bad weather.

    2. Re:Inventing selling software by Anonymous Coward · · Score: 0

      Microsoft purchased visual basic, well, as usual they purchased Alan Cooper's company Tripod. See the following url.

      http://www.johnsmiley.com/visualbasic/vbhistory. ht m

  187. Re:Typing Two words into Google by Artifakt · · Score: 1

    How valuable a given piece of information is can be ranked, for example on a scale of 1 to 10 (yes, this is a bit crude and approximate, please bear with me). So what happens if you would rate the info you need as a 3, say, and you type a few words into Google, and get that info, but the meta-information, that someone did a search using that particular combination of words, is rated far more valuable? For example, if Echelon is working as some claim, you might search for some terms such as "Fuel-Air Explosive" and "Ebola" for a trivial reason (You saw Dustin Hoffman in Outbreak and it sparked mild curiosity, or you ran across the phrases in a Tom Clancy novel). To you, that search is a 2. To the people supervising Echelon, the terms you combined are an 8. How much effort at privacy do you take on something you rate a 2? How hard will the NSA work at something they rate an 8? This will happen more and more often, not just with national security, but with other cases, such as companies checking to see if their new concept has been thought of elsewhere. Now that there's Cherry, Lemon, and Vanilla Coke, It's just possilbe someone might want to know who typed in "Blueberry" and "Cola" to Google, a lot more than you wanted to know whatever you were searching for.

    --
    Who is John Cabal?
  188. SAVVY - 25 years ago. by Jerry · · Score: 1

    I first saw SAVVY while programming Apple computers in late 1980 or early 1981, IIRC.
    The Apple version required a card be inserted into the PC. The IBM version was all software.

    You interacted with SAVVY by issuing "Natural Langauge" requests: "Gimme a list of all Salesmen in Detroit, and how much they've sold during the last quarter".

    If it didn't understand 'Gimme' you had to teach it. It might have asked you if you mean 'quarter' as in coin or quarter as in period, if it couldn't determine the meaning from the context.

    SAVVY also came with a database and a programming language, a derivative of Forth. It was a very powerful and easy to use tool, but the ability ot communicate with a 'Natural Language' was overrated.. Unfortunately, it was controlled by a person who was one shade shy of paranoia, and was never improved to a networking muti-user application. Current copies will only run on a disk partition = 10MB.

    --

    Running with Linux for over 20 years!

  189. computers are just tools by Typoboy · · Score: 2, Insightful

    If everyone spent time learning computer languages, what would that do to the skill of the doctors, architects, poets, etc? Why should everyone's mind be trained to think along the patterns of high level languages designed to run on our von neumann architecture machines?
    Computers are tools, and should serve us. I'm constantly telling people, "Don't think you are stupid because you don't understand how to do some task on the computer. Some nerd in a windowless office wrote the code behind this program, yes you may need to learn how to make it do what you want, but it's not your stupidity."
    Here's an analogy. If you had an old car which would only start if you hit it in the right spot, pull the choke at the right time, would people applaud you for being an automotive genius? No, they'd say, why don't you fix/sell that piece of junk and get a new one. Why then do people use terms like 'computer genius' (in the general public) to refer to someone who is able to make the computer do what they want? Using the command line is technician work - it is a skill, and a valued one, but it is way overvalued in society today. (This isn't meant to be a troll, but as an example, our favorite software company in redmond encourages this kind of thinking by the design of their software.)
    Sure software is useful, and speaking as a software engineer, I enjoy making my own 'tools' for various uses. However, I wouldn't want everyone to have to think the same way - how boring.
    It would be far more productive if people took the time to learn an additional human language.
    The real reason anyone is a peasant in this technological age, is because they are too impressed with technology, they believe what the technology (internet, tv) tells them instead of thinking for themselves! Example: jdbcmgr.exe virus hoax.

  190. bogus... by howajo · · Score: 1

    This article is poorly thought out. The command line is exactly the same kind of tool that a GUI is. Something to simplify the human/computer interface. Even the text he speaks so fondly of is really only a symbolic representation for the benefit of humans. Text IS graphics. If the author really wants to speak the language of computers, he can use a much smaller keyboard to set his registers "high" or "low". Of course, an old 8088 would probably be all the computer he would ever need, and I don't think he would get much done.

    On another note, the purpose in building these huge graphically intensive interfaces is not just to simplify human/machine interface, it's also to make computers worth interfacing. After all, most people would have no use for a command line only interface. Even for something as basic as a calculator or word processor, it would be extremely inefficient to try and use one without shortcuts and menus.

    Finally, the idea that those without computer programming skills will be obsolete in the future is ridiculous. It is something like saying that those who are unable to build their own car will be obsolete in the future. I have never built a car, but I use one every day. I haven't had any trouble getting a job because of it...

  191. No sex for you! by Thinkit3 · · Score: 1

    Now quit chasing me around.

    --
    -Libertarian secular transhumanist
  192. Well... by Uber+Banker · · Score: 1

    Fr1st pr0st j00 |314tch35

  193. (going way way OT now) by xmedar · · Score: 1

    Shame she's attached, well atleast you can have a laugh with her about my post, and thanks for the response.

    --
    Any sufficiently advanced man is indistinguishable from God
  194. Clusterfuck solution - Author Computer Illiterate? by 3seas · · Score: 1

    Maybe the Author is computer illiterate, But I'm not!!

    Look here for the solutions to your clusterfuck And Yes I do know of DotGnu, I'm on the list.

    Boy, did I get here late!!!

  195. I have Karma. This article is ASS. by jonhuang · · Score: 1

    I have Karma. This article is ASS. He just told me that if I can't read HTML like Neo in the Matrix, I will die. Also, "The Windows controls j00."

  196. Re:[Not a] pointless article by michael_cain · · Score: 1
    The computer is a non-specialized, multipurpose artifact. A programmer can make it into a very expensive word processor, or a very expensive ledger, or a very expensive sliderule, or a very expensive map, or ...

    So most people need to know two classes of things -- how to launch the software that turns the computer into the proper single-purpose artifact, and how to run that particular artifact. Some artifacts are simple to use, and some are complex. Writing a letter with a word-processor is (or should be) simple. Creating and editing a complex piece of audio and video -- the equivalent of splicing film, mixing down music tracks, etc -- requires a very different set of knowledge. I don't think that it's fair to say that this by itself has made the computer irreducibly complex -- it shouldn't be any more complex than the collection of devices that it is replacing.

    It does get more complex, and you begin to get into the need for programming (or at least scripting), when those "virtual tools" are going to be used in ways that their single-purpose equivalents aren't. For example, to take the audio track from the "film" and play it in the "jukebox" -- no one expected to take the sound track off a piece of film and put it on a vinyl record for a mechanical jukebox without a great deal of time, effort and money. Doing it on the computer may be complex, but doing it pre-computer was so complicated no one but an engineer with a big budget would even think about attempting it. Replacing the word "principle" with "principal" in 20 documents meant retyping all of them, not writing a script that instructed the program about what to do and which documents to apply it to.

    I think it is interesting to compare how different computer systems of the past 20 years have dealt with the issue. UNIX was put together by and for programmers -- so file formats were simple and open, scripting was readily available, apps tended to be simple because it was EXPECTED that users would put them together with scripts. The early Macintosh went to the other extreme -- files could only be opened by the application that created them. How many failed attempts has MS made to try to make GUI-based apps provide "services" to one another?

    I would say that any worker using a computer who can do his job without doing ANY programming could be replaced by a slightly better program than the one he is "operating".
    I have to disagree with you at least somewhat on this. Many jobs that "use" a computer do so because the computer is a more efficient and lower-cost way of replacing one or more special-purpose devices. Granted, a user who can take advantage of the more sophisticated features of the applications will be more productive than one who can't, but that doesn't make it easy to replace them with a slightly better application. We may be thinking differently about jobs -- if the job is 100% sitting at a keyboard and doing something nearly mindless, you're probably right. But I don't think there are all that many of those jobs.
  197. Make Star-Trek like neural net quantum "computers" by thenarftwit · · Score: 1

    We need computers that we can talk to and talk back at us...if we want to mess with assembly language and higher-level languages, then go replicate some (ancient)hardware and software that can do this (if you do this, you are probably a computer historian or hobbiest). Future computer systems (if they could even be called that), will probablly use neural networks, and possiblly what then passes as computer hardware/sofware. The logic of using command-line for future computers makes as much logic as using switches and leds to enter and read your spread-sheet or word processor work you have to do. We are just at a phase in history where computers interfaces and hardware are at a point where the interfaces can sort-of do what a non-computer tech literate user can accomplish, but the feild will really flourish when computers are powerful enough to use semi-intelligent knowlege-bases like CYC and have neural nets and have at least big enough roms and non-volitile rams that you can seperate the OS's into parts of the computer that the applications can't touch, with enough redundancy that the OS NEVER crashes and has some real intelligence. People lose track that computers are simply tools, we waste too many decades (of potencial productivity) playing these stupid MS and Intel driven political (and money) games when we whould be making very powerfull, easy (ie: invisible) computer systems anybody can use, then we will see an age of exponential productivity driven and enabled by smart tools....nobody expects people to know hardware and software to use a calulator, we should not expect them to do the same when using a computer, that is plain stupid, and shows that we are the ones with no vision of what good computer system interfaces should be designed like.

  198. Deja Vu... All Over Again by Anonymous Coward · · Score: 0

    I think he has merely dusted off and updated the old arguements from the "Computer Literacy" advocates of the late 70's and early 80's. They had many similar, very plausible arguements for why every schoolchild should learn the Pascal and Logo programming languages before 6th grade. They also confused many a poor child and their parents with the "New Math" which was supposed to help us all understand computers and be better programmers. Any child who didn't would be doomed to menial jobs and welfare. This isn't really much of an exaggeration of the arguements for Computer Literacy.

    He's just trying to get the Emperor back out on parade without any clothes again. Well, new arguements won't make those clothes any more substantial.

  199. Conditions by jared_hanson · · Score: 1

    I will quit chasing you around when you offer resonable, logical explanations for your ideas. Until then, I regard you as the single biggest uneducated person on Slashdot, and I will continue to point this out and probe for reasoning. If you can't provide any, then quit making inane comments.

    It is all up to you.

    --
    -- Fighting mediocrity one bad post at a time.
  200. Re:Natural Language Programming by Alex+Belits · · Score: 1

    Actually with a formalized legal system it would be extremely hard to convict ANYONE fro murder -- the amount and certainty of evidence will have to be far beyond what was present in OJ case. Howewer I am not talking about court proceedings that involve more hand-waving and psychological presure than anything that has to do with laws. I am talking about laws themselves and their interpretations that apply to life long before someone steps into court, plain questions about whatis legal and what is not.

    Ex: anything that has to do with fair use of copyrighted material.

    --
    Contrary to the popular belief, there indeed is no God.
  201. Spread sheets and search strings by 2901 · · Score: 1

    When you set up a spread sheet, you say that this cell is the sum of that cell and the other cell. So you are using variables.

    When you use a search engine, you look at your results, make /trivial/ changes to your search string and try again. This is an alien concept to ordinary folk. If you are asking a librarian there is no concept of distinguishing between searching for

    "dogs" "and" "cats"

    or

    "dogs and cats"

    A basic hurdle to computer use is grasping the idea that although the computer is useful, it is just an impersonal mechanism, and much more stupid than it appears. So to use it, you have to watch carefully to see what the mechanism is doing, and make small adjustments to the source file/search string to get the clockwork to unwind in the way you desire.

    1. Re:Spread sheets and search strings by hankaholic · · Score: 1

      I don't disagree, but it's still quite different from, say, writing application software (or even being able to parse Perl code).

      --
      Somebody get that guy an ambulance!
  202. Re:Article lacks reason. Is this really necessary? by arantius · · Score: 1

    The author is taking his point just a little far, but he's hitting the nail on the head either way.
    It's pure truth, the vast majority of computer users have no idea what they are truly doing when they use their computer. They have no concept about what the purpose or reason for the tasks they perform are.
    You may say that knowing how to use grep is a large step forward, based on your observation about how grep is used now. But if you tell my mom to use grep to [insert task here] it won't mean anything to her. She has no understanding of how to use a command line, or how to apply options, or how to supply arguments. Nor, if she was even told exactly what to type, would she have the faintest clue what any of the things she typed meant, and why they were important.

    What is necessary, as others have pointed out, is a basic understanding of the mathematical systems underlying computers. Unfortunately, having recently graduated with a degree in computer science, I know that even CS majors taking a semester long class in these concepts often "don't get it."

    I think if people could learn all the things that were (supposed to be ...) covered in my Operating Systems course in college, they would know 95% of what they needed to be proficient in any computer based task not strongly rooted in another field. (I.E. They could use photoshop but it won't make them artistic.)
    People think I am a genius, when I simply understand a structured method of getting things done. First, understand at least a basic level of the workings of the system I am using. Second, analyze the problem, and break it into smaller tasks. Complete any task I can, research or recursively (Oh no, there's a mathematical concept coming in! Another one lots of people in a class designed to teach it to them usually miss.) analyze and sub divide the remaining tasks.

    It's freakishly simple. The sticking point is the research and understanding. Even if I (to use the classic example yet again) hand my mom the man page for pppd (which I just installed this past weekend, having never actually used dial up on unix before, just broadband), she wouldn't have the ability to grok it. I, on the other hand, approached it with the divide-and-conquer method of computer tasks, making sure I understood each thing I needed to, in order to get my task done.

    --
    Health is simply dying at the slowest rate possible.
  203. Re: Total Sense (was: Total Nonsense) by screenrc · · Score: 1
    Making shoes is not silly. Shall we state that
    this activity is more important than discovring the
    cure for cancer, or landing to the moon? Yes.


    You did not understand me at all, or perhaps
    you don't want to even try. That is not good
    for a conversation.

  204. Re: Total Sense (was: Total Nonsense) by imsabbel · · Score: 1

    no, i understood you very very well. but making shoes is not more important than curing cancer, because you can build a machine to make shoes, but not one to cure cancer.

    --
    HI O WISE PRINCE. WHT TOOK U SO DAM LONG?
  205. Re:Why bother adapting? by Anonymous Coward · · Score: 0
    Soon, we'll have sentient computers, and they'll just eliminate us an our inefficiency. Enjoy the next decade or so, because it's all we have left.
    That'll piss on the hickistanis' parade. In a way they've hijacked the Titanic.
  206. Re:lucky stars by Hognoxious · · Score: 1
    GUIs are clearly better.
    No they aren't. If the underlying structure and metaphor are crap, no GUI can save it.

    IIRC, the expression is "You can't polish a turd".

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  207. Re:Make tea. by Hognoxious · · Score: 1

    I was going to say that the parent post is total bollocks, but that would be incorrect; some parts of it are merely meaningless.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  208. Re: Total Sense (was: Total Nonsense) by screenrc · · Score: 1
    I am afraid, the argument is still the same.
    Even if I admit your argument, I think you
    must admit in return that making the machine
    (that makes the shoes) is more important than
    finding the cure of cancer. The argument
    remains the same.


    And by the way, I never thought that buying
    something at $3, then selling it at $4, is
    form of high intelligence. At least, making
    your own shoes seems a lot harder.

  209. Re: Total Sense (was: Total Nonsense) by imsabbel · · Score: 1

    yeah, but im not a buying selling type either, but a researcher.
    And i value knowledge higher than redundant skills.

    --
    HI O WISE PRINCE. WHT TOOK U SO DAM LONG?
  210. Re:Empowering citizens etc. (Liberal Arts) by dtiberius · · Score: 1

    Actually, the liberal arts weren't those arts that freed people, they were the arts that were free from physical interactions, that could be done with the mind alone. So painting and sculpture were servile arts, basically crafts that required the use of your hands. Logic, Rhetoric, and Poetry were some of the liberal arts, free from phyisical interaction.