Введение в Microsoft .NET для начинающих
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: греция реферат, шпаргалки скачать
| Добавил(а) на сайт: Ruslan.
Предыдущая страница реферата | 1 2 3 4 | Следующая страница реферата
В начало приложения включен заголовочный файл с объявлением функции cout. Функция main — входная точка любого приложения на C/C++ — выводит на стандартное устройство вывода с помощью функции cout строку "Hello, World". Здесь для нас важно то, что написать такое приложение на языке .NET без библиотек классов .NET Framework нельзя. Это действительно так: в .NET-языках нет присущих обычным компиляторам основных элементов, которые, например, выводят на консоль строку текста. Да, с точки зрения технологии, реализация функции cout находится в той части C/C++, которая сама является библиотекой. И все-таки основные задачи C++, такие как форматирование строк, файловый ввод-вывод и вывод на экран, хотя бы формально считаются частью исходного языка. Что касается С# (и это характерно для любого .NET-языка), то он не в состоянии выполнить даже самую примитивную задачу без привлечения библиотеки классов .NET Framework. А так выглядит пример "Hello, World" на языке С#:
using System;
class Hello {
public static void Main()
{
Console.WriteLine("Hello, World");
} >
Итак, что дает этот стандартный набор библиотек классов и чем он хорош? Это зависит от точки зрения. Благодаря такому набору все языки в идеале располагают одними и теми же функциональными возможностями, поскольку все они могут что-то делать (если речь идет не только об объявлении переменных) только с помощью этих библиотек.
Кто-то на дискуссионной страничке в Интернете недоумевал: "Зачем нам столько языков, если у них одинаковые функциональные возможности?" Как человек, поработавший в нескольких многоязыковых средах, заявляю, что это очень здорово, когда не надо помнить, какой язык, что и как может делать с системой. В конце концов мы, как разработчики, должны написать код, не мучая себя вопросом, есть ли у нашего любимого языка то или иное преимущество.
Еще один частый вопрос: "Если все .NET-языки могут делать одно и то же, зачем нам много таких языков?" Ответ надо искать в том, что программисты — это люди, которые редко отказываются от своих привычек. Microsoft, конечно, стремится выделить из множества языков какой-то один и навязать его миллионам программистов, имеющим многолетний опыт работы с другими языками. Мало того, что разработчику нужно познакомиться с новым API, ему придется еше освоить совершенно другой синтаксис. Пусть уж разработчик продолжает писать на том языке, который лучше всего подходит для его задачи. Как никак, наша главная цель — производительность. А замена того, что не должно меняться, — не то, к чему мы должны стремиться.
ПРИМЕЧАНИЕ В идеале библиотеки классов .NET Framework открывают пользователям языка все функциональные возможности CLR, однако на самом деле так бывает не всегда. Камнем преткновения между разработчиками библиотек классов .NET Framework и разработчиками компиляторов является то, что первые хотя и попытались открыть для любых языков все функциональные возможности библиотек классов, последних все-таки ничто не обязывает делать реализацию каждой такой возможности (не пренебрегая, правда, минимальными стандартами CLS). Когда я спросил в Microsoft об этом противоречии, мне ответили, что вряд ли каждый язык будет иметь доступ ко всем функциональным возможностям .NET Framework, поскольку каждая бригада разработчиков компиляторов вправе реа^ лизовать только те, что они считают самыми нужными для своих пользователей. К нашему счастью, С# — поидимому, тот язык, в котором имеется интерфейс практически ко всем функциональным возможностям .NET Framework.
Microsoft Intermediate Language и компиляторы JITter
Для облегчения перевода языков в среду .NET в Microsoft разработан промежуточный язык — Microsoft Intermediate Language (MSIL). Чтобы откомпилировать приложение для .NET, компиляторы берут исходный код и создают из него MSIL-код. MSIL — это полноценный язык, пригодный для написания приложений. Однако, как в случае с ассемблерным языком, вам вряд ли придется этим заниматься, кроме каких-то особых обстоятельств. Каждая группа разработчиков компилятора решает, в какой мере он будет поддерживать MSIL. Но если создатели компиляторов захотят, чтобы их язык полноценно взаимодействовал с другими языками, им придется ограничить себя рамками, определяемыми спецификациями CLS.
Результатом компиляции приложения, написанного на С# или другом языке, который отвечает правилам CLS, является MSIL-код. Потом, при первом запуске приложения в среде CLR, MSIL-код компилируется в машинные команды, специфичные для данного процессора. (На самом деле компилируются только функции, вызываемые впервые.)
Поскольку мы все пока новички в этой технологии, а книга наша посвящена С#, посмотрим по порядку, что же происходит с кодом.
Вы пишете исходный код на С#.
Рекомендуем скачать другие рефераты по теме: доклад на тему, механизм реферат.
Категории:
Предыдущая страница реферата | 1 2 3 4 | Следующая страница реферата