In The Decline and Fall of the American Programmer he predicted Japan would overtake the United States in software development due to their use of CASE tools and zero defect tolerance culture.
In The Rise and Resurrection of the American Programmer (which of course came later), Yourdon fessed up that his prediction was wrong. He attributed this to users being willing to put up with buggy software if they have benefit from new features.
Kind of bookend observations about our profession.
Intel wins by public perception they are the de facto PC processor, but AMD must be smiling. There's no reason Apple can't just add or even switch to AMD processors when convienent.
Apple is starting its own life struggle, naked arm wrestling with Microsoft for control of Intel-based PCs.
I look for Apple to initially put in some proprietary hardware that their OS will detect and use at boot/runtime. This will make their hardware look "better" than vanilla PC hardware, but also make their software run on same vanilla PC hardware.
I suspect migration of Windows PCs to Apple OS will be downplayed for the first year, then in 2008 expect "compatibility kits" to be offered by Apple, free if you buy/have bought an OS license from them.
For its part, Microsoft will start sabotaging its implementation of Apple protocols and destroy interoperability between Windows and Mac platforms.
Intel smiles now, but this is another kick in the groin for their 64-bit processor. Another industry leader is moving to 32-bit x86. Don't expect another processor architecture shift from Apple anytime soon.
AMD laughs on the sidelines, expect Apple servers with AMD processors in 2008.
My trusty old 2 megapixel Nikon Coolpix can scan slides at lightning speed using a slide holder attachment that sits on top of the lens. The close focusing ability of this digicam makes it a great slide scanner.
Then its just a matter of taking the CompactFlash card out of the camera and into your Linux box's card reader.
I don't see anyone considering national security implications when outsourcing. There are groups interested in privacy, since tax records and X-ray interpretation is being outsourced.
Consider this, next generation software design is outsourced. To effectively do this, that means cutting-edge hardware specifications are also shipped out to the outsourced site.
From an industrial espionage point-of-view, another entity such as a foreign company or even government, could pay the outsourcing company or companies for information on the technological pipeline. If there is sufficient bribery, perhaps "hooks" or "backdoors" could also be subtlely inserted (a la the Clipper chip).
Lest we think this is only a problem for new MP3 players, many government subcontractors, especially defense contractors, will inevitably outsource design to lowball bids.
I don't think anyone interested in the defense of our country has really thought this outsource problem through.
I saw the demo for Looking Glass at Borcon and yes, its way cool!
The San Jose Mercury ran an article a month or so ago about how it was conceived of at Sun. It turns out a Sun programmer just worked on this in his spare time at home (much to the distress of his girlfriend). Then one day he takes it to work and shows his manager, who is blown away. His boss shows the higher-ups in Sun who are also blown away.
They make it a full scale project, take it away from the original author, and now take full credit as "visionaries". The truth is, this whole concept was the midnight creation of a hacker.
So much for industry R & D.
I would rate as one of your best assets the old Cygnus organization which is providing excellent support on the GNU gcc/g++ compiler. My company was a Cygnus client for years and has also gotten great support from the Redhat team in this area.
Enterprise is a word that always sounds big to me. How much support can you give to a smaller company? What kind of price levels/support levels (approximate) is Redhat now offering?
Unfortunately the same technology that is enabling telecommuting for some employees _is_ sending their job overseas.
Yes, there are still cultural differences and locality in development still makes a huge difference (yelling across a cubicle wall is faster than email), but that huge difference in wages is the apple tempting many executives.
It can't happen here? Tell that to memory manufacturers. How about popcorn logic parts? The largest fab houses in the world now are in Taiwan. The U.S. still has the lead in microprocessor manufacturing, but has surrendered all other chip arenas. You don't think the same thing will happen with software?
He who controls the hardware eventually controls the software.
You analysis at the LinuxWorld web site is interesting, but I believe flawed.
Your table showing the price of a Sun 6800 versus a Dell says it all. Higher end computing is getting commoditized and Sun is not a commodity player.
Sun can try to make a living as the "Rolls Royce" computational platform, but how many Rolls are sold in a year? That path is slow death.
As for Linux, yes Solaris is far more stable and, speaking as a developer, far more robust for development tools, etc., but corporations are moving to Linux big-time. Not just for lower costs, but also for more control over the computing platform. Under Windows you can't even control when the screen saver interrupts your program!
So Sun's, albeit suspicious, grab at Linux is essential if they want to sell computers in any reasonable quantities. I doubt it will make a long term difference, but it keeps them in the game longer. It also probably dooms their Sparc chips too, but they're done for anyway.
The one interesting suggestion you have for them is to buy Gateway. That might work, if they revamp Gateway to use Linux, however expect a catastropic drop-off in sales when Gateway abandons Windows.
There seems to be a socialist aspect to our capitalist economy that only lets two or three large players survive for most industries. Alas, I don't see Sun as one of these survivors.
Partially true, but for our server side product we use the Rational tools purify and quantify. Purify can help identifying all kinds of memory errors. It does this by instrumenting your executable image and you then run the resultant executable. Its found some pretty subtle things, pointer errors, array bounds errors, freed memory usage, etc. I think its one invaluable debugging tool.
Quantify is a profiler that can help you identify where your code is spending its time. Its interface is more 1980-ish and procedural oriented, but it works. A better profiler is to be found for Java in OptimizeIt! (now a Borland product), which also shows when individual threads are sleeping and running. How I wish Quantify would map that out.
Profiling may be somewhat different than debugging, but in both cases you're getting information about your program. I think debuggers would be better if they took the purify approach of building a debuggable executable that you run as you do your non-debug program, then emit log information of problems as its running. We need more of that in the software developer world.
Yes, its too bad they are passing. I think this reflects badly on the further monopolization of the industry by the Microsoft behemoth. Visual C++ is everywhere I look. Borland has scratched out an existance with JBuilder, but only since Microsoft exited the Java market under pressure from Sun.
In the long run I think Kylix is Borland's best shot since Linux stands to give Windows some real competition. In the corporate environment I work in, we're actively moving to Linux (but off of Suns).
I used TurboPower's Orpheus components and found them to be a very together, reliable set of components for building more advanced GUI elements. I am very sorry to see them passing, but am heartened by their move to make their tools open source. I look forward to using them in the future, if only on my home PC.
I didn't know him, but I read two of his books.
In The Decline and Fall of the American Programmer he predicted Japan would overtake the United States in software development due to their use of CASE tools and zero defect tolerance culture.
In The Rise and Resurrection of the American Programmer (which of course came later), Yourdon fessed up that his prediction was wrong. He attributed this to users being willing to put up with buggy software if they have benefit from new features.
Kind of bookend observations about our profession.
This whole list is suspect, some firms that are undoubtedly spending more on R&D are excluded, Qualcomm for instance.
Intel wins by public perception they are the de facto PC processor, but AMD must be smiling. There's no reason Apple can't just add or even switch to AMD processors when convienent.
Apple is starting its own life struggle, naked arm wrestling with Microsoft for control of Intel-based PCs.
I look for Apple to initially put in some proprietary hardware that their OS will detect and use at boot/runtime. This will make their hardware look "better" than vanilla PC hardware, but also make their software run on same vanilla PC hardware.
I suspect migration of Windows PCs to Apple OS will be downplayed for the first year, then in 2008 expect "compatibility kits" to be offered by Apple, free if you buy/have bought an OS license from them.
For its part, Microsoft will start sabotaging its implementation of Apple protocols and destroy interoperability between Windows and Mac platforms.
Intel smiles now, but this is another kick in the groin for their 64-bit processor. Another industry leader is moving to 32-bit x86. Don't expect another processor architecture shift from Apple anytime soon.
AMD laughs on the sidelines, expect Apple servers with AMD processors in 2008.
My trusty old 2 megapixel Nikon Coolpix can scan slides at lightning speed using a slide holder attachment that sits on top of the lens. The close focusing ability of this digicam makes it a great slide scanner.
Then its just a matter of taking the CompactFlash card out of the camera and into your Linux box's card reader.
C'est la guerre!
If you're using gcc 3.3 for this comparison, then you're truly picking a lame implementation of the STL. No wonder Java is even _close_ to C++.
Try using something with a more optimized STL, like the free STLport from STLport.org.
I don't see anyone considering national security implications when outsourcing. There are groups interested in privacy, since tax records and X-ray interpretation is being outsourced.
Consider this, next generation software design is outsourced. To effectively do this, that means cutting-edge hardware specifications are also shipped out to the outsourced site.
From an industrial espionage point-of-view, another entity such as a foreign company or even government, could pay the outsourcing company or companies for information on the technological pipeline. If there is sufficient bribery, perhaps "hooks" or "backdoors" could also be subtlely inserted (a la the Clipper chip).
Lest we think this is only a problem for new MP3 players, many government subcontractors, especially defense contractors, will inevitably outsource design to lowball bids.
I don't think anyone interested in the defense of our country has really thought this outsource problem through.
I saw the demo for Looking Glass at Borcon and yes, its way cool!
The San Jose Mercury ran an article a month or so ago about how it was conceived of at Sun. It turns out a Sun programmer just worked on this in his spare time at home (much to the distress of his girlfriend). Then one day he takes it to work and shows his manager, who is blown away. His boss shows the higher-ups in Sun who are also blown away.
They make it a full scale project, take it away from the original author, and now take full credit as "visionaries". The truth is, this whole concept was the midnight creation of a hacker.
So much for industry R & D.
I would rate as one of your best assets the old Cygnus organization which is providing excellent support on the GNU gcc/g++ compiler. My company was a Cygnus client for years and has also gotten great support from the Redhat team in this area.
Enterprise is a word that always sounds big to me. How much support can you give to a smaller company? What kind of price levels/support levels (approximate) is Redhat now offering?
I agree that C++ is the present and future reality.
In the EE Times Sep. 1, 2003 issue which had their annual salary survey, the technology skills listed by respondants were C/C++ 58% and Java 8%
Clearly among professionals who actually work in the vicinity of real hardware, C++ rules.
Unfortunately the same technology that is enabling telecommuting for some employees _is_ sending their job overseas. Yes, there are still cultural differences and locality in development still makes a huge difference (yelling across a cubicle wall is faster than email), but that huge difference in wages is the apple tempting many executives. It can't happen here? Tell that to memory manufacturers. How about popcorn logic parts? The largest fab houses in the world now are in Taiwan. The U.S. still has the lead in microprocessor manufacturing, but has surrendered all other chip arenas. You don't think the same thing will happen with software? He who controls the hardware eventually controls the software.
You analysis at the LinuxWorld web site is
interesting, but I believe flawed.
Your table showing the price of a Sun 6800
versus a Dell says it all. Higher end
computing is getting commoditized and Sun
is not a commodity player.
Sun can try to make a living as the "Rolls
Royce" computational platform, but how many
Rolls are sold in a year? That path is slow
death.
As for Linux, yes Solaris is far more stable
and, speaking as a developer, far more robust
for development tools, etc., but corporations
are moving to Linux big-time. Not just for
lower costs, but also for more control over
the computing platform. Under Windows you can't
even control when the screen saver interrupts
your program!
So Sun's, albeit suspicious, grab at Linux
is essential if they want to sell computers
in any reasonable quantities. I doubt it
will make a long term difference, but it
keeps them in the game longer. It also probably
dooms their Sparc chips too, but they're done
for anyway.
The one interesting suggestion you have for them
is to buy Gateway. That might work, if they
revamp Gateway to use Linux, however expect
a catastropic drop-off in sales when Gateway
abandons Windows.
There seems to be a socialist aspect to our
capitalist economy that only lets two or three
large players survive for most industries.
Alas, I don't see Sun as one of these survivors.
Partially true, but for our server side product we use the Rational tools purify and quantify. Purify can help identifying all kinds of memory errors. It does this by instrumenting your executable image and you then run the resultant executable. Its found some pretty subtle things, pointer errors, array bounds errors, freed memory usage, etc. I think its one invaluable debugging tool. Quantify is a profiler that can help you identify where your code is spending its time. Its interface is more 1980-ish and procedural oriented, but it works. A better profiler is to be found for Java in OptimizeIt! (now a Borland product), which also shows when individual threads are sleeping and running. How I wish Quantify would map that out. Profiling may be somewhat different than debugging, but in both cases you're getting information about your program. I think debuggers would be better if they took the purify approach of building a debuggable executable that you run as you do your non-debug program, then emit log information of problems as its running. We need more of that in the software developer world.
Yes, its too bad they are passing. I think this reflects badly on the further monopolization of the industry by the Microsoft behemoth. Visual C++ is everywhere I look. Borland has scratched out an existance with JBuilder, but only since Microsoft exited the Java market under pressure from Sun. In the long run I think Kylix is Borland's best shot since Linux stands to give Windows some real competition. In the corporate environment I work in, we're actively moving to Linux (but off of Suns). I used TurboPower's Orpheus components and found them to be a very together, reliable set of components for building more advanced GUI elements. I am very sorry to see them passing, but am heartened by their move to make their tools open source. I look forward to using them in the future, if only on my home PC.