Язык C# и компонентно-ориентированное программирование
Решение проблемы переносимости программного кода было адаптировано фирмой Microsoft для языка C#. Однако в связи с развитием Internet помимо переносимости программного кода, оставалась ещё одна нерешённая проблема – межъязыковая возможность взаимодействия программных и аппаратных изделий разных поставщиков, или многоязыковое программирование.Как программы, созданные на разных языках программирования, должны взаимодействовать одна с другой? Такое взаимодействие необходимо для:
· создания больших систем с распределённым ПО;
· программирования программных компонентов, которые можно использовать (в двоичном виде) в различных приложениях и в разных ОС.
В Java не достигнута полная интеграция с OС Windows. Так как Windows довольно популярна, то отсутствие её прямой поддержки – серьёзный недостаток языка Java. В связи с этим фирма Microsoft в конце 90-х годов XX века начала разработку языка C# (# – музыкальный знак, полутон, то есть полушаг вперёд), который объединил лучшие свойства языков C, C++ и Java.
В связи с развитием Internet фирма Microsoft начала разработку новой платформы .NET, встроенным языком которой является язык C#.
Первая версия языка C# вышла в середине 2000 года, его главный архитектор – Андерс Хейлсберг, один из ведущих специалистов в области языков программирования (в 1980 году – автор языка Turbo Pascal и Delphi).
C# непосредственно связан с C, C++ и Java. Эти три языка – самые популярные. Более того, программистам, знающим базовые языки C, C++, переход на C# не составляет труда.
Генеалогические дерево C#
«Дедушкой» C# является язык C. От C язык C# унаследовал: синтаксис, многие ключевые слова и операторы. В отличие от C++ C# построен на улучшенной объектной модели. C# полностью объектно-ориентированный язык, то есть C#- программы состоят только из классов.
C# и Java связаны между собой немного сложнее, на более идейном уровне: заимствована идея переносимости программного кода. Подобно Java, C# не потомок Java, а скорее его брат. Самые важные средства C# связаны со встроенной поддержкой программных компонентов. В связи с этим, язык C# называют компонентно-ориентированным языком программирования. Самым важным качеством компонентно-ориентированного языка является его способность работать в среде многоязыкового программирования.
Объектно-ориентированные среды программирования
Инструментальным средством разработки современных Windows-приложений, Web-служб, Internet-приложений и приложений других видов является объектно-ориентированная среда программирования Microsoft Visual Studio хххх.NET х.х. Это средство представляет собой интегрированную среду разработки, которая едина для языков программирования Microsoft: Visual C#, Visual C++, Visual Basic, J#.
Единицей любого приложения является проект. Типы проектов могут быть следующими:
¾ Windows Application – оконное приложение Windows;
¾ Console Application - консольное приложение (без диалогового окна);
¾ Control Library – создание новых элементов управления;
¾ WebForm Application – создание динамических Web-страниц;
¾ и др.
Проекты могут собираться в сборки.
2-4.Философия и технология .NET. Компоненты платформы .NET.
Компоненты платформы .NET
Платформа (технология, модель) .NET –это совершенно новая модель для создания приложений под Windows, для разработки Web-служб и Web-приложений. Ее основные возможности:
· платформа .NET является полностью независимой от используемых языков программирования. Можно использовать несколько .NET-совместимых языков программирования даже в рамках одного проекта. Один из главных принципов .NET платформы звучит так: «Изменяйте все, что хотите, откуда вам угодно»;
· полное взаимодействие с существующим программным кодом. Для этого создаются двоичные файлы .NET (.dll, .exe);
· общая среда выполнения для любых приложений .NET, вне зависимости от того, на каких языках они созданы;
· использование библиотек базовых классов скрывает сложности вызовов функций Win32API.
Компоненты платформы .NET – это: