Новые книги

Эта книга посвящена теории колорита в живописи. Но возможна ли вообще такая теория? Чувство цвета едва ли не самое субъективное из человеческих чувств. О чем здесь можно говорить и спорить?

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

Научная теория восприятия цвета существует. Она нужна. Но нужна ли и возможна ли теория колорита, теория живописи и вообще теория искусства — этой «субъективнейшей» области человеческой практики, теория проявлений редкого таланта?

Мне приходилось слышать возражения вроде следующего.

Мы понимаем, что теория машин и механизмов нужна. На основе этой теории можно построить хорошие машины. Но разве возможно на основе теории живописи написать хорошие картины, и в частности на основе теории колорита найти яркие цветовые решения? Это дело таланта. Теория искусства, по мысли подобных скептиков, — бессмысленная затея.

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

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

Так говорил еще Станиславский. Что же должны сказать мы, в наши дни?

Исключительное значение проблемы цвета для живописи всегда остро чувствовали передовые советские художники. Вопросы цвета занимали видное место в творческих дискуссиях 20-х и 30-х годов. Они не раз возникали и в послевоенные годы. Однако наибольшую остроту эти вопросы приобретают в наши дни.
Контент-маркетинг сегодня в тренде. Только за последний год количество запросов со словами «Content Marketing» в поисковой системе Google выросло в полтора раза. По контент-маркетингу уже собирают конференции, записывают онлайн-курсы, проводят семинары. В соцсетях создаются группы, которые активно набирают последователей.

Все больше и больше компаний могут сказать: «Мы занимаемся контент-маркетингом». А веб-студии и рекламные агентства ставят контент-маркетинг в список своих услуг.

Несмотря на это контент-маркетинг подходит не для всех, да и сделать его хорошо – весьма не просто, а результатов порой приходится ждать от нескольких месяцев до полутора лет.

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

Напутствие в качестве вступления.

0. Напутствие в качестве вступления.

Ум подобен желудку.
Важно не то, сколько ты в него вложишь,
а то, сколько он сможет переварить.

В этой книге вы найдете ряд задач, примеров, алгоритмов, советов и стилистических замечаний по использованию языка программирования "C" (Си) в среде операционной системы UNIX. Здесь собраны этюды разной сложности и "штрихи к портрету" языка Си. Также описаны различные "подводные камни" на которых нередко терпят крушение новички в Си. В этом смысле эту книгу можно местами назвать "Как не надо программировать на Си".

В большинстве случаев в качестве платформы используется персональный компьютер IBM PC с какой-либо системой UNIX, либо SPARCstation 20 с системой Solaris 2 (тоже UNIX svr4), но многие примеры без каких-либо изменений (либо с минимумом таковых) могут быть перенесены в среду MS DOS*, либо на другой тип машины с системой UNIX.

Это ваша ВТОРАЯ книга по Си. Эта книга не учебник, а хрестоматия к учебнику. Она не является ни систематическим курсом по Си, ни справочником по нему, и предназначена не для одноразового последовательного прочтения, а для чтения в несколько проходов на разных этапах вашей "зрелости". Поэтому читать ее следует вместе с "настоящим" учебником по Си, среди которых наиболее известна книга Кернигана и Ритчи.

Эта книга - не ПОСЛЕДНЯЯ ваша книга по Си. Во-первых потому, что кое-что в языке все же меняется со временем, хотя и настал час, когда стандарт на язык Си наконец принят... Но появился язык C++, который развивается довольно динамично. Еще есть Objective-C. Во-вторых потому, что есть библиотеки и системные вызовы, которые развиваются вслед за развитием UNIX и других операционных систем. Следующими вашими (настольными) книгами должны стать "Справочное руководство": man2 (по системным вызовам), man3 (по библиотечным функциям).

Мощь языка Си - в существующем многообразии библиотек.

Прошу вас с первых же шагов следить за стилем оформления своих программ. Делайте отступы, пишите комментарии, используйте осмысленные имена переменных и функций, отделяйте логические части программы друг от друга пустыми строками. Помните, что "лишние" пробелы и пустые строки в Си допустимы везде, кроме изображений констант и имен. Программы на Си, набитые в одну колонку (как на FORTRAN-e) очень тяжело читать и понимать. Из-за этого бывает трудно находить потерянные скобки { и }, потерянные символы `;' и другие ошибки.

Существует несколько "школ" оформления программ - приглядитесь к примерам в этой книге и в других источниках - и выберите любую! Ничего страшного, если вы будете смешивать эти стили. Но - ПОДАЛЬШЕ ОТ FORTRAN-а !!!

Программу можно автоматически сформатировать к "каноническому" виду при помощи, например, программы cb.

            cb < НашФайл.c > /tmp/$$
            mv /tmp/$$ НашФайл.c
но лучше сразу оформлять программу правильно.

Выделяйте логически самостоятельные ("замкнутые") части программы в функции (даже если они будут вызываться единственный раз). Функции - не просто средство избежать повторения одних и тех же операторов в тексте программы, но и средство структурирования процесса программирования, делающее программу более понятной. Вопервых, вы можете в другой программе использовать текст уже написанной вами ранее функции вместо того, чтобы писать ее заново. Во-вторых, операцию, оформленную в виде функции, можно рассматривать как неделимый примитив (от довольно простого по смыслу, вроде strcmp, strcpy, до довольно сложного - qsort, malloc, gets) и забыть о его внутреннем устройстве (это хорошо - надо меньше помнить).

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

В системе UNIX вы можете посмотреть описание любой команды системы или функции Си, набрав команду

            man названиеФункции
(man - от слова manual, "руководство").

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

По различным причинам на территории России сейчас используется много разных восьмибитных русских кодировок. Среди них:

КОИ-8

Исторически принятая на русских UNIX системах - самая ранняя из появившихся.

Отличается тем свойством, что если у нее обрезан восьмой бит: c & 0177 - то она все же читаема с терминала как транслитерация латинских букв. Именно этой кодировкой пользуется автор этой книги (как и большинство UNIX-sites сети RelCom).

ISO 8859/5

Это американский стандарт на русскую кодировку. А русские программисты к ее разработке не имеют никакого отношения. Ею пользуется большинство коммерческих баз данных.

Microsoft 1251

Это та кодировка, которой пользуется Microsoft Windows. Возможно, что именно к

этой кодировке придут и UNIX системы (гипотеза 1994 года).

Альтернативная кодировка для MS DOS

Русская кодировка с псевдографикой, использовавшаяся в MS DOS.

Кодировка для Macintosh Это великое "разнообразие" причиняет массу неудобств. Но, господа, это Россия - что значит - широта души и абсолютный бардак. Relax and enjoy.

Многие примеры в данной книге даны вместе с ответами - как образцами для подражания. Однако мы надеемся, что Вы удержитесь от искушения и сначала проверите свои силы, а лишь потом посмотрите в ответ! Итак, читая примеры - делайте по аналогии.

* MS DOS - торговый знак фирмы Microsoft Corporation. (читается "Майкрософт");
DOS - дисковая операционная система.

© Copyright А. Богатырев, 1992-95
Си в UNIX

Содержание | Вперед