Все записи

/add, [701]

Всякий раз, заходя в «Книгомир» в ТЦ (который все по привычке называют «Топ-книгой»), не могу удержаться от разглядывания полки компьютерной литературы, но обычно не нахожу ничего стоящего или по крайней мере ничего такого, чего действительно хотелось бы купить. А ведь раньше всё было совсем по-другому...

Первой моей книжкой по программированию была книга по Turbo Pascal 7.0 (А. М. Епанешников, В. А. Епанешников). Книга была рекомендована моей первой учительницей информатики ещё в 8 классе и была неоднократно прочитана мной от корки до корки. Не могу назвать её особо выдающейся, просто тогда на полках в книжных магазинах не было такого широкого выбора литературы по языкам программирования, как сейчас. Но благодаря ей я, например, сам разобрался, что такое процедуры и функции и зачем они нужны — дело в том, что курс программирования у нас в школе (40 минут в неделю) был весьма неторопливым: паскаль начинался в восьмом классе, процедуры и функции стояли в программе десятого, а про поиск в ширину рассказывали лишь в конце 11го, да и то только избранным, на особом спецкурсе. В общем, можно смело сказать, что этой книжке я весьма и весьма благодарен.

Съездив в 10 классе в Москву на олимпиаду, купил вторую часть знаменитой книги Фаронова и прилагающуюся к ней дискету. В Новокузнецке найти это было практически невозможно. Честно говоря, совершенно не помню, о чём в ней было написано, но «проглотил» я её очень быстро и, пожалуй, именно с неё у меня началось увлечение программированием как хобби, на уровне «сделать что-нибудь, чтобы было интересно». Стоит заметить, что первой части Фаронова у меня никогда не было, только потом, уже классе в 11м, я брал полистать её у кого-то.

Следующей книжкой была «Delphi 3», автора не помню. Это была третья и последняя книга, посвящённая какой-то конкретной среде программирования. Впрочем, это была ещё и последняя «компьютерная» книга, купленная между 11 классом и серединой второго курса. Нет, была ещё тонкая книжка по C++, но в условиях общежития потерялась она очень быстро, и я, кажется, даже не успел её толком прочитать. И хорошо.

На втором курсе я увлёкся олимпиадами. Заняв в составе команды NSU3 второе место по результатом двух финальных туров первой Открытой Всесибирской олимпиады (тогда ещё не им. И.В.Поттосина), получил стипендию от спонсировавшей олимпиаду в то время компании Novosoft (впрочем, в то время это был совсем другой Novosoft). Компания потратила деньги зря, работать и специализироваться я к ним не пошёл. Полученную сумму потратил на покупку трёх томов Кнута в «Топ-книге» — весьма крупная покупка для бюджета второкурсника. Это была моя первая серьёзная компьютерная литература, и, конечно, я её и сейчас активно использую, например, при подготовке к занятиям в том же колледже.

Команда NSU3 сделала ещё одно важное дело: где-то примерно на третьем курсе я окончательно перешёл с паскаля на C, точнее, на C с небольшим куском C++ (из которых использовались объявление переменных в любом месте и template <class T> T min(T a, T b). Соответственно, было куплено 3-е дополненное издание Страуструпа. Впрочем, толком C++ я не знаю и сейчас: нельзя сказать, что знаешь язык, если ни разу не писал на нём что-нибудь серьёзное и за деньги. Именно из-за своего не вполне положительного опыта я рассказываю начинающим деткам в колледже и на мехмате только чистый C с объявлением переменных после открывающей фигурной скобки, передачей параметров по значению и пугающим поначалу struct s *p = malloc(sizeof(struct s)): не хочу, чтобы у них в голове была такая же каша, как когда-то была у меня. Впрочем, мы тут говорим не об обучении программированию; кажется, я отвлёкся.

Курсе на третьем у меня появились деньги, но, как ни странно, это не привело к заметному расширению моей домашней (точнее, комнатной) библиотеки. Разве что купил почитать для общего развития Гради Буча. Ещё нужно отметить появление у меня на полке книжки В. Н. Касьянова «Курс программирования на Паскале в задачах и упражнениях», полученной из рук автора после того, как мы с соседом по комнате ездили с ним в издательство «Советская Сибирь» и помогали загружать-разгружать отпечатанный тираж. Книжка пригодилась при подборе задач для мехматовцев, когда я начал вести там программирование.

Из книг, купленных уже после устройства на работу в SWsoft, стоит отметить учебник Элджера по регулярным выражениям, который я настоятельно рекомендую всем, кто пишет или собирается писать на перле: более хорошего рассказа о регэкспах я не встречал нигде. Остальные купленные IT-книги, имеющиеся у меня — «Компиляторы» Ахо, Сети и Ульмана, «Дизайн и эволюция C++» Страуструпа, «Алгоритмы: построение и анализ» Кормена и компании, книжка про UNIX Андрея Робачевского (кстати, где она? не могу найти ни её, ни Гради Буча — отдал кому-то и не возвращают, враги), «Современные операционные системы» Таненбаума, с трудом найденный «Язык C» Кернигана и Ричи и книга по LATEX Котельникова и Чеботаева были приобретены скорее просто «чтобы было», как справочники или (в случае с «Дизайном и эволюцией») просто от скуки для того, чтобы занять чем-нибудь время. Не могу сказать, что они открыли мне глаза на что-нибудь или сильно на меня повлияли, хотя при каждом взгляде на Кормена хочется урвать немного времени и порешать-таки задачи оттуда.

Вот так расширение содержимого книжной полки повторяет развитие человека. Интересно, куплю ли я что-нибудь, когда буду бродить мимо компьютерной полки в «Топ-книге» в следующий раз?