Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Г. Шилдт - Полный справочник по C#

Г. Шилдт - Полный справочник по C#, страница 5

PDF-файл Г. Шилдт - Полный справочник по C#, страница 5 Языки программирования (53745): Книга - 7 семестрГ. Шилдт - Полный справочник по C#: Языки программирования - PDF, страница 5 (53745) - СтудИзба2019-09-19СтудИзба

Описание файла

PDF-файл из архива "Г. Шилдт - Полный справочник по C#", который расположен в категории "". Всё это находится в предмете "языки программирования" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 5 страницы из PDF

В 1993 году стало очевидным, что проблемы межплатформенной переносимости, четко проявившиеся при создании кода для встроенных контроллеров,также оказались весьма актуальными при попытке написать код для Internet. ВедьInternet — это безбрежная компьютерная среда, в которой "обитает" множество компьютеров различных типов. И оказалось, что одни и те же методы решения проблемыпереносимости в малых масштабах можно успешно применить и к гораздо большим,т.е. в Internet.В Java переносимость достигается посредством преобразования исходного кодапрограммы в промежуточный код, именуемый байт-кодом (bytecode), т.е. машиннонезависимый код, генерируемый Java-компилятором.

Байт-код выполняется виртуальной машиной Java (Java Virtual Machine — JVM) -— специальной операционнойсистемой. Следовательно, Java-программа могла бы работать в любой среде, где доступна JVM. А поскольку JVM относительно проста для реализации, она быстро сталадоступной для большого количества сред.Использование Java-программами байт-кода радикально отличало их от С- и С++программ, которые почти всегда компилировались для получения исполняемого машинного кода.

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

Именно это решение было адаптировано для языка С#.Глава 1. Создание языка С#*25Как уже упоминалось, Java — потомок С и C++. Его синтаксис основан на синтаксисе С, а объектная модель — продукт эволюции объектной модели C++. ХотяJava-код несовместим с С или C++ ни снизу вверх, ни сверху вниз, его синтаксис такпохож на синтаксис языка С, что толпы C/C++-программистов могли с минимальными усилиями переходить к программированию на Java. Более того, поскольку языкJava строился на существующей парадигме (и усовершенствовал ее), Джеймсу Гослингу ничто не мешало сосредоточить внимание на новых возможностях этого языка.Подобно тому как Страуструпу не нужно было "изобретать колесо" при созданииC++, так и Гослингу при разработке Java не было необходимости создавать совершенно новый язык программирования.

Более того, создание Java показало, что языкиС и C++ — прекрасный "субстрат" для "выращивания" новых компьютерных языков.Создание С#Разработчики Java успешно решили многие проблемы, связанные с переносимостью в среде Internet, но далеко не все. Одна из них — межъязыковая возможностьвзаимодействия (cross-language interoperability) программных и аппаратных изделийразных поставщиков, или многоязыковое программирование (mixed-language programming).

В случае решения этой проблемы программы, написанные на разных языках,могли бы успешно работать одна с другой. Такое взаимодействие необходимо для создания больших систем с распределенным программным обеспечением (ПО), а такжедля программирования компонентов ПО, поскольку самым ценным является компонент, который можно использовать в широком диапазоне компьютерных языков иоперационных сред.Кроме того, в Java не достигнута полная интеграция с платформой Windows.

ХотяJava-программы могут выполняться в среде Windows (при условии установки виртуальной машины Java), Java и Windows не являются прочно связанными средами. А поскольку Windows — это наиболее широко используемая операционная система в мире,то отсутствие прямой поддержки Windows — серьезный недостаток Java.Чтобы удовлетворить эти потребности, Microsoft разработала язык С#. С# был создан в конце 1990-х годов и стал частью общей .NET-стратегии Microsoft.

Впервые онувидел свет в качестве а-версии в середине 2000 года. Главным архитектором С# былАндерс Хейлсберг (Anders Hejlsberg) — один из ведущих специалистов в области языков программирования, получивший признание во всем мире. Достаточно сказать, чтов 1980-х он был автором весьма успешного продукта Turbo Pascal, изящная реализация которого установила стандарт для всех будущих компиляторов.С# непосредственно связан с С, C++ и Java. И это не случайно. Эти три языка —самые популярные и самые любимые языки программирования в мире. Более того,почти все профессиональные программисты сегодня знают С и C++, и большинствознает Java.

Поскольку С# построен на прочном, понятном фундаменте, то переход отэтих "фундаментальных" языков к "надстройке" происходит без особых усилий состороны программистов. Так как Андерс Хейлсберг не собирался изобретать свое"колесо", он сосредоточился на введении усовершенствований и новшеств.Генеалогическое дерево С# показано на рис. 1.1. "Дедушкой" С# является язык С.От С язык С# унаследовал синтаксис, многие ключевые слова и операторы. Крометого, С# построен на улучшенной объектной модели, определенной в C++. Если вызнаете С или C++, то с С# вы сразу станете друзьями.С# и Java связаны между собой несколько сложнее.

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

Язык С#"генов". Если вы знаете язык Java, то вам будут знакомы многие понятия С#. И наоборот, если в будущем вам придется изучать Java, то, познакомившись с С#, вам непридется осваивать многие средства Java.C++JavaС#Рис. 1.1. Генеалогическое дерево С#С# содержит множество новых средств, которые описаны в этой книге. Самыеважные из них связаны со встроенной поддержкой программных компонентов.Именно наличие встроенных средств написания программных компонентов и позволило С# называться компонентно-ориентированным языком.

Например, С# включаетсредства, которые напрямую поддерживают составные части компонентов: свойства,методы и события. Все же самым важным качеством компонентно-ориентированногоязыка является его способность работать в среде многоязыкового профаммирования.Связь С# с оболочкой .NET FrameworkНесмотря на то что С# — самодостаточный компьютерный язык, у него особыевзаимоотношения со средой .NET Framework. И на это есть две причины.

Во-первых,С# изначально разработан компанией Microsoft для создания кода, выполняющегося всреде .NET Framework. Во-вторых, в этой среде определены библиотеки, используемые языком С#. И хотя можно отделить С# от .NET Framework, эти две среды тесносвязаны, поэтому очень важно иметь общее представление о .NET Framework и понимать, почему эта среда столь важна для С#.О среде .NET FrameworkОболочка .NET Framework определяет среду для разработки и выполнения сильнораспределенных приложений, основанных на использовании компонентных объектов.Она позволяет "мирно сосуществовать" различным языкам профаммирования иобеспечивает безопасность, переносимость программ и общую модель профаммирования для платформы Windows. Важно при этом понимать, что .NET Framework noсвоему существу не офаничена применением в Windows, т.е.

профаммы, написанныедля нее, можно затем переносить в среды, отличные от Windows.Связь среды .NET Framework с С# обусловлена наличием двух очень важныхсредств. Одно из них, Common Language Runtime (CLR), представляет собой систему,которая управляет выполнением пользовательских профамм. CLR — это составнаячасть .NET Framework, которая делает профаммы переносимыми, поддерживаетмногоязыковое профаммирование и обеспечивает безопасность.Глава 1.

Создание языка С#27Второе средство, библиотека классов .NET-оболочки, предоставляет программамдоступ к среде выполнения. Например, если вам нужно выполнить операцию вводавывода, скажем, отобразить что-либо на экране, то для этого необходимо использовать .NET-библиотеку классов. Если вы — новичок в программировании, терминкласс вам может быть незнаком. Ниже вы найдете подробное объяснение этого понятия, а пока ограничимся кратким его определением: класс — это объектноориентированная конструкция, с помощью которой организуются программы. Еслипрограмма ограничивается использованием средств, определенных .NET-библиотекойклассов, она может выполняться везде (т.е.

в любой среде), где поддерживается .NETсистема. Поскольку С# автоматически использует .NET-библиотеку классов, С#программы автоматически переносимы во все .NET-среды.- J Функционирование системы CLRСистема CLR управляет выполнением .NET-кода. Вот как это происходит. В результате компиляции Сопрограммы получается не исполняемый код, а файл, который содержит специальный псевдокод, именуемый промежуточным языком Microsoft(Microsoft Intermediate Language — MSIL).

MSIL определяет набор переносимых инструкций, которые не зависят от типа процессора. По сути, MSIL определяет переносимость ассемблера. И хотя концептуально MSIL подобен байт-коду Java, это не одно ито же.Цель CLR-системы — при выполнении программы перевести ее промежуточныйкод в исполняемый. Таким образом, программа, подвергнутая MSIL-компиляции,может быть выполнена в любой среде, для которой реализована CLR-система. В этомчастично и состоит способность среды .NET Framework добиваться переносимостипрограмм.Код, написанный на промежуточном языке Microsoft, переводится в исполняемыйс помощью ЛТ-компилятора. "ЛТ" — сокр.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5301
Авторов
на СтудИзбе
417
Средний доход
с одного платного файла
Обучение Подробнее