1. What is the .NET Framework?The .NET Framework consists of framework base classes that are extended to support the Web Services, Web Forms, and Windows Forms technologies. The .NET Framework provides a strongly typed object foundation, and Microsoft plans to supply many fundamental classes inside the framework for creating .NET applications. Using the .NET Framework, you can create distributed Web services in the same way that you currently create Windows applications. The Common Language Runtime (CLR) is the underlying foundation for the .NET Framework. The CLR is a multi-high-level language execution engine that provides a solid foundation for .NET developers to build many types of applications.
2. What is the Common Language Runtime (CLR)?
Studio .NET languages, such as Visual Basic .NET, Visual C#, and Visual C++, are built on. Because of the CLR, you can easily interchange components between the languages and take advantage of the following benefits:
· Integration of code written in different .NET languages
· Security with code identity
· Deployment eliminating problems with shared components
· Versioning of reusable components
· Reuse through implementation inheritance
· Object lifetime management
· Self-describing objects
3. What are the changes to the Visual Basic programming language?
Visual Basic .NET is designed to be the easiest and most productive tool for creating .NET applications, including Windows applications, Web Services, and Web applications. While the Visual Studio .NET development environment is similar to the traditional Visual Basic development environment, you can take advantage of new Visual Basic .NET language features. Inheritance is now available within Visual Basic .NET. As a result, classes can share methods with each other, and you can overload methods so that a class can have multiple methods of the same name but different parameter lists. Visual Basic .NET also provides structured exception handling capabilities for improved error handling, and free threading allows you to call any method or function from any thread at any time. These features give experienced Visual Basic developers much more flexibility and help make Visual Basic .NET a powerful object-oriented programming language. Because Microsoft designed Visual Basic .NET specifically for the .NET Framework, the language provides interoperability, simplified deployment, enhanced security, and improved versioning support. You also can convert Visual Basic .NET code modules into XML Web services so you can invoke these modules across the Internet from any language running on any operating system.
4. What is Visual C#?
The new Visual C# (pronounced “C-Sharp”) programming language is an elegant, type-safe, object-oriented language that brings rapid application development (RAD) to the C and C++ developer without sacrificing the power and control that experienced text-based programmers need. Visual C# includes the following key features:
· Familiar C++ model and syntax
· Full interoperability with COM+ services
· Full COM and Platform support for code integration
· Automatic garbage collection
· Extensible and typed metadata for declaring new types and categories of metadata
· XML support for Web-based component interaction
Visual C# is a great choice for architecting a wide range of components–from high-level business objects to system-level applications. You can use simple C# language constructs to convert these components into XML Web services, then invoke the components across the Internet from any language running on any operating system.
5. What are the changes in Visual C++?
Compared to the other .NET languages, Visual C++ has changed the least. Microsoft did however add some new features to enable Visual C++ to take advantage of the latest features in the .NET Framework. One of these updates includes the ability to create and use XML Web Services in Visual C++. Another change in the latest version of Visual C++ is the interpretation of code into the Common Language Runtime (CLR). Because Visual C++ code resides on top of the CLR, Visual C++ applications can use code written in other .NET compatible languages. Regardless of these changes, Visual C++ users can still perform machine code compilation and create Microsoft Foundation Class (MFC) COM components using the Active Template Library (ATL).
6. Are .NET Tools only for building Web applications?
You can use any .NET languages available in Visual Studio .NET to create standard Windows applications. Because the .NET languages are built on top of the .NET Framework, you can integrate Web services into your applications as well as create your own Web service modules for other developers to use natively within code written in any of the .NET languages.
7. What are some of the issues associated with Visual Studio .NET?
There are a few minor issues to consider when investigating the new features and capabilities of the .NET languages. The Common Language Runtime (CLR) adds some minor overhead in the compilation and execution of your code. While execution speed might be an issue for some real-time applications with the use of the new intermediate language, differences in execution speed should be unnoticeable in most applications because of processor speeds and memory enhancements of today’s computers.
The move away from COM-based classes used in previous versions will be immediately noticed as the .NET Framework moves toward a new set of classes based on XML and SOAP. This change and other minor language-specific changes might create some challenges when calling legacy code.
8. Is National Instruments integrating .NET technology into its products?
National Instruments remains dedicated to leveraging the latest software technologies to consistently and dependably assist you in creating measurement and automation systems. Holding true to this promise, we have already initiated development efforts to integrate .NET features into our software products. NI Measurement Studio, which includes measurement and automation tools for Visual Basic and Visual C++, is the first to receive new .NET features that offer increased productivity for Visual Studio .NET users. To make these enhancements, we combined our advanced measurement and analysis knowledge with the .NET features that relate to the measurement and automation industry. Visit ni.com/mstudio for the FREE update of Measurement Studio for Visual C++ .NET! You also can use Measurement Studio and other .NET controls in LabVIEW.
In addition, we plan to leverage several features of the .NET Framework in some of our software products to make distributing applications easier. Through these enhancements, you will be able to distribute applications without worrying about registering them or dealing with issues typically associated with distributing components–creating an easier approach to distributed applications.
9. How might Visual Studio .NET affect my current development efforts?
Only developers using one of the Visual Studio development environments, such as Visual Basic or Visual C++, are immediately affected by the .NET release. If you are using either of these languages, begin evaluating Visual Studio .NET for yourself and determine how much migrating to Visual Studio .NET might affect your development efforts. If you are a Visual C++ user, you should be able to upgrade existing code with few problems. Also, consider the new Visual C# language because it is designed to combine many rapid application development features with the power and flexibility of Visual C++.
If you are a Visual Basic user, you might encounter more difficulty in upgrading to Visual Basic .NET. To simplify the experience, Microsoft provides a conversion tool that runs automatically when you open a Visual Basic 6.0 project in Visual Studio .NET. This tool handles converting many of the previous Visual Basic data types to the new data types used in Visual Basic .NET. To minimize manual changes that might be needed for future upgrades, Microsoft recommends that Visual Basic developers begin following a set of architectural recommendations and practices. Microsoft’s suggestions include some of the following practices:
· Use early binding of variables by accessing components in other applications at compile time rather than run time
· Avoid null propagation by including tests in your code to check for passing null values
· Use ActiveX Data Objects (ADO) for data access
· Avoid the double data type for storing dates
· Avoid fixed-length strings in user-defined types, as well as the use of constants instead of underlying values
If you want to take advantage of some of the powerful features of Visual C#, consider moving from Visual Basic to Visual C#.
10. How might Microsoft .NET affect the measurement and automation industry?
The Experiences component of Microsoft .NET involves a variety of different elements relating to .NET. Over the next few years, you will begin to recognize the seamless user experiences of distributed applications as different test, measurement, and control technologies.
Microsoft .NET clients will likely begin appearing in the consumer marketplace before being incorporated into the measurement and automation industry. However, as the convenience and robustness of these clients are discovered, expect an increased usage of distributed computer-based hardware with “smart” features for networked integration within our industry. Some of the key elements of .NET clients in our industry will likely revolve around small, portable, rugged, software-based devices.
Our industry also will benefit from some of the new features of .NET services and servers. The .NET-based services will simplify sharing, maintaining, and selling remotely accessible components for performing networked measurements and distributed control applications. There also promises to be new Internet-based services integrated within the .NET programming languages that will enhance the user experience and productivity within these languages.
While there is a lot of excitement around the possibilities that .NET-based services bring to our industry, it is unlikely that .NET servers will have as great of overall impact. Within the manufacturing test and manufacturing areas of our industry, .NET server integration could improve company performance. Other areas such as research, design, validation, and prototype testing will see minimal impact.
The last Microsoft .NET component in the .NET hierarchy will provide the greatest overall impact on our industry. The .NET tools component encompasses many changes to the popular, text-based programming languages within Visual Studio .NET. The usability factor of the changes appear minimal for Visual Basic users, and Visual C# should offer increased productivity for Visual C++ users. Remember that the new .NET tools have many applications beyond Web and e-commerce application development. Visual Studio .NET contains many useful features that have the potential to greatly benefit and expand applications used within our industry. Those developers who want to create more distributed and modular applications will likely see immediate benefits of Visual Studio .NET.
Overall, the .NET tools will simplify creating, accessing, and distributing modular pieces of an application or service for providing networked measurement and control functionality. As with the .NET clients, look for the majority of the initial .NET tools popularity to be based primarily around consumer software development with gradual proven functionality incorporated into test, measurement, and control solutions over time.
Microsoft .NET Frequently Asked Questions (FAQ) - Part 1 of 3
Microsoft .NET Frequently Asked Questions (FAQ) - Part 3 of 3
Windows XP -- The First OS for Microsoft .NET
Official Microsoft .NET Site