Being a software developer using languages like C++ and Visual Basic, .NET has been interesting to me. It represents a new level of software development and maintenance. It allows easily distributable services. It will speed up development of software that works across platforms and hardware. However until recently I haven't had much time to really research .NET and see what it could do. Below you will find my findings after a little more research. I definately have to learn more to get a full grasp of the concept but if used in the developer community it will change the way people use computers as much as the GUI did in the early 90's.
What is .NET?
Here is Microsoft's Definition
By now most of you are asking: What exactly does this mean and how will it affect my business and my customers?The Microsoft .NET Framework is a new platform for building integrated, service- oriented applications to meet the needs of today's Internet businesses; apps that gather information from, and interact with, a wide variety of sources, regardless of the platforms or languages in use. This article, the first of a two part series, illustrates how the .NET Framework enables you to quickly build and deploy Web services and applications in any programming language. Microsoft Intermediate Language and JIT compiler, which make this reuse possible, are described as well as managed components, assemblies, and the Common Type System (CTS).
Basically .NET is a platform that provides a standard way to build advanced applications on the Internet. These applications are similar to your standard desktop applications like Word or Photoshop and provide the same capabilities. They will also provide the ability to access information or documents from any device anywhere in the world.
By providing a centralized location for storage of applications it gives the user more choices in how they access their documents. Imagine if you could access an important brief or make changes to a contract directly from your laptop or even the clients PC while the document is actually stored on your Home PC. Or flagging webpages for later reading on your cellphone while riding the train home from work, only to have them downloaded and ready for you when you get home.
This is the same promise that SUN Microsystems made five years ago when they released JAVA. So what makes things different now as opposed to the environment five years ago. The difference is more available technology. Today we have the XML standard and that standard provides for portable and modifiable documents.
In fact the .NET standard proposed by Microsoft is very similar to the course SUN is taking with their current implementations of Java. Both rely on standard document formats to transmit data. Both rely on an external security model to permit execution. Both are platform independent and both are distributed in intermediary compiled forms known as byte-code.
The difference comes in the fact that Microsoft is allowing any language to be compiled as a .NET run-time application. They are providing compilers for C++, C#, Visual Basic and JScript. Other companies are creating .NET compilers for COBOL, APL, CAML, Haskell, Mercury, ML, Oberon, Oz, Pascal, PERL, Python, Scheme, SmallTalk and even Java.
All of these programs will be able to run on the common .NET runtime engine. The operating system won't matter. At release Microsoft plans to release .NET capability across all versions of the Windows Operating System. Other companies are looking to release the .NET run-time engine for Macintosh, Linux and Be OSes. Because of this cross-platform capability you will no longer have to worry about what Operating System the desired application was created on. This will actually give alternate choices to the consumer and widen the market.
Whether this will drastically change the computer industry and the Internet remains to be seen. Only time will tell on that. However since this is more of a evolution in the way software is designed, distributed and used, most changes will likely be unseen and unheard of within the general end-user population. All they will understand is that new services will become available. Services which they will be able to choose on the open market.