Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

базовая литература по программированию

01.09.06 10:19
Re: базовая литература по программированию
 
voxel3d коренной житель
voxel3d
в ответ Tomasson 01.09.06 09:35
> P.S. Мадиратар, не спать!
Ты еретик и тебя надо поджарить.
> к противникам php: и на чем посоветуете челу программировать веб-приложения, если он наконец-то решил уйти от статики в динамику? :-)
На бейсике или лучше нет, пусть сразу сделает себе лоботомию.
> побойтесь бога! PHP для него единственный выход :-Р.
Лоботомия даст лучшие результаты.
Читай, я полностью согласен с человеком, посколько, в одинаковой ситуации нахожусь, поэтому просто процитирую:
В ответ на:
Скажем так, я уже третий год жизни транжирю на работу с этим языком. И мое накопленное этими годами неудовольствие скорее оправдано, чем наоборот.
Во-первых, встать именно по языковым возможностям хоть на сантиметр ближе к языкам "общего назначения", таким, как Python или Ruby, PHP не сможет раньше шестой версии. Пятая ветка -- это скорее переходной этап, как что-то полноценное я ее рассматривать не берусь. Это во-первых. А во-вторых, быдлохостинги вовсю используют четверку, и это гуано мне тычут как требование в ТЗ.
Гуанистость проявляется собственно вот в чем.
Язык у нас ориентирован на веб. А раз так, то он должен облегчать веб-разработку до максимума. Тем не менее, стандартного фреймворка для хотя бы того же MVC там просто нет. Либо пиши свое, либо рассматривай вагон и тележку готовых, каждую со своими сдвигами по фазе.
Впрочем, это не предвидится и в следующих версиях. Блин, Ruby ни разу не веб-язык, но Rails у него есть, причем как стандарт де факто!
Во-вторых. Часто нужные функции array_map, array_filter и прочие жутко неудобны потому, что создавать анонимные функции неудобно. А создавать анонимные функции (через create_function()) неудобно потому, что Zend не позволяет от них избавиться. Для них unset() не пашет, даже если ты можешь доказать, что эта функция никогда больше тебе не понадобится.
В связи с этим еще одна фень. Функции в рантайме можно задавать только через строки. В Javascript это в разы лучше.
Результат работы некоторых функций нужно предварительно помещать в переменную, а уж потом что-то с ней делать. Когда так делать, а когда нет, на поверхности отнюдь не плавает, изменяется от версии к версии и заставляет лезть в букварь на каждый чих.
Лично моя придирка, если функцию можно задать как одно выражение, я хотел бы синтаксис вида function sum($a, $b) = $a+$b;. Наболело.
Об ООП сказано много. Итог один, it sucks. В PHP 5 оно всего лишь sucks less. Python в данном плане намного лучше, там абсолютно все суть объекты (хотя никто не просит применять парадигму в явном виде). В PHP разработчики постарались сделать так, что используя ООП, ты ни на секунду не забываешь, что используешь именно ООП, и что это жутчайший костыль.
Ну и в конце концов то, что core в PHP насчитывает несколько тысяч функций, то, что все они находятся в глобальном пространстве имен, а также то, что ни PHP 4, ни PHP 5 не содержат концепции пространств имен, ставит в зачОтке PHP жирный минус.
Need we say less? Тем не менее, на PHP можно писать и хороший код. Главное, не смотреть на "бисплатные скрепты ат наченаюсчих" и иметь хороший бэкграунд как в других языках программирования, так и в разных подходах к программированию в целом.
(c) shimon

п.с. RoR дай своему начинающему.
Dropbox - средство синхронизации и бэкапа файлов.
 

Перейти на