Upload
cs-center
View
50
Download
4
Embed Size (px)
Citation preview
План лекции
• Про курс• Введение• Сравнение Java и C#• Структура .NET Framework
18.04.2023 Толстиков Никита 2Введение
Про курс
• Курс про .NET Framework и С#• Состоит из:– Лекций (раз в неделю)– Семинаров (раз в несколько недель)– Домашних заданий– Тестов на лекции
18.04.2023 Толстиков Никита 3Введение
Про курс
• Оценка:– Домашние задания (80%)– Лекции (40%)
• Можно сдать только домашними заданиями
• Для дополнительных балов тесты
18.04.2023 Толстиков Никита 4Введение
Про курс
• Домашние задания:– Выполняются в Visual Studio >= 2012 – Заливаются в
18.04.2023 Толстиков Никита 5Введение
Введение
18.04.2023 Толстиков Никита 6Введение
.NETC#
Введение
18.04.2023 Толстиков Никита 7Введение
• C# («си шарп») – ОО язык программирования, но поддерживает и другие парадигмыСистема типов:• статическая (с С# 4.0 и динамическая) • сильная• явная
Введение
18.04.2023 Толстиков Никита 8Введение
• .NET Framework («дот нет») – программная платформа выпущенная Microsoft. Является реализацией общеязыковой инфраструктуры ( Common Language Infrastructure - CIL).
• Стандартизована :• ECMA-335• ISO-23271
• Предпосылки в 1999 году:– Переход к «сервероцентрической»
модели– Объединение наработок в плане
разработки ПО и их унификация– Конкуренция с Java
• Андерс Хейлсберг возглавлял группу по созданию и проектированию языка C#
История
18.04.2023 Толстиков Никита 9Введение
• 1 мая 2002 года вышли:– .NET Framework 1.0– C# 1.0– Visual Studio .NET
• 11 июля 2005 года вышли:– .NET Framework 2.0– C# 2– Visual Studio 2005
• На текущий момент:– .NET Framework 4.5.2– C# 5.0– Visual Studio 2013
История
18.04.2023 Толстиков Никита 10Введение
18.04.2023 Толстиков Никита 11Введение
JAVAC# vs
Bytecode
18.04.2023 Толстиков Никита 12Введение
C# Java
Одна платформа -множество
языков
Множество платформ - один
язык
Bytecode
18.04.2023 Толстиков Никита 13Введение
C# Java
Полиморфный
(add, sub …)
Неполиморфный(fadd, iadd, fsub
…)
Generics
18.04.2023 Толстиков Никита 14Введение
C# Java
Run-time generics
(Dictionary<Tkey, TValue> -> Dictionary`2[Tkey,TValue])
Type-erasure(ArrayList<Integer> ->
ArrayList)
Types
18.04.2023 Толстиков Никита 15Введение
C# Java
Everything is object
(все типы наследуются от System.Object. Есть
возможность создавать свои value types)
Not all is object(примитивные типы не
наследуются от java.lang.Object. Нет
возможности свои value types)
Pivot
18.04.2023 Толстиков Никита 16Введение
C# JavaАнонимные типыLambda-выраженияПерегрузка
операторовСвойстваValue-typesLINQ и генераторыДелегатыАсинхронные
методыТыщи их
(с Java
8)
18.04.2023 Толстиков Никита 17Введение
.NET Framework
Архитектура
18.04.2023 Толстиков Никита 18Введение
• CLI – платформа для поддержки множества языков
• Security – собственный модуль безопасности отвечающий за контроль исполняемого кода
• Class Library – набор стандартных библиотек классов
• Memory Management – инструмент инструментов отвечающих за выделение и освобождение памяти
.NET Framework
18.04.2023 Толстиков Никита 19Введение
Домашнее задание №0
18.04.2023 Толстиков Никита 20Введение
• Установить Visual Studio (https://www.dreamspark.com/Student)
• Установить ReSharper (писать мне на почту для лицензии)
The End
18.04.2023 Толстиков Никита 21Введение