NET Framework and Languages: Application
NET Framework and Languages: Application
Some programs need the .NET framework to be able to run, as they use functions from
the .NET framework. Updating the .NET framework simply makes it more secure and
stable, therefore it is well worth running those updates, but it is not necessary not unless
one of your programs specifically say you need a certain version of the .NET framework
to run(very unlikely)
• NET Framework and Languages
• As mentioned on the .NET Framework page, .NET Framework is designed for cross-
language compatibility.
Cross-language compatibility means .NET components can interact with each other
irrespective of the languages they are written in. An application written in VB .NET can
reference a DLL file written in C# or a C# application can refer to a resource written in
VC++, etc. This language interoperability extends to Object-Oriented inheritance.
• This cross-language compatibility is possible due to common language runtime. As you
read on the .NET Framework page, when the .NET program is compiled, the output of
the compiler is not an executable file but a file that contains a special type of code called
the Microsoft Intermediate Language (MSIL). This MSIL is a
low-level language which is designed to be read and understood by the common language
runtime. Because all .NET executables exist as IL, they can freely operate. The
Common Language Specification defines the minimum standards that .NET language
compliers must confirm to. Thus, any code compiled by a .NET complier can interoperate
with the .NET Framework.
• The Common Type System (CTS) defines the rules concerning data types and ensures
that code is executed in a safe environment. Since all .NET applications are converted to
IL before execution all primitive data types are represented as .NET types. This means
that, a VB Integer and a C# int are both represented in IL code as System.Int32. Because
both the languages use a common and interconvertible type system, it is possible to
transfer data between components and avoid time-consuming conversions.
• Languages supported by .NET Framework
• The table below lists all the languages supported by the .NET Framework and
describes those languages. The languages listed below are supported by the .NET
Framework upto the year 2003. In future there may be other languages that the .NET
Framework might support.
Language Description/Usage
APL APL is one of the most powerful, consistent and concise
computer programming languages ever devised. It is a language
for describing procedures in the processing of information. It can
be used to describe mathematical procedures having nothing to
do with computers or to describe the way a computer works.
C++ C++ is a true OOP. It is one of the early Object-Oriented
programming languages. C++ derives from the C language.
VC++
Visual C++ is the name of a C++ compiler with an integrated
environment from Microsoft. This includes special tools that
simplify the development of great applications, as well as specific
libraries. Its use is known as visual programming.
C# C# called as C Sharp is a full fledged Object-Oriented
programming language from Microsoft built into the .NET
Framework. First created in the late 1990’s was part of
Microsoft’s whole .NET strategy.
Cobol COBOL (Common Business Oriented Language) was the first
widely-used high-level programming language for business
applications. It is considered as a programming language to have
more lines of code than any other language.
Component Pascal Component Pascal is a Pascal derived programming language that
is specifically designed for programming software components.
Curriculum No information.
Eiffel Eiffel is an Object-Oriented (OO) programming language which
emphasizes the production of robust software. Eiffel is strongly
statically typed mature Object-Oriented language with automatic
memory management.
Forth Forth is a programming language and programming environment.
It features both interactive execution of commands (making it
suitable as a shell for systems that lack a more formal operating
system), as well as the ability to compile sequences of commands
into threaded code for later execution.
Fortran Acronym for Formula Translator, Fortran is one of the oldest
high-level programming languages that is still widely used in
scientific computing because of its compact notation for
equations, ease in handling large arrays, and huge selection of
library routines for solving mathematical problems efficiently.
Haskell Haskell is a computer programming language that is a
polymorphicly typed, lazy, purely functional language, quite
different from most other programming languages. It is a wide-
spectrum language, suitable for a variety of applications. It is
particularly suitable for programs which need to be highly
modifiable and maintainable.
Java Language The Java language is one of the most powerful
Object-Oriented programming languages developed till date. It's
platform independence (not depending on a particular OS) feature
makes it a very popular programming language.
Microsoft JScript Microsoft JScript is the Microsoft implementation of the ECMA
262 language specification. JScript is an interpreted, object-based
scripting language. It has fewer capabilities than full-fledged
Object-Oriented languages like C++ but is more than sufficiently
powerful for its intended purposes.
Mercury Mercury is a new logic/functional programming language, which
combines the clarity and expressiveness of declarative
programming with advanced static analysis and error detection
features. Its highly optimized execution algorithm delivers
efficiency far in excess of existing logic programming systems,
and close to conventional programming systems. Mercury
addresses the problems of large-scale program development,
allowing modularity, separate compilation, and numerous
optimization/time trade-offs.
Mondrian Mondrian is a simple functional scripting language for Internet
applications. It is a functional language specifically designed to
inter-operate with other languages in an OO environment.
Current versions of Mondrian run on .NET. Mondrian also
supports ASP.NET, allowing you to embed functional language
code in web pages along with C# code.
Oberon Oberon is a programming language very much like Modula-2 in
syntax but with several interesting features. It's based on OOP
concepts and provides a Windows-based graphical user interface.
Oz Oz is a high-level programming language that combines
constraint inference with concurrency. Oz is dynamically typed
and has first-class procedures, classes, objects, exceptions and
sequential threads synchronizing over a constraint store. It
supports finite domain and feature constraints and has powerful
primitives for programming constraint inference engines at a high
level.
Pascal Principle objectives for Pascal were for the language to be
efficent to implement and run, allow for the development of well
structured and well organized programs, and to serve as a vehicle
for the teaching of the important concepts of computer
programming. The Prime area of application that Pascal entails is
the learning environment. This language was not really developed
to be used for anything other than teaching students the basics of
programming as it was originally developed for this purpose.
Perl Practical Extraction and Report Language, Perl, is a language
optimized for scanning arbitrary text files, extracting information
from those text files, and printing reports based on that
information. It's also a good language for many system
management tasks.
Python Python is an interpreted, interactive, Object-Oriented
programming language. Python combines remarkable power with
very clear syntax. It has modules, classes, exceptions, very high
level dynamic data types, and dynamic typing.
RPG Report Program Generator, RPG, is used for generation of reports
from data files, including matching record and sub-total reports.
RPG is one of the few languages created for punch card machines
that is still in common use today. RPG or RPG IV is a native
programming language for IBM's iSeries minicomputer system.
Scheme Scheme is a statically scoped programming language. It was
designed to have an exceptionally clear and simple semantics and
few different ways to form expressions. A wide variety of
programming paradigms, including imperative, functional, and
message passing styles, find convenient expression in Scheme.
Small Talk SmallTalk is an expressive language that uses a simple sub set of
human languages, nouns and verbs. Smalltalk was the first, and
remains one of the few, pure object systems, which simply means
that everything in a Smalltalk program is an object. Smalltalk is
generally recognized as the second Object Programming
Language (OPL).
Standard ML Standard ML is a safe, modular, strict, functional, polymorphic
programming language with compile-time type checking and type
inference, garbage collection, exception handling, immutable data
types and updatable references, abstract data types, and
parametric modules. It has efficient implementations and a formal
definition with a proof of soundness.
Microsoft Visual Visual Basic is a "visual programming" environment for
Basic developing Windows applications. Visual Basic makes it possible
to develop complicated applications very quickly. This site is all
about Visual Basic.
• ASP
• ASP.NET
• APL
• C++
• C#
• COBOL
• Component Pascal
• Curriculum
• Eiffel
• Forth
• FORTRAN
• Haskell
• J#
• Java
• JavaScript
• Microsoft JScript
• Mercury
• Mondrian
• Oberon
• Oz
• Pascal
• Perl
• Python
• RPG
• Scheme
• Small Talk
• Standard ML
• XML
• The Base Class Library (BCL) is a standard library available to all languages using the
.NET Framework. .NET includes the BCL in order to encapsulate a large number of
common functions, such as file reading and writing, graphic rendering, database
interaction, and XML document manipulation, which makes the programmer's job easier.
It is much larger in scope than standard libraries for most other languages, including C+
+, and is comparable in scope to the standard libraries of Java. The BCL is sometimes
incorrectly referred to as the Framework Class Library (FCL), which is a superset
including the Microsoft.* namespaces.
• The BCL is updated with each version of the .NET Framework.
Namespaces
Some of the namespaces may or may not be officially considered part of the BCL by Microsoft,
but all are included as part of the libraries that are provided with Microsoft's implementation of
the .NET Framework.
Standardized namespaces
These are the namespaces that are standardized as of the ECMA 335 and ISO/IEC 23271:2006
standards.
System
This namespace includes the core needs for programming. It includes base types like
String, DateTime, Boolean, and so forth, support for environments such as the console,
math functions, and base classes for attributes, exceptions, and arrays.
System.Collections
System.Diagnostics
System.Globalization
System.IO
Enables reading from and writing to different streams, such as files or other data streams.
Also provides a connection to the file system.
System.Net
Provides an interface "for many of the protocols used on networks today" such as HTTP,
FTP, and SMTP. Secure communication is supported by protocols such as SSL.
System.Reflection
Provides an object view of types, methods, and fields; and "the ability to dynamically
create and invoke types". It exposes the API to access the Reflective programming
capabilities of CLR.
System.Runtime
Allows management of the runtime behavior of an application or the CLR. Some of the
included abilities are interoperable with COM or other native code, writing distributed
applications, and serializing objects into binary or SOAP.
System.Security
"Provides the underlying structure of the common language runtime security system”.
This namespace allows security to be built into applications based on policy and
permissions. It provides services such as cryptography.
System.Text
Supports various encodings, regular expressions, and a more efficient mechanism for
manipulating strings (StringBuilder).
System.Threading
System.Xml
These are the namespaces that are not standardized as of the ECMA and/or ISO standards, and
are specific to Microsoft implementation. However, even if implementing them is not
mandatory, some of them have been implemented completely or partially by other .NET
implementations.
System.CodeDom
This library provides the ability to create code and run it, at runtime.
System.ComponentModel
Provides the ability to implement the run-time and design-time behavior of components
and controls. It contains the infrastructure "for implementing attributes and type
converters, binding to data sources, and licensing components."
System.Configuration
System.Data
System.Deployment
System.DirectoryServices
System.Drawing
Provides access to GDI+ graphics functionality, including support for 2D and vector
graphics, imaging, printing, and text services.
System.EnterpriseServices
"Provides .NET objects with access to COM+ services making the .NET Framework
objects more practical for enterprise applications”.
System.Linq
Defines the IQueryable<T> interface and related methods, that lets LINQ providers to be
plugged in.
System.Linq.Expressions
System.Management
Allows querying for system information, "such as how much free space is left on the
disk, what is the current CPU utilization, which database a certain application is
connected to, and much more."
System.Media
System.Messaging
Provides the ability "to connect to, monitor, and administer message queues on the
network and send, receive, or peek messages.” .NET Remoting is another name for some
of the functionality provided. This namespace is being superseded by Windows
Communication Foundation.
System.Resources
System.ServiceProcess
System.Timers
System.Transactions
System.Web
System.Windows.Forms
This namespace contains the Windows Forms architecture which provides access to the
native Windows interface elements by wrapping the existing Windows API. This allows
for writing graphical applications for Windows from within managed code.] This system
is being superseded by the Windows Presentation Foundation.