Справочник web-дизайнера,Учебник по записи CD,компьютерные сети,PHP и MySQL,C++.
создание сайта визитки
Студия Web-дизайна, создание, раскрутка сайтов интернет реклама, подача объявлений на доски, продвижение и сопровождение сайтов
Карта сайта | Зарабатывайте с нами  | Сделать заказ
Наши услуги
Справочники
Самоучитель Internet Explorer
PHP и MySQL
Компьютерные сети
Самоучитель о С++
Новости
Новости для PDA
Реклама
Студия WebKuban.Ru - Создание и поддержка сайтов, интернет магазинов Каталог сайтов Всего.RU Интернет-каталог WWW.SABRINA.RU Refo.ru - русские сайты Каталог HeadNet.Ru Интернет-магазин цифровых товаров Каталог Ресурсов Интернет
Реклама
Язык С++
По последним данным, на рынке продается по крайней мере 2 768 942 книги о С++, не говоря уже о всевозможных курсах, обучающих программах, журналах и семинарах с коктейлями.
И все же в этом изобилии наблюдается удручающее однообразие.
Добро пожаловать на сайт студии Web-дизайна "САР"


Материалы книги получены с http://www.itlibitum.ru/

Дао С++

С++ - язык, который изучается постепенно. Лишь после того, как будет сделан последний шаг, разрозненные приемы и фрагменты синтаксиса начинают складываться в общую картину. По-моему, изучение С++ чем-то напоминает подъем на лифте. Дзынь! Второй этаж. С++ - это усовершенствованный вариант С, с сильной типизацией (которую, впрочем, при желании можно обойти) и удобными комментариями //. Любой программист на С, если он не хочет подаваться в менеджеры, должен двигаться дальше… а Бьярн Страуструп (Господи, благослови его) придумал для этого отличную озможность.

Дзынь! Третий этаж. С++ - хороший, хотя и не потрясающий объектно-ориентированный язык программирования. Не Smalltalk, конечно, но чего ожидать от языка, работающего с такой головокружительной скоростью? С++ - это Cobol 90-х, политически выдержанный язык, которые гарантирует финансирование вашего проекта высшим руководством. А уж если С++ достаточно часто упоминается в плане, можно надеяться на удвоение бюджета. Это тоже хорошо, потому что никто толком не умеет оценивать проекты на С++ и управлять ими. А что касается инструментария - глаза

разбегаются, не правда ли?

Дзынь! Последний этаж, все выходят. Но позвольте, где же «все»? Лифт почти пуст. С++ - это на самом деле не столько язык, сколько инструмент для создания ваших собственных языков. Его элегантность заключается отнюдь не в простоте (слова С++ и простота режут слух своим явным противоречием), а в его потенциальных возможностях. За каждой уродливой проблемой прячется какая-нибудь умная идиома, изящный языковой финт, благодаря которому проблема тает прямо на глазах. Проблема решается так же элегантно, как это сделал бы настоящий язык типа Smalltalk или Lisp, но при этом ваш процессор не дымится от напряжения, а на Уолл-Стрит не растут акции производителей чипов памяти. С++ - вообще не язык. Это мировоззрение или наркотик, меняющий

способ мышления.

Но вернемся к слову «элегантный». В программировании на С++ действует перефразированный принцип Дао: «Чтобы достичь истинной элегантности, нужно отказаться от стремления к элегантности». С++ во многом представляет собой С следующего поколения. Написанные на нем программы эффективно компилируются и быстро работают. Он обладает очень традиционной блочной структурой и сокращенной записью для многих распространенных операций (например, i++). В нем есть свои существительные, глаголы, прилагательные и свой жаргон:

cout << 17 << endl << flush;

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

которых разные идеи выглядят по-разному. «Простые и последовательные» языки никогда не пользовались особым успехом за стенками академий, а языки с блочной структурой овладели массами.

Стоит ли этому удивляться? Ведь компьютерные языки приходится изучать и запоминать, а для этого используется то же серое вещество, с помощью которого мы изучаем и запоминаем естественные языки. Попробуйте-ка назвать хотя бы один естественный язык без существительных, глаголов и скобок! Я бы не рискнул. Все наши познания в лингвистике говорят о том, что эти «плохие» особенности только ускоряют изучение компьютерного языка и делают его более понятным. i++ во всех отношениях действительно понятнее, чем i:=i+1, а x=17+29 читается лучше, нежели (setq

x(+17, 29)). Речь идет не о строении компьютерного языка, а скорее о нашем собственном

строении. Все уродства С++ - это в основном наши уродства. Когда вы научитесь понимать и любить его странности, когда перестанете беспокоиться о математической стройности, будет сделан ваш первый шаг к достижению элегантности в С++.

С++ наряду с Lisp, Smalltalk и другими динамическими языками (в отличие от С) обладает средствами для низкоуровневых манипуляций с компьютером. Вы можете создать свой собственный тип данных и подсунуть его компилятору так, чтобы он принял этот тип за встроенный. Вы можете управлять вызовами своих функций, обращениями к переменным классов, выделением и освобождением памяти, инициализацией и удалением объектов - и все это (в основном) происходит без потери эффективности или безопасности типов. Но в отличие от других языков, если эта сила будет применена неправильно, программа на С++ «грохнется». А если устоит программа, грохнутся ваши коллеги-программисты - если вы не придумаете, как пояснить свои намерения и использовать правильную

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

фразой: «Доверься мне - я знаю, что делаю». Компилятор закатывает глаза и безмолвно подчиняется.

С++ интригует своими явными противоречиями. Его гибкость легко превращается в главный источник ошибок. За возможности его расширения не приходится расплачиваться скоростью или объемом кода.

Он элегантен в одних руках и опасен в других, прост и сложен одновременно. После нескольких лет работы вы так и не можете решить, восхищаться им или проклинать. Да, настоящий знаток понимает все концепции, лежащие в основе языка и склоняющие чашу весов в его пользу. Эти концепции не видны с первого взгляда; чтобы понять их, необходимо в течение нескольких лет пытаться решать совершенно разные задачи. Некоторые архитектурные парадигмы лучше всего соответствуют конкретным языковым решениям. Их неправильное сочетание обернется хаосом, а правильное -

элегантностью.


Назад    Содержание    Далее    



Специальное предложение


Сайт визитка за 90 $
создание, разработка сайта
  • Регистрация доменного имени в зоне .net.ru или .pp.ru (1 год)
  • Хостинг (1 год)
  • Готовый дизайн
  • Поддержка РНР
  • 3 страницы сайта (главная, о фирме, контакты)
  • Регистрация в 256 поисковых системах и каталогах
  • Форма сообщений
заказать создание сайта визитки
Размещение объявлений
Недорого предлагаем разослать ваше рекламное предложение о товарах или услугах на сотни досок объявлений по всему Рунету.
размещение объявлений на электронных досках
Друзья сайта
  • Реклама - каталог ресурсов Реклама - каталог ресурсов - Реклама Карта сайта
  • Просто добавь свой сайт
  • Ипотека, коммерческая и загородная недвижимость, продажа квартир и коттеджей
  • Выставки, выставки России, Выставки Москвы, зарубежные выставки
  • Music singer R&B song
  • Язык С++
    Просматривать полку книг о С++ в книжном магазине ничуть не интереснее, чем литературу по бухгалтерии. В сущности, все книги пересказывают одно и то же и отличаются разве что по весу и количеству цветов в диаграммах и таблицах.
    Copyright студия Web-дизайна САР © 2007
    Используются технологии uCoz