Главная » Просмотр файлов » 1629295407-c61bfe4caba98380ea3e7cdae6295416

1629295407-c61bfe4caba98380ea3e7cdae6295416 (846200), страница 4

Файл №846200 1629295407-c61bfe4caba98380ea3e7cdae6295416 (Шилдт Герберт - Полный справочник по C#) 4 страница1629295407-c61bfe4caba98380ea3e7cdae6295416 (846200) страница 42021-08-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)

В результате С стал самымпопулярным структурным языком программирования 1980-х годов.Но многоуважаемый язык C имел ограничения. Одним из его недостатков быланевозможность справиться с большими программами. Если проект достигалопределенного размера, то дальнейшая его поддержка и развитие были связаны сопределенными трудностями. Местоположение этой “точки насыщения” зависело отконкретной программы, программиста и используемых им средств, но вероятность еедостижения очень возрастала, когда количество строк в программе приближалось к 5 000.Создание ООП и C++К концу 1970-х размер проектов стал приближаться к критическому, при превышениикоторого методика структурного программирования и язык C “опускали руки”.

Поэтомустали появляться новые подходы к программированию, позволяющие решить эту проблему.Один из них получил название объектно-ориентированного программирования (ООП).Используя ООП, программист мог справляться с программами гораздо большего размера,чем прежде.

Но вся беда состояла в том, что C, самый популярный на то время язык, неподдерживал ООП. Желание работать с объектно-ориентированной версией языка C вконце концов и привело к созданию C++.Язык C++ был разработан Бьярни Страуструпом (Bjarne Stroustrup) в компании BellLaboratories (Муррей Хил, Нью-Джерси), и годом создания считается 1979-й.Первоначально создатель нового языка назвал его “C с классами”, но в 1983 году это имябыло изменено на C++. C++ полностью включает элементы языка С. Таким образом, Cможно считать фундаментом, на котором построен C++.

Большинство дополнений, которыеСтрауструп внес в С, были предназначены для поддержки объектно-ориентированногопрограммирования. По сути, C++ — это объектно-ориентированная версия языка C.Возводя “здание” C++ на фундаменте С, Страуструп обеспечил плавный переход многихпрограммистов на “рельсы” ООП. Вместо необходимости изучать совершенно новый язык,С-программисту достаточно было освоить лишь новые средства, позволяющиеиспользовать преимущества объектно-ориентированной методики.На протяжении 1980-х годов C++ интенсивно развивался и к началу 1990-х уже былготов для широкого использования.

Рост его популярности носил взрывоподобныйхарактер, и к концу этого десятилетия он стал самым широко используемым языкомпрограммирования. В наши дни язык C++ по-прежнему имеет неоспоримое превосходствопри разработке высокопроизводительных программ системного уровня.Важно понимать, что создание C++ не было попыткой изобрести совершенно новыйязык программирования. Это было своего рода усовершенствование и без того оченьуспешного языка. Такой подход к разработке языков (взять за основу существующий язык иподнять его на новую ступень развития) дал начало тенденции, которая продолжает жить исегодня.24Часть I.

Язык C#Internet и появление языка JavaСледующей ступенью на лестнице прогресса языков программирования стал языкJava, который первоначально назывался Oak (в переводе с англ. “дуб”). Работа над егосозданием началась в 1991 году в компании Sun Microsystems.

Основной движущей силойразработки Java был Джеймс Гослинг (James Gosling). В его рабочую группу входилиПатрик Нотон (Patrick Naughton), Крис Уортс (Chris Warth), Эд Фрэнк (Ed Frank) и МайкШеридан (Mike Sheridan).Java — это структурный объектно-ориентированный язык программирования,синтаксис и основополагающие принципы которого “родом” из C++. Своими новаторскимиаспектами Java обязан не столько прогрессу в искусстве программирования (хотя и этоимело место), сколько изменениям в компьютерной среде. Еще до наступления эры Internetбольшинство программ писалось, компилировалось и предназначалось для выполнения сиспользованием определенного процессора и под управлением конкретной операционнойсистемы. Несмотря на то что программисты всегда старались делать свои программы так,чтобы их можно было применять неоднократно, возможность легко переносить программуиз одной среды в другую не была еще достигнута, к тому же проблема переносимостипостоянно отодвигалась, решались же более насущные проблемы.

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

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

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

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

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

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

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

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

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

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

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

Характеристики

Тип файла
PDF-файл
Размер
5,05 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

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