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.
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
Well, I for one welcome our sentient computer overlords!
sigh. where are you, ted nelson?
must... stay... awake...
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?
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...
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!"
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.
The Guardian is a newspaper read by British fops. You do the math.
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
I shudder at trying to teach my mother C++ or Java; she struggles even to check her e-mail.
Outdoor digital photography, mostly in New Engl
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.
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)
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!
:) This is simply a case of somebody "telling me what I want to hear" and I love it! :)
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.
Indeed.
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.
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
Not everyone needs to know how to program, but if you want to escape from the matrix you better get learning.
Porn Sites Really Suck though.
----
Real Men Don't X ----
The Geek in Black
I know my BCD's (when I'm Sober)
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
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.
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!
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.
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!
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.
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.
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'
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!
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".
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.
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.
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.
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"
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.
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.
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.
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.
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...
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.
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)
Proceed!
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. :)
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
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:
- We all need access to the source code. If we have that, then anyone who's willing to learn can be a fixer.
- 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.
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.
...and learn how to change your tire safely, jesus.
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.
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
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.
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
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
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
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
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
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
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.
See what I've been reading.
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.
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
Even x86 opcodes are translated to lower-level instructions inside modern CPUs.
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*
I agree with you that the parent post is not a troll... HOWEVER:
.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. :)
.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.
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
I don't know about other universities but ours does NOT teach Visual Basic OR
If you take some time to look at the state of A.I., you would quickly realize that we have nothing to worry about.
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)
Table-ized A.I.
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
My appologies for the repeated paragraph. I did a little hasty cutting and pasting there. ;)
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.
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);}}
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);}}
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.
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
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.
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...
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
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.
http://brandonbloom.name
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?
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.
The University servers run on different flavors of Linux, and a majority of the websites are PHP/MySQL-driven rather than ASP/MSSQL.
You must not be a fan of following links [bakla.net, tubgirl.com, etc] then. :-P
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.
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)
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?
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.
...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!
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).
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.
Dumbasses don't realize this is the Ted Nelson who coined the phrase "hypertext" in 1965. See http://www.w3.org/WhatIs.html
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
Work Safe Porn
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.
.NET) on their own.
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
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.
I read this as precisely the author's point. It's possible to use spend years before a GUI and not know these things.
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.
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
I am just a humble caveman. Your modern user interfaces confuse and frighten me.
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.
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.
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.
See what I've been reading.
I'm sure my experience is typical of most CS students - which is why I don't believe your statements above are true.
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.
``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.'
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).
.NET to those using Java, and you'll see MS still has a ways to go.
Compare the number of schools using
PS - someone should bring back Pascal. Or move up to Oberon. Or Ada.
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:
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.
See what I've been reading.
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.
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.
The coming shift to hexadecimal will only make us closer to the machine's way of thinking, as it should be.
-Libertarian secular transhumanist
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
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?
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.
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.
OH LOOK A CAR
- We can't talk to it
- 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
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.
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.
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?
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.
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.
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.
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.
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.
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.
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.
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...)
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.
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
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.
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.
Bowie J. Poag
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.
"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
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.
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.)
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?
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.
Actually some of the best porno sites work great in lynx. http://www.asstr.org/ for instance.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Friends don't let friends enable ecmascript.
- data
- information
- knowledge
- 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>
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.
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.
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.
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?
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.
You're right! Most of those jobs won't be taken by computers ... they'll be taken by robots. zing!
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
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.
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.
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.]
What gave you the confidence that the guy pumping data into the spreadsheet can't be "replaced by a simple shell script"?
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.
... 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!
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.
Oolite: Elite-like game. For Mac, Linux and Windows
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.
More than mere navel gazing.
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.
Are SCO and Microsoft the plague?
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.
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.
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.
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?
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
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?
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
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."
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
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++)
An oldie but goodie from the Userfriendly comic strip.
"Learning is not compulsory... neither is survival."
--Dr.W.Edwards Deming
When will Windows be ready for the desktop?
quiquid id est, timeo puellas et oscula dantes.
>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.
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
why use Lynx and other text browsers?
When you can use a telnet client instead
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?
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.
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?
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?
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?
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 !
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.
Why does everybody find UserFriendly funny? It's so ... hohum. Hrmf.
"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.
ldr r1,=microsoft_knows_whats_best_for_me
ldr r2,=VRAM
str r1,[r2]
mov r14,pc
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.
While yours is a -1, Offtopic. Ha Ha. .
how many people drive a car and do not know how a combustion engine works ?
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.
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.
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!
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...
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.
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.
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.
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.
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. :)
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.
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. /.--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). :)
Support any standard you want, based on a glance at the RFC!
Unlimited Pirst Fosting on
But I give away my secrets.
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?
What? Hexadecimal is a crutch for pussies who can't handle 1's and 0's.
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.
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?
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!
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.
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...
Now quit chasing me around.
-Libertarian secular transhumanist
Fr1st pr0st j00 |314tch35
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
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!!!
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."
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 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.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.
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.
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.
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.
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.
/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
When you use a search engine, you look at your results, make
"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.
The author is taking his point just a little far, but he's hitting the nail on the head either way.
...) 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.)
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
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.
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.
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?
IIRC, the expression is "You can't polish a turd".
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
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."
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.
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?
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.