Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры C#.doc
Скачиваний:
16
Добавлен:
22.09.2019
Размер:
472.58 Кб
Скачать

1. Эволюция языков программирования. Что такое net?

Языков программирования существует великое множество, но только некоторые из них по-настоящему сильны. Эффективность языка заключается в его мощности и одновременно – в гибкости. Синтаксис языка должен быть лаконичным, но ясным.

Языки программирования связаны друг с другом, причем на каждый новый язык в той или иной форме влияют его предшественники. Средства из одного языка адаптируются другим языком, отжившие конструкции отбрасываются. Так происходит эволюция компьютерных языков и развитие искусства программирования, появляются новые методологии программирования.

Internet и появление языка Java.

Следующей ступенью на лестнице прогресса языков программирования стал язык Java, который первоначально назывался Oak («дуб»). Java – это структурный объектно-ориентированный язык программирования, синтаксис и основные принципы взяты из С++.

Еще до появления Internet программы предназначались для выполнения с использованием определенного процесса и под управлением конкретной операционной системы. Проблема переносимости программ из одной среды в другую не решалась. Однако с появлением всемирной сети Internet, в которой оказались связанные различные типы процессов и операционных систем, проблема переносимости заявила о себе. Для ее решения понадобился новый язык программирования, и им стал Java. В Java переносимость достигается посредством преобразования исходного кода программы в промежуточный код, именуемый байт-кодом (bytecode), т. е. машиннонезависимый код, генерируемый Java – компилятором.

Байт-код выполняется машиной Java (Java Virtual Machine – JVM) – специальной операционной системой. В итоге, Java – программа может работать в любой среде, где допущены JVM, а так как JVN относительна проста для реализации, она быстро стала доступной для большого количества сред. Основная характеристика Java – «однажды написанное работает везде».

С/С++ - программы компилировались для получения исполняемого кода. Машинный код связан с конкретным процессором и операционной системой. Поэтому, если С/С++ - программу нужно выполнить в другой системе, ее нужно перекомпилировать в машинный код, соответствующий этой среде. Это было непрактично и дорого. Использование для выполнения Java – программы промежуточного языка было элегантным и рентабельным решением. Именно это решение было адаптировано для языка С#.

Создание С#. Разработчики Java успешно решили проблему с переносимостью в среде Inernet, но далеко не все. Одна из них – межязыковая возможность взаимодействия программных и аппаратных изделий разных поставщиков, или многоязыковое программирование.

Как программы, написанные на разных языках, должны работать одна с другой? Такое взаимодействие необходимо для:

  1. создания больших систем с распределенным программным обеспечением (ПО),

  2. программирования компонентов ПО, которое можно использовать в разных языках программирования и в разных операционных системах.

В Java не достигнута полная интеграция с платформой Windows. Хотя Java –программы могут выполняться в среде Windows (при условии установки виртуальной машины Java). А т.к. Windows – это наиболее широко используемая операционная система в мире, то отсутствие прямой поддержки Windows – серьезный недостаток Java.

В связи с этим Microsoft начала разработку в конце 90-х годов С# ,который объединил бы лучшие свойства языков С/С++ и Java. С# является частью общей .NET-стратегией Microsoft. Первая его версия вышла в середине 2000 года. Главный архитектор С# - Андерс Хейлсберг.

C# непосредственно связан с С, С++ и Java. Эти три языка – самые популярные и самые любимые языки программирования в мире. Более того, почти все профессиональные программисты сегодня знают С и С++, и большинство знает Java. Поэтому переход к C# происходит без особых трудностей.

«Дедушкой» C# является язык С. От С язык С# унаследовал синтаксис, многие ключевые слова и операторы. Кроме того, C# построен на улучшенной объектной модели, определенной в С++.

С# и Java связаны между собой несколько сложнее. Java – потомок С и С++, у него общий с ними синтаксис и сходная объектная модель. Подобно Java, C# предназначены для создания переносимого кода. Однако С# - не потомок Java. Скорее С# и Java можно считать двоюродными братьями.

Или технология, или модель платформа .NET – это совершенно новая модель для создания приложений под Windows

.NET была разработана Microsoft как Web-ориентированная платформа для создания единой инфраструктуры разработки и эксплуатации служб нового поколения.

Для разработчиков .NET предоставляет обширную библиотеку классов, инфраструктуру и инструментальные средства для создания межплатформенных и не зависящих от языка программирования приложений. .NET поддерживает большинство языков программирования. [Это современная , новейшая технология программирования под Windows]. .NET представляет собой совершенно новый способ создания распределенных, настольных и встроенных приложений. Специально для .NET Microsoft разработала С#.

Основные возможности .NET.

  1. платформа .NET является полностью независимой от используемых языков программирования. Можно использовать несколько .NET – совместимых языков программирования даже в рамках одного проекта. Один из главных принципов .NET звучит так: «Изменяйте все, что хотите, откуда вам угодно».

  2. Полные возможности взаимодействия с существующим программным кодом (создаются двоичные файлы .NET)

  3. Общая среда выполнения для любых приложений .NET, вне зависимости от того, на каких языках они были созданы. Один из важных моментов при этом – то, что для всех языков используется один и тот же набор встроенных типов данных.

  4. Использование библиотеки базовых классов скрывает сложности вызовов АРI (Windows Application Programming Interface – интерфейс прикладного программирования под Windows, в 32-разрядных версиях Windows –Win32API. Win32API состоит из тысяч глобальных функций).