Let me start by emphasizing that I'm only using MS .NET as an example and that the same ideas apply to most, if not all, software vendors.
It wasn't long ago when Microsoft started to build a revolutionary platform called .NET. To me, .NET is more evolutionary that revolutionary - you'll see why. By the way, based on my experience, "platform" in the IT industry can mean almost anything you want it to mean. In any event, Microsoft summarizes .NET on their site as follows:
"... a set of Microsoft software technologies for connecting your world of information, people, systems, and devices. It enables an unprecedented level of software integration through the use of XML Web services: small, discrete, building-block applications that connect to each other, as well as to other, larger applications via the Internet."
I'm sorry, but I have trouble understanding what that means. I have no problem with the words used, even though English is my second language. What I do have a problem with is trying to decipher the concept. Point by point:
- "For connecting your world of information, people, systems, and devices." Say what? ...
- "Unprecedented level of software integration through the use of XML Web services." Oversimplified, Web Services is a "new" technology that allows applications to use modules external to it. So what's new here? We already had that with CORBA, DCOM, etc.
- It works over the Internet! Maybe that's what's new. Wait ... see previous bullet.
It appears that, by means of obscuring descriptions and using new buzzwords, they're trying to hide the fact that they're offering very little that's new. Yes, they are improving existing technologies and making some things easier. But they're also calling these technologies something else and claiming they're new. In my opinion, that's evolution as opposed to revolution. Again, I'm picking on Microsoft here, but I think every major player in the industry (Sun, IBM, Oracle, etc.) makes claims akin to the one made above -- perhaps not in as big a scale.
I think the cycle usually follows these basic steps:
- Market new software release until people/ companies become convinced they NEED it (whatever "it" is).
- Release the software.
- Start working on next release.
- Once new purchases start to dwindle go to step 1.
I constantly find myself learning the new thing because that's what the market demands or will demand. I could choose not to do it, but I have to survive and the only way to do it is by keeping my skill set "marketable" in order to give employers what they want/need. I'm not at all opposed to learning. I love learning. What bother's me is that what I have to learn is dictated by software vendors.
Just in case you're curious, I'm currently building a personal Web Site in ASP.NET, one of the Microsoft technologies under the .NET umbrella and, yes, I'm doing it so I can learn the new, unprecedented platform.
I wonder if it's just me, or there are others that share my feelings on this.