I think your basically right on the money. Here's why.
First, I think the fundamental problem with sustained software development is that we are constantly coding ourselves out of a living. Well architected and well-written code can be re-used indefinitely.
Software is unlike any other product in that the manufacturing stage is trivial. Furthermore, it might mis-perform, but it never rusts, fatigues or wears out. That is, once you buy it, you don't need to replace it unless your NEEDS change.
So far increased hardware capabilities and new adopters have fueled growth in IT. We buy new versions of Word because of new features and capabilities, not because the old copy wore out (though Microsoft is trying to change that:-)
Once we become GOOD software people and write truly reusable/maintainable code, our necessity diminishes. We must move on to the next job and each time we diminish because our products if done correctly can live indefinitely in future software versions. It is work complete and FOREVER.
Of course these are LARGE corporations we work for who can justify spending a salary on custom applications. That does not translate into small business where "off-the-shelf" is the rule. Simply put, small business doesn't have the resources for custom development since inception and implementation just plain COSTS TOO MUCH.
I think that the same thing that's screwing us in large business will enable us in small business. The re-usability of components and RAD tools/techniques that make a developer WAY more productive. We'll be like those custom motorcyle builders (watch American Chopper on Discovery, it's cool) who take mostly off-the-shelf components, put it together, paint it up and make something purely unique and tailored to the customer.
We're finally finding softare development models that are yielding results in modularized/standardized components.
Ummm... have you ever signed a intellectual property rights agreemant. Well, most large companies have them, here's what they basically say...
1) Declare any invention/patent's you already have, otherwise we have the right to take them. 2) Any invention you make while working for us belongs to us if we want it to. Even if it's non-business related. 3) Anything you invent for xxx (6-12 months) period after you leave our employ belongs to us if it pertains to our business. 4) You can't go work for our competitors.
This is the basic jist. I don't know if you've actually done this before. If you have, they didn't have good lawyers.
Einstein wasn't concerned with transmission of information. He was concerned with transmission of energy, matter and gravity.
Einstein never gave quantum mechanics it's due. His saying was "God does not place dice". Einstein firmly believed in a stable deterministic reality. Well, it's very plain and obvious now that god DOES play dice and not just on a sub-atomic scale.
Relativity does not preclude quantum entanglement from the simple fact that relativity does not consider quantum phenomenon. Basically, no transmission is involved, they're simply trying to take advantage of a little quirk in the universe to communicate WITHOUT transmission.
BTW, we are also finding out now that the law of relativity in incomplete. Some researchers have developed ways of pushing light through select mediums at FASTER than the speed of light. They haven't explained the physics yet, they just observed (and replicated) the phenomenon.
It doesn't seem to make sense or rekon with our Einsteinian physics. However, once upon a time the notion of light having constant speed regardless of frame of reference was absoluetly maddening. Newton did not describe this, how could Newton be wrong?? Obviously he wasn't, Einstein's equations reduce to Newton when your in the same frame of reference. I presume that when the physics are discovered to explain super-c light, that they'll reduce to Einstein.
I'm not sure they've explained exactly how to turn the quantum-entanglement into a communications device. In order to "observe" an entangled state you must "touch" it in some way. Doesn't this break the entanglement?
It seems to me that a terrestrial "quantum telegraph" would be a practical first step. Not only that, it would probably be VERY, VERY profitable wireless transmisionless satellite free, comm nodes. Come to think of it... the miliatary would love this as it would make cypher obsolete. Not only that, but submarines could communicate with HQ without having to approach the surface, AND unlike now... they could talk back without being detected.
So far DDR400 has sucked largely because it does not have good harmonics with 266Mhz front side bus speeds. Bad harmonics between memory speed and FSB speed leads to wasted time on both sides of the connection as the clock speeds just don't sync well.
A 400Mhz FSB on athlon will make a DDR400 useful and effective on Athlon based machines.
In case you missed it Computer Science is mostly concerned with software and largely couldn't give a rip about the hardware. The hardware is incidental incidental. That's what comilers are for.
Secondly, if you knew anything about code optimization, you would also know that most programs display the 90/10 rule. That is 90% of execution is performed inside of 10% of the code.
The key is: 1) making sure the code is correct and getting it built. Otherwise #2 doesn't matter. 2) Identifying the relevant 10% and optimizing by either using efficient data structures and algorithms or careful inspection and elimination of redundant/unecessary steps.
Furthermore, the actual SIZE of code doesn't really affect CPU performance. Larger code makes more demand on primary and secondary memory. It's the OS's job to sort out which bits of code to keep closest to the CPU (in L2 cache, primary RAM or swap-file).
I think you need to educate yourself as to what Computer Science IS. OR, re-direct your comments towards the Computer Electronics Engineers community. These are the guys who develop CPUs and other computer components, not CS guys.
For a final exercise... I invite you to write a web browser straight in x86 assembly in the efficient manner as you proscribe. Then... port it to PowerPC and personally witness the beauty of high-level languages like C++, Java and C# (VB excluded it is "high", but not in the right way:-).
The solution is for ISPs to start billing by bandwidth used, or the number of emails sent. Block out other ISPs or nodes who don't conform to the policy.
In this way, high bandwidth customers PAY for the bandwidth they use. In this way spamming activity would have to cost efficient and all those idiots emailing you for opportunities in Cameroon condos would quickly lose their money without adaquete returns on such nonsense.
What, no Windows 3.1 community ;-)
I think your basically right on the money. Here's why.
:-)
First, I think the fundamental problem with sustained software development is that we are constantly coding ourselves out of a living. Well architected and well-written code can be re-used indefinitely.
Software is unlike any other product in that the manufacturing stage is trivial. Furthermore, it might mis-perform, but it never rusts, fatigues or wears out. That is, once you buy it, you don't need to replace it unless your NEEDS change.
So far increased hardware capabilities and new adopters have fueled growth in IT. We buy new versions of Word because of new features and capabilities, not because the old copy wore out (though Microsoft is trying to change that
Once we become GOOD software people and write truly reusable/maintainable code, our necessity diminishes. We must move on to the next job and each time we diminish because our products if done correctly can live indefinitely in future software versions. It is work complete and FOREVER.
Of course these are LARGE corporations we work for who can justify spending a salary on custom applications. That does not translate into small business where "off-the-shelf" is the rule. Simply put, small business doesn't have the resources for custom development since inception and implementation just plain COSTS TOO MUCH.
I think that the same thing that's screwing us in large business will enable us in small business. The re-usability of components and RAD tools/techniques that make a developer WAY more productive. We'll be like those custom motorcyle builders (watch American Chopper on Discovery, it's cool) who take mostly off-the-shelf components, put it together, paint it up and make something purely unique and tailored to the customer.
We're finally finding softare development models that are yielding results in modularized/standardized components.
Ummm... have you ever signed a intellectual property rights agreemant. Well, most large companies have them, here's what they basically say ...
1) Declare any invention/patent's you already have, otherwise we have the right to take them.
2) Any invention you make while working for us belongs to us if we want it to. Even if it's non-business related.
3) Anything you invent for xxx (6-12 months) period after you leave our employ belongs to us if it pertains to our business.
4) You can't go work for our competitors.
This is the basic jist. I don't know if you've actually done this before. If you have, they didn't have good lawyers.
Remember,
Einstein wasn't concerned with transmission of information. He was concerned with transmission of energy, matter and gravity.
Einstein never gave quantum mechanics it's due. His saying was "God does not place dice". Einstein firmly believed in a stable deterministic reality. Well, it's very plain and obvious now that god DOES play dice and not just on a sub-atomic scale.
Relativity does not preclude quantum entanglement from the simple fact that relativity does not consider quantum phenomenon. Basically, no transmission is involved, they're simply trying to take advantage of a little quirk in the universe to communicate WITHOUT transmission.
BTW, we are also finding out now that the law of relativity in incomplete. Some researchers have developed ways of pushing light through select mediums at FASTER than the speed of light. They haven't explained the physics yet, they just observed (and replicated) the phenomenon.
It doesn't seem to make sense or rekon with our Einsteinian physics. However, once upon a time the notion of light having constant speed regardless of frame of reference was absoluetly maddening. Newton did not describe this, how could Newton be wrong?? Obviously he wasn't, Einstein's equations reduce to Newton when your in the same frame of reference. I presume that when the physics are discovered to explain super-c light, that they'll reduce to Einstein.
I'm not sure they've explained exactly how to turn the quantum-entanglement into a communications device. In order to "observe" an entangled state you must "touch" it in some way. Doesn't this break the entanglement?
... the miliatary would love this as it would make cypher obsolete. Not only that, but submarines could communicate with HQ without having to approach the surface, AND unlike now ... they could talk back without being detected.
It seems to me that a terrestrial "quantum telegraph" would be a practical first step. Not only that, it would probably be VERY, VERY profitable wireless transmisionless satellite free, comm nodes. Come to think of it
So far DDR400 has sucked largely because it does not have good harmonics with 266Mhz front side bus speeds. Bad harmonics between memory speed and FSB speed leads to wasted time on both sides of the connection as the clock speeds just don't sync well.
A 400Mhz FSB on athlon will make a DDR400 useful and effective on Athlon based machines.
Ummm,
... I invite you to write a web browser straight in x86 assembly in the efficient manner as you proscribe. Then ... port it to PowerPC and personally witness the beauty of high-level languages like C++, Java and C# (VB excluded it is "high", but not in the right way :-).
In case you missed it Computer Science is mostly concerned with software and largely couldn't give a rip about the hardware. The hardware is incidental incidental. That's what comilers are for.
Secondly, if you knew anything about code optimization, you would also know that most programs display the 90/10 rule. That is 90% of execution is performed inside of 10% of the code.
The key is:
1) making sure the code is correct and getting it built. Otherwise #2 doesn't matter.
2) Identifying the relevant 10% and optimizing by either using efficient data structures and algorithms or careful inspection and elimination of redundant/unecessary steps.
Furthermore, the actual SIZE of code doesn't really affect CPU performance. Larger code makes more demand on primary and secondary memory. It's the OS's job to sort out which bits of code to keep closest to the CPU (in L2 cache, primary RAM or swap-file).
I think you need to educate yourself as to what Computer Science IS. OR, re-direct your comments towards the Computer Electronics Engineers community. These are the guys who develop CPUs and other computer components, not CS guys.
For a final exercise
The solution is for ISPs to start billing by bandwidth used, or the number of emails sent. Block out other ISPs or nodes who don't conform to the policy.
In this way, high bandwidth customers PAY for the bandwidth they use. In this way spamming activity would have to cost efficient and all those idiots emailing you for opportunities in Cameroon condos would quickly lose their money without adaquete returns on such nonsense.