Платформата Microsoft .NET и
езикът на програмиране C#
Въведение в платформата Microsoft .NET
История и етапи на развитие на технологиите
за програмиране
 Чарлз Бабидж (1791–1871) – аналитична машина, първите планове за
механичен компютър, с използване на перфокарти
 Ада Лъвлейс (1815–1852) – първата програма за аналитичната машина
 Машина на Тюринг (1936) – абстрактна машина, която манипулира символи
върху лента и представя програмата като данни
 Първи електрически компютри (1940 – 1950)
Развитие на езиците за програмиране
 Машинни езици
 Асемблерни езици
 Езици от високо ниво
Причини за възникване на платформата
Microsoft .NET
 Съвместимост на стари и нови програми дори извън .NET
 Езикова съвместимост - Common Language Infrastructure (CLI)
 Платформена съвместимост – между различни версии на Windows
 Сигурност
 Автоматично управление на паметта
 Подобрена производителност с версиите на платформата
Недостатъци
 Платформена съвместимост – извън Windows
 Изисква допълнителни ресурси
Базови понятия на платформата Microsoft .NET
архитектура CLR (common language infrastructure)
 Общоезикова среда на изпълнениe CLR (common language runtime)
 Стандартна система типове CTS (common type system)
 Стандартна езикова спецификация CLS (common language specification)
 Библиотека класове FCL (framework class library)
 Езици на платформата Microsoft .NET
 Езикът CIL (Common Intermediate Language)
 Mетаданни, манифест, сглобяване (assemblies)
CLR (Common Language Runtime)
 Виртуалната машина на .NET – програма, която изпълнява други програми
 По време на изпълнение превръща компилирания код до машинен код
CTS (Common Type System)
 Описва набора от типове данни и операциите върху тях
 Осигурява съвместимост между различните езици в .NET
CLS (Common Language Specification)
 Правилата, които всеки един език за CLR трябва да изпълнява, за да е
съвместим с останалите CLR съвместими езици
FCL (Framework Class Library)
 Набор от преизползваеми библиотеки (класове, интерфейси, типове)
 Улеснява работата със средата
 Намалява възможността за грешки
Езици на платформата Microsoft .NET
 C#
 Visual Basic .NET
 C++/CLI
 F#
 J#
CIL (Common Intermediate Language)
 Междинният език, до който се компилират различните езици за CLR
 Bytecode
Mетаданни, манифест, сглобяване (assemblies)
 Метаданните описват всички класове и техните членове и са включени в
сглобения файл – assembly.
Използват се за гарантиране на съвместимост между класовете
 Манифест файл – описва връзките и зависимостите между компонентите в
сглобения файл – assembly.
Въведение в езика на програмиране C#
 Основният език за програмиране в .NET
 Универсален
 Обектно ориентиран
 Подобен на C++ и Java
Въведение в езика на програмиране C#
предимства
 Лесен за начинаещи
 Познат синтаксис
 Модерен
 Сигурен
 Подходящ за работа в разпределена среда
Въведение в езика на програмиране C#
недостатъци
 Ограничени възможности с цел сигурност
 Производителност
Примерна програма на езика C#
using System;
class Program
{
static void Main()
{
Console.WriteLine("Hello, world!");
}
}
Компилиране и изпълнение на приложение
 Компилаторът преобразува кода на програмата до компилиран CIL код
 По време на изпълнение just-in-time (JIT) компилатор преобразува CIL
кода до машинен код, като следи за сигурността на програмата
 Машинният код се подава за изпълнение от процесора
Компилиране и изпълнение на приложение
.NET Рефлектори
 Позволяват разглеждането, декомпилирането и анализирането на CIL код
 Поддържа се декомпилиране към различни езици
Дотфускатори
 Затруднява възстановяването и промяната на кода на програмите с
рефлектор
 Защита на интелектуална собственост

.NET/C#_1

  • 1.
    Платформата Microsoft .NETи езикът на програмиране C#
  • 2.
  • 3.
    История и етапина развитие на технологиите за програмиране  Чарлз Бабидж (1791–1871) – аналитична машина, първите планове за механичен компютър, с използване на перфокарти  Ада Лъвлейс (1815–1852) – първата програма за аналитичната машина  Машина на Тюринг (1936) – абстрактна машина, която манипулира символи върху лента и представя програмата като данни  Първи електрически компютри (1940 – 1950)
  • 4.
    Развитие на езицитеза програмиране  Машинни езици  Асемблерни езици  Езици от високо ниво
  • 5.
    Причини за възникванена платформата Microsoft .NET  Съвместимост на стари и нови програми дори извън .NET  Езикова съвместимост - Common Language Infrastructure (CLI)  Платформена съвместимост – между различни версии на Windows  Сигурност  Автоматично управление на паметта  Подобрена производителност с версиите на платформата
  • 6.
    Недостатъци  Платформена съвместимост– извън Windows  Изисква допълнителни ресурси
  • 7.
    Базови понятия наплатформата Microsoft .NET архитектура CLR (common language infrastructure)  Общоезикова среда на изпълнениe CLR (common language runtime)  Стандартна система типове CTS (common type system)  Стандартна езикова спецификация CLS (common language specification)  Библиотека класове FCL (framework class library)  Езици на платформата Microsoft .NET  Езикът CIL (Common Intermediate Language)  Mетаданни, манифест, сглобяване (assemblies)
  • 8.
    CLR (Common LanguageRuntime)  Виртуалната машина на .NET – програма, която изпълнява други програми  По време на изпълнение превръща компилирания код до машинен код
  • 9.
    CTS (Common TypeSystem)  Описва набора от типове данни и операциите върху тях  Осигурява съвместимост между различните езици в .NET
  • 10.
    CLS (Common LanguageSpecification)  Правилата, които всеки един език за CLR трябва да изпълнява, за да е съвместим с останалите CLR съвместими езици
  • 11.
    FCL (Framework ClassLibrary)  Набор от преизползваеми библиотеки (класове, интерфейси, типове)  Улеснява работата със средата  Намалява възможността за грешки
  • 12.
    Езици на платформатаMicrosoft .NET  C#  Visual Basic .NET  C++/CLI  F#  J#
  • 13.
    CIL (Common IntermediateLanguage)  Междинният език, до който се компилират различните езици за CLR  Bytecode
  • 14.
    Mетаданни, манифест, сглобяване(assemblies)  Метаданните описват всички класове и техните членове и са включени в сглобения файл – assembly. Използват се за гарантиране на съвместимост между класовете  Манифест файл – описва връзките и зависимостите между компонентите в сглобения файл – assembly.
  • 15.
    Въведение в езикана програмиране C#  Основният език за програмиране в .NET  Универсален  Обектно ориентиран  Подобен на C++ и Java
  • 16.
    Въведение в езикана програмиране C# предимства  Лесен за начинаещи  Познат синтаксис  Модерен  Сигурен  Подходящ за работа в разпределена среда
  • 17.
    Въведение в езикана програмиране C# недостатъци  Ограничени възможности с цел сигурност  Производителност
  • 18.
    Примерна програма наезика C# using System; class Program { static void Main() { Console.WriteLine("Hello, world!"); } }
  • 19.
    Компилиране и изпълнениена приложение  Компилаторът преобразува кода на програмата до компилиран CIL код  По време на изпълнение just-in-time (JIT) компилатор преобразува CIL кода до машинен код, като следи за сигурността на програмата  Машинният код се подава за изпълнение от процесора
  • 20.
  • 21.
    .NET Рефлектори  Позволяватразглеждането, декомпилирането и анализирането на CIL код  Поддържа се декомпилиране към различни езици
  • 22.
    Дотфускатори  Затруднява възстановяванетои промяната на кода на програмите с рефлектор  Защита на интелектуална собственост