Главная » Просмотр файлов » А.В. Столяров - Введение в язык Си++

А.В. Столяров - Введение в язык Си++ (1114949), страница 2

Файл №1114949 А.В. Столяров - Введение в язык Си++ (А.В. Столяров - Введение в язык Си++) 2 страницаА.В. Столяров - Введение в язык Си++ (1114949) страница 22019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Получается, что имен­но наиболее сложные для освоения концепции остаются для студента «закадром», у него так и не возникает понимания, что такое С и + + и зачемон нужен. Возьму на себя смелость утверждать, что такое «обучение язы­ку С и + + » представляет собой пустую трату учебного времени, которогои так не слишком много.Вообще говоря, в ситуации острого цейтнота приходится уповать нато, что студенты, заинтересовавшиеся языком С и + + , изучат самостоя­тельно все недостающие темы.

При этом представляется по меньшей ме­ре странным тратить столь драгоценное время на изучение экзотическихзакорючек, при том что даже на объяснение наиболее фундаментальныхконцепций времени не остаётся. В самом деле, изучить самостоятельновозможности iostream гораздо проще, чем самостоятельно понять, чтотакое наследование и зачем оно нужно.Данная книга написана на основании опыта нескольких лет обучениястудентов основам языка С и + + в условиях, когда на весь теоретическийматериал можно было выделить не более шестищюми занятий (не важ­но, лекционных или семинарских). Сама книга есть, пожалуй, результатчасто задаваемых студентами вопросов о том, какой литературой мож­но воспользоваться при изучении курса; из всех известных автору книгболее-менее подходит разве что второе издание книги Страуструпа, нооно в наше время представляет собой библиографическую редкость.Материал пособия построен в предположении, что читатель знаком сязыком Си и не испытывает проблем с пониманием его средств.

Для эко­номии времени из изложения полностью исклю чены ср ед ства стан­дартной библиотеки СиН—Д используется только стандартная биб­лиотека Си (предполагается, что она читателю уже знакома). При взгля­де на оглавление книги может возникнуть ощущение беспорядочности ввыборе последовательности тем, особенно в первой половине книги.

Насамом деле, именно такая, а не иная последовательность подачи материа­ла имеет достаточно простое объяснение. В качестве основных целей присоздании данного курса рассматривалось ознакомление студента с че­тырьмя темами: (1) средства инкапсуляции и описания абстрактных ти­пов данных; (2) обработка исключительных ситуаций; (3) наследование,статический и динамический полиморфизм и (4) обобщённое программи4рование (шаблоны). Предлагаемые студенту новые концепции при этомсложны сами по себе, поэтому по возможности изучение специфическихинструментов С и + + , таких, например, как ссылки или перегрузка имёнфункций, откладывалось на как можно более позднее время.

В резуль­тате перегрузка имён рассматривается непосредственно перед переопре­делением символов стандартных операций и введением нескольких кон­структоров в одном классе; ссылки рассматриваются непосредственноперед введением конструктора копирования, и т. д.Некоторые средства С и + + , такие как пространства имён (namespa­ces) или множественное наследование, не рассматриваются вовсе. Мож­но, впрочем, не сомневаться, что любой студент, заинтересовавшийсяязыком С и + + , овладеет этими средствами самостоятельно.

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

Дело тут в том, что поддержать такую тему практическими задача­ми очень тяжело: потребность в шаблонах возникает только в достаточнокрупных программах, которые большинству студентов не под силу.При построении практических занятий хотелось бы рекомендоватьиспользование операционной системы семейства Unix (например, Linuxили FreeBSD). Обучение следует всегда начинать с простых программ,а простые программы немыслимы в условиях отсутствия культуры кон­сольных приложений. Наличие консольных программ в Windows не ре­шает проблему, поскольку такие программы кажутся студентам неполно­ценными, игрушечными, и не возникает ощущения овладения настоящиминструментом.

Напротив, в ОС Unix все программы являются консоль­ными (включая и те, которые работают с графическими окнами), такчто даже самые простые программы оказываются в определённом смыс­ле «настоящими».В заключение предисловия, предназначенного для моих коллег-преподавателей, я хотел бы поблагодарить тех, кто воспользуется именномоим пособием при обучении студентов основам С и + + и попросить вы­сказывать мне свои соображения, возникшие по итогам работы; связать­ся со мной можно через сайт h ttp ://w w w .sto lyarov .in fo .П реди слови е д л я студентовКнижка, которую вы читаете — пожалуй, самая короткая из книгпо языку С и + + и объектно-ориентированному программированию.

Приэтом, как можно заметить, объём пособия всё-таки остаётся значитель5ным; материал, кое-как вместившийся в эти сто с небольшим страниц,соответствует примерно шести-восьми лекциям.Язык С и + + , который вам предлагается изучить — это один из самыхпопулярных инструментов современного профессионального программи­рования, и это обстоятельство накладывает заметный отпечаток как насам язык, так и на возникшую вокруг него программистскую культуру.Большинство нынешних программистов не мыслит использования С и + +в отрыве от стандартной библиотеки шаблонов (STL); кроме того, самязык под воздействием стандартизационного комитета и крупных фигурпрограммистского сектора успел изрядно распухнуть.

Полное описаниевсех возможностей языка и его стандартной библиотеки представляетсобой книгу такого объёма, что ею вполне можно при желании восполь­зоваться в качестве оружия против врагов (в смысле чисто физическом).Изложение всего этого оказывается, таким образом, задачей, принципи­ально нерешаемой в рамках одного семестра (да и двух, пожалуй, тоже).Учебного времени, которого хватило бы на изучение С и + + , обычно про­сто нет, причём, как ни странно, это не самая большая проблема приизучении С и ++.

Традиционной ныне (увы) стала схема, когда в самомначале курса в примерах используются экзотические возможности биб­лиотеки, но не говорится, как всё это устроено; в итоге теряется ощуще­ние границы между возможностями языка и возможностями библиоте­ки1. Если при этом учесть нехватку учебного времени, получается, чтодо изложения действительно интересных концепций, именно того, чемС и + + отличается от всех остальных существующих языков, дело попро­сту не доходит.Напротив, в данном пособии о стандартной библиотеке вообще ничегоне говорится, если не считать предисловия и послесловия. Без сомнения,вы сможете освоить STL самостоятельно, если захотите; настоятельнорекомендую, однако, воздержаться от этого по крайней мере до тех пор,пока вы не почувствуете себя уверенно в обращении с базовыми сред­ствами языка С и ++.В 1997 году вышло в свет третье издание книги автора языка С и + +Бьёрна Страуструпа, которая так и называется «Язык программирова­ния С и ++».

В третьем издании автор впервые вводит STL и с самогоначала книги пользуется в примерах контейнерными шаблонами, притомчто рассказ о шаблонах как таковых расположен в книге ближе к концу.В 1999 году книга вышла в русском переводе. Мне приходилось сотруд­ничать (в том числе работать в одном проекте) как с программистами,изучавшими Си-|—Ь до выхода вышеупомянутого третьего издания, таки с теми, кто изучал язык позднее.

Могу с уверенностью сказать, что11Любителям громких заявлений от неотделимости стандартной библиотеки от язы­ка мы предложим поискать стандартную библиотеку чистого Си, например, в ядреLinux.6восприятие языка С и + + у одних и у других совершенно разное, причёмпрограммисты «старой закваски» умеют работать с STL, но могут и обхо­диться без него, например, ради выигрыша в эффективности, тогда какжертвы (не побоюсь этого слова) третьего издания попросту не мыслятС и + + в отрыве от STL и, к величайшему сожалению, часто совершен­но не задумываются, что же происходит внутри контейнерных классов.Многие, более того, не умеют пользоваться механизмом шаблонов, по­скольку STL вызывает ощущение (ошибочное!), что все шаблоны давнонаписаны.Для изучения базовых средств языка С и + + вам потребуется уверен­ное владение языком Си; материал в пособии излагается в предположе­нии, что проблем с Си у вас уже нет.

Более того, будет очень труднопонять, зачем нужно объектно-ориентированное программирование, ес­ли вы ни разу в жизни не писали программ хотя бы в тысячу строкобъёмом. Если сказанное имеет отношение к вам, постарайтесь самостоя­тельно наверстать упущенное, насколько позволит время. Для тех из вас,кто не планирует становиться профессиональным программистом, заме­чу, что сделать из вас программиста никто в этом курсе и не пытается.Изучение программистских инструментов и теории не делает человекапрограммистом точно так же, как изучение математического анализа ивладение формулой Тейлора не делает человека математиком.

С другойстороны, отсутствие намерения становится профессиональным матема­тиком не отменяет необходимости изучения математики как таковой. Спрограммированием дела обстоят точно так же: даже не став програм­мистом, вы наверняка столкнётесь в своей профессиональной деятельно­сти с программистами и результатами их работы, и при этом начальныезнания в области программирования помогут вам чувствовать себя уве­реннее, знать, чего стоит ожидать от программистов, а чего не стоит, вкакой форме следует излагать ваши требования и т. п.А теперь самое, пожалуй, важное. Все усилия ваших преподавате­лей и ваши собственные пропадут впустую, если вы не свыкнетесь содной простой мыслью: нет и не м ож ет бы ть иного способа изу­чения п рограм м ирования, чем С А М О С Т О Я Т Е Л Ь Н О Е написа­ние п рограм м на ком пью тере.

Смотреть, как пишут другие, пытать­ся разбираться в чужих программах — занятие совершенно бессмыслен­ное. Точно так же бессмысленно писать программы под чью-то диктовку.Программа будет вашей только в том случае, если вы напишете её са­мостоятельно — возможно, заглядывая в справочники, но без помощидругих людей.Домашняя страница этой книги в сети Интернет расположена по ад­ресу h ttp ://w w w .sto lyarov .in fo /bo ok s/cpp in tro . Здесь вы можете по­лучить тексты примеров программ, приведённых в этой книге, а такжеэлектронную версию самой книги.71. Введение§1.1. Ч то такое О О ПО бъектно-ориен ти рован ное программирование появилось всередине 70-х годов XX столетия. Проект Smalltalk известен как первыйобъектно-ориентированный проект и одновременно как проект, в кото­ром впервые предложен оконный интерфейс пользователя.Языки программирования, с которыми вам приходилось встречать­ся до сих пор, относятся к категории императивных языков программи­рования.

Программа на императивных языках воспринимается как по­следовательность команд, изменяющих значения переменных и произ­водящих другие действия (отсюда название парадигмы «императивноепрограммирование», от слова «императив» — приказ, команда). Поми­мо императивного программирования, существуют такие парадигмы, каклогическое программирование, где программа воспринимается как на­бор логических высказываний, а выполнение — как доказательство илиопровержение некоторого высказывания; функциональное программиро­вание, где программа представляется как набор математических функ­ций, а исполнение программы представляет собой вычисление некоторойглавной функции.

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

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

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

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