Идеология языка

Предисловие к курсу

Введение в программирование

ВВЕДЕНИЕ

 

Современное развитие технократического мира, повсеместное внедрение средств вычислительной техники во все отрасли жизни общества налагает повышенные требования к подготовке специалистов инженерных специальностей, независимо от их специализации.

Наиболее актуальна данная проблема для студентов радиотехнических специальностей. Очевидно, что такая подготовка должна быть сквозной на протяжении всего курса обучения и включать в себя не только фундаментальные принципы функционирования вычислительной техники, ее проектирования, но и языки программирования.

Языки программирования С/С++ являются универсальными языками программирования среднего уровня, наиболее широко распространенными и часто используемыми в мире. Они являются основными языками при разработке системного и прикладного программного обеспечения для процессоров цифровой обработки сигналов, то есть, языками промышленной разработки. Владение ими является необходимым условием программирования на профессиональном уровне.

В данном конспекте лекций не ставилась задача изложить все типы, описания, выражения, операторы и классы. Здесь, прежде всего, была сделана попытка познакомить студентов с основным содержанием языков программирования С/С++, рассмотреть объектно-ориентированный подход программирования, привить навыки профессионального алгоритмического подхода к проектированию программного обеспечения.

 

Лекция 1.

на языках С/C++

 

 

Курс “Информатика“ является одним из основных в русле подготовки специалистов по информационным системам. Разработка программного обеспечения и его сопровождение было и остается важнейшей функцией специалистов в области микропроцессорных, компьютерных систем и систем управления базами данных (СУБД). Широкое внедрение вычислительных машин во все сферы промышленности, связи, систем управления и документооборота требует массу программного обеспечения непрерывно возрастающей сложности. Еще недавно программирование считалось искусством, теперь - специальностью, работой как отдельных личностей, так и больших коллективов.

Курс программирования призван отразить практические аспекты разработки программных продуктов, познакомить студентов с современными формальными системами - алгоритмическими языками и методами программирования на этих языках. Лекционный материал расположен таким образом, чтобы показать, как меняется мышление разработчика при движения от “низкого“ (машинного) уровня к “высокому“ (проблемному), от конкретного к абстрактному, от процедур и модулей к объектам и иерархиям. Выбор изучаемых языков продиктован как насущными потребностями современного рынка труда, так и иллюстративностью создаваемых на этих языках программ.

 

 

Языки С и С++ являются наиболее широко распространенными и часто используемыми языками программирования в мире. Они являются основными языками при разработке как системного, так и прикладного программного обеспечения, то есть, языками промышленной разработки. Владение ими является необходимым условием получения высокооплачиваемой работы в области информационных технологий. Язык С появился в 1972 г. благодаря усилиям двух специалистов лаборатории – Бейла Брайена Кернигана и Денниса Ритчи и быстро завоевал признание среди разработчиков всего мира. Этому способствовали его следующие характерные особенности:

Эффективность.Программы,написанные на С, обладают небольшим размером и высокой скоростью исполнения.

Лаконичность. Запись алгоритма выразительна и кратка.

Компактность. Язык содержит мало встроенных средств и ключевых слов.

Мощность. Мощность применения достигается за счет использования многочисленных библиотек.

Переносимость. Компиляторы созданы для всех операционных систем и аппаратных платформ, поэтому программу можно скомпилировать и запустить практически везде.

К основным недостаткам С можно отнести слабый контроль преобразования типов и незащищенность при работе с адресами и динамической памятью, в результате которых в программе легко сделать ошибку, которую будет трудно найти. С другой стороны, эти недостатки и позволяют создать исполняемый код, по эффективности приближающийся к программе на языке Ассемблера.

В 1981 году появился язык С++, который многие называют “С с классами“. Создатель С++ Бъярн Страуструп ввел в традиционный С средства объектного языка: классы для представления внутренней структуры объектов, механизм наследования и новые средства работы с динамической памятью и с вводом/выводом. Данные средства позволили не только писать объектно-ориентированные программы, но и создавать библиотеки шаблонов, классов, то есть расширить инструментарий программиста и сферу применения языка. В дальнейшем мы будем рассматривать С и С++ как единый язык, кроме случаев, когда необходимо подчеркнуть разницу между ними. Отметим только, что С/С++ сочетает в себе вышеперечисленные достоинства С и новые возможности С++, позволяя “изнутри“ рассмотреть принципы высокоуровневого программирования.

Язык С++ объединяет в себе средства высокоуровневого и низкоуровневого программирования. К первым можно отнести структуры, классы, механизмы наследования и позднего связывания, шаблоны.

Ко вторым традиционно относят механизм указателей, работу с битами символов, работу с механизмом прерываний. Все это делает С++ весьма привлекательным для решения широкого круга задач. В рамках нашего курса мы рассмотрим средства С++, начиная с базовых и заканчивая высокоуровневыми. Ограниченный объем занятий не позволяет рассмотреть вопросы, касающиеся библиотеки стандартных шаблонов (STL), пространства имен и ряд других новшеств языка. Эти вопросы выносятся на самостоятельную проработку.