0% found this document useful (0 votes)
57 views

NET Framework and Languages: Application

The document discusses the .NET Framework and provides details about: - The .NET Framework allows applications created in different programming languages to easily interact with each other through a common language runtime and type system. - It lists several programming languages supported by the .NET Framework, such as C#, Visual Basic, C++, Java, and others. - For each language, it provides a brief description of its usage and purpose.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views

NET Framework and Languages: Application

The document discusses the .NET Framework and provides details about: - The .NET Framework allows applications created in different programming languages to easily interact with each other through a common language runtime and type system. - It lists several programming languages supported by the .NET Framework, such as C#, Visual Basic, C++, Java, and others. - For each language, it provides a brief description of its usage and purpose.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 10

Introduction:

• The Microsoft .NET Framework is a software component that is a part of Microsoft


Windows operating systems. It has a large library of pre-coded solutions to common
program requirements, and manages the execution of programs written specifically for
the framework. The .NET Framework is a key Microsoft offering, and is intended to be
used by most new applications created for the Windows platform.

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.

Languages supported in .net frame work

• 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

• Microsoft Visual Basic

• 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

Defines many common containers or collections used in programming, such as lists,


queues, stacks, hashtables, and dictionaries. It includes support for generics.

System.Diagnostics

Provides the ability to diagnose applications. It includes event logging, performance


counters, tracing, and interaction with system processes.

System.Globalization

Provides help for writing internationalized applications. "Culture-related information,


including the language, the country/region, the calendars in use, [and] the format patterns
for dates, currency, and numbers" can be defined.

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

Helps facilitate multithreaded programming. It allows the synchronizing of "thread


activities and access to data" and provides "a pool of system-supplied threads."

System.Xml

"Provides standards-based support for processing XML," including reading, writing,


schemas, serialization, searching, and transforming.

Non standardized namespaces

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

Provides the infrastructure for handling configuration data.

System.Data

This namespace represents the ADO.NET architecture, which is a set of computer


software components that can be used by programmers to access data and data services.

System.Deployment

Allows customization of the way applications upgrade when using ClickOnce.

System.DirectoryServices

Provides easy access to Active Directory from managed code.

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

Allows Delegates and Lambda expressions to be represented as expression trees, so that


the high-level code can be examined and processed at runtime.

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

Provides the ability to play system sounds and .wav files.

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

Allows management of resources in the application in order to internationalize an


application for different cultures and languages.

System.ServiceProcess

Allows the creation of applications that run as a service within Windows.

System.Timers

"Allows you to raise an event on a specified interval.

System.Transactions

Provides support for local or distributed transactions

System.Web

Provides various web related functionality. It enables browser-server communication and


the creating XML Web services. Most or all of these libraries are referred to as the
ASP.NET architecture.

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.

Definition of memory leak


A memory leak occurs when memory is allocated in a program and is never returned to the
operating system, even though the program does not use the memory any longer. The following
are the four basic types of memory leaks:

• In a manually managed memory environment: Memory is dynamically allocated


and referenced by a pointer. The pointer is erased before the memory is freed. After
the pointer is erased, the memory can no longer be accessed and therefore cannot be
freed.
• In a dynamically managed memory environment: Memory is disposed of but
never collected, because a reference to the object is still active. Because a reference to
the object is still active, the garbage collector never collects that memory. This can
occur with a reference that is set by the system or the program.
• In a dynamically managed memory environment: The garbage collector can
collect and free the memory but never returns it to the operating system. This occurs
when the garbage collector cannot move the objects that are still in use to one portion
of the memory and free the rest.
• In any memory environment: Poor memory management can result when many
large objects are declared and never permitted to leave scope. As a result, memory is
used and never freed.

You might also like