The Biggest Roadblocks To Information Technology Development
ZDOne writes "ZDNet UK has put together a list of some of the biggest obstacles preventing information technology from achieving its true potential, in terms of development and progress. Microsoft's stranglehold on the desktop makes the list, as does the chip-makers' obsession with speed. 'There is more to computing than processor speed -- a point which can be easily proven by comparing a two-year-old PC running Linux with a new PC buckling under the weight of Vista. Shrinking the manufacturing process to enable greater speed has proven essential, but it's running out of magic ... What about smarter ways of tagging data? The semantic web initiative runs along these sorts of lines, so where is the hardware-based equivalent?'"
The simple fact that most people don't have a basic understanding of even the most simple IT tasks. Most people look at a computer and see it as just a box that hums and hisses and produces magical pictures. As long as most people have a largely uneducated view of IT it won't "live up to its potential", whatever that may be. Seriously, think about how much more productive an IT worker could be without having to do the constant virus cleanup and such things which can be, for the most part, easily avoided with just a basic understanding of security. Ignorance is the biggest obstacle
I got a catholic block.
I've said much the same as he did in regards to system speeds. If I optimize my system, I can outperform the latest and greatest my friends have. But I can optimize only so far due to the hardware design. I long back to the old Amiga days, where the core of the system was integrated around the CPU, but still giving the user a completely flexible design. Heck, you can find decades old machines running very modern hardware, due to their innovative design. Ever tried to run a modern video card, soundcard or NIC in a PC from 1989? I've seen Amigas do it. And they did it through being smarter, not faster.
Karma Whoring for Fun and Profit.
Wrong. If you've been paying attention, the computer industry re-invents itself whenever a new medium comes along and all the software gets written all over again.
So people who are in school now, still have some time left.
... as does the chip-makers' obsession with speed. 'There is more to computing than processor speed -- a point which can be easily proven by comparing a two-year-old PC running Linux with a new PC buckling under the weight of Vista. Shrinking the manufacturing process to enable greater speed has proven essential, but it's running out of magicYes, there is more to a processor than raw clock speed. But the article misses a great discussion here and suggests "a better way of tagging data." WTF?
AMD and Intel have already realized that faster clock speeds no longer equates into free performance. The newest processors have cache sizes that were unthought of four years ago. Whether consumers realize it or not, multicore superscalar desktop processors will and have become the norm. These processors have the ability to take advantage of parallelism in programs, which is what the article should have addressed: the slow adoption of desktop processor technologies by large software companies.
While some software, such as 3D renderers and other CPU-intensive applications, take advantage of multiple cores on the same CPU, the vast majority of desktop software still is compiled for a single-issue, single-core CPU. Until we see compilers that are able to take advantage of parallelism in source code, and coding languages that emphasize run-time parallelism and multi-threading become the norm, desktop performance is going to progress pretty slowly.
I'd rather have a machine with slower CPU but with wide, fast busses and smart, fast I/O subsystems, then a machine with a faster CPU but with crappy I/O. Maybe I'm just wierd that way.
In the course of every project, it will become necessary to shoot the scientists and begin production.
This is a pretty well accepted notion and has numerous examples not of where monopolistic powers coincide with stagnation of technology, but examples of where monopolies were busted and things changed shortly thereafter. The most common example of this is when the phone service monopolies were interrupted.
But in most (probably all) states in the US, there is a utility commission that sets the minimum standards for service offerings. Why is this? Clearly, because there is a need to mandate to companies a minimum required level of service. When the utility commissions don't mandate levels of service high enough, we end up with... well, what we see all too often, which are technological "ghettos" where service providers don't want to invest in areas that yield low return. They would rather, if it were up to them, cherry pick only the areas that would yield premium return as it would make sense. But even today, there are too many places where DSL isn't available or more commonly, where fiber service is unavailable.
And all too often we hear about "net neutrality" because the telecoms are complaining that various applications are flooding the internet and threatening to crash it. The answer that they don't want to hear, of course, is that they should be required to scale up their hardware to handle heavier loads. They would rather restrict or impede certain types of service to reduce the bandwidth demand. (Think Comcast)
But beyond communications, when Microsoft or any other company lacks competition, they lose incentive to apply funding to R&D, which directly affects new technologies being developed and released. Microsoft probably doesn't do much R&D. Instead, their strategy seems bent on "buying new things." This makes their R&D budget low and relies on a practice that maintains their monopoly while being parasitic against the rest of the industry. (That is to say when someone comes up with and develops a really good idea, Microsoft is likely to simply buy it... and either suppress it or put their name on it.)
This is a rather "natural" behavior even if it is unhealthy for economies and societies hungry for growth and improvement. Note my assertion that "natural" doesn't mean healthy or good.
IT workers and their know-it-all attitudes.
I agree. The biggest roadblock is the computer geeks themselves. Computer science is controlled by a bunch of aged computer geeks who still have the mentality of Charles Babbage and Lady Ada when it comes to designing and programming computers. Here are some more roadblocks:
Half a Century of Crappy Computing
Parallel Programming, Math and the Curse of the Algorithm
The Age of Crappy Concurrency: Erlang, Tilera, Intel, AMD, IBM, Freescale, etc...
Parallel Computers and the Algorithm: Square Peg vs. Round Hole
Killing the Beast
They may work "good", but don't forget that good is often the enemy of better. How much of the reason we stick to improving old technologies is because of familiarity, inertia in R&D, and lack of imagination? Probably more than we can imagine, which is itself part of the problem.
"Anyone who [rips a CD] is probably engaging in copyright infringement." - David O. Carson
The reason scientific computing requires such huge amounts of processing power is that scientists are writing the code.
... a good friend of mine went to school as a CS, and up to a few months ago before I switched companies, he worked across the hall from me, taking engineer's algorithms and implementing it in code.
I'll grant you that, to a point. I'm a Mechanical/aerospace engineer, I've only had 1 formal course in C++ although I've been programming C++ since I was 12, and BASIC for years before that. I don't consider myself a computer scientist by any means. However, you need to look at the problems we are solving. Regardless of how elegant your code is, you will be pegging a processor for days or even weeks at a time. When you are trying to solve a CFD grid for heat transfer coefficients on something like a missile or Ares, you are going to have multi-million node meshes, integrating several differential equations at each node. Optimize away, your bottleneck is still going to be the processor.
Believe it or not engineers **do** integrate with CS types every now and then
Think about this in other terms. When I push the "power wash" button on my dishwasher, I can reasonably expect to know what is going to happen. When I push the "OK" button on a random dialog I only know that I have caused some action to happen. For almost all of the times where I might have to push an "OK" button I know that what I think is going to happen coincides with what actually happens (oops, excepting any, you know, bugs).
The GP says: The number one problem is all the idiots who are too stubborn/stupid to learn how to use their tools. If these people knew as little about hammers and they do about computers, there wouldn't be a round thumb left in the whole goddamn world. Just because it's a computer doesn't mean you have to turn off your brain. If hammers were as complicated as computers, I suspect that the accident rate in their use would be staggering and there would be no round thumbs left. That and no one standing in front or behind the hammer since the heads tend to fly off in use. In fact people (with access to both) probably know more about how to use their computers than how to hammer a nail. In terms of knowledge, there is just so much more knowledge that is relevant and essential to using a computer than using a hammer.
The advice I would give to someone sitting at an "Ok to continue" prompt varies greatly depending on what I know about what they are doing. That is, not all "OK" buttons are created equal - one could show you pr0n of Natalie Portman while another could wipe your disk of erm... pr0n of Natalie Portman. They could even be the same program!
Now, lets try this with a hammer analogy. So you go buy this hammer because you want to put a thermometer on the tree outside (weather bug anyone?). While securing the thermometer to the tree, your house falls down into a pile of rubble. Your hammer caused it. Wha...?
Yes, people have an obligation to use their brains when using technology, but a general purpose computer is still a complicated high tech instrument and the current generation of tools is not sufficiently advanced to resolve that complexity for the average person. If computers were as simple as hammers to use the issue would be resolved already.
One can always blame the users for the shortcomings of computers or for the shortcomings of programmers or the UI experts. However, one is likely to have an easier time shaping the tools than the users of those tools. All well and good to call them idiots, stupid and stubborn, but they can damn well use a hammer (as well as their TV remote, car, cell phone, etc.) without issues.
The question is how to best resolve that complexity so that it is more like a hammer from craftsman rather than from Acme as it appears now.
Given a choice between a static yet cryptic message and one which will change without notice (and may not even be accurate), which would you choose?
While I know that the /. crowd prefers (as the commercials say "5 to1") wikipedia as a citation, this strikes me as "Lets make a new specialty for psychoanalysts - they can treat only helpdesk technicians.
And ye shall know the truth, and the truth shall make you free.
John 8:32(King James Version)
About the ARM core:
...
Keep in mind, that programs written for ARM tend to be written in low-level languages, to squeeze that last bit of power out of that poor CPU.
Sticking 16 cores on a CPU is not a guarantee for a faster CPU. Four cores is the most Windows can effectively manage (after 8 cores, the increase in power is marginal).
I'm sure Linux can handle those cores more effectively, but Joe Average has no use for them.
I don't think all my 3 Firefox windows, my Outlook and my Word/Excel need their own CPU to run effectively.
The Niagara CPU from Sun is a wonderful piece of multithreading technology.
I'm sure Apache/Bind/Postfix/Oracle/JBoss will run at blazing speeds with all those simultaneous threads,
but it's only useful in servers that have over 25 transactions going a second.
My website does not get that much traffic.
And about Unix/Linux:
You might want to check out the history of UNIX.
It wasn't meant to be big or reliable.
It became popular because it was the cheapest O/S you could stick on your hardware.
It was based on 3 rules:
"Being small and simple is more important than being complete and correct."
"You only have to solve 90% of the problem."
"Everything is a stream of bytes."
More quotes "UNIX Haters Handbook":
Modern Unix1 is a catastrophe. It's the "Un-Operating System": unreliable, unintuitive, unforgiving, unhelpful, and underpowered. Little is more frustrating than trying to force Unix to do something useful and nontrivial.
The original version of Unix sent outside of Bell Labs didn't come on distribution tapes: Dennis Ritchie hand-built each one with a note that said, "Here's your rk05, Love, Dennis." (The rk05 was an early removable 230 System Administration disk pack.) According to Andy Tannenbaum, "If Unix crapped on your rk05, you'd write to Dennis for another.")
Those that have actually read all of the above and enjoyed it need to go to:
http://research.microsoft.com/~daniel/uhh-download.html
(It's free, as in beer)
"I was in love with a beautiful blonde once, dear. She drove me to drink. It's the one thing I am indebted to her for."