Software Directory: .NET and C# Core

Feb. 5, 2001
Net and C# .Microsoft's all-encompassing .NET strategy targets server-based applications that use standard Internet protocols, like Extended Meta Language (XML) and Simple Object Access Protocol (SOAP), to interact...

Net and C# .Microsoft's all-encompassing .NET strategy targets server-based applications that use standard Internet protocols, like Extended Meta Language (XML) and Simple Object Access Protocol (SOAP), to interact with clients. .NET servers are likely to support embedded devices. Some of these devices may also use .NET.

Microsoft's embedded .NET framework strategy is similar to other .NET announcements, such as the Car.NET Framework. The Car.NET specification addresses Car.NET devices and Car.NET servers. Car.NET services support communication between devices and servers.

The .NET frameworks are works in progress with the high end getting most of the development resources. The .NET framework handles a variety of languages with C# leading the pack.

The embedded .NET framework shrinks the server support so that it can be placed in more compact devices that use 1U Web servers. All .NET frameworks share a Common Language Runtime (CLR) and a virtual machine (VM) architecture that utilizes the Microsoft Intermediate Language (MSIL).

Such frameworks run on Windows operating-system platforms, including Windows CE and Embedded Windows NT. Cross-platform support is in the works, but its delivery is in the future.

See associated figure

Highlights The .NET framework defines an extensive set of services starting with the System name space, and a collection of class-based services. The classes are referred to as name spaces so that the environment has a hierarchical architecture.

In addition to network, Web, and COM support, these services address details like authentication, security, and even version control. The embedded .NET framework will subset this massive collection of features. As with many .NET frameworks, the embedded side development is progressing but not yet fixed.

The .NET framework is more than just a collection of classes. The VM and CLR provide additional support, such as managed execution and data through the use of metadata associated with applications. The metadata allows the framework to utilize and manage .NET applications independent of the language in which they were written. Managed applications take advantage of .NET's garbage-collection support.

C# is used to highlight .NET and takes full advantage of the services provided by .NET. Existing languages like C++ can additionally be used with .NET, but often the ability to employ certain features requires more programming effort. For instance, C#'s support for COM is built-in and simple to use. Likewise, C# supports garbage collection. C# and other .NET languages also have access to native services from the underlying operating system.

Although it's not a proper subset, C# is patterned after C++. C# eliminates a lot of the complex features found in C++, such as multiple inheritance and pointers. It incorporates many features found in Java, including multiple interface support. C# isn't Java with C++ syntax, but it's close.

C#'s design is tied closely to .NET. The C# definition lacks features found in language definitions like Java, including multitasking services. Instead, these are features present in .NET. The C# standards proposal has been presented to ECMA, an international standards organization. It includes a stripped-down version of the .NET framework. This moves part but not all of the .NET framework into the public domain.

The .NET framework is gaining third-party support, but its premier development tool is Visual Studio.NET. This integrated development environment (IDE) is home to Microsoft .NET languages, such as C# and Visual Basic.

FEATURES
  • Hierarchical name space
  • Common Language Specification
  • Microsoft Intermediate Language
  • Managed execution
  • Multiple language support including C#, Visual Basic, Eiffel#, Cobol# and many more
  • Growing 3rd party support
  • Based on Windows platform
  • Utilizes standard SOAP/XML for communication
  • COM+ and DCOM support
  • Virtual machine architecture
  • LANGUAGE
  • Subsets C++ with unique C# extensions
  • Single inheritance classes
  • Multiple interfaces
  • Garbage Collection
  • Dynamic class loading
  • ECMA standard pending
  • Native service support
  • PLATFORMS
  • CPU support: x86
  • CPUs for embedded framework being specified
  • OS support: Windows
  • XML-compatible web browsers supported
  • About the Author

    William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

    I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

    You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

    Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

    You can visit my social media via these links:

    I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

    I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

    Sponsored Recommendations

    Comments

    To join the conversation, and become an exclusive member of Electronic Design, create an account today!