Ummm... I'd like to see how you propose we store movies on goat skin.
More seriously, perhaps our goal should be to store our information in such a way that future civilizations, once they're at least as advanced as we are, will be able to read it. We don't really need to be able to see our YouTube videos during the post-apocalyptic nuclear winter or whatever disaster you're envisioning for us, but, after we recover, it would be kind of nice to still have them around:)
You just don't get it. Multithreading is hard and leads to bugs that only exhibit themselves nondeterministically. It is/not/ a good idea to tell all the world's programmers to start writing multithreaded code for everything. People want to stick with the old single-threaded imperative paradigm as much as is possible because the single-threaded imperative paradigm is simple and it works. If the best solutions to the end of single-core improvements were known, there wouldn't be tons of research into it in CS departments across the world right now. We have a problem; everyone knows that. Multithreading might have to be part of the solution, but God help the poor users of the resulting buggy software if it has to be a large part of it.
I like the command line, too, but I'm pretty sure that the UNIX shell utilities can only combined in a countably infinite number of ways. I'm not going to give a bijection to the naturals here to prove this, but since any shell command is of finite length, my intuition says one exists.:)
I'm another Netscape aficionado. I haven't used it in a while, but still have it installed. Like the grandparent poster, version 7.2. After 7.2, they took out the mail and AIM clients, which were the only reasons anyone would want to use it over Firefox. Also, they dropped Mac and Linux support in version 8, though they did bring it back in version 9.
I eventually switched from Netscape 7.2 because it was getting increasingly dated and some serious security issues were starting to surface. Also, when Netscape finally added IMAP support to its webmail service, the advantage of using Netscape Mail over Thunderbird evaporated. I/still/ miss the integrated AIM client, though.:(
The prospect of Comcast automatically running a man-in-the-middle attack on every single encrypted Bittorrent connection is ridiculous. They're doing traffic shaping to try to keep cost down; do you have any idea how much it would cost to upgrade their infrastructure to support such an attack against all their customers? Hint: a lot less than just upgrading their pipes and quitting the filtering.
> Uh... yeah. That is kind of one of the things we're testing for: How quickly can people guess (which, in this context, is just another word for "learn" or "find out") how to do the tasks we think are important?
No, "learn" or "find out" would be looking it up in the manual. Arbitrarily clicking buttons of which you have no idea of the function is guessing.
What you're testing for certainly is how quickly people can guess how to do tasks you think are important. But that's not what you want to be testing for. What you want to test for is how quickly people can guess how to do tasks they think are important. That is where the bias comes in. Also, as I said, a more useful test would be how quickly an experienced user can perform the tasks he thinks are important.
And no, I'm not baiting you. One of the reasons I like OSS is because it doesn't treat me like an idiot and usually makes things easy for the experienced user at the expense of the novice. And, since all (non-idiot) users eventually become experienced, this is a good trade-off: you're sacrificing short-term for long-term gain. I certainly hope and expect that the OpenMoko will follow in the footsteps of its predecessors here.
As far as developers using programs differently than normal users, I really don't know what you're talking about. I am a developer, but I'm not personally involved in the development of most programs I use (even though I could be, and maybe someday will be), and I use the mental model of the program presented to me by the UI, and don't normally make assumptions about the program implementation when using it. Developers, in my experience, don't use programs any differently than experienced users. They tend to get experienced more quickly than non-developers, but I usually chalk that up to a higher median level of computer skill relative to the general population.
> Again, I must attribute that to your lack of experience. I encourage you to sit in on a usability test. Usability tests have more in common with maths and statistics than with psychology. Psychology is involved when you try to figure out why something fails and how to improve it, but actually measuring the change is pure maths. You implement the change, have a control group with the old version of the UI, test a given amount of people with predefined skillsets (measuring error rate and time to completion of given tasks), and you end up with an objective comparison of two (or more) interfaces. Then you look at where the error occured, try to fix them, and iterate.
> Trust me, it's not a social science.
You have the typical social scientist's misunderstanding about what true science really is. It's called the "quantitative fallacy". I believe you when you say that you do a test and get a number out of it. Woopdee-f*ing-doo. Now, what the hell does that number mean? It means the UI with the lower error rate is better? It does? Really?
Of course not. Your error rate just means that out of your sample group (possibility for bias), people were able to more quickly guess how to do the tasks you thought were important (another possibility for bias). Then, you try to use psychology to figure out why the UI that did better was actually better (vigorous handwaving). Human-Computer Interaction, like most psychological disciplines, is at its absolute best a social science; at it's worst, it's a liberal art.
That said, it sounds like your previous phone's UI really did suck, so no wonder the iPhone was a step up for you. It's highly unlikely the iPhone would be a step up from OpenMoko, though. OpenMoko was released to developers ages ago. The developers have been using it. If there's actually a problem with the UI, they'll notice and fix it. And that's why OSS stuff is always so usable (not necessarily intuitive, but usable): the developers work on the stuff because they want to use it; they write it so that they actually can!
OpenMoko's not going to be able to compete with the Apple marketing machine, no doubt, but it's certainly going to be a better and more usable phone. Not in that it would win a "who can change the time fastest" contest, but in that it would be a better tool for someone who bought it to use long-term. Hell, with the iPhone, you have to dump the thing when the battery loses charge...
> Oh, yeah, they're perfectly usable, of course. I was able to enter appointments in my P990i, too, it's just that it drove me insane while I was doing so.
I looked up the P990i; it seems to be a fairly standard Symbian OS smartphone. If it caused you mental problems, switching away from it probably only hid the issue; you may wish to seek help.;-)
> This is so wrong that it is absurd to me that anyone could ever even say something like this. I have no idea how to respond; it's like trying to respond to somebody who claims that the moon is made of cheese. Sure, it looks like that from here, but... really? You do believe that?
Yes, I don't think that iPhones, iPods, or the Mac UI (the OS is a decent Unix) is all that great, and I generally attribute assertions to the contrary to fanboism or Apple's advertising campaigns (or both).
> By which you mean that it doesn't cram the screen full of crap I'm going to use once in a blue moon, thereby making the things I actually do use harder to use.
I don't have any complaints with Apple's use of screen real estate on the iPhone, really, except that I really like my devices to have hardware keyboards, and, since the iPhone doesn't, I'd need to use an on-screen keyboard all the time, and that would waste screen space.
> That is wrong. I majored in computer science, but my minor was in "work studies" (not sure what it's called in English - it's basically ergonomics and usability and workplace design and things like this). I now work as an interface designer, and I regularly do usability tests. Believe me, "intuitiveness" (which roughly translates to "how well can people use an interface if they've never seen it before") can be measured perfectly well.
What you're probably thinking of is called "human-computer interaction" in English. To be honest, I generally don't hold the subfield in very high regard; it's too much of a social science, and therefore lacks rigor. I doubt I'd agree with you that measuring intuitiveness absolutely is easy -- there's too much bias -- but I didn't say intuitiveness, I said usability. Intuitiveness doesn't have much to do with usability, because once you learn how to use something, you remember, so it matters much more for something like a phone whether it is able to be efficiently used after you learn how to use it. I really don't think anyone is going to care if it takes 30 seconds versus 10 seconds to learn how to change the time on the OpenMoko versus the iPhone.
Well, I take that back; a few people might, but most who think won't, and most who don't think will just buy the iPhone because it was on TV. It's like vi versus pico: sure, pico is more "intuitive", because it tells you all the commands at the bottom of the screen, constantly. But, I'd much rather use vi, because I know how to use vi, and vi makes better use of the screen by not cluttering it up with a permanent help system, and its (unintuitive) modal nature means I can manipulate large chunks of text with it easily. vi has one of the best user interfaces on the planet, imo, but I won't argue with you that pico is a more intuitive editor.
Other phones are perfectly useable, and I'm sure the OpenMoko and Android phones will be as well. There's nothing special about iPhone usability, either; the interface doesn't make particularly good use of screen real estate, and "intuitiveness" is so subjective it's not even worth arguing about.
Yes there are. The iPhone isn't actually that great. If you don't care about OSS and just want "web browsing and phone", tons of stuff will work fine; if you want infinite customizability, then the Developer edition of OpenMoko might suit you, or (my personal solution) a cheapo cell phone + Zaurus.
*yawn*, I respond to the rooftop-shouters with bigger voices than cerebrums every time this comes up as well.
It's not hard for people to understand. You're just wrong. And, in one breath, you confuse two issues: drivers and applications. I'll address each issue in turn.
Regarding drivers: you're not wrong that people want "absolute" compatibility. Of course they do. Most also want world peace. They're not going to get either of those things.
When you restrict the comparison to typical "consumer" hardware, Windows and Linux are pretty much equal in terms of hardware compatibility these days. Linux, of course, has long blown Windows out of the water when it comes to esoteric hardware, but that's not really at issue. Sometimes you'll find that an old printer won't work with a new Windows version. Sometimes you'll find you need to click through a proprietary driver warning box to get a new graphics card to be accelerated in Linux, or download something off of Sourceforge. Whatever. Linux doesn't really have any serious driver problems anymore; they even finally got the infamous Creative X-Fi card all the audiophiles were whining about working in Linux.
Regarding applications: applications *ARE NOT* everything. Workflow is everything. Workflow encompasses the operating system, the applications, how the applications work with each other, and how the operating system and applications work with the network and everything else. If you want to compare two operating systems, compare the types of workflows they support, not the individual applications.
If you sit people down in front of a Linux machine and they have to use Firefox instead of IE, most won't even blink. If they find OpenOffice.org instead of M$ Office, some will complain, some won't mind, and some won't notice. That's because the browsers work pretty much the same, but Office supports a type of workflow that OOo doesn't replicate quite precisely -- the menus are different, etc. It turns out that, if you're advanced enough, the Linux workflow is hands-down better. Once you get to shell scripting, there's pretty much nothing Windows can do to match it. But I digress.
People do want to be able to buy any hardware box from Best Buy and install it; they have that pretty well in both Windows and Linux now. You're wrong about people wanting to buy any software box from Best Buy and install it. That's not what people want; it's just what they think they want.
What people really want to do is to easily obtain software to support the type of workflow they want. It happens that the less technically sophisticated people only know how to do that by going to Best Buy and buying things, but, once you show someone Synaptic and reassure him that it's legal to install stuff from there, and that yes, it's free -- he's a very pleased new Linux user.
Linux is technically where it needs to be for it to become the dominant desktop operating system now. It could be better, and it is getting better, but anything can always get better. Still, the only thing holding it back now is inertia. So, what we're in for in the near future is more of the same -- periodic articles in the mainstream press when someone new discovers how wonderful we are, a slowly but steadily increasing desktop market share, and half-witted Slashdot pundits with naive and misguided criticisms.
> laptops are very proprietary and a lot of their functionality is lost when they run 'nix.
That used to be true, but laptops have gotten a lot more standardized in the past 5 years. I'm able to run Slackware on my HP Pavilion zv6000 and everything works (including suspend/resume), except that I've disabled 3D acceleration for my graphics card because it saves power (I did have it working at one time, though).
I think that, today, about the only problems you might have with Linux on laptops are with 3D acceleration on ATI cards (but that's getting better now that AMD owns ATI, as has been widely reported) and (if, like me, you don't like to use ndiswrapper,) with wireless support. And, well, okay -- if you actually still care about modem support, you might have to buy or pirate Linuxant's proprietary modem driver. But, Linux in general works pretty much fine on laptops these days.
18-year-olds are not children in any sense. They can enter into non-voidable contracts, vote, and be drafted. Just because they can't drink alcohol or run for President doesn't mean they're in any sense minors.
> Its straightforward design allows for the Virtual Machine to automatically adapt to memory, processors, and optimize away sections of code at runtime in ways that a static compiler will never be able to match.
Well, that may be, but those optimizations don't make up for the overhead of having a virtual machine in the first place. So, Java is still slower than C or C++ for any real-world task.
First off, let me say that I don't give a rat's ass whether you think I'd be a good parent.
I agree that children need to be educated, and that they don't need to be insulated. That's why I think it's a good thing for society that it's pretty much impossible to cut children off from computers. Computers are an important tool children can use to educate themselves, especially given the tremendous rise of sites like Wikipedia.
The proper thing for parents to be doing is to educate their children about the risks associated with meeting people from the Internet. That parents are unable to cut their children off from computers, even if they want to do so, is in my opinion a good thing. Computers have too many important educational uses for it to be wise for us to deny the next generation access to them while they are young, and, if a parent realizes he doesn't have the power simply to deny access, he might instead try to reason with the child.
> But we no longer expect all computer science students to be able to wire up NAND gates from discrete valves or transistors.
At U.T., all computer science students are required to take EE316. This class did, in fact, teach me how to wire NAND gates from discrete transistors, and I'm glad I learned how to do that.
You're confusing the reason many (you claim most) people want a degree with what a degree represents.
You are correct that if it weren't necessary to go to college to get most high-paying jobs, most people would not go to college. Enrollment in Ph. D. programs is low precisely because most people are motivated more by money than by intellectual curiosity.
But, people's motivations for wanting a degree doesn't change what a degree represents. A Bachelor's degree represents a well-rounded education with a focus on a specific science or art (the major area). A Master's degree represents a thorough knowledge of a field (a mastery of it, actually), and a Ph. D. represents a proven ability to push back the frontier of humanity's knowledge in a specific area of study.
If employers want people with only a specific technical skill, then they should hire those with associates' degrees, because that's why that degree level exists. The solution is not to change what the higher-level academic degrees mean, because a well-rounded education is beneficial for many types of work. To put it in business language, being well-rounded lets one better "think outside the box".
Now, applying this to computer science in particular: I agree with the grandparent that focusing a bachelor-level curriculum around the language of the day is a bad idea. CS undergraduates should be taught a wide range of languages, including representatives from each of the imperative, functional, and declarative paradigms. This gives students a broad knowledge of the computer science field. Employers often want to hire people with a broad knowledge of computer science because those with a broad knowledge of computer science are needed for several types of jobs, but, even if industry demand for CS bachelor's degree-holding individuals declined, it would only mean that fewer people would likely want to pursue the degree, not that the degree has not done its job. Teaching specific vocational skills is the job of vocational schools, not universities.
http://www.usatoday.com/money/jobcenter/workplace/employmentlaw/2002-12-18-criminal-record_x.htm
http://www.legal.uillinois.edu/faq/supervisor.html
http://www.poeknows.com/faq.html
You will need to provide more than a mere assertion for me to believe you.
You're not going to be denied employment simply because you were arrested. Convicted is another matter.
Cool. If that happens, what will its name be? I'll be Googling / searching Sourceforge for it :)
What framework is that? Is it cross-platform and/or OSS? I might want to use it.
Ummm ... I'd like to see how you propose we store movies on goat skin.
:)
More seriously, perhaps our goal should be to store our information in such a way that future civilizations, once they're at least as advanced as we are, will be able to read it. We don't really need to be able to see our YouTube videos during the post-apocalyptic nuclear winter or whatever disaster you're envisioning for us, but, after we recover, it would be kind of nice to still have them around
You just don't get it. Multithreading is hard and leads to bugs that only exhibit themselves nondeterministically. It is /not/ a good idea to tell all the world's programmers to start writing multithreaded code for everything. People want to stick with the old single-threaded imperative paradigm as much as is possible because the single-threaded imperative paradigm is simple and it works. If the best solutions to the end of single-core improvements were known, there wouldn't be tons of research into it in CS departments across the world right now. We have a problem; everyone knows that. Multithreading might have to be part of the solution, but God help the poor users of the resulting buggy software if it has to be a large part of it.
I like the command line, too, but I'm pretty sure that the UNIX shell utilities can only combined in a countably infinite number of ways. I'm not going to give a bijection to the naturals here to prove this, but since any shell command is of finite length, my intuition says one exists. :)
You're confusing patents with copyrights.
I'm another Netscape aficionado. I haven't used it in a while, but still have it installed. Like the grandparent poster, version 7.2. After 7.2, they took out the mail and AIM clients, which were the only reasons anyone would want to use it over Firefox. Also, they dropped Mac and Linux support in version 8, though they did bring it back in version 9.
/still/ miss the integrated AIM client, though. :(
I eventually switched from Netscape 7.2 because it was getting increasingly dated and some serious security issues were starting to surface. Also, when Netscape finally added IMAP support to its webmail service, the advantage of using Netscape Mail over Thunderbird evaporated. I
woops, should preview next time. That should be "a lot more than just upgrading their pipes and quitting the filtering."
The prospect of Comcast automatically running a man-in-the-middle attack on every single encrypted Bittorrent connection is ridiculous. They're doing traffic shaping to try to keep cost down; do you have any idea how much it would cost to upgrade their infrastructure to support such an attack against all their customers? Hint: a lot less than just upgrading their pipes and quitting the filtering.
> Uh... yeah. That is kind of one of the things we're testing for: How quickly can people guess (which, in this context, is just another word for "learn" or "find out") how to do the tasks we think are important?
No, "learn" or "find out" would be looking it up in the manual. Arbitrarily clicking buttons of which you have no idea of the function is guessing.
What you're testing for certainly is how quickly people can guess how to do tasks you think are important. But that's not what you want to be testing for. What you want to test for is how quickly people can guess how to do tasks they think are important. That is where the bias comes in. Also, as I said, a more useful test would be how quickly an experienced user can perform the tasks he thinks are important.
And no, I'm not baiting you. One of the reasons I like OSS is because it doesn't treat me like an idiot and usually makes things easy for the experienced user at the expense of the novice. And, since all (non-idiot) users eventually become experienced, this is a good trade-off: you're sacrificing short-term for long-term gain. I certainly hope and expect that the OpenMoko will follow in the footsteps of its predecessors here.
As far as developers using programs differently than normal users, I really don't know what you're talking about. I am a developer, but I'm not personally involved in the development of most programs I use (even though I could be, and maybe someday will be), and I use the mental model of the program presented to me by the UI, and don't normally make assumptions about the program implementation when using it. Developers, in my experience, don't use programs any differently than experienced users. They tend to get experienced more quickly than non-developers, but I usually chalk that up to a higher median level of computer skill relative to the general population.
> Again, I must attribute that to your lack of experience. I encourage you to sit in on a usability test. Usability tests have more in common with maths and statistics than with psychology. Psychology is involved when you try to figure out why something fails and how to improve it, but actually measuring the change is pure maths. You implement the change, have a control group with the old version of the UI, test a given amount of people with predefined skillsets (measuring error rate and time to completion of given tasks), and you end up with an objective comparison of two (or more) interfaces. Then you look at where the error occured, try to fix them, and iterate.
> Trust me, it's not a social science.
You have the typical social scientist's misunderstanding about what true science really is. It's called the "quantitative fallacy". I believe you when you say that you do a test and get a number out of it. Woopdee-f*ing-doo. Now, what the hell does that number mean? It means the UI with the lower error rate is better? It does? Really?
Of course not. Your error rate just means that out of your sample group (possibility for bias), people were able to more quickly guess how to do the tasks you thought were important (another possibility for bias). Then, you try to use psychology to figure out why the UI that did better was actually better (vigorous handwaving). Human-Computer Interaction, like most psychological disciplines, is at its absolute best a social science; at it's worst, it's a liberal art.
That said, it sounds like your previous phone's UI really did suck, so no wonder the iPhone was a step up for you. It's highly unlikely the iPhone would be a step up from OpenMoko, though. OpenMoko was released to developers ages ago. The developers have been using it. If there's actually a problem with the UI, they'll notice and fix it. And that's why OSS stuff is always so usable (not necessarily intuitive, but usable): the developers work on the stuff because they want to use it; they write it so that they actually can!
OpenMoko's not going to be able to compete with the Apple marketing machine, no doubt, but it's certainly going to be a better and more usable phone. Not in that it would win a "who can change the time fastest" contest, but in that it would be a better tool for someone who bought it to use long-term. Hell, with the iPhone, you have to dump the thing when the battery loses charge...
> Oh, yeah, they're perfectly usable, of course. I was able to enter appointments in my P990i, too, it's just that it drove me insane while I was doing so.
;-)
I looked up the P990i; it seems to be a fairly standard Symbian OS smartphone. If it caused you mental problems, switching away from it probably only hid the issue; you may wish to seek help.
> This is so wrong that it is absurd to me that anyone could ever even say something like this. I have no idea how to respond; it's like trying to respond to somebody who claims that the moon is made of cheese. Sure, it looks like that from here, but... really? You do believe that?
Yes, I don't think that iPhones, iPods, or the Mac UI (the OS is a decent Unix) is all that great, and I generally attribute assertions to the contrary to fanboism or Apple's advertising campaigns (or both).
> By which you mean that it doesn't cram the screen full of crap I'm going to use once in a blue moon, thereby making the things I actually do use harder to use.
I don't have any complaints with Apple's use of screen real estate on the iPhone, really, except that I really like my devices to have hardware keyboards, and, since the iPhone doesn't, I'd need to use an on-screen keyboard all the time, and that would waste screen space.
> That is wrong. I majored in computer science, but my minor was in "work studies" (not sure what it's called in English - it's basically ergonomics and usability and workplace design and things like this). I now work as an interface designer, and I regularly do usability tests. Believe me, "intuitiveness" (which roughly translates to "how well can people use an interface if they've never seen it before") can be measured perfectly well.
What you're probably thinking of is called "human-computer interaction" in English. To be honest, I generally don't hold the subfield in very high regard; it's too much of a social science, and therefore lacks rigor. I doubt I'd agree with you that measuring intuitiveness absolutely is easy -- there's too much bias -- but I didn't say intuitiveness, I said usability. Intuitiveness doesn't have much to do with usability, because once you learn how to use something, you remember, so it matters much more for something like a phone whether it is able to be efficiently used after you learn how to use it. I really don't think anyone is going to care if it takes 30 seconds versus 10 seconds to learn how to change the time on the OpenMoko versus the iPhone.
Well, I take that back; a few people might, but most who think won't, and most who don't think will just buy the iPhone because it was on TV. It's like vi versus pico: sure, pico is more "intuitive", because it tells you all the commands at the bottom of the screen, constantly. But, I'd much rather use vi, because I know how to use vi, and vi makes better use of the screen by not cluttering it up with a permanent help system, and its (unintuitive) modal nature means I can manipulate large chunks of text with it easily. vi has one of the best user interfaces on the planet, imo, but I won't argue with you that pico is a more intuitive editor.
Other phones are perfectly useable, and I'm sure the OpenMoko and Android phones will be as well. There's nothing special about iPhone usability, either; the interface doesn't make particularly good use of screen real estate, and "intuitiveness" is so subjective it's not even worth arguing about.
Yes there are. The iPhone isn't actually that great. If you don't care about OSS and just want "web browsing and phone", tons of stuff will work fine; if you want infinite customizability, then the Developer edition of OpenMoko might suit you, or (my personal solution) a cheapo cell phone + Zaurus.
*yawn*, I respond to the rooftop-shouters with bigger voices than cerebrums every time this comes up as well.
It's not hard for people to understand. You're just wrong. And, in one breath, you confuse two issues: drivers and applications. I'll address each issue in turn.
Regarding drivers: you're not wrong that people want "absolute" compatibility. Of course they do. Most also want world peace. They're not going to get either of those things.
When you restrict the comparison to typical "consumer" hardware, Windows and Linux are pretty much equal in terms of hardware compatibility these days. Linux, of course, has long blown Windows out of the water when it comes to esoteric hardware, but that's not really at issue. Sometimes you'll find that an old printer won't work with a new Windows version. Sometimes you'll find you need to click through a proprietary driver warning box to get a new graphics card to be accelerated in Linux, or download something off of Sourceforge. Whatever. Linux doesn't really have any serious driver problems anymore; they even finally got the infamous Creative X-Fi card all the audiophiles were whining about working in Linux.
Regarding applications: applications *ARE NOT* everything. Workflow is everything. Workflow encompasses the operating system, the applications, how the applications work with each other, and how the operating system and applications work with the network and everything else. If you want to compare two operating systems, compare the types of workflows they support, not the individual applications.
If you sit people down in front of a Linux machine and they have to use Firefox instead of IE, most won't even blink. If they find OpenOffice.org instead of M$ Office, some will complain, some won't mind, and some won't notice. That's because the browsers work pretty much the same, but Office supports a type of workflow that OOo doesn't replicate quite precisely -- the menus are different, etc. It turns out that, if you're advanced enough, the Linux workflow is hands-down better. Once you get to shell scripting, there's pretty much nothing Windows can do to match it. But I digress.
People do want to be able to buy any hardware box from Best Buy and install it; they have that pretty well in both Windows and Linux now. You're wrong about people wanting to buy any software box from Best Buy and install it. That's not what people want; it's just what they think they want.
What people really want to do is to easily obtain software to support the type of workflow they want. It happens that the less technically sophisticated people only know how to do that by going to Best Buy and buying things, but, once you show someone Synaptic and reassure him that it's legal to install stuff from there, and that yes, it's free -- he's a very pleased new Linux user.
Linux is technically where it needs to be for it to become the dominant desktop operating system now. It could be better, and it is getting better, but anything can always get better. Still, the only thing holding it back now is inertia. So, what we're in for in the near future is more of the same -- periodic articles in the mainstream press when someone new discovers how wonderful we are, a slowly but steadily increasing desktop market share, and half-witted Slashdot pundits with naive and misguided criticisms.
Actually, that sounds kind of cool. I'll bet someone's going to write that now.
> laptops are very proprietary and a lot of their functionality is lost when they run 'nix.
That used to be true, but laptops have gotten a lot more standardized in the past 5 years. I'm able to run Slackware on my HP Pavilion zv6000 and everything works (including suspend/resume), except that I've disabled 3D acceleration for my graphics card because it saves power (I did have it working at one time, though).
I think that, today, about the only problems you might have with Linux on laptops are with 3D acceleration on ATI cards (but that's getting better now that AMD owns ATI, as has been widely reported) and (if, like me, you don't like to use ndiswrapper,) with wireless support. And, well, okay -- if you actually still care about modem support, you might have to buy or pirate Linuxant's proprietary modem driver. But, Linux in general works pretty much fine on laptops these days.
18-year-olds are not children in any sense. They can enter into non-voidable contracts, vote, and be drafted. Just because they can't drink alcohol or run for President doesn't mean they're in any sense minors.
> Its straightforward design allows for the Virtual Machine to automatically adapt to memory, processors, and optimize away sections of code at runtime in ways that a static compiler will never be able to match.
Well, that may be, but those optimizations don't make up for the overhead of having a virtual machine in the first place. So, Java is still slower than C or C++ for any real-world task.
First off, let me say that I don't give a rat's ass whether you think I'd be a good parent.
I agree that children need to be educated, and that they don't need to be insulated. That's why I think it's a good thing for society that it's pretty much impossible to cut children off from computers. Computers are an important tool children can use to educate themselves, especially given the tremendous rise of sites like Wikipedia.
The proper thing for parents to be doing is to educate their children about the risks associated with meeting people from the Internet. That parents are unable to cut their children off from computers, even if they want to do so, is in my opinion a good thing. Computers have too many important educational uses for it to be wise for us to deny the next generation access to them while they are young, and, if a parent realizes he doesn't have the power simply to deny access, he might instead try to reason with the child.
Given the presence of computers at schools, libraries, friends' houses, workplaces, and even some restaurants...
yes, cutting off a child's access to computers is pretty much impossible.
I'd argue that that's probably a good thing for society.
> But we no longer expect all computer science students to be able to wire up NAND gates from discrete valves or transistors.
At U.T., all computer science students are required to take EE316. This class did, in fact, teach me how to wire NAND gates from discrete transistors, and I'm glad I learned how to do that.
You're confusing the reason many (you claim most) people want a degree with what a degree represents.
You are correct that if it weren't necessary to go to college to get most high-paying jobs, most people would not go to college. Enrollment in Ph. D. programs is low precisely because most people are motivated more by money than by intellectual curiosity.
But, people's motivations for wanting a degree doesn't change what a degree represents. A Bachelor's degree represents a well-rounded education with a focus on a specific science or art (the major area). A Master's degree represents a thorough knowledge of a field (a mastery of it, actually), and a Ph. D. represents a proven ability to push back the frontier of humanity's knowledge in a specific area of study.
If employers want people with only a specific technical skill, then they should hire those with associates' degrees, because that's why that degree level exists. The solution is not to change what the higher-level academic degrees mean, because a well-rounded education is beneficial for many types of work. To put it in business language, being well-rounded lets one better "think outside the box".
Now, applying this to computer science in particular: I agree with the grandparent that focusing a bachelor-level curriculum around the language of the day is a bad idea. CS undergraduates should be taught a wide range of languages, including representatives from each of the imperative, functional, and declarative paradigms. This gives students a broad knowledge of the computer science field. Employers often want to hire people with a broad knowledge of computer science because those with a broad knowledge of computer science are needed for several types of jobs, but, even if industry demand for CS bachelor's degree-holding individuals declined, it would only mean that fewer people would likely want to pursue the degree, not that the degree has not done its job. Teaching specific vocational skills is the job of vocational schools, not universities.