🗊Презентация Язык C#

Нажмите для полного просмотра!
Язык C#, слайд №1Язык C#, слайд №2Язык C#, слайд №3Язык C#, слайд №4Язык C#, слайд №5Язык C#, слайд №6Язык C#, слайд №7Язык C#, слайд №8Язык C#, слайд №9Язык C#, слайд №10Язык C#, слайд №11Язык C#, слайд №12Язык C#, слайд №13Язык C#, слайд №14Язык C#, слайд №15Язык C#, слайд №16Язык C#, слайд №17Язык C#, слайд №18Язык C#, слайд №19Язык C#, слайд №20Язык C#, слайд №21Язык C#, слайд №22Язык C#, слайд №23Язык C#, слайд №24Язык C#, слайд №25Язык C#, слайд №26Язык C#, слайд №27Язык C#, слайд №28Язык C#, слайд №29

Содержание

Вы можете ознакомиться и скачать презентацию на тему Язык C#. Доклад-сообщение содержит 29 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





С#
С#

C# (произносится си шарп) — разработан в 1998—2001 годах группой инженеров под руководством Андерсa Хейлсбергa в компании Microsoft как основной язык разработки приложений для платформы Microsoft.NET. 
Компилятор с C# входит в стандартную установку самой .NET (читается Dot Net), поэтому программы на нём можно создавать и компилировать даже без инструментальных средств вроде Visual Studio.
Описание слайда:
С# С# C# (произносится си шарп) — разработан в 1998—2001 годах группой инженеров под руководством Андерсa Хейлсбергa в компании Microsoft как основной язык разработки приложений для платформы Microsoft.NET. Компилятор с C# входит в стандартную установку самой .NET (читается Dot Net), поэтому программы на нём можно создавать и компилировать даже без инструментальных средств вроде Visual Studio.

Слайд 2





Андерс Хейлсберг (Anders Hejlsberg; род. в декабре 1960, Копенгаген) — датский инженер-программист.
Андерс Хейлсберг (Anders Hejlsberg; род. в декабре 1960, Копенгаген) — датский инженер-программист.
В 1980 году написал свой первый компилятор языка Паскаль и продал его фирме Borland.
Описание слайда:
Андерс Хейлсберг (Anders Hejlsberg; род. в декабре 1960, Копенгаген) — датский инженер-программист. Андерс Хейлсберг (Anders Hejlsberg; род. в декабре 1960, Копенгаген) — датский инженер-программист. В 1980 году написал свой первый компилятор языка Паскаль и продал его фирме Borland.

Слайд 3





C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к С++ и Java. 
C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к С++ и Java. 
Переняв многое от своих предшественников — языков С++, Java, Delphi, Модула и Smalltalk — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем
Авторы C# стремились создать язык, сочетающий простоту и выразительность современных объектно-ориентированных языков (вроде Java) c богатством возможностей и мощью C++. По словам Андерса Хейлсберга, C# позаимствовал большинство своих синтаксических конструкций из C++. Некоторые синтаксические конструкции С#  унаследованы и от Visual Basic.
Описание слайда:
C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к С++ и Java. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к С++ и Java. Переняв многое от своих предшественников — языков С++, Java, Delphi, Модула и Smalltalk — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем Авторы C# стремились создать язык, сочетающий простоту и выразительность современных объектно-ориентированных языков (вроде Java) c богатством возможностей и мощью C++. По словам Андерса Хейлсберга, C# позаимствовал большинство своих синтаксических конструкций из C++. Некоторые синтаксические конструкции С# унаследованы и от Visual Basic.

Слайд 4





История создания С#
История создания С#
Проект C# был начат в декабре 1998 и получил кодовое название COOL (C-style Object Oriented Language). 
Версия 1.0 появилась вместе с платформой .NET в июне 2000 года, тогда же появилась и первая общедоступная бета-версия; 

C# 1.0 окончательно вышел вместе с Microsoft Visual Studio.NET в феврале 2002 года.
Описание слайда:
История создания С# История создания С# Проект C# был начат в декабре 1998 и получил кодовое название COOL (C-style Object Oriented Language). Версия 1.0 появилась вместе с платформой .NET в июне 2000 года, тогда же появилась и первая общедоступная бета-версия; C# 1.0 окончательно вышел вместе с Microsoft Visual Studio.NET в феврале 2002 года.

Слайд 5





Версия 1.0
Версия 1.0
Первая версия C# напоминала по своим возможностям Java 1.4, несколько их расширяя. 
Основным нововведением был управляемый код (Managed code). Теперь программистам не надо было думать об освобождении памяти. Платформа автоматически делала это за них.
Описание слайда:
Версия 1.0 Версия 1.0 Первая версия C# напоминала по своим возможностям Java 1.4, несколько их расширяя. Основным нововведением был управляемый код (Managed code). Теперь программистам не надо было думать об освобождении памяти. Платформа автоматически делала это за них.

Слайд 6





Версия 2.0
Версия 2.0
Проект спецификации C# 2.0 впервые был выложен Microsoft в октябре 2003 года; в 2004 году выходили бета-версии (проект с кодовым названием Whidbey), C# 2.0 окончательно вышел 7 ноября 2005 года вместе с Visual Studio 2005 и .NET 2.0.
Новые возможности:
Частичные типы (разделение реализации класса более чем на один файл).
Обобщённые, или параметризованные типы (generics). В отличие от шаблонов С++, они поддерживают некоторые дополнительные возможности и работают на уровне виртуальной машины. 
Новая форма итератора, позволяющая создавать сопрограммы с помощью ключевого слова yield.
Анонимные методы, обеспечивающие функциональность замыкания.
Поддержка 64-разрядных вычислений, что кроме всего прочего, позволяет увеличить адресное пространство и использовать 64-разрядные примитивные типы данных.
Описание слайда:
Версия 2.0 Версия 2.0 Проект спецификации C# 2.0 впервые был выложен Microsoft в октябре 2003 года; в 2004 году выходили бета-версии (проект с кодовым названием Whidbey), C# 2.0 окончательно вышел 7 ноября 2005 года вместе с Visual Studio 2005 и .NET 2.0. Новые возможности: Частичные типы (разделение реализации класса более чем на один файл). Обобщённые, или параметризованные типы (generics). В отличие от шаблонов С++, они поддерживают некоторые дополнительные возможности и работают на уровне виртуальной машины. Новая форма итератора, позволяющая создавать сопрограммы с помощью ключевого слова yield. Анонимные методы, обеспечивающие функциональность замыкания. Поддержка 64-разрядных вычислений, что кроме всего прочего, позволяет увеличить адресное пространство и использовать 64-разрядные примитивные типы данных.

Слайд 7





Версия 3.0
Версия 3.0
В сентябре 2005 года вышли проект спецификации C# 3.0 и бета-версия C# 3.0, устанавливаемая в виде дополнения к существующим Visual Studio 2005 и .NET 2.0. C# 3.0 совместим с C# 2.0 по генерируемому MSIL-коду; улучшения в языке — чисто синтаксические и реализуются на этапе компиляции.
Описание слайда:
Версия 3.0 Версия 3.0 В сентябре 2005 года вышли проект спецификации C# 3.0 и бета-версия C# 3.0, устанавливаемая в виде дополнения к существующим Visual Studio 2005 и .NET 2.0. C# 3.0 совместим с C# 2.0 по генерируемому MSIL-коду; улучшения в языке — чисто синтаксические и реализуются на этапе компиляции.

Слайд 8





Версия 4.0
Версия 4.0
Версия С# 4.0, которая была представлена в конце 2008 г.
Новые возможности:
Возможность использования позднего связывания, для использования:
с языками с динамической типизацией (Python, Ruby)
с COM-объектами
отражения (reflection)
объектов с изменяемой структурой (DOM). Появляется ключевое слово dynamic.
Именованные и опциональные параметры
Новые возможности COM interop
Ковариантность и контравариантность
Контракты в коде (Code Contracts)
Описание слайда:
Версия 4.0 Версия 4.0 Версия С# 4.0, которая была представлена в конце 2008 г. Новые возможности: Возможность использования позднего связывания, для использования: с языками с динамической типизацией (Python, Ruby) с COM-объектами отражения (reflection) объектов с изменяемой структурой (DOM). Появляется ключевое слово dynamic. Именованные и опциональные параметры Новые возможности COM interop Ковариантность и контравариантность Контракты в коде (Code Contracts)

Слайд 9





Версия 5.0
Версия 5.0
Текущей является Версия С# 5.0, которая была представлена в апреле 2010 г.. 
Два важных средства, внедренных в версии 4.0 и непосредственно связанных с программированием на C#, предоставляются не самим языком, а средой .NET Framework 4.0. Речь идет о поддержке параллельного программирования с помощью библиотеки распараллеливания задач (TPL) и параллельном варианте языка интегрированных запросов (PLINQ). Оба эти средства позволяют существенно усовершенствовать и упростить процесс создания программ, в которых применяется принцип параллелизма. И то и другое средство упрощает создание многопоточного кода, который масштабируется автоматически для использования нескольких процессоров, доступных на компьютере. В настоящее время широкое распространение получили компьютеры с многоядерными процессорами, и поэтому возможность распараллеливать выполнение кода среди всех доступных процессоров приобретает все большее значение практически для всех, кто программирует на C#.
Описание слайда:
Версия 5.0 Версия 5.0 Текущей является Версия С# 5.0, которая была представлена в апреле 2010 г.. Два важных средства, внедренных в версии 4.0 и непосредственно связанных с программированием на C#, предоставляются не самим языком, а средой .NET Framework 4.0. Речь идет о поддержке параллельного программирования с помощью библиотеки распараллеливания задач (TPL) и параллельном варианте языка интегрированных запросов (PLINQ). Оба эти средства позволяют существенно усовершенствовать и упростить процесс создания программ, в которых применяется принцип параллелизма. И то и другое средство упрощает создание многопоточного кода, который масштабируется автоматически для использования нескольких процессоров, доступных на компьютере. В настоящее время широкое распространение получили компьютеры с многоядерными процессорами, и поэтому возможность распараллеливать выполнение кода среди всех доступных процессоров приобретает все большее значение практически для всех, кто программирует на C#.

Слайд 10





Литература:
Литература:
А. Хейлсберг, М. Торгерсен, С. Вилтамут, П. Голд Язык программирования C#. Классика Computers Science. 4-е издание = C# Programming Language (Covering C# 4.0), 4th Ed. — СПб.: «Питер», 2012. — 784 с. — ISBN 978-5-459-00283-6
Э. Стиллмен, Дж. Грин Изучаем C#. 2-е издание = Head First C#, 2ed. — СПб.: «Питер», 2012. — 704 с. — ISBN 978-5-4461-0105-4
Эндрю Троелсен Язык программирования C# 5.0 и платформа .NET 4.5, 6-е издание = Pro C# 5.0 and the .NET 4.5 Framework, 6th edition. — М.: «Вильямс», 2013. — 1312 с. — ISBN 978-5-8459-1814-7
Джозеф Албахари, Бен Албахари C# 5.0. Справочник. Полное описание языка = C# 5.0 in a Nutshell: The Definitive Reference. — М.: «Вильямс», 2013. — 1008 с. — ISBN 978-5-8459-1819-2
Герберт Шилдт. C# 4.0: полное руководство = C# 4.0 The Complete Reference. — М.: «Вильямс», 2010. — С. 1056. — ISBN 978-5-8459-1684-6
Джон Скит. C#: программирование для профессионалов, 2-е издание = C# in Depth, 2nd Edition. — М.: «Вильямс», 2011. — 544 с. — ISBN 978-5-8459-1555-9
Кристиан Нейгел, Карли Уотсон и др. Visual C# 2010: полный курс = Beginning Microsoft Visual C# 2010. — М.: Диалектика, 2010. — ISBN 978-5-8459-1699-0
Кристиан Нейгел, Билл Ивьен, Джей Глинн, Карли Уотсон, Морган Скиннер. C# 4: Платформа .NET 4 для профессионалов = Professional C# 4 and .NET 4. — М.: Диалектика, 2010. — С. 1440. — ISBN 978-5-8459-1656-3
Описание слайда:
Литература: Литература: А. Хейлсберг, М. Торгерсен, С. Вилтамут, П. Голд Язык программирования C#. Классика Computers Science. 4-е издание = C# Programming Language (Covering C# 4.0), 4th Ed. — СПб.: «Питер», 2012. — 784 с. — ISBN 978-5-459-00283-6 Э. Стиллмен, Дж. Грин Изучаем C#. 2-е издание = Head First C#, 2ed. — СПб.: «Питер», 2012. — 704 с. — ISBN 978-5-4461-0105-4 Эндрю Троелсен Язык программирования C# 5.0 и платформа .NET 4.5, 6-е издание = Pro C# 5.0 and the .NET 4.5 Framework, 6th edition. — М.: «Вильямс», 2013. — 1312 с. — ISBN 978-5-8459-1814-7 Джозеф Албахари, Бен Албахари C# 5.0. Справочник. Полное описание языка = C# 5.0 in a Nutshell: The Definitive Reference. — М.: «Вильямс», 2013. — 1008 с. — ISBN 978-5-8459-1819-2 Герберт Шилдт. C# 4.0: полное руководство = C# 4.0 The Complete Reference. — М.: «Вильямс», 2010. — С. 1056. — ISBN 978-5-8459-1684-6 Джон Скит. C#: программирование для профессионалов, 2-е издание = C# in Depth, 2nd Edition. — М.: «Вильямс», 2011. — 544 с. — ISBN 978-5-8459-1555-9 Кристиан Нейгел, Карли Уотсон и др. Visual C# 2010: полный курс = Beginning Microsoft Visual C# 2010. — М.: Диалектика, 2010. — ISBN 978-5-8459-1699-0 Кристиан Нейгел, Билл Ивьен, Джей Глинн, Карли Уотсон, Морган Скиннер. C# 4: Платформа .NET 4 для профессионалов = Professional C# 4 and .NET 4. — М.: Диалектика, 2010. — С. 1440. — ISBN 978-5-8459-1656-3

Слайд 11





.NET Framework
.NET Framework

Программа на языке C# выполняется в среде .NET Framework
Microsoft начала разрабатывать .NET Framework в конце 1990-х под именем «Next Generation Windows Services» (NGWS).
Описание слайда:
.NET Framework .NET Framework Программа на языке C# выполняется в среде .NET Framework Microsoft начала разрабатывать .NET Framework в конце 1990-х под именем «Next Generation Windows Services» (NGWS).

Слайд 12





      .NET Framework – интегрированный компонент Windows, содержит виртуальную систему выполнения (среда CLR) и унифицированный набор библиотек классов:
      .NET Framework – интегрированный компонент Windows, содержит виртуальную систему выполнения (среда CLR) и унифицированный набор библиотек классов:
FCL (Framework Class Library) - библиотека классов;
CLR (Common Language Runtime) - общеязыковая исполнительная среда
Описание слайда:
.NET Framework – интегрированный компонент Windows, содержит виртуальную систему выполнения (среда CLR) и унифицированный набор библиотек классов: .NET Framework – интегрированный компонент Windows, содержит виртуальную систему выполнения (среда CLR) и унифицированный набор библиотек классов: FCL (Framework Class Library) - библиотека классов; CLR (Common Language Runtime) - общеязыковая исполнительная среда

Слайд 13





FCL (Framework Class Library)
FCL (Framework Class Library)

.NET Framework состоит прежде всего из огромной библиотеки программ, к которой можно обращаться из различных языков программирования с помощью различных технологий объектно-ориентированного программирования  (FCL - Framework Class Library)

Часть библиотеки .NET Framework посвящена описанию некоторых базисных типов. Тип — это способ представления данных; определение наиболее фундаментальных из них (например 32-разрядного целого со знаком) облегчает совместное использование языков программирования с помощью .NET Framework. Все вместе это называется CTS (Common Type System — единая система типов)
Описание слайда:
FCL (Framework Class Library) FCL (Framework Class Library) .NET Framework состоит прежде всего из огромной библиотеки программ, к которой можно обращаться из различных языков программирования с помощью различных технологий объектно-ориентированного программирования (FCL - Framework Class Library) Часть библиотеки .NET Framework посвящена описанию некоторых базисных типов. Тип — это способ представления данных; определение наиболее фундаментальных из них (например 32-разрядного целого со знаком) облегчает совместное использование языков программирования с помощью .NET Framework. Все вместе это называется CTS (Common Type System — единая система типов)

Слайд 14





Число классов библиотеки FCL велико (более 4 тысяч). Поэтому понадобился способ их структуризации. Логически классы с близкой функциональностью объединяются в группы, называемые пространством имен (Namespace). 
Число классов библиотеки FCL велико (более 4 тысяч). Поэтому понадобился способ их структуризации. Логически классы с близкой функциональностью объединяются в группы, называемые пространством имен (Namespace). 
Основным пространством имен библиотеки FCL является пространство System, содержащее как классы, так и другие вложенные пространства имен. Так, уже упоминавшийся примитивный тип Int32 непосредственно вложен в пространство имен System и его полное имя, включающее имя пространства - System.Int32.
В пространство System вложен целый ряд других пространств имен.
Например, в пространстве System.Collections находятся классы и интерфейсы, поддерживающие работу с коллекциями объектов - списками, очередями, словарями. 
В пространство System.Collections, в свою очередь, вложено пространство имен Specialized, содержащие классы со специализацией, например, коллекции, элементами которых являются только строки. 
Пространство System.Windows.Forms содержит классы, используемые при создании Windows-приложений. Класс Form из этого пространства задает форму - окно, заполняемое элементами управления, графикой, обеспечивающее интерактивное взаимодействие с пользователем.
Описание слайда:
Число классов библиотеки FCL велико (более 4 тысяч). Поэтому понадобился способ их структуризации. Логически классы с близкой функциональностью объединяются в группы, называемые пространством имен (Namespace). Число классов библиотеки FCL велико (более 4 тысяч). Поэтому понадобился способ их структуризации. Логически классы с близкой функциональностью объединяются в группы, называемые пространством имен (Namespace). Основным пространством имен библиотеки FCL является пространство System, содержащее как классы, так и другие вложенные пространства имен. Так, уже упоминавшийся примитивный тип Int32 непосредственно вложен в пространство имен System и его полное имя, включающее имя пространства - System.Int32. В пространство System вложен целый ряд других пространств имен. Например, в пространстве System.Collections находятся классы и интерфейсы, поддерживающие работу с коллекциями объектов - списками, очередями, словарями. В пространство System.Collections, в свою очередь, вложено пространство имен Specialized, содержащие классы со специализацией, например, коллекции, элементами которых являются только строки. Пространство System.Windows.Forms содержит классы, используемые при создании Windows-приложений. Класс Form из этого пространства задает форму - окно, заполняемое элементами управления, графикой, обеспечивающее интерактивное взаимодействие с пользователем.

Слайд 15





Первая программа на C#
using System;		- подключение пространства имен
namespace first {		- новое пространство имен
    class Program    {	- класс Program
        	static void Main(string[ ] args)      - главная функция  
		{
            	Console.WriteLine(“HELLO, WORLD!!!");
		} 
	}
}
Описание слайда:
Первая программа на C# using System; - подключение пространства имен namespace first { - новое пространство имен class Program { - класс Program static void Main(string[ ] args) - главная функция { Console.WriteLine(“HELLO, WORLD!!!"); } } }

Слайд 16





В состав библиотеки классов .NET Framework, входят классы, которые используются при разработке Windows-приложений, Web-приложении, а также приложении с базами данных. 
В состав библиотеки классов .NET Framework, входят классы, которые используются при разработке Windows-приложений, Web-приложении, а также приложении с базами данных. 
В библиотеке классов .NET Framework имеются также классы, обеспечивающие взаимодействие с языком XML, с моделью компонентных объектов Microsoft (COM) и с любой платформой, поддерживающей интерфейс 32-разрядных Windows-приложении (Win32 API).
Описание слайда:
В состав библиотеки классов .NET Framework, входят классы, которые используются при разработке Windows-приложений, Web-приложении, а также приложении с базами данных. В состав библиотеки классов .NET Framework, входят классы, которые используются при разработке Windows-приложений, Web-приложении, а также приложении с базами данных. В библиотеке классов .NET Framework имеются также классы, обеспечивающие взаимодействие с языком XML, с моделью компонентных объектов Microsoft (COM) и с любой платформой, поддерживающей интерфейс 32-разрядных Windows-приложении (Win32 API).

Слайд 17





CLR (Common Language Runtime)
CLR (Common Language Runtime)
Наиболее революционным изобретением Framework.Net явилось создание исполнительной среды CLR (Common Language Runtime — единая система выполнения программ). С ее появлением процесс написания и выполнения приложений становится принципиально другим. 
Компиляторы языков программирования, включенные в Visual Studio.Net, создают модули на промежуточном языке IL (Microsoft Intermediate Language)
Фактически компиляторы создают так называемый управляемый модуль - переносимый исполняемый файл (Portable Executable или PE-файл). Этот файл содержит код на IL и метаданные - всю необходимую информацию как для CLR, так и конечных пользователей, работающих с приложением
В зависимости от выбранного типа проекта, PE-файл может иметь уточнения exe, dll, mod или mdl.
Описание слайда:
CLR (Common Language Runtime) CLR (Common Language Runtime) Наиболее революционным изобретением Framework.Net явилось создание исполнительной среды CLR (Common Language Runtime — единая система выполнения программ). С ее появлением процесс написания и выполнения приложений становится принципиально другим. Компиляторы языков программирования, включенные в Visual Studio.Net, создают модули на промежуточном языке IL (Microsoft Intermediate Language) Фактически компиляторы создают так называемый управляемый модуль - переносимый исполняемый файл (Portable Executable или PE-файл). Этот файл содержит код на IL и метаданные - всю необходимую информацию как для CLR, так и конечных пользователей, работающих с приложением В зависимости от выбранного типа проекта, PE-файл может иметь уточнения exe, dll, mod или mdl.

Слайд 18





     Виртуальная машина
     Виртуальная машина
      Файл, имеющий уточнение exe, хотя и является exe-файлом, но это не совсем обычный, исполняемый файл. При его запуске он распознается как специальный PE-файл и передается CLR для обработки. 
      Исполнительная среда начинает работать с кодом, в котором специфика исходного языка программирования исчезла. Код на IL начинает выполняться под управлением CLR (по этой причине код называется управляемым). 
      Исполнительную среду можно рассматривать как своеобразную виртуальную IL-машину. Эта машина транслирует "на лету" требуемые для исполнения участки кода в команды реального процессора, который в действительности и выполняет код
Описание слайда:
Виртуальная машина Виртуальная машина Файл, имеющий уточнение exe, хотя и является exe-файлом, но это не совсем обычный, исполняемый файл. При его запуске он распознается как специальный PE-файл и передается CLR для обработки. Исполнительная среда начинает работать с кодом, в котором специфика исходного языка программирования исчезла. Код на IL начинает выполняться под управлением CLR (по этой причине код называется управляемым). Исполнительную среду можно рассматривать как своеобразную виртуальную IL-машину. Эта машина транслирует "на лету" требуемые для исполнения участки кода в команды реального процессора, который в действительности и выполняет код

Слайд 19





      Microsoft использовала получивший широкое признание опыт виртуальной машины Java, улучшив процесс за счет того, что, в отличие от Java, промежуточный код не интерпретируется исполнительной средой, а компилируется с учетом всех особенностей текущей платформы. Благодаря этому создаются высокопроизводительные приложения. 
      Microsoft использовала получивший широкое признание опыт виртуальной машины Java, улучшив процесс за счет того, что, в отличие от Java, промежуточный код не интерпретируется исполнительной средой, а компилируется с учетом всех особенностей текущей платформы. Благодаря этому создаются высокопроизводительные приложения. 
      В состав CLR входят трансляторы JIT (Just In Time Compiler), которые и выполняют трансляцию IL в командный код той машины, где установлена и функционирует исполнительная среда CLR

Если у вас есть готовый PE-файл, то иногда полезно анализировать его IL-код и связанные с ним метаданные. В состав Framework SDK входит дизассемблер - ildasm, выполняющий дизассемблирование PE-файла и показывающий метаданные, а также IL-код с комментариями в наглядной форме. 
Программисты, предпочитающие работать на низком уровне, могут программировать на языке ассемблера IL. В этом случае в их распоряжении будет вся мощь библиотеки FCL и все возможности CLR.
Описание слайда:
Microsoft использовала получивший широкое признание опыт виртуальной машины Java, улучшив процесс за счет того, что, в отличие от Java, промежуточный код не интерпретируется исполнительной средой, а компилируется с учетом всех особенностей текущей платформы. Благодаря этому создаются высокопроизводительные приложения. Microsoft использовала получивший широкое признание опыт виртуальной машины Java, улучшив процесс за счет того, что, в отличие от Java, промежуточный код не интерпретируется исполнительной средой, а компилируется с учетом всех особенностей текущей платформы. Благодаря этому создаются высокопроизводительные приложения. В состав CLR входят трансляторы JIT (Just In Time Compiler), которые и выполняют трансляцию IL в командный код той машины, где установлена и функционирует исполнительная среда CLR Если у вас есть готовый PE-файл, то иногда полезно анализировать его IL-код и связанные с ним метаданные. В состав Framework SDK входит дизассемблер - ildasm, выполняющий дизассемблирование PE-файла и показывающий метаданные, а также IL-код с комментариями в наглядной форме. Программисты, предпочитающие работать на низком уровне, могут программировать на языке ассемблера IL. В этом случае в их распоряжении будет вся мощь библиотеки FCL и все возможности CLR.

Слайд 20





      Выполнение программы на С#
      Выполнение программы на С#

      Исходный код, написанный на языке C#, компилируется в промежуточный язык (IL). Код IL и ресурсы, такие как растровые изображения и строки, хранятся на диске в исполняемом файле, называемом сборкой, с расширением EXE или DLL в большинстве случаев. Сборка содержит манифест со сведениями о типах сборки, версии, языке и региональных параметрах и требованиях безопасности.
Описание слайда:
Выполнение программы на С# Выполнение программы на С# Исходный код, написанный на языке C#, компилируется в промежуточный язык (IL). Код IL и ресурсы, такие как растровые изображения и строки, хранятся на диске в исполняемом файле, называемом сборкой, с расширением EXE или DLL в большинстве случаев. Сборка содержит манифест со сведениями о типах сборки, версии, языке и региональных параметрах и требованиях безопасности.

Слайд 21





      Метаданные — это данные в двоичном формате с описанием программы, хранящиеся либо в переносимом исполняемом (PE) файле среды CLR, либо в памяти
      Метаданные — это данные в двоичном формате с описанием программы, хранящиеся либо в переносимом исполняемом (PE) файле среды CLR, либо в памяти
      Когда код компилируется в PE-файл, метаданные помещаются в одну часть файла, а код преобразуется в IL и помещается в другую часть файла 
      В метаданных описываются все типы и члены, определенные или используемые в модуле или сборке
      При исполнении кода среда выполнения загружает метаданные в память и обращается к ним для получения сведений о классах, членах, наследовании и других элементах кода
Описание слайда:
Метаданные — это данные в двоичном формате с описанием программы, хранящиеся либо в переносимом исполняемом (PE) файле среды CLR, либо в памяти Метаданные — это данные в двоичном формате с описанием программы, хранящиеся либо в переносимом исполняемом (PE) файле среды CLR, либо в памяти Когда код компилируется в PE-файл, метаданные помещаются в одну часть файла, а код преобразуется в IL и помещается в другую часть файла В метаданных описываются все типы и члены, определенные или используемые в модуле или сборке При исполнении кода среда выполнения загружает метаданные в память и обращается к ним для получения сведений о классах, членах, наследовании и других элементах кода

Слайд 22





      Среди классов библиотеки FCL имеется класс Reflection, методы которого позволяют извлекать необходимую информацию. При проектировании класса программист может создавать собственные атрибуты, добавляемые к метаданным PE-файла. 
      Среди классов библиотеки FCL имеется класс Reflection, методы которого позволяют извлекать необходимую информацию. При проектировании класса программист может создавать собственные атрибуты, добавляемые к метаданным PE-файла. 
      При выполнении программы на C# сборка загружается в среду CLR в зависимости от сведений в манифесте. Далее, если требования безопасности соблюдены, среда CLR выполняет JIT-компиляцию для преобразования кода IL в инструкции машинного кода. 
      Среда CLR также предоставляет другие службы, относящиеся к автоматическому сбору мусора, обработке исключений и управлению ресурсами. Код, выполняемый средой CLR, иногда называют "управляемым кодом" в противопоставление "неуправляемому коду", который компилируется в машинный код, предназначенный для определенной системы.
Описание слайда:
Среди классов библиотеки FCL имеется класс Reflection, методы которого позволяют извлекать необходимую информацию. При проектировании класса программист может создавать собственные атрибуты, добавляемые к метаданным PE-файла. Среди классов библиотеки FCL имеется класс Reflection, методы которого позволяют извлекать необходимую информацию. При проектировании класса программист может создавать собственные атрибуты, добавляемые к метаданным PE-файла. При выполнении программы на C# сборка загружается в среду CLR в зависимости от сведений в манифесте. Далее, если требования безопасности соблюдены, среда CLR выполняет JIT-компиляцию для преобразования кода IL в инструкции машинного кода. Среда CLR также предоставляет другие службы, относящиеся к автоматическому сбору мусора, обработке исключений и управлению ресурсами. Код, выполняемый средой CLR, иногда называют "управляемым кодом" в противопоставление "неуправляемому коду", который компилируется в машинный код, предназначенный для определенной системы.

Слайд 23





      Ниже показаны отношения во время компиляции и время выполнения между файлами с исходным кодом C#, библиотеками классов .NET Framework, сборками и средой CLR.
      Ниже показаны отношения во время компиляции и время выполнения между файлами с исходным кодом C#, библиотеками классов .NET Framework, сборками и средой CLR.
Описание слайда:
Ниже показаны отношения во время компиляции и время выполнения между файлами с исходным кодом C#, библиотеками классов .NET Framework, сборками и средой CLR. Ниже показаны отношения во время компиляции и время выполнения между файлами с исходным кодом C#, библиотеками классов .NET Framework, сборками и средой CLR.

Слайд 24





Сборщик мусора (Garbage Collector) и управление памятью
Сборщик мусора (Garbage Collector) и управление памятью

Важной особенностью построения CLR является то, что исполнительная среда берет на себя часть функций, традиционно входящих в ведение разработчиков трансляторов, и облегчает тем самым их работу. 
Один из таких наиболее значимых компонентов CLR - сборщик мусора (Garbage Collector). Под сборкой мусора понимается освобождение памяти, занятой объектами, которые стали бесполезными и не используются в дальнейшей работе приложения. 
В ряде языков программирования (классическим примером является язык C/C++) память освобождает сам программист, в явной форме отдавая команды как на создание, так и на удаление объекта. Неизбежные ошибки программиста при работе с памятью тяжелы по последствиям, и их крайне тяжело обнаружить.
Описание слайда:
Сборщик мусора (Garbage Collector) и управление памятью Сборщик мусора (Garbage Collector) и управление памятью Важной особенностью построения CLR является то, что исполнительная среда берет на себя часть функций, традиционно входящих в ведение разработчиков трансляторов, и облегчает тем самым их работу. Один из таких наиболее значимых компонентов CLR - сборщик мусора (Garbage Collector). Под сборкой мусора понимается освобождение памяти, занятой объектами, которые стали бесполезными и не используются в дальнейшей работе приложения. В ряде языков программирования (классическим примером является язык C/C++) память освобождает сам программист, в явной форме отдавая команды как на создание, так и на удаление объекта. Неизбежные ошибки программиста при работе с памятью тяжелы по последствиям, и их крайне тяжело обнаружить.

Слайд 25





В CLR задача сборки мусора снята не только с программистов, но и с разработчиков трансляторов, она решается - исполнительной средой, ответственной за выполнение вычислений. 
В CLR задача сборки мусора снята не только с программистов, но и с разработчиков трансляторов, она решается - исполнительной средой, ответственной за выполнение вычислений. 
Здесь же решаются и многие другие вопросы, связанные с использованием памяти, в частности, проверяются возможные нарушения связанные, например, с использованием указателей. Данные, удовлетворяющие требованиям CLR и допускающие сборку мусора, называются управляемыми данными.
Но, как же быть с языком C++ и другими языками, где есть указатели, адресная арифметика, возможности удаления объектов программистом? Такие возможности сохранены и в языке C#. 
       CLR позволяет работать как с управляемыми, так и с неуправляемыми данными. Однако использование неуправляемых данных регламентируется и не поощряется. Так, в C# модуль, использующий неуправляемые данные (указатели, адресную арифметику), должен быть помечен как небезопасный (unsafe), и эти данные должны быть четко зафиксированы.
Описание слайда:
В CLR задача сборки мусора снята не только с программистов, но и с разработчиков трансляторов, она решается - исполнительной средой, ответственной за выполнение вычислений. В CLR задача сборки мусора снята не только с программистов, но и с разработчиков трансляторов, она решается - исполнительной средой, ответственной за выполнение вычислений. Здесь же решаются и многие другие вопросы, связанные с использованием памяти, в частности, проверяются возможные нарушения связанные, например, с использованием указателей. Данные, удовлетворяющие требованиям CLR и допускающие сборку мусора, называются управляемыми данными. Но, как же быть с языком C++ и другими языками, где есть указатели, адресная арифметика, возможности удаления объектов программистом? Такие возможности сохранены и в языке C#. CLR позволяет работать как с управляемыми, так и с неуправляемыми данными. Однако использование неуправляемых данных регламентируется и не поощряется. Так, в C# модуль, использующий неуправляемые данные (указатели, адресную арифметику), должен быть помечен как небезопасный (unsafe), и эти данные должны быть четко зафиксированы.

Слайд 26





Исключительные ситуации
Исключительные ситуации

Что происходит, когда при вызове некоторой функции (процедуры) обнаруживается, что она не может нормальным образом выполнить свою работу? 
Возможны разные варианты обработки такой ситуации. Функция может возвращать код ошибки или специальное значение типа HResult, может выбрасывать исключение, тип которого характеризует возникшую ошибку. 
В CLR принято во всех таких ситуациях выбрасывать исключение. Косвенно это влияет и на язык программирования. Выбрасывание исключений наилучшим образом согласуется с исполнительной средой. 
В языке C# выбрасывание исключений, их дальнейший перехват и обработка - основной рекомендуемый способ обработки исключительных ситуаций.
Описание слайда:
Исключительные ситуации Исключительные ситуации Что происходит, когда при вызове некоторой функции (процедуры) обнаруживается, что она не может нормальным образом выполнить свою работу? Возможны разные варианты обработки такой ситуации. Функция может возвращать код ошибки или специальное значение типа HResult, может выбрасывать исключение, тип которого характеризует возникшую ошибку. В CLR принято во всех таких ситуациях выбрасывать исключение. Косвенно это влияет и на язык программирования. Выбрасывание исключений наилучшим образом согласуется с исполнительной средой. В языке C# выбрасывание исключений, их дальнейший перехват и обработка - основной рекомендуемый способ обработки исключительных ситуаций.

Слайд 27





События
События

У CLR есть свое видение того, что представляет собой тип. Есть формальное описание общей системы типов CTS (Common Type System). В соответствии с этим описанием, каждый тип, помимо полей, методов и свойств, может содержать и события. 
При возникновении событий в процессе работы с тем или иным объектом данного типа посылаются сообщения, которые могут получать другие объекты. 
Механизм обмена сообщениями основан на делегатах - функциональном типе. 
В язык C# встроен механизм событий, полностью согласованный с возможностями CLR.
Описание слайда:
События События У CLR есть свое видение того, что представляет собой тип. Есть формальное описание общей системы типов CTS (Common Type System). В соответствии с этим описанием, каждый тип, помимо полей, методов и свойств, может содержать и события. При возникновении событий в процессе работы с тем или иным объектом данного типа посылаются сообщения, которые могут получать другие объекты. Механизм обмена сообщениями основан на делегатах - функциональном типе. В язык C# встроен механизм событий, полностью согласованный с возможностями CLR.

Слайд 28





Общие спецификации и совместимые модули
Общие спецификации и совместимые модули

Уже говорилось, что каркас Framework.Net облегчает межъязыковое взаимодействие. Для того чтобы классы, разработанные на разных языках, мирно уживались в рамках одного приложения они должны удовлетворять некоторым ограничениям. 
Эти ограничения задаются набором общеязыковых спецификаций - CLS (Common Language Specification). Класс, удовлетворяющий спецификациям CLS, называется CLS-совместимым. Он доступен для использования в других языках, классы которых могут быть клиентами или наследниками совместимого класса.
Спецификации CLS точно определяют, каким набором встроенных типов можно пользоваться в совместимых модулях. Эти типы должны быть общедоступными для всех языков, использующих Framework.Net. В совместимых модулях должны использоваться управляемые данные и выполняться некоторые другие ограничения.
Описание слайда:
Общие спецификации и совместимые модули Общие спецификации и совместимые модули Уже говорилось, что каркас Framework.Net облегчает межъязыковое взаимодействие. Для того чтобы классы, разработанные на разных языках, мирно уживались в рамках одного приложения они должны удовлетворять некоторым ограничениям. Эти ограничения задаются набором общеязыковых спецификаций - CLS (Common Language Specification). Класс, удовлетворяющий спецификациям CLS, называется CLS-совместимым. Он доступен для использования в других языках, классы которых могут быть клиентами или наследниками совместимого класса. Спецификации CLS точно определяют, каким набором встроенных типов можно пользоваться в совместимых модулях. Эти типы должны быть общедоступными для всех языков, использующих Framework.Net. В совместимых модулях должны использоваться управляемые данные и выполняться некоторые другие ограничения.

Слайд 29






Исполнительная среда CLR обладает мощными динамическими механизмами - сборки мусора, динамического связывания, обработки исключительных ситуаций и событий. Все эти механизмы и их реализация в CLR созданы на основании практики существующих языков программирования. 
Но и исполнительная среда влияет на языки, ориентированные на использование CLR. 
Поскольку язык C# создавался одновременно с созданием CLR, то, естественно, он стал языком, наиболее согласованным с исполнительной средой, и средства языка напрямую отображаются в средства исполнительной среды.
Описание слайда:
Исполнительная среда CLR обладает мощными динамическими механизмами - сборки мусора, динамического связывания, обработки исключительных ситуаций и событий. Все эти механизмы и их реализация в CLR созданы на основании практики существующих языков программирования. Но и исполнительная среда влияет на языки, ориентированные на использование CLR. Поскольку язык C# создавался одновременно с созданием CLR, то, естественно, он стал языком, наиболее согласованным с исполнительной средой, и средства языка напрямую отображаются в средства исполнительной среды.



Теги Язык C#
Похожие презентации
Mypresentation.ru
Загрузить презентацию