Лекция 1.
Тема: Новые концепции программирования
Цель: ознакомить с новыми концепциями программирования, дать им характеристику и провести сравнительный анализ
План:
-
Общие сведения о новых концепциях
-
Характеристика объектно-ориентированного программирования;
-
Характеристика унифицированного языка моделирования (UML);
-
Специализированные средства разработки программного обеспечения
Объектно-ориентированное-программирование
Почему объектно-ориентированный подход к программированию стал приоритетным при разработке большинства программных проектов? ООП предлагает новый мощный способ решения проблемы сложности программ. Вместо того чтобы рассматривать программу как набор последовательно выполняемых инструкций, в ООП программа представляется в виде совокупности объектов, обладающих сходными свойствами и набором действий, которые можно с ними производить. Возможно, все то, о чем мы до сих пор говорили, будет казаться вам непонятным, пока вы не изучите соответствующий раздел программирования более подробно. Но со временем вы не раз сможете убедиться в том, что применение объектно-ориентированного подхода делает программы понятнее, надежнее и проще в использовании.
Унифицированный язык моделирования
Унифицированный язык моделирования (UML) — это графический язык, включающий в себя множество различных диаграмм, помогающих специалистам по системному анализу создавать алгоритмы, а программистам — разбираться в принципах работы программы. UML является мощным инструментом, позволяющим сделать процесс программирования более легким и эффективным. Мы проводим краткое ознакомление с UML в главе 1, а более специфические вопросы, связанные с UML, рассматриваем в других главах книги. Каждое новое средство UML вводится на рассмотрение в том месте, где оно становится полезным для иллюстрации разделов ООП. Таким образом, у вас появляется возможность, не прилагая лишних усилий, освоить концепции языка UML, который одновременно будет способствовать более эффективному усвоению C++.
Языки и платформы разработки
Из всех объектно-ориентированных языков C++ является наиболее широко употребительным. Язык Java, представляющий собой последнюю разработку в области объектно-ориентированных языков, лишен таких составляющих, как указатели, шаблоны и множественное наследование, что сделало его менее мощным и гибким по сравнению с C++ (синтаксис языка Java очень похож на синтаксис C++, поэтому знания относительно C++ с успехом могут быть применены при программировании на Java).
Некоторые другие объектно-ориентированные языки, например, С#, также успешно развиваются, однако их распространение в значительной степени уступает C++.
До последнего времени язык C++ развивался вне рамок стандартизации. Это означало, что каждый производитель компиляторов по-своему реализовывал отдельные нюансы языка. Тем не менее комитет по стандартам языка C++ организации ANSI/ISO разработал документ, ныне известный код названием Стандартного C++. (ANSI является сокращением от английского названия Американского Национального Института Стандартов, a ISO — от Международной Организации Стандартов.) Стандартный C++ включает в себя много дополнительных возможностей, например стандартную библиотеку шаблонов (STL).
Средства разработки программного обеспечения
Разработка прикладного программного обеспечения становится все более и более важным аспектом программирования. Увы, но зачастую процесс создания объектно-ориентированной программы остается для студентов загадкой. Это послужило для нас поводом включить в книгу специальную главу, касающуюся разработки программного обеспечения, где основное внимание уделено объектно-ориентированному программированию.
Различия между С и C++
В настоящее время существует лишь небольшое число высших и средних специальных учебных заведений, в которых перед изучением C++ студентов сначала обучают языку С. Мы также не считаем такой подход правильным, поскольку, по нашему мнению, языки С и C++ полностью независимы. В синтаксическом плане С и C++ очень схожи; более того, С является подмножеством C++. Однако установившееся мнение о схожести самих языков является исторически ошибочным, поскольку подходы к написанию программ на С и C++ кардинальным образом различаются.
C++ завоевал большую популярность, чем С, потому что стал мощным инструментом для разработки сложного программного обеспечения. Это послужило причиной для того, чтобы не рассматривать изучение С как обязательное перед изучением C++. Те студенты, которые знакомы с языком С, могут опустить часть материала, изложенного в книге, однако значительная часть материала окажется для них новой.