Читаем C#. Объектно ориентированное программирование полностью

ним из отцов-основателей языка считается Андерс Хейлсберг — тот самый,

8

Вступление. Язык программирования C#

который создал себе имя как идейный архитектор таких чудесных проек-

тов, как Turbo Pascal и Delphi. Идеологически и синтаксически язык C#

близок к С++ и Java. Во всяком случае, если читатель знаком хотя бы с од-

ним из этих языков, он найдет для себя много знакомых пассажей. Все это

не случайно, поскольку язык C# является логическим продолжением язы-

ка C++ (во всяком случае, по мнению разработчиков языка) и в некотором

смысле конкурентом языка Java. Но обо всем по порядку.

Краткий курс истории языкознания

Разница между языками столь велика, что

одно и то же выражение кажется грубым

в одном языке, и возвышенным в другом.

Дж. Драйден

Вначале был язык программирования, и это был язык С. Затем появился

язык С++, который стал расширением языка С до объектно-ориентиро ван-

ной парадигмы. Другими словами, в языке С++ появилась возможность

использовать все ужасные атрибуты объектно-ориентрованного програм-

мирования (сокращенно ООП): классы, объекты, наследование и многое

другое. Поэтому язык С++ во многом стал «законодателем моды» и задал

стиль на годы вперед. Кроме того, принципиальная особенность языка С++

состоит в том, что это язык «переходной» — в С++ можно писать как про-

граммы в рамках парадигмы ООП, так и обычные программы, не имеющие

никакого отношения к ООП.

ПРИМЕЧАНИЕ Другими словами, при создании программного кода в С++ классы

и объекты можно использовать, а можно не использовать. В языках

Java и C# это непозволительная роскошь.

Язык программирования Java появился после языка С++. Зародился и раз-

рабатывался язык Java в недрах компании Sun Microsystems (сейчас она

поглощена корпорацией Oracle). В отличие от С++, язык Java полностью

объектно-ориентированный. Данное жизнеутверждающее обстоятельство

имеет самые неприятные последствия: для написания самой маленькой

программы в Java приходится создавать класс. В принципе, с технической

точки зрения ничего сложного в этом нет, но вот психологический барьер

есть, и особенно он ощутим для новичков. Вместе с тем язык Java завоевал

свое место под солнцем благодаря другим своим уникальным свойствам.

В первую очередь, это относительная универсальность программных кодов

Краткий курс истории языкознания           9

в плане непритязательности к типу операционной системы и параметрам

аппаратного обеспечения. Язык Java создавался под лозунгом «написано

единожды, работает везде». Результат достигается за счет компиляции

программного кода в промежуточный байт-код, который выполняется спе-

циальной программой — виртуальной Java-машиной.

ПРИМЕЧАНИЕ В С++ программа компилируется в исполнительный код. В Java после

компиляции получается промежуточный код. Поэтому в общем случае

программы, написанные на С++, работают быстрее, чем аналогичные

программы,  написанные  на  Java.  Вместе  с  тем  программные  коды

Java более универсальны. Во времена всеобщего развития интернет-

технологий вопрос универсальности становится определяющим. Это

обстоятельство во многом и обусловило популярность и бурное раз-

витие Java. Кроме того, технология Java является хорошей платфор-

мой для программирования бытовых устройств, а основные средства

разработки для Java распространяются бесплатно.

Что касается синтаксиса Java, то он во многом напоминает синтаксис язы-

ка С++. Вообще, очень многие моменты в языках схожи. Фактически, раз-

работчики Java попытались выявить, учесть и устранить все неприятные

моменты, обнаруженные в С++. Получилось неплохо, но не идеально. Тем

не менее язык Java прошел проверку временем. И когда данное обстоятель-

ство стало более-менее очевидным, на сцену вышла корпорация Microsoft с языком программирования C#.

Нередко о языке C# отзываются как об «ответе» со стороны компании

Microsoft в сторону компании Sun Microsystems. Вместе с тем язык C#

нельзя (да и неправильно) рассматривать как банальную альтернативу

языку Java. У Microsoft в отношении языка C# далеко идущие планы.

Язык C# ориентирован в первую очередь на операционную систему

Windows.

Почему-то это нисколько не удивляет. И хотя периодически выпол-

няются  попытки  расширить  область  применимости  языка  C#  и  со-

путствующих технологий на другие операционные системы, питать

иллюзии по этому поводу все же не стоит.

Другими словами, если мы собираемся программировать на C#, то мы со-

бираемся программировать для Windows. Связано это не столько с язы-

ком C#, сколько с платформой .NET (рекомендуется читать « дот нет»), под которую и разрабатывался язык — язык C# анонсирован как базовый

язык для реализации в рамках технологии .NET. Это еще одно детище

10

Вступление. Язык программирования C#

Microsoft, на самом деле тесно связанное с языком C#. Bот c этой парой

нам надо бы разобраться.

Особенности и идеология C#

Идеи — редкая дичь в лесу слов.

В. Гюго

Перейти на страницу:

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
C++ Primer Plus
C++ Primer Plus

C++ Primer Plus is a carefully crafted, complete tutorial on one of the most significant and widely used programming languages today. An accessible and easy-to-use self-study guide, this book is appropriate for both serious students of programming as well as developers already proficient in other languages.The sixth edition of C++ Primer Plus has been updated and expanded to cover the latest developments in C++, including a detailed look at the new C++11 standard.Author and educator Stephen Prata has created an introduction to C++ that is instructive, clear, and insightful. Fundamental programming concepts are explained along with details of the C++ language. Many short, practical examples illustrate just one or two concepts at a time, encouraging readers to master new topics by immediately putting them to use.Review questions and programming exercises at the end of each chapter help readers zero in on the most critical information and digest the most difficult concepts.In C++ Primer Plus, you'll find depth, breadth, and a variety of teaching techniques and tools to enhance your learning:• A new detailed chapter on the changes and additional capabilities introduced in the C++11 standard• Complete, integrated discussion of both basic C language and additional C++ features• Clear guidance about when and why to use a feature• Hands-on learning with concise and simple examples that develop your understanding a concept or two at a time• Hundreds of practical sample programs• Review questions and programming exercises at the end of each chapter to test your understanding• Coverage of generic C++ gives you the greatest possible flexibility• Teaches the ISO standard, including discussions of templates, the Standard Template Library, the string class, exceptions, RTTI, and namespaces

Стивен Прата

Программирование, программы, базы данных
Язык программирования C++. Пятое издание
Язык программирования C++. Пятое издание

Лучшее руководство по программированию и справочник по языку, полностью пересмотренное и обновленное под стандарт С++11!Р'С‹ держите в руках новое издание популярного и исчерпывающего бестселлера по языку программирования С++, которое было полностью пересмотрено и обновлено под стандарт С++11. Оно поможет вам быстро изучить язык и использовать его весьма эффективными и передовыми способами. Р' соответствии с самыми передовыми и современными методиками изложения материала авторы демонстрируют использование базового языка и его стандартной библиотеки для разработки эффективного, читабельного и мощного кода.С самого начала этой книги читатель знакомится со стандартной библиотекой С++, ее самыми популярными функциями и средствами, что позволяет сразу же приступить к написанию полезных программ, еще не овладев всеми нюансами языка. Большинство примеров из книги было пересмотрено так, чтобы использовать новые средства языка и продемонстрировать РёС… наилучшие СЃРїРѕСЃРѕР±С‹ применения. Эта книга — не только проверенное руководство для новичков в С++, она содержит также авторитетное обсуждение базовых концепций и методик языка С++ и является ценным ресурсом для опытных программистов, особенно желающих побыстрей узнать об усовершенствованиях С++11.Стенли Р'. Липпман работал старшим консультантом в Jet Propulsion Laboratory, архитектором РіСЂСѓРїРїС‹ Visual С++ корпорации Microsoft, техническим сотрудником Bell Laboratories и главным инженером- программистом по анимации в кинокомпаниях Disney, DreamWorks, Pixar и PDI.Р–РѕР·и Лажойе, работающий ныне в кинокомпании Pixar, был членом канадской РіСЂСѓРїРїС‹ разработчиков компилятора C/C++ корпорации IBM, а также возглавлял рабочую группу базового языка С++ в составе международной организации по стандартизации ANSI/ISO.Барбара Э. Му имеет почти тридцатилетний опыт программирования. На протяжении пятнадцати лет она работала в компании AT&T, сотрудничая с Бьярне Страуструпом, автором языка С++, и несколько лет руководила РіСЂСѓРїРїРѕР№ разработчиков С++.• Узнайте, как использовать новые средства языка С++11 и стандартной библиотеки для быстрого создания надежных программ, а также ознакомьтесь с высокоуровневым программированием• Учитесь на примерах, в которых показаны передовые стили программирования и методики проектирования• Р

Барбара Э. Му , Жози Лажойе , Стенли Б. Липпман

Программирование, программы, базы данных