Your SlideShare is downloading. ×
02   intro to programming in .net (part 2)
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

02 intro to programming in .net (part 2)


Published on

Published in: Technology

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide
  • The Base Class Library (BCL) includes a small subset of the entire class library and is the core set of classes that serve as the basic API of the Common Language Runtime. The classes in mscorlib.dll and some of the classes in System.dll and System.core.dll are considered to be a part of the BCL. The BCL classes are available in both .NET Framework as well as its alternative implementations including .NET Compact Framework, Microsoft Silverlight and Mono.The Framework Class Library (FCL) is a superset of the BCL classes and refers to the entire class library that ships with .NET Framework. It includes an expanded set of libraries, including Windows Forms, ADO.NET, ASP.NET, Language Integrated Query, Windows Presentation Foundation, Windows Communication Foundation among others. The FCL is much larger in scope than standard libraries for languages like C++, and comparable in scope to the standard libraries of Java.
  • All programs written for the .NET framework, regardless of programming language, are executed by the CLR.
  • All programs written for the .NET framework, regardless of programming language, are executed by the CLR.
  • Transcript

    • 1. Part 2Introduction toProgramming in .NET
    • 2. Learning Objectives OverviewLecturer: Jareed Eve;2 .NET Languages Different types of .NET frameworks architectures Common Language Infrastructure (CLI),Assemblies, Metadata, Security, MemoryManagement, Class Library* Framework Versions (4, 3.5, 3, 2, etc.) Common Language Runtime*, .NET Class Libraries .NET Framework Components The Common Language Runtime The Class Library
    • 3. .NET Languages /1Lecturer: Jareed Eve;3 A# A# is a port of the Ada programming language. A# is freely distributed by the Departmentof Computer Science at the United States Air Force Academy as a service to the Adacommunity under the terms of the GNU General Public License. Ada was originally designed by a team led by Jean Ichbiah of CII Honeywell Bull undercontract to the United States Department of Defense (DoD) from 1977 to 1983 tosupersede the hundreds of programming languages then used by the DoD. C# Developed by Microsoft, C# is intended to be a simple, modern, general-purpose, object-oriented programming language. It was developed by Microsoft within its .NET initiative and later approved as a standardby Ecma and ISO. F# F# is developed by The F# Software Foundation and Microsoft An open-source, strongly typed, multi-paradigm programming language. F# is most oftenused as a cross-platform CLI language, but can also be used to generate JavaScript andGPU code. L# The language was designed by Rob Blackwell, as was its first implementation. L# .NET is a dynamic computer programming language intended to be compiled andexecuted on the Ecma-334 and Ecma-335 Common Language Infrastructure (CLI). It is adialect of Lisp, adapted from Paul Grahams proposed Arc language.
    • 4. .NET Languages /2Lecturer: Jareed Eve;4 C++ C++/CLI (Common Language Infrastructure) is a language specificationcreated by Microsoft and intended to supersede Managed Extensionsfor C++. Boo Developed by Rodrigo B. De Oliveira, Boo is an object-oriented,statically typed, general-purpose programming language that seeks tomake use of the Common Language Infrastructures support for Unicode,internationalization, and web applications, while using a Python-inspiredsyntax and a special focus on language and compiler extensibility. Cobra Cobra is an Object Oriented language designed by Charles Esterbrook It is strongly influenced by Python,C#, Eiffel, Objective-C, and otherprogramming languages Cobra is an open-source project; it was released under the MIT Licenseon February 29, 2008. JScript .NET Developed by Microsoft, JScript has a strong foundation in MicrosoftsActiveX/COM technologies, and relies primarily on ActiveX componentsto provide much of its functionality (including database access via ADO,file handling, etc.), whereas JScript .NET uses the .NET Framework toprovide equivalent functionality.
    • 5. .NET Languages /3Lecturer: Jareed Eve;5 IronPython, IronRuby IronPython is an implementation of the Python programming languagetargeting the .NET Framework Jim Hugunin created the project and actively contributed to it up untilVersion 1.0 which was released on September 5, 2006. Thereafter, it wasmaintained by a small team at Microsoft until the 2.7 Beta 1 release;Microsoft abandoned IronPython (and its sister project IronRuby) in late2010, after which event Hugunin left to work at Google. IronPython 2.0was released on December 10, 2008. IronRuby is an implementation of the Ruby programming languagetargeting Microsoft .NET framework Visual Basic.NET Visual Basic .NET (VB.NET) (created by Microsoft) is an object-orientedcomputer programming language that can be viewed as an evolution ofthe classic Visual Basic (VB), implemented on the .NET Framework IronLISP IronLisp was an implementation of the Lisp programming languagetargeting the Microsoft .NET framework. It was developed andannounced by Xacc.ide on July 23, 2007. No further development willtake place on IronLisp.
    • 6. .NET Frameworks Architectures/1Lecturer: Jareed Eve;6 Common Language Infrastructure (CLI) This is an open specification developed byMicrosoft and standardized by ISO andECMA. It describes the executable code and runtimeenvironment that form the core of theMicrosoft .NET Framework and the freeand open source implementations Mono andPortable.NET. The specification defines an environmentthat allows multiple high-level languages tobe used on different computer platformswithout being rewritten for specific
    • 7. Lecturer: Jareed Eve;7
    • 8. .NET Frameworks Architectures/2Lecturer: Jareed Eve;8 Common Language Infrastructure (CLI) MetadataDescribes the high-level structure of the code.Metadata describes all classes and class membersthat are defined in the assembly, and the classesand class members that the current assembly willcall from another assembly. Common Language Specification (CLS)A set of base rules to which any language targetingthe CLI should conform in order to interoperate withother CLS-compliant languages. The CLS rulesdefine a subset of the Common Type System.
    • 9. .NET Frameworks Architectures/3Lecturer: Jareed Eve;9 Common Language Infrastructure (CLI) Common Type System (CTS)A set of data types and operations that are sharedby all CTS-compliant programming languages. Virtual Execution System (VES)The VES loads and executes CLI-compatibleprograms, using the metadata to combineseparately generated pieces of code at runtime.
    • 10. .NET Frameworks Architectures/4Lecturer: Jareed Eve;10 Common Language Infrastructure (CLI)Assembly An assembly in the Common LanguageInfrastructure (CLI) is a compiled code library usedfor deployment, versioning, and security. There are two types: process assemblies (EXE)andlibrary assemblies (DLL). A process assembly represents a process that willuse classes defined in library assemblies. CLI assemblies contain code which is generatedfrom a CLI language, and then compiled intomachine language at run time by the just-in-timecompiler. In the .NET framework implementation,this compiler is part of the Common Language
    • 11. .NET Frameworks Architectures/5Lecturer: Jareed Eve;11 Common Language Infrastructure (CLI)Security .NET has its own security mechanism with 2 generalfeatures: Code Access Security (CAS), and Validation and verification. Code Access Security is based on evidence that isassociated with a specific assembly. Typically the evidence is the source of the assembly. Code Access Security uses evidence to determinethe permissions granted to the code. Other code candemand that calling code is granted a specifiedpermission.
    • 12. .NET Frameworks Architectures/5Lecturer: Jareed Eve;12 Common Language Infrastructure (CLI)Memory Management Automatic memory management is one of theservices that the common language runtimeprovides. The garbage collector manages theallocation and release of memory for an application. Allocating MemoryWhen you initialize a new process, the runtimereserves a contiguous region of address space forthe process. Releasing MemoryThe garbage collectors optimizing enginedetermines the best time to perform a collectionbased on the allocations being made. When thegarbage collector performs a collection, it releases
    • 13. .NET Frameworks Architectures/6Lecturer: Jareed Eve;13
    • 14. Lecturer: Jareed Eve;14
    • 15. Class LibraryLecturer: Jareed Eve;15 The .NET Framework includes a set of standard classlibraries. The class library is organized in a hierarchy ofnamespaces. Most of the built-in APIs are part ofeither System.* or Microsoft.* namespaces. These class libraries implement a large number ofcommon functions, such as file reading and writing,graphic rendering, database interaction, and XMLdocument manipulation, among others. The .NETclass libraries are available to all CLI compliantlanguages. The .NET Framework class library is divided into twoparts: the Base Class Library and the Framework Class Library
    • 16. Common Language Runtime /1Lecturer: Jareed Eve;16 The Common Language Runtime (CLR) is thevirtual machine component of Microsofts .NETframework and is responsible for managing theexecution of .NET programs. In a process known as Just-in-time compilation, thecompiled code is converted into machine instructionsthat, in turn, are executed by the computers CPU. The CLR provides additional services includingmemory management, type safety and exceptionhandling. It provides exception handling, garbagecollection and thread management. CLR is commonto all versions of the .NET framework. The CLR is Microsofts implementation of theCommon Language Infrastructure (CLI) standard.
    • 17. Common Language Runtime /2Lecturer: Jareed Eve;17
    • 18. THE ENDLecturer: Jareed Eve;18
    • 19. Lecturer: Jareed Eve;19