Rambler's Top100 Service калинин.ru / программирование / отвлеченно /  << 04.03.02 >>

Как стать программистом: часть вторая, книги и интернет-ресурсы

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

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

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

Доверяй, но проверяй

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

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

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

Чуть подробнее про "индекс доверия". Если у "Искусства программирования" он высший, то где же низший? Вы удивитесь, наверное, но самое низшее доверие, на мой взгляд, должно быть оказано, в среднем, к текстам, размещенным в интернете (включая и этот, конечно же.) Связано это прежде всего с тем, что автор сам менее придирается к такому тексту просто по той причине, что обычно ничего кроме морального удовлетворения за него не получает. Конечно же, существуют и приятные исключения. Говоря об оценке "в среднем" я подразумеваю, что в интернете встречаются и тексты с высоким "индексом доверия", но отличить их друг от друга можно только при наличии некоторого опыта.

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

Книги, которые...

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

Н. Вирт, "Алгоритмы + структуры данных = программы." Существует два варианта этой книги, одна с примерами на Паскале, другая --- с примерами на Модуле-2, последнюю недавно переиздали. Настоятельно рекомендую: просто написано и, тем не менее, достаточно подробно, в общем очень хорошая книга.

А. Шень, "Программирование: теоремы и задачи." Книга отличительна по своей структуре: в ней подобраны задачи и все алгоритмы рассматриваются как решения к тем или иным задачам, все это подается при минимуме математических вычислений. Написана специально для школьников известной 57 московской школы, но будет полезна и на первых курсах института. Кроме прочих качеств, свободно распространяется Шенем в сети Интернет.

Н. Вирт, "Язык программирования Паскаль." Если в качестве изучаемого языка программирования был выбран Паскаль, то эта книжка просто обязательно для прочтения. Все-таки, никто не сможет точнее, чем автор, описать свой язык программирования. К сожалению, насколько мне известно, в последнее время не переиздавалась.

Ч. Уэзерелл, "Этюды для программистов." Это достаточно простая для восприятия книжка наглядно показывает основные приемы при создании программ. С другой стороны, книга для одного прочтения: впоследствии она вам не понадобится, ее нельзя использовать как справочник, это исключительно учебник, простой и удобный. Опять же, в последнее время она не переиздавалась, так что найти ее можно только в библиотеках.

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

Т. Кормен, Ч. Лейзерсон, Р. Ривест, "Алгоритмы: построение и анализ." В книге используется минимум математических методов, при этом все они достаточно подробно объясняются перед использованием, таким образом ее можно порекомендовать в качестве дальнейшего чтения. Издавалась МЦНМО, я ее постоянно встречаю в книжных магазинах, так что проблем с ее приобретением в случае необходимости быть не должно. Стоит она относительно дорого, но это вполне оправдано.

Д. Кнут, "Искусство программирования." Эта книга --- лучший и, фактически, самый сложный учебник по программированию, несмотря на то, что чаще всего его используют как справочник. Нет, это действительно учебник, причем очень хорошо продуманный. На самом деле я не очень надеюсь на то, что учащийся последних классов школы сможет сесть и осилить его, но если такое все-таки случится, то я могу только порадоваться за него. Книга в любом случае понадобится в дальнейшем, она попросту обязательна для прочтения любому программисту, так что если есть возможность приобрести три этих относительно дорогих тома, приобретайте не задумываясь. Кстати сказать, на lib.ru есть набранные в TeX'е полтора тома первого издания "Искусства программирования", так что если средств на приобретение книги нет, то, как вариант, можно заняться и воровством.

Б. Кернинган, Д. Ричи, "Язык программирования C." Очень хорошая книга, такая же практическая, как и сам язык C. Рекомендую читать именно ее, когда придет время к изучению С, лучше про него ничего не написано. Второе издание недавно вышло и лежит в книжных магазинах.

Б. Страуструп, "Язык программирования C++." В отличие от аналогичной книги по C (аналогичной в том смысле, что тоже написана автором языка), эта книга не практическая, а, скорее, философская. Она очень сложна для восприятия и поэтому мне всегда крайне неловко советовать ее для изучения C++, но другого варианта просто не существует, так как большая часть остальных книг по C++ написаны как будто о другом языке: кто-то описывает Паскаль, кто-то Smalltalk, кто-то C или ассемблер. Поэтому читать придется Страуструпа, но это и к лучшему. Книга действительно о философии программирования, а отдельная глава о проектировании программных продуктов, на мой взгляд, лучше многих книг подобной тематики. В общем, когда наступит время изучать C++, его можно изучать только по этой книге, хотя это и трудно.

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

Отдельной категорией я бы хотел выделить книги, основанные на личном опыте авторов по созданию программных комплексов. Все эти издания стоит читать только после того, как предыдущая часть списка в основном уже будет усвоена. И не надо обманывать себя! Усвоение это не просто беглый просмотр страниц, это понимание материала, изложенного в книгах. Индекс доверия описанных ниже книг высок, но только в том случае, если вы правильно поняли авторов --- уж очень скользкая тема и слишком много трактовок. Таким образом, читать надо, при этом, когда вы окажетесь в этих ситуациях, вы их сразу же узнаете. Грубо говоря, по форме искр из глаз можно будет понять на какие грабли наступили без повторного "контрольного" попадания на те же грабли.

Ф. Брукс, "Мифический человеко-месяц." Книга о том, как создаются программные системы. Отличительная черта --- реальность, никаких новомодных диаграммок или графиков, только личный опыт автора и его мысли; материал изложен очень легко и, на первый взгляд, тривиален. Но поверьте мне, во время реальной работы вы столкнетесь со всеми теми проблемами, которые описаны у Брукса. Все это будет, несмотря на известные предупреждения, поэтому не помешает узнать об этих проблемах.

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

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

А. Голуб, "Правила программирования на C и C++." Опять же, очень легкая книга, вся состоит из рецептов счастья. По ней очень хорошо отслеживается характер самого автора, что, в общем-то, тоже неплохо. Читается запоем за несколько дней, по некоторым из правил с автором хочется спорить, а за другие, наоборот, хочется пожать руку. В общем, читайте и помните о том, что правила не только полезны, но и вредны.

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

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

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

Кстати сказать, есть и неизменяемые вещи. API Unix'а, к примеру (posix), но это святое. Это почти религия. (на всякий случай поясню --- этот абзац шутка, хотя в ней есть и доля правды)

Есть другая проблема: как отличить плохую книгу от хорошей? Могу лишь описать свои действия в книжном магазине; стоит пояснить, что в свое время (на первых курсах института) я покупал практически любую книгу компьютерной тематики, которая появлялась на прилавках; на книги я мог истратить практически все имеющиеся в наличии деньги. Сейчас и денег много больше, и переводных книг больше, а покупаю я их очень редко. Уж очень много всякой откровенной глупости было издано, к сожалению. Тем не менее, я точно знаю, что если в книге часто попадаются фрагменты пользовательского интерфейса той или иной среды программирования, то книга уже точно никуда не годится. Я уверен, что в хорошей книге не может быть инструкций по работе с целевой операционной системой, мне очень сложно себе представить, чтобы программист не умел выполнять простейшие пользовательские действия. В общем, в хороших книгах никогда не опускаются до "слюнтяйства."

Интернет-ресурсы

Сразу же предупрежу: никакими т.н. "учебниками" в интернете лучше не баловаться. Связано это с тем, что профессиональный автор вряд ли будет выкладывать хороший "учебник" в свободный доступ, когда может издать книжку. Исключения есть и из этого наблюдения в виде замечательной книги Шеня "Программирование: теоремы и задачи", которую автор свободно распространяет в ASCII и Postscript видах.

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

Тем не менее, это не значит, что интернет бесполезен; просто к нему надо относиться несколько иначе, чем к книгам. Интернет можно использовать для поиска спецификаций или стандартов: это единственный способ получить достоверную информацию о той или иной технологии. При этом, нужно понимать, что в свободном доступе обычно располагаются черновые варианты стандартов, а финальные версии предоставляются за относительно небольшую плату.

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

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

groups.google.com, архив usenet за последние 20 лет с удобным поиском. Переоценить этот сервис сложно, информации в конференциях ничуть не меньше, чем в "паутине", а вот поиск можно сделать значительно лучше за счет структурированности конференций.

www.researchindex.com, поисковая система по научным публикациям, находящимся в свободном доступе.

scirus.com, поисковая система по ресурсам с научной тематикой.

www.cetus-links.com, каталог ссылок, связанных с разработкой программного обеспечения.

www.nature.ru, единственный русский научный ресурс такого масштаба. Раздел "вычислительной математики" в нем несколько скудноват, но сам ресурс не становится от этого менее интересным.

msdn.microsoft.com, Microsoft Developer Network. Фактические основное место получения информации об операционной системе Windows, так что если вы программируете под MS Windows, то MSDN вы будете посещать часто.

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

Еще играет роль, конечно же, то как ищут программы. Ведь новичок обычно не ищет какую-то конкретную программу или библиотеку, а просто набирает в поисковом запросе к своей любимой поисковой системе, что-нибудь в духе "C++" и попадает на страничку неизвестного ему доселе человека, с десятком статей из каких-нибудь журналов и полутора десятками "крутых" исходников. И что, спрашивается, делать с этими исходниками? Он их выкачивает и откладывает --- вдруг пригодятся.

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

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

У OpenSource проектов существует множество типичных способов распространения и их организации, поэтому из интернет-ресурсов для поиска исходников лично я могу порекомендовать такие сайты, как www.sourceforge.org и www.freshmeat.net, которые предоставляют унифицированный хостинг для проектов с открытым исходным текстом. Кроме того, на этих сайтах есть поисковые системы по проектам и т.д.

Ну и, конечно же, флагманом проектов с открытыми исходными текстами является TeX Дональда Кнута. Проникнитесь: со времени создания прошло уже порядка 30 лет и лет 10 тому назад Кнут зафиксировал разработку TeX'а на том уровне, на котором он существует сегодня. За это время из него были удалены, наверное, все ошибки, которые в нем были. Кроме того, он написан при помощи концепции "литературного программирования" того же Дональда Кнута... в общем, как шутит один мой знакомый, "любую программу надо взять и переписать заново, кроме TeX'а". Если это интересно, то воьзмите какой-либо дистрибутив TeX'а по душе и скачайте его исходники.

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

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

Приведу пару ссылок о подобных соревнованиях:

www.google.com/programming-contest/ --- уже упоминавшийся Google Programming Contest.

directory.google.com/Top/Computers/Programming/Contests/ --- раздел Open Directory (это проект открытого каталога), посвященный состязаниям по программированию. Там можно найти большое количество ссылок по теме.

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

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

acm.uva.es, испанский сервер-задачник, самый большой и популярный из подобных. Кроме того, на нем регулярно проводятся интернет-олимпиады.

neerc.ifmo.ru, официальный сервер полуфинала чемпионата мира, проводимого в Петербурге. Там же доступны задачи, некоторые ссылки на подобные ресурсы и, в будущем, планируется создание online judge похожего на испанский задачник.

acm.timus.ru, сервер-задачник уральского университета. В нем меньше задач, чем на испанском, но зато он несколько ближе и с организаторами можно общаться на русском.

И напоследок немного ресурсов, вокруг которых собрана "хорошая тусовка" специалистов.

Конференции fido7.su.c_cpp, fido7.ru.unix, fido7.ru.algorithms, fido7.su.net.prog. Все перечисленные конференции должны быть доступны через news-сервер вашего провайдера, в крайнем случае можно получить доступ в сеть FIDO и читать эти же конференции бесплатно. Для получения доступа к ним по протоколу http удобнее всего будет воспользоваться сервисом groups.google.com.

Достаточно интересны списки рассылок, посвященные Русскому Апачу (модификация известного web-сервера.) Они, конечно же, посвящены не столько программированию, сколько администрированию и созданию web-сайтов, но большая часть обсуждений является очень ярким примером настоящей прикладной задачи, у которой уже есть множество решений. Это apache-rus и apache-talk.

Резюме

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


Версия для печати


  Ссылки по теме:
http://lib.ru/CTOTOR/KNUT/
   Д. Кнут, "Искусство программирования." Если позволяют средства, то я все же рекомендовал бы купить книгу. И приятнее, и честнее.
ftp://ftp.mccme.ru/users/shen/
   Книга А.Шеня "Программирование: теоремы и задачи." Лично я ее видел в продаже непосредственно в МЦНМО за относительно небольшие деньги.
  Рядом в разделе:
Postfix изнутри (08.02.03)
   Эта заметка пишется после громадного перерыва и поэтому, наверняка, будет отличаться от всего остального. Что же, год назад я закончил нравоучениями...   >>>>
Как стать программистом: часть первая, нравоучительная (15.02.02)
   Я не знаю почему, но где-то в среднем пару раз в месяц ко мне обращаются с подобным вопросом --- как стать...   >>>>
  Рядом по дате:
Postfix изнутри (08.02.03)
   Эта заметка пишется после громадного перерыва и поэтому, наверняка, будет отличаться от всего остального. Что же, год назад я закончил нравоучениями...   >>>>
Как стать программистом: часть первая, нравоучительная (15.02.02)
   Я не знаю почему, но где-то в среднем пару раз в месяц ко мне обращаются с подобным вопросом --- как стать...   >>>>
  Содержание:
Заглавная страница
Мой блог
Мое резюме
Дайджест
Программирование
   C&C++
Сети
Unix
Алгоритмы
Оптимизация
Соревнования
Отвлеченно
XML
TeX
Просто так
Студенческое
Туризм
  Байки
Фотографии
Комментарии
   Книги
Web-ресурсы
Фильмы
Интернет
Программное обеспечение
Жизнь
Благодарности
Форум
Хронология
 
  В этом разделе:
Postfix изнутри (08.02.03)
   Эта заметка пишется после громадного перерыва и поэтому, наверняка, будет отличаться от всего остального. Что же, год назад я закончил нравоучениями...   >>>>
Как стать программистом: часть вторая, книги и интернет-ресурсы (04.03.02)
   Вторую часть статьи я публикую значительно позже, чем рассчитывал: просто не получилось выкроить немного времени на последнюю проверку текста перед публикацией....   >>>>
Как стать программистом: часть первая, нравоучительная (15.02.02)
   Я не знаю почему, но где-то в среднем пару раз в месяц ко мне обращаются с подобным вопросом --- как стать...   >>>>
Ответственность, доверие и качество (27.03.01)
   Существует такая черта человеческого характера под названием "ответственность". Вообще говоря, очень полезная черта: если она есть у человека, то он может...   >>>>
Традиционное управление (06.02.01)
   Йордон пишет о том, что основная проблема создания программных систем заключается не в программировании или проектировании, а в управлении и он...   >>>>
Содержание раздела полностью...
   Примерно в тоже время
Postfix изнутри (08.02.03)
   Эта заметка пишется после громадного перерыва и поэтому, наверняка, будет отличаться от всего остального. Что же, год назад я закончил нравоучениями...   >>>>
Как стать программистом: часть первая, нравоучительная (15.02.02)
   Я не знаю почему, но где-то в среднем пару раз в месяц ко мне обращаются с подобным вопросом --- как стать...   >>>>
Хронология полностью...
   Содержание
Заглавная страница
Мой блог
Мое резюме
Дайджест
Программирование
  C&C++
Сети
Unix
Алгоритмы
Оптимизация
Соревнования
Отвлеченно
XML
TeX
Туризм
  Байки
Фотографии
Комментарии
  Книги
Web-ресурсы
Фильмы
Интернет
Программное обеспечение
Жизнь
Студенческое
Просто так
Благодарности
Форум
Хронология
© 2000-2008, Andrey L. Kalinin
mailto:andrey@kalinin.ru
Rambler's Top100