Внимание! Прочитайте, пожалуйста, текст в правой колонке (внизу).
Внимание! Прочитайте, пожалуйста, текст в правой колонке (внизу). Внимание! Прочитайте, пожалуйста, текст в правой колонке (внизу). Homepage Карта сайта Версия для печати

Джентльменский набор Web-разработчика   Ларри Уолл о Perl6   Наблы Система Orphus
 

12. Зоопарк, или имена, которые должен знать каждый Web-программист

[26 декабря 2001 г.]

  Желаю творческих узбеков.
Пожелание.

Лирическое отступление 
Вспомните, когда вы последний раз ходили в зоопарк?.. Наверное, от этого визита остались лишь довольно смутные воспоминания. Зрительного характера — от клетки со львом и жирафами. Обонятельного — от слоновника. И, наверное, вопли бабули из кассы, когда вы прошли без билета, нужно отнести к галлюцинациям слухового типа.

Я же хочу сейчас устроить небольшой парад имен (и фамилий), который может быть интересен с точки зрения программиста, в частности — программиста в Web. Здесь будут описаны и кое-какие факты из их деятельности, а также что можно на эту тему почитать. Я постараюсь не называть ни одной скучной книги, так что почти вся литература, которая тут приведена, если и не читается «на одном дыхании», то очень близка к этому.

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

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

Чайник 

Наиболее знаменитые личности вынесены в подзаголовки, менее знаменитые — выделены жирным шрифтом.

Ларри Уолл (http://www.perl.com)

Ларри Уолл. Интервью с ним. [Спасибо Константину за фото - dk]

Кто не знает — этот человек создал язык Perl, пожалуй, один из самых странных, но в то же время мощных, языков за последние 1000 лет. Более того: он до сих пор участвует в совершенствовании языка, да так, что в скором времени должна выйти шестая версия — полностью объектно-ориентированная, но в то же время имеющая поддержку Perl 5 (современной версии). Если бы Ларри был русским, на вопрос, что такое Perl, он бы ответил просто: «Это язык с эклектическим херитажем» (просьба не обижаться). А так он всего лишь замечает, что Perl — язык, унаследовавший даже противоречивые стороны других языков программирования, и в этом его сила и слабость одновременно.

Не могу удержаться и не сказать, что если некто слабо знаком с программированием, то ему ни в коем случае (я <u>подчеркиваю</u>, и не стоит мне говорить, что «здесь тэги вылезли» — так и было задумано), так вот, ему нельзя начинать это знакомство с изучения Perl. Это все равно, что начинать упражнения со штангой сразу с 200-килограммового веса. Программист должен привыкнуть, что синтаксис Perl несколько противоестественен, но с этим уже ничего нельзя поделать, потому что существует огромное число наработок и модулей на Perl. В то же время, освоив этот синтаксис, можно писать очень даже элегантные программы, эффективные, но малопонятные окружающим.

Лирическое отступление 

Некоторые считают Perl всего лишь одним из многих языков программирования, который можно «выучить» за... м-ммм... неделю. Это в корне неверно. Другие, наоборот, думают, что Perl слишком сложен, чтобы считаться настоящим языком программирования, и что «Java лучше». Это еще более ошибочное мнение, к тому же еще и вредное. В общем, понять, что же такое Perl, можно, только написав на нем достаточно много, пользуясь при этом удобными инструментами (а не модулем CGI.pm).

Теперь перечислю книги по Perl, которые можно прочитать (а что с ними еще делать?..). Но прежде замечу, что ни одна из приведенных ниже книг не научит вас Web-программированию (то есть, правильному и эффективному созданию CGI-скриптов). Я пока ни разу не видел книгу о Perl, полностью лишенную этого недостатка. Частично восполнить пробелы позволит третья набла, а также некоторые другие публикации в Сети.

Чайник 

Вообще, никакой встроенной поддержки CGI язык Perl не имеет, однако существуют другие языки — например, PHP, — в которые она встроена. Поэтому иногда бывает оправдано программировать на Perl, что называется, «в стиле PHP», для чего также полезно изучить возможности последнего.

Perl: специальный справочник Начнем с книги Стива Холзнера «Perl: специальный справочник». И никакой это вовсе не справочник, а практически идеальный учебник по Perl для начинающих (то есть, для программистов, не сталкивающихся еще с Perl). Во всяком случае, мне в свое время книга понравилась больше всех остальных, потому что в ней описаны самые азы программирования на Perl (наверное, вы уже догадались, что азы программирования на Perl отличаются от азов программирования вообще).

Изучаем Perl Далее я порекомендовал бы прочитать еще одну какую-нибудь книгу по основам программирования на Perl, чтобы посмотреть, что об этом думают другие (отличные от Холзнера) авторы. Например, что-то типа «Изучаем Perl» Тома Кристиансена и Рэндала Шварца. В принципе, эта книга ничем не выделяется среди других многочисленных публикаций по поводу Perl, и читать ее в первую очередь (до Холзнера), наверное, не стоит (когда читаешь во вторую очередь, то постоянно натыкаешься на места, которые бы без книги Стива были бы совершенно непонятны). Хотя среди авторов и присутствует имя Тома Кристиансена (а он знаменит не менее, чем Ларри), видимо, профессор Шварц пришел и все испортил.

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

Mastering Regular Expressions Опять же, благодаря незадачливому издательству книга Джефа Фридла называется «Регулярные выражения: библиотека программиста», а не так, как это можно перевести с английского (Mastering Regular Expression, или сокращенно MRE). Книга сразу же после первого издания стала легендой, и всего два года назад ее непереведенный оригинал можно было приобрести не менее чем за 200 долларов. Теперь все изменилось к лучшему, и цена упала более чем в 40 раз. Про MRE принято говорить: даже обладая недюжинными познаниями в области регулярных выражений, все равно почерпываешь из книги очень много нового. Что же, это соответствует действительности. Рекомендую данный монументальный труд всем, кто уже порядком разобрался в Perl и хочет наконец систематизировать свои знания о регулярных выражениях (именно выражениям Perl посвящена подавляющая часть книги).

Не читайте эту книгу! Теперь вкратце о том, какие книги о Perl не стоит читать ни под каким предлогом. Во-первых, книги, в которых меньше... э-эээ... сейчас посчитаю... 300 страниц. Если одна из таких книг претендует на звание учебника, можете смело ее игнорировать, потому что Perl значительно богаче каких-то трехсот страничек из газетной бумаги. И, не могу удержаться, чтобы не покритиковать небольшую (140 страниц) книжонку некоего Маслова В. В. (ни имени, ни отчества он указать не удосужился, похоже только, что автор — бывший военный). Мало того, что в книге из-за ошибок нельзя разобраться, даже основательно зная Perl, там еще и все запятые в тексте искоренены как что-то неприличное (иными словами, чем дальше к концу книги, тем меньше в тексте встречается запятых). Хорошо еще, что точки остались. Предостерегаю вас: не дайте себя надуть низкой ценой.

Билл Гейтс (http://microsoft.com)

Давайте немного разбавим парад программистов. Итак, Гейтс. К этому человеку, в общем-то, все относятся по-разному. Не буду по привычке оправдываться перед теми, кто терпеть не может Windows, считая ее «самой отвратительной и ненадежной системой на свете» (что, впрочем, не мешает им параллельно распечатывать какой-нибудь документ в Word). Вместо того, чтобы разжигать религиозные войны, укажу лишь, что этот человек практически в одиночку и «с нуля» создал крупнейшую в мире компанию — Microsoft, — которая до сих пор процветает и создает одни из самых удобных с точки зрения пользователя продуктов (по статистике). Это однозначно заслуживает уважение, что бы там не говорила оппозиция. Думаю (но не уверен), что плотность ошибок (отношение числа ошибок и объема исходного кода) в продуктах Microsoft даже ниже, чем в большинстве других средств (за счет того, что программы велики и сложны, но по-настоящему услужливы).

Дорога в будущее Несколько лет назад Билл Гейтс написал книгу под названием «Дорога в будущее» («The Road Ahead»), в которой где-то на несколько лет вперед предсказал развитие программного обеспечения во всем мире. Надо сказать, что он, похоже, не особенно ошибся, и все произойдет, как и «настрадал Предсказамус», то есть Гейтс. Во всяком случае, так было до 2001 года. В принципе, вторая половина книги явно уступает первой по интересу. Может быть, именно вторую часть Билл Гейтс писал сам, а первую — как Брежнев?.. Или наоборот. Но начало в любом случае довольно захватывающе, посему рекомендую приобрести эту книгу в магазине, если случайно увидите (благо цена на нее обычно очень низка, и именно из-за фальшивой и модной ненависти к Microsoft — ну сколько можно?!).

Бьерн Страуструп (http://www.stroustrup.com)

Без преувеличения можно сказать, что именно этот человек является одним из отцов современного объектно-ориентированного (ОО) подхода в программировании. Все дело в том, что более сложного компилятора, чем C++, пока что не создано. И, хотя над созданием хорошего транслятора бьются гигантские компании (включая и Microsoft), по большему счету все компиляторы имеют те или иные ошибки, в результате чего поведение программ отличается от того, что Страуструп указал в стандарте языка (впрочем, свет в конце туннеля сейчас — в 2001-м году — уже виден). Нельзя сказать, что C++ чересчур сложен — скорее, даже наоборот: он наиболее полно и просто выражает все ОО-идеи, которые накопились за последние 20 лет. В то же время, как и любой другой язык, C++ имеет значительное число общеизвестных «проколов», которые либо вообще нельзя устранить, либо решены в других языках (впрочем, в последних имеется много других неудобств). Очень мешает стремление Страуструпа сделать C++ совместимым с Си, что буквально связывает его по рукам и ногам, тогда как другие компании (например, Sun) пользуются этой связанностью. Но об этом — как-нибудь в другой раз.

Язык программирования C++ Наверное, я не очень сильно ошибусь, если заявлю, что человек, не знающий C++, не ахти разбирается и в объектно-ориентированном программировании (не хочу даже и слушать протесты ярых приверженцев Java, в то время, когда уже появился язык C#). Поэтому единственную книгу, которую порекомендую — это монументальный труд Страуструпа «Язык программирования C++», выдержавший уже несколько изданий и переведенный на множество языков по всему миру. Книга «весит» больше 1000 страниц крупного формата, поэтому прочитать ее за один раз не так легко, как может показаться, глядя на картинку справа. Отдельной благодарности заслуживает огромная работа переводчиков и издателей, которые постарались перевести все термины Страуструпа на русский язык, да так, что после этого они (термины, а не переводчики) стали русским стандартом de-facto. В общем, книгу приятно читать (неприятно только держать в руках — тяжеловата), хотя стиль изложения немного и академический.

Линус Турвальдс (http://www.linux.com)

Этот человек — довольно загадочная фигура, учитывая, что он положил основы очень популярной сейчас, но еще молодой операционной системы Linux (вернее, семейства систем, которое относят к клану Unix).

Чайник 

Судя по тому, как звучит голос автора Linux, его зовут именно «Линус Турвальдс», а не «Лайнус Торвальдс». Хотя, может, у него просто был насморк?..

В общем, никто не знает, что с этой (этими) ОС будет. То ли она подомнет под себя Microsoft Windows (а графические оболочки именно под Linux все более похожи на Windows, хотя, на мой взгляд, пока что до нее не достают), то ли наоборот... Вся беда в том, что Microsoft вкладывает деньги в развитие Linux, а мистер Торвальдс в развитие Microsoft — вряд ли. В любом случае, все Linux-ы довольно неплохи как Unix-системы, хотя надежность, по статистике, пока что еще не дотягивает до FreeBSD (но выше, чем у Windows). В будущем ситуация вроде бы обещает измениться к лучшему — ну и слава богу.

Сразу читать что-то о Linux бессмысленно (разве что некрологи найденных дыр в безопасности), однако Web-программист обязан знать хоть что-нибудь о Unix — семействе ОС, которое сейчас лидирует по популярности среди хостинг-провайдеров по всему миру. И вряд ли в ближайшие 5 лет что-то изменится. Так что правильнее сначала читать о системах Unix вообще, потом — о какой-нибудь типовой Unix в частности (например, о FreeBSD), и, наконец, о Linux персонально.

Язык программирования C++ О внутреннем устройстве (и не только) Unix довольно неплохо написано в книге «Операционная система UNIX» Андрея Робачевского. Впрочем, эта книга, хотя и хороша в ознакомительных целях, на практике оказывается не так полезна, как хотелось бы. Как это часто бывает, простые вещи расписаны очень подробно, а сложные — настолько кратко, насколько это возможно (догадайтесь сами, о чем это свидетельствует). Но написано интересно, местами можно даже зачитаться.

Если вы не собираетесь заниматься администрированием Unix, приведенной выше книги, наверное, будет вполне достаточно. Однако потенциальным администраторам материала явно не хватит. Не буду рекомендовать никакую книгу по администрированию Unix: все, что я читал на эту тему, почему-то оказывалось не очень интересным и содержательным. Да и потом, не многовато ли картинок для одной наблы?..

Керниган и Ричи

Нет, они не братья, просто занимались в одно время одним и тем же.

Лирическое отступление 
Вспоминается шутка о том, что «Карл Маркс и Фридрих Энгельс — не муж и жена, а четыре совершенно разных человека».

Эти люди внесли огромный вклад в развитие языка Си, а значит, и операционной системы Unix. Но не известно точно, положительный это был вклад, или отрицательный. Дело в том, что язык Си с точки зрения надежности программ, которые на нем пишут, в общем-то, никуда не годится. Не надо возмущаться, достаточно лишь вспомнить, что переполнение буферов в памяти — безусловный лидер по способам взлома программ — является прямым следствием отсутствия в Си удобных и безопасных средств работы со строками. Впрочем, в те годы вряд ли можно было придумать что-то лучшее, но мода «писать на стандартном Си» существует и сейчас, откуда и дыры в безопасности. Тем не менее, не зная Си, очень тяжело изучать C++ (в котором, кстати, наконец-то потенциально решена проблема переполнения буферов за счет введения стандартной библиотеки типов). Электронный вариант старинной книги Кернигана и Ричи теперь можно найти прямо в Интернете, просто набрав их имена в любой поисковой системе.

Братья Кармаки

Лирическое отступление 
Похоже, набла близится к концу — пошли фамилии людей, не имеющих никакого отношения к Интернету и Web-программированию. Впрочем, программисты из различных областей довольно сильно связаны (они обмениваются опытом и приемами написания программ, если кто не знает).

Итак, эти два человека (на этот раз — родные братья) прославились тем, что, пожалуй, первыми в мире создали нечто трехмерное, что может работать на слабых машинах — а именно, ядро игры Doom (1993 год, если не ошибаюсь). Дело в том, что написать нечто подобное на процессорах, которые были в то время, не просто невозможно — это казалось абсурдным. Однако они сделали это. В игре применено невероятное количество различных оптимизаций и новаторских приемов программирования.

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

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

 
Рекламный блок
   

На странице:
    12. Зоопарк, или имена, которые должен знать каждый Web-программист
     Ларри Уолл (http://www.perl.com)
     Билл Гейтс (http://microsoft.com)
     Бьерн Страуструп (http://www.stroustrup.com)
     Линус Турвальдс (http://www.linux.com)
     Керниган и Ричи
     Братья Кармаки

Важное объявление:
    автор категорически против копирования и распространения в Интернете всех статей «Куроводства» с возрастом, меньшим 6 месяцев. Печальный опыт «расползания» чрезвычайно устаревших ошибочных версий статьи про Apache действительно объясняет такое решение.

Орфография на «Куроводстве»:
    если вы заметили орфографическую, стилистическую или другую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter. Выделенный текст будет немедленно отослан вебмастеру, а Вы даже ничего и не заметите — настолько быстро все произойдет.

На заметку:
    если вы уже вскипели насчет дизайна этой страницы, то присмотритесь повнимательнее к названию, почитайте FAQ, сходите по лебедевским местам, как это уже предлагалось выше. Можно ли считать пародию плагиатом? Надеюсь, что нет.

Параметры этой страницы
   
GZip

Ссылки от спонсоров
    По вашему желанию жк путилково по низкой цене. Качественно.


Дмитрий Котеров | 26 декабря 2001 г. ©1999-2016 | Генеральный спонсор: Хостинг «Джино» | Контакт Вернуться к оглавлению