logo back up home forward   further reading more topics »

Microsoft .NET - Platforms

.NET is Microsoft's architecture designed to compete with Java. It allows several different languages to use the same class libraries and compile to the same intermediate language.

.NET puts IL (intermediate Language) code into the .EXE file instead of machine code, this IL code is compiled at runtime (JIT=Just In Time) by the CLR (Common Language Runtime) environment.

In fact the .NET environment uses most of the Java concepts including garbage collection, single inheritance, etc. However the purpose is fundamentally different. Java is designed to provide one language which can run on any platform, whereas, .NET is designed to allow multiple languages which run on one platform (Windows). Although GNU are building a free version. Personally I prefer Java. I can see that there is merit in allowing different languages on the grounds that some languages may be better at expressing particular types of applications, or just that individual programmers may be skilled in particular languages and not want to change. However all the languages are using the same class libraries and the same object oriented principles so although different .NET languages may have different syntax, under the skin they are all become very similar and if you can do something in one language you can usually do the same in any of the other languages (If you know one .NET language you know them all). Also people have to learn new things to use the .NET languages anyway as all the languages have to be modified to fit in with this environment. Also although it may be seen as good to give people choice there are enormous benefits in having a common standard, if people were all to use the same programming language, they could easily switch between different projects and code could be shared between deferent projects more easily if there is just one source language.

So on the whole I think that it is a pity that Microsoft have implemented .NET as a way to try to undermine Java rather than something that takes forward the programming world.

Having said all that, there may be distribution and performance issues with running Java on windows that make it necessary to use .NET in some circumstances.

.NET command line tools


metadata block
see also:

 

Correspondence about this page

Book Shop - Further reading.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

cover Inside C# Book/CD Package - Covers the language, streams, numerical processing, metadata, documentation with XML.

Commercial Software Shop

Where I can, I have put links to Amazon for commercial software, not directly related to this site, but related to the subject being discussed, click on the appropriate country flag to get more details of the software or to buy it from them.

cover Visual C# .NET for Microsoft Platforms only.

Can this page be improved?

Please send me any improvements to here. I would appreciate ideas to make the pages more useful including error correction, ideas for new pages, improvements to wording. It helps if you quote the full URL of the page.

 

progam

I am working on a project which uses these principles, if you would like to help me with this you are welcome to join in, here:

for 3D programming: http://sourceforge.net/projects/mjbworld/

This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2008 Martin John Baker - All rights reserved - privacy policy.