"Джоэл: и снова о программировании" Джоэл Спольски Личное мнение: "must know" Читать с текстовыделителем.
Всем, кому нравиться резкость и прямота мысли, просто настоятельно рекомендую ознакомиться с этим материалом. Я лично по началу в штыки воспринял высказывания автора о Java и ООП (суть в том, что я им отдаю большое предпочтение). Но перечитав заново, я понял то, о чем именно говорил автор и с какой позиции он рассуждает.
Я же скажу так, все зависит именно от задач. Передо мной никогда не стояло задач по сборке или переделке ядра linux, я никогда не писал на ассемблере что-то, что могло бы позволить в перспективе моему веб серверу работать быстрее, и все, кто приходил ко мне с вопросами, как заставить работать свою из без того не медленную программу быстрее на их Celeron c 128Мб оперативы, в итоге просто перешли на «хитрые» четыре ядра. И конечно это плохо в некоторой степени, но зачем изобретать велосипед, если нужно "быстрое" и "недорогое" решение. (Говоря быстрое и недорогое, я не подразумеваю каких-либо конкретных метрик).
Много, нет, скажу так - вполне достаточно сказано о том, каким должен быть непрофессиональный программист и как такого вовремя отсеять. Но ситуация с поиском именно достойной кандидатуры - профи своего дела - как сам автор и говорит, дело сложное, можно сказать, что целая игра между работодателем и кандидатами. Описываемый им опыт должен быть учтен в университетах городов-миллионщиков России, только им он и подойдет, ведь на самом деле в регионах не столько нужны программисты, сколько обычные инженеры. По моему опыту по подготовке кадров для конкретных фирм и НИИ в нашей стране хорошо преуспели только МГУ и СпбГУ.
В книге можно встретить много интересного: и марсиан, загоняющихся по наушникам к jailbreack-нутым аналогам iPod, и историю с участием "могучего" Б.Гейца, и даже куски кода (Глава "А ваш язык программирования такое умеет?") интересного языка, хотя, как мне кажется, опять же подходящего только для определенного круга задач.
Но есть также и некоторые "недосказанности", которые я лично так и не понял. Например, камни в огород Mozilla (например, стр. 244) автор не раз швыряет. А почему? Я вот не знаю. Есть слова и словосочетания, которые для меня были незнакомы: «37signals» (стр. 238), «путь от нуля до Ай-Пи-О»(стр. 240), «гудвил» (стр. 276), «SLA для хостинга On Demand» (стр. 288)...
Есть и противоречия в позиции автора. Просто сравните: стр.67 — «ООП.. не настолько сложно, ... заключается ... в заучивании ряда терминов вроде 'инкапсуляции' или 'наследования' и тестов с вариантами ответов, где нужно правильно выбрать между полиморфизмом и перегрузкой». И вместе с тем стр.198 — автор говорит о том, что с использованием определенного «стиля кодирования» можно хорошо научиться обнаруживать «код с душком», который кстати является основополагающим у Фаулера при рассмотрении рефакторинга (кто не знает, так это ООП). А при выработке этого «стиля кодирования» не лучше ли прислушаться к общепринятому (я таковым считаю именно фаулеровский)? Стр. 240 — целая глава «Руби-дуби-ду», говорит о восторженной реакции автора при проведении рефакторинга своего «любимого» приложения и получении при этом более гибкого, масштабируемого и легко сопровождаемого приложения. А не имел ли он ввиду Рубин на Рельсах в названии главы? В этом спорном моменте, автор как-то упустил, что ООП — это творчество, да - именно оно. Вы не пишете тупой код, вы творите и наслаждаетесь.
Или вот, автор ехидничает, что «Java приложения более переносимы, чем С. Якобы.» (стр. 180) и что «Java. Это модно... нет сложностей...» (стр. 65). А какого бы тогда мнения он был о переносимости С# на Linux платформу, он же все таки заявлен как кроссплаформенный? А какого мнения он был бы и о PHP программистах? Все таки исходя из задачи, мы выбираем язык, а не наоборот.
Короче, я во многом согласен с автором, но некоторое упущено. Опять же читать книгу рекомендую тем, кому нравиться резкость и прямота мысли, кому интересно мнение своего оппонента, кому хочется усомниться в себе, ну или просто читать эту книгу первой из «насекомой» серии (я так назвал эту серию книг данного формата, где на обложках изображены насекомые на соломинках), чтоб не пасть в задумчивое уныние и случайно не испортить общее впечатлении о всех книгах.
|