Difference between revisions of "Microsoft .Net Framework"

From Free Knowledge Base- The DUCK Project: information for everyone
Jump to: navigation, search
m
m (Warning: Requires .NET Framework)
Line 17: Line 17:
 
== Warning: Requires .NET Framework ==
 
== Warning: Requires .NET Framework ==
  
Criticism of Microsoft .NET Framework from the developer's perspective differs form that of the end user.  To the end user, it is an annoying thing that the end user ends up discovering he or she needs to have installed in order to get some program just downloaded to work.  Then, the next time some software is installed requiring Microsoft .NET Framework, it needs yet a different version and that has to be installed.  Eventually the end user has a sluggish running computer loaded up with multiple versions of .NET Framework in Windows, because each new release is NOT backwards compatible, and there are often internal conflicts caused by the existence of multiple versions of .NET Framework on the same machine.   
+
Criticism of Microsoft .NET Framework from the developer's perspective differs form that of the end user.  To the end user, .NET Framework is an annoying thing suddenly needed by some software he or she is trying to install.  Then, the next time some other software is installed requiring Microsoft .NET Framework, it needs yet a different version and that has to be installed.  Eventually the end user has a sluggish running computer loaded up with multiple versions of .NET Framework, because each new release is NOT backwards compatible, and there are often internal conflicts caused by the existence of multiple versions of .NET Framework on the same machine.   
  
 
It is for this reason it is recommended that end users avoid installing software which requires Microsoft .NET Framework.  If there is a program that a user wishes to install, yet discovers it requires .NET Framework, the user will often find on deeper exploration, an alternative piece of software to accomplish the same task that doesn't require .NET Framework.   
 
It is for this reason it is recommended that end users avoid installing software which requires Microsoft .NET Framework.  If there is a program that a user wishes to install, yet discovers it requires .NET Framework, the user will often find on deeper exploration, an alternative piece of software to accomplish the same task that doesn't require .NET Framework.   
 +
 +
''Another annoyance the end user often discovers is that the software he or she is attempting to install doesn't even mention the .NET Framework requirement until well into the installation process.  The user might see a message like, "Attempting to connect to xxx.micorosft.com to install the Microsoft .NET Framework."  "Conenction Time Out, aborting installation!"  It would be nice to know that a massive external software environment is required before trying to install some new program just downloaded off the net!''
  
 
Several backward and forward incompatibilities exist between .NET 1.0, .NET 1.1, and .NET 2.0. These are well-documented and frustrate both end users and developers alike.  Microsoft claims to resolve this by allowing the running of different versions side-by-side.  Rather than making .NET fully backwards compatible, people just need to have EVERY VERSION of Microsoft .NET all installed at once.
 
Several backward and forward incompatibilities exist between .NET 1.0, .NET 1.1, and .NET 2.0. These are well-documented and frustrate both end users and developers alike.  Microsoft claims to resolve this by allowing the running of different versions side-by-side.  Rather than making .NET fully backwards compatible, people just need to have EVERY VERSION of Microsoft .NET all installed at once.

Revision as of 15:12, 6 February 2014

Microsoft Dot Net Framework

On this wiki you will often see a warning for software that "Requires Microsoft .NET Framework." Knowing what Microsoft .NET Framework was supposed to be, as opposed to what it actually became is fundamental in understanding why we offer the warning.

Key Talking Points

  • Harm to overall System Stability
  • Poor Quality Software
  • Additional Time and Expense for the End User
  • A Slackers Approach to Computer Programming

Microsoft .NET Framework was supposed to be a cross-platform unified development solution for programmers to create software that can run on a variety of operating systems and can be created by using a unified set of widgets, tools, and techniques to make the world a better place for developers and end users alike. Microsoft .NET Framework, as promised by Microsoft, would take on Sun Microsystems' JAVA platform in the marketplace and dominate by doing more and being better.

The reality is that Microsoft .NET Framework is bloated, not backwards compatible, doesn't run on other platforms, and creates computer problems resulting in headaches for end users. Microsoft .NET Framework runs primarily on Microsoft Windows and does offer language interoperability across several programming languages, however, is not at all cross platform. It doesn't function as advertised nor does it do what was originally promised.

Microsoft recognized the power of Sun Microsystems Java, and JDK, too late in the game. If a developer creates software in Java, it can be made entirely cross platform. This means that the same program can run on, for example, Microsoft Windows XP and Redhat Linux XFree86. If a developer creates a handy program in Java, a Macintosh user can enjoy using the same program that a Microsoft Window user can. Microsoft announced that Microsoft .NET would be the big challenger to Java. All Visual BASIC and Microsoft C++ coders would have to migrate to the .NET Platform and learn to program in the Microsoft Object Oriented model. Coders were promised the painful transition would be worthwhile for a variety of reasons, including the promise of a cross platform utopia.

Warning: Requires .NET Framework

Criticism of Microsoft .NET Framework from the developer's perspective differs form that of the end user. To the end user, .NET Framework is an annoying thing suddenly needed by some software he or she is trying to install. Then, the next time some other software is installed requiring Microsoft .NET Framework, it needs yet a different version and that has to be installed. Eventually the end user has a sluggish running computer loaded up with multiple versions of .NET Framework, because each new release is NOT backwards compatible, and there are often internal conflicts caused by the existence of multiple versions of .NET Framework on the same machine.

It is for this reason it is recommended that end users avoid installing software which requires Microsoft .NET Framework. If there is a program that a user wishes to install, yet discovers it requires .NET Framework, the user will often find on deeper exploration, an alternative piece of software to accomplish the same task that doesn't require .NET Framework.

Another annoyance the end user often discovers is that the software he or she is attempting to install doesn't even mention the .NET Framework requirement until well into the installation process. The user might see a message like, "Attempting to connect to xxx.micorosft.com to install the Microsoft .NET Framework." "Conenction Time Out, aborting installation!" It would be nice to know that a massive external software environment is required before trying to install some new program just downloaded off the net!

Several backward and forward incompatibilities exist between .NET 1.0, .NET 1.1, and .NET 2.0. These are well-documented and frustrate both end users and developers alike. Microsoft claims to resolve this by allowing the running of different versions side-by-side. Rather than making .NET fully backwards compatible, people just need to have EVERY VERSION of Microsoft .NET all installed at once.

Better quality software never requires Microsoft .NET Framework

Better quality software never requires Microsoft .NET Framework because the purpose of the Microsoft .NET developmental platform is to make writing software more easy. The easier it is to computer program, the more people are able to computer program. Less talented and less intelligent people, once unable to grasp the complexity of lower level languages, are now able to put fingers to keyboard and develop software. However, inferior minds create inferior software. Inferior minds frequently choose Microsoft .NET, typically Visual BASIC .NET, to quickly make programs that inevitably perform poorly and ultimately require end users to cope with the burden of dealing with Microsoft .NET Framework.

Developing in .NET has advantages for the beginner. It is very easy to learn for the fresh mind not having to cope with altering an entire programming philosophy. With ease comes inefficiency. Applications running in a managed environment such as the Microsoft framework's CLR or Java's JVM tend to require more system resources than functionally similar applications that access machine resources more directly. Programs created in .NET are basically fat, and inefficient.

Limited Options for Developers

Using Microsoft Visual Studio 6.0 a software developer (computer programmer) could create a stand alone executable that could be distributed to end users without the end users needing to deal with installing a "framework" to run and use the software. Sure, there was libraries and components that sometimes needed to be installed along with the executable, however, this could be accomplished transparently though an installer, and is not out of the ordinary for software developed in any platform.

Java programs created for distribution require Java Virtual Machine, a special framework, in order to run on the end user computer. This can be a burden just like end users having to deal with Microsoft .NET Framework. However, there is a huge advantage that Java developers have over Microsoft .NET developers, JAVA can run on many platforms (Mac, PC, *NIX). This benefit provides an over-weighing factor tipping the scale in favor of Sun's JAVA - in other words, making it worth while to develop software in JAVA. Microsoft .NET developers are stuck with the whole framework crap and are still limited to Microsoft Windows end users only. What's the point of the .NET Platform besides a few shared libraries and the limited language interoperability it offers? Certainly not enough to tip the scale in favor of developing in the .NET Platform.

Furthermore, there is ZERO backwards compatibility. Microsoft loves to pull the rug out from under developers and end users alike. With the introduction of the .NET framework, the Visual Basic language was replaced by the Visual Basic .NET language. The replacement was not backwards compatible and forced programmers to relearn something. Not only did it force programmers to update their knowledge on use of the syntax, but their entire concept of programming had to be changed radically. Microsoft forced their aborted version of the Object Oriented programming model on developers.

Expensive for Businesses and Home Users

Succeeding versions of .NET lock out older operating systems. For example, .NET v.3.0 and above excludes Windows 2000 and prior versions, as well as XP SP1. This can be construed as a way by Microsoft to move away from previous versions, and force operating system purchases. The new model is extensively tied to the Microsoft Windows operating system.

Businesses lose millions of dollars each year over software they exclusively own and distribute being reverse engineered and illegally distributed. Microsoft .NET utilizes the Just in time (JIT) compilation. Software compiled using JIT can be more easily reverse-engineered than native code to algorithms used by an application, raising the concern of possible loss of trade secrets and the bypassing of license control mechanisms. It is easier to "crack" shareware developed in .NET.

Anti Innovation

Microsoft is more interested in turning a profit rather than to create quality products. Microsoft naturally is opposed to the Open Source community. Furthermore, Microsoft is opposed to healthy competition in the technology marketplace.

Microsoft applied for a multitude of extensive patents key parts of the .NET Framework. At one time Microsoft and a competing, yet no longer industry relevant company, Novell, had an agreement to allow both use of parts of open source components of .NET, yet lock out the rest of the world programming community. The agreement is in violation of the principles of giving equal rights to all users of a particular program.

Microsoft .NET Framework was supposed to be inherently cross platform, as promoted by Microsoft at the end of the 1990's in an effort to gain developer interest. However, more than a decade later we see the full implementation of .NET is only supported on Microsoft Windows. Although the platform offers limited .NET subsets for other platforms, the substituted implementations of CLR, base class libraries, and compilers are all that is present. With some degree of standardization, all implementations remain with a variety of levels of completeness when compared to the full .NET version which Microsoft provides for Windows and are too often entirely incompatible.

Conclusion

If you are a software developer (computer programmer) give yourself credit by investing your time into learning and developing in a better programming environment. Microsoft .NET is for inept programmers that are incapable of learning a real programming language. Additionally, Java developers, on average, command a much higher annual salary as compared to Microsoft .NET developers programming in VB .NET for example. And if you are a freelance developer, do end users a favor and don't create software that requires a crappy piece of bloatware to be installed on their system just so they can use your little application.

If you are an end user, try to avoid using software that requires the Microsoft .NET Framework. Keep your computer running faster and more efficient by reducing the overhead of one or more versions of .NET on your computer. Whatever program you wish to use that requires .NET more than likely has an alternative program made by a more talented developer that you will ultimately be more satisfied with. And finally, if you ever are so unfortunate to purchase a piece of hardware which requires drivers and software needing the Microsoft .NET Framework, return it to the place of purchase for a full refund. If it has anything to do with Microsoft .NET, then it is more than likely crap.

_ AJ Walker and DRBW _ contributors.