Закрытие сезона на C и C++

Чем пользуюсь для разработки своих программ?

К сожалению, я не тот программист, на которого нужно равняться. Я пользуюсь Microsoft Visual C/C++ 6.0 SP3 и хочу найти нормальную версию Intel C/C++ 4.5. Я занимаюсь серьезной разработкой несерьезного программно-развлекательного обеспечения. Игры, игры, и еще раз игры. Я не люблю ограничивать себя оконными приложениями. Только полноэкранные. Для создания своих шедевров я использую Microsoft DirectX 7.0 SDK. Этим все сказано. Я знаю, что в 30% писем читатели желают изучать Си++ тоже для того, чтобы заняться подобным несерьезным делом. Лучше тогда не начинайте. Вам мало игр, которые уже есть? Что касается меня, так я уже влип, как очкарик. Если все же интересно такое занятие, то я Вам рекомендую читать газету "Виртуалтные Радости", тем более она еще молодая и Вы можете даже на нее подписаться. Теперь Вам понятно, что я не лучший пример для подражания. Уже если брать пример, так с того же Евгения? (Не в обиду будет ему сказано и, конечно, без доли сарказма.) А что? Он, по крайней мере, объективен в своем отношении к ПО, знает толк в оконных приложениях, которые нужны чаще, чем мои полноэкранные. По секрету всему свету: кое-что и я из его слов взял на вооружение, за что ему особенное спасибо. Однако, лучше скомбинируйте мои советы, советы 3 критиков - и Вы получите свое направление.

Книги! Какие книги почитать?

Когда я хотел изучить Си и Си++, я ничего ни у кого не спрашивал, так как не было такого человека, который его знал. Без книг учиться плохо и долго, а Вы мне в открытую сообщаете, что сидите над книгой месяц и не можете продвинуться ни на шаг в изучении Си++. Это лишь означает, что Вы этого не хотите. Да и месяц - не тот срок, за который можно изучить Си++. За такое время вы вряд ли сможете освоить даже основы Basic (не говоря уже о Visual Basic). Терпения не хватает? А я про это уже писал в прошлый раз.

Однако, я не поленился и сходил в ближайший книжный магазин, где нашел кучу книг, пригодных для чтения:

A. "Visual C++. Энциклопедия.". Ричард Лейкенер.

Да! Этой книгой можно двери сарая подпирать. Я имею в виду размеры, а по содержанию я бы держал ее, как римляне Библию. Мне понравилось. На то она и энциклопедия. Если Вы связываете себя с Win32, то более удачной книги я и представить не могу, хотя я не видел других 20. Разжевано так, что рта открывать не надо. А главное, прекрасно сохранена очередь материала. Т.е. такая очередь, какой мне не хватало более 5 лет назад, а сейчас уже поздно, т.к. уже прошел ее по другой дороге. Книга посвящена новичкам, но профессионал может пользоваться справочником по API. Рекомендую, но не уверен до конца, что это лучший вариант. Наверное, есть энциклопедии, которые лучше этой.

B. "Учебник программирования по Си++". Нелл Дейл и другие.

Перед собой авторы поставили задачей донести до новичка материал с шикарными примерами. Задачи в основном интересны и постоянно сравниваются с жизнью. Язык написания проще, чем у Ричарда Лейкенера. На то он и учебник. Прекрасное пособие в вуз. Даже вспомнил давно забытый метод "строительных плит". Было что почитать и мне. Одним словом, если есть деньги, то попробуйте эту прелесть почитать.

С. "Освой самостоятельно С++ за 21 день". Третье издание. Джесс Либерти.

Несмотря на глупое, по смыслу, название, книга превзошла-таки мои ожидания. Скорей речь шла не о Земных днях, но материал почти в совершенстве и по порядочку разжеван. Надо отдать должное, автор имеет свою точку зрения, отличную от других писарей. Хотя он несправедливо назвал язык Си - стариком. К его сведению, на этом старике пишут ПО для микропроцессоров, а на Си++... Такое даже смешно представить. И потом, очень глупый спор получается. Есть Си, а есть Си++. Один подходит для одного круга задач, а другой - для иного. Может быть, я был не прав, когда назвал Паскаль мусорным языком, хотя он и есть язык дубовый, но все равно Си++ не пережить Си, пока люди не научатся разумно писать программы на Си++. Нужно писать исходные тексты программ так, чтобы они легко понимались коллегой. Вся проблема не в языках, а в людях, которые не умеют разумно пользоваться возможностями языков.

D. "Самоучитель по Си++" Г.Шилдт.

Сложная книга для начинающего. На первых же страницах услышите про инкапсуляцию и наследование. Я чуть от удивления со стула не свалился. Только шла речь, что читатель - новичок... и как даст по лбу инкапсуляцией и наследованием! Полезна будет для тех, кто Си знает и хочет узнать секреты Си++. Хотя, судя по тому, как написана книга, можно никогда не узнать, чем хорош Си++, и даже можно усомниться в этом. Может, я чего-то не видел, но это не способ изучения Си++.

Е. "Объектно-ориентированный анализ и проектирование с примерами на С++"

Сразу отмечу, что книга не для начинающих, но достаточно интересна для тех, кто не может "сам себе глаза открыть". Не будем тыкать пальцами, но к этой группе отношу и себя. Уж очень было мне интересно, что автор думает по поводу Client/Server технологии. Зачитался прямо в магазине и не успел больше ничего посмотреть. Там книг было больше двадцати штук на эту тему, но я решил взять качеством и посмотреть подробно содержание каждой из пяти, которые и предложил Вашему вниманию. Прошу прощения, если не самые лучшие, но зато самые ближние на полке. Если Вы опять будете требовать почитать, то я еще схожу в книжный магазин, но я думаю, что и этих книг уже достаточно.

Правда ли, что компилятор от Microsoft на Alfa порождает не эффективный код?

Очень даже может быть, что это правда, так как i386 и Alfa далеко не одно и то же. Не исключаю, что если таблицы тактов по процессу минимизации (оптимизации) содержат Intel'овские значения, то код будет не эффективным. Тут зависит уже от того, ленилась ли Microsoft при работе над компилятором или ничего лучшего уже для Alfa не сделать. Уж мало вериться, что Alfa безнадежна. Кроме того, все познается в сравнении. Собственно говоря, это не тема для споров, т.к. программист сам должен оптимизировать свой код. Так, по крайней мере, считаю я сам.

Если мне больше 30 лет, то я смогу изучить С или С++?

Ответ простой и лежит на поверхности. Учиться никогда не поздно.

Где можно в Интернете скачать книжку по С++?

Я, к сожалению, не имею возможности каждодневного пользования Интернетом и ссылок не знаю, хотя подозреваю, что если Вы постучитесь на какой-нибудь www.altavista.com, то Вы быстро найдете то, что Вам нужно по поиску "Visual C", "Watcom C", "C++". Кроме того, не забывайте, что у всех компиляторов есть свои официальные сайты: www.microsoft.com, www.sybase.com, www.inpri-se.com и www.intel.com. Если не найдете ничего, то можете обратиться к трем критикам, которые себя зарекомендовали как сведущие в новых технологиях специалисты.

Теперь подведу итог. Си, Си++, Java, Bacic, Pascal - дело сугубо Ваше, но те, кто хотел изучать Си и/или Си++, мне уже задали свои вопросы по электронной почте, не злоупотребляя гостеприимством КГ. Рано или поздно я дам ответы и советы по электронной почте всем оставшимся в стороне.

Павел Горбунов


Компьютерная газета. Статья была опубликована в номере 23 за 2000 год в рубрике разное :: тусовка

©1997-2024 Компьютерная газета