А мне сквозная ООП-шность RoR не нравится. Иногда и функции полезны знаете-ли.
Питон насколько я знаю хорош, но принципы построения приложений там совсем иные. Насколько я знаю, там подымается всё приложение целиком и оно уже само обрабатывает запросы - такое программить сложнее, знаю из опыта системного программирования на паскале и делфи. Вообщем подходы разные.
Ещё PHP очень хорош для написания прототипа и последующего перевода приложения на что-то более сложное и быстрое.
Сам не тестировал, нет ни времени, ни лишнего железа. В сети пишут что до 10%. Даже в самом мануале MySQL есть раздел по оптимизации сервера путём компиляции с определёнными опциями: http://dev.mysql.com/doc/refman/5.1/en/c….
Цитата из первого же обзатца "On Linux, it is best to compile the server with pgcc and -O3" - -O3 не стандартный уровень оптимизации, стандартный -О2
Ещё выдержка оттуда
"By using a better compiler and compilation options, you can obtain a 10–30% speed increase in applications. This is particularly important if you compile the MySQL server yourself."
Не зря gentoo рекомендуют ставить на слабые машины компилируя пакеты с оптимизациями - помогает.
А то что нужно ещё знать и уметь обращаться с прочими WEB технологиями - это уже специфика профессии и никто не говорит что не нужно знать HTML/CSS и JavaScript. Надо ещё иметь представление о HTTP/HTTPS, о WEB серверах и базах данных. Я вообще считаю что PHP программист обязан иметь професиональное IT образование, потому что это практически самая разносторонняя область, и знать нужно куда больше чем при работе с другими языками, ИМХО.
Такой исторически. И в последнее время ведутся обсуждения и конкретные работы по приведению его к стандартизированному виду - достаточно почитать internal mailing list
Это скриптовый язык, заточенный именно под WEB и он изначально был задуман без многих черт, присущих системным скриптовым языкам типа Perl и Python, которые кстати создавались именно как _системные_ скриптовые языки.
PHP это белая ворона на фоне остальных языков - он ДРУГОЙ, с другой философией и подходом, и он идеально вписывается в ту область, для которой предназначен и для чего он был создан. Даже домохозяйка на нём может сделать простенький сайтик, а ведь именно для этого он и был создан изначально - почитайте историю языка.
PHP развивается, это факт. К примеру релиз 5.3 судя по тому, что я вижу в wiki.php.net и internals листе будет добавлено столько всего, сколько не было добавлено в PHP5, пока доберутся до 6-ки, добавится столько нового, что можно будет изучать его заново. Да, это между прочим называется развитие и это хорошо. Все языки развиваются и рано или поздно используя какую-то новую фишку вы убиваете backwards compability. Даже в том же C - возьмите библиотеку поновее и есть шанс, что у всех, у кого старые её версии просто не смогут пользоваться вашей программой - требуется обновление библиотеки.
Огромный php.ini ? Вообще-то там просто много комментариев. Удалите их и получите маленький компактный фаил на 2-3 экрана. Опций реально не так уж много, всего ~10-15 реально что-то значащих, которые мы меняем.
Несовершенное ООП - а что есть совершенное ООП? Java модель, где не так уж легко въехать с ходу? Мне нужен скрипт, а не приложение с функционалом шатла и я просто не буду это ООП использовать, потому что не нужно. Того что есть в PHP5 +- хватает, в 5.3 добавят пару новых мощных возможностей и вам их хватит на долго. Особых писков по поводу нехватки ООП в PHP вв интернете я не наблюдаю, в основном пишут те, кто сидел на Java или C++. И что они забыли на PHP, если он им не нравится? А ведь продолжают же писать на нём и писать душераздирающие записи в блогах об убогости PHP. Мыши давились, плакали но жрали кактус (с).
Вообще у PHP есть прекрасный лозунг KISS - Keep It Simple, Stupid. Именно его и нарушают всякие Java, C# и прочие мега-ооп любители, переусложняя и чрезмерно нагружая PHP интерпретатор и потом жалуясь, что тормозит. А что вы хотели от интерпретатора, большой скорости при большой сложности?! Мечтатели...
Тем же, чем отличается эникейщик от администратора сети: первый умеет всё, но по чуть-чуть - второй умеет мало, но идеально.
Различается в технологиях, особенностях каждого конкретного языка. Знание тонких нюансов приходит с опытом и не за год-два, так же как и набор приёмов, выработанных годами на конкретной платформе и велика вероятность, что на другой платформе это работать не будет или будет не эффективно - там есть другое решение.
Мне лично тяжело в голове держать PHP, MySQL, JavaScript и Pascal (delphi) - последнее я уже забыл и нужно садиться за справочник и вспоминать всё, включая синтаксис.
LAMP связка это одно - оно единое целое + JavaScript - считайте 2 области, но приплюсуйте третью и что-то вы обязательно временно забросите и забудете.
Я работал с человеком, который занимался дизайном и вёрсткой (никакого JavaScript) - он прекрасно разбирался в шаблонах с PHP вставками из if, foreach и переменных, знал что такое массив, умел в JavaScript понять где собирается HTML и как его подправить что бы всё не сломать. В более сложных случаях просто просил показать что и как, причём один раз и больше он нас не трогал. Причём он просто изумительный верстальщик и знает особенности IE, FF и Opera как таблицу умножения.
Ну а мы занимаемся исключительно PHP, MySQL и JavaScript - первые два у нас все знают на очень высоком уровне, последний кто-то лучше, кто-то хуже, но проблем с реализацией чего-либо не возникало ни у кого.
Администрированием занимается админ.
Универсальный комбайн никогда не будет профессионалом во всём - только в одной-двух областях, остальное будет хромать всегда.
Любой линукс - это ядро + набор пакетов, которые создатели дистра не пишут сами. Всё что сделали в Gentoo - это добавили менеджер пакетов родственный менеджеру пакетов BSD и собственную более логичную структуру расположения конфигов и скриптов запуска - в остальном это тоже самое что и RHEL, SuSe и.т.д. И мне нужна возможность поставить только то, что мне нужно и не заниматся удалением лишнего из системы и пересбором в нестандартных конфигурациях пакетов типа lighttpd, PHP, MySQL и прочих. А так же быстро и просто обновлять всю систему (кстати, делал полный апдейт системы пару дней назад - 5 комманд, 3 их которых были связаны с установкой свежего gcc и обновлением environment, заняло всего 3-4 часа без остановки работы сервера). А спорить с тем, что система собранная из исходников с оптимизацеей под конкретный процессор работает быстрее чем скомпилированный под все виды процессоров поддерживающих i686 (темболее у меня x86_64 с оптимизацией под Intel C2D) - сделайте это на любом дистре, за исключением Gentoo и Debian-based за несколько часов.
Многие создатели бросали свои детища и переходили работать куда-то в другое место - такова жизнь, я тоже не сижу на одном месте и меняю работу иногда - так интереснее.
Истина в первичной инстанции!
Мой опыт именно таков, что как тока что-то не стандартное, всё пишется руками. Максимум что стандартно, это основа загружающая модули, система прав (если есть), и набор каких-то основных модулей типа шаблонизаторов, работы с базой и в таком духе. Всё остальное начинает писаться своими руками.
З.Ы. Я вообще начинал странно - я не сделал не единого простого сайта - все проекты были от среднего размера, сейчас по специфике работы перешел на большие системы автоматизации бизнеса - даже с присутствием фреймворка, специфично заточенного именно под эти задачи (а лет ему уже больше 6-ти, решено оочень много типовых задачь да и не типовых тоже), почти 70% кода мы всёравно пишем руками, потому что специфичная логика. Специфичный функционал или бизнес правила конкретного предприятия. Так что вы правы на все 100%. Программист, всё время сидевший на фреймворке и не вылазящий за пределы его функционала в случае сложного проекта сядет в огромную лужу.
З.Ы. Для последних версий IE это уже не актуально, т.к. они с этим разобрались и выпустили патчи устраняющие как проблему с патентами, так и "Click to activate"
Питон насколько я знаю хорош, но принципы построения приложений там совсем иные. Насколько я знаю, там подымается всё приложение целиком и оно уже само обрабатывает запросы - такое программить сложнее, знаю из опыта системного программирования на паскале и делфи. Вообщем подходы разные.
Ещё PHP очень хорош для написания прототипа и последующего перевода приложения на что-то более сложное и быстрое.
Цитата из первого же обзатца "On Linux, it is best to compile the server with pgcc and -O3" - -O3 не стандартный уровень оптимизации, стандартный -О2
Ещё выдержка оттуда
"By using a better compiler and compilation options, you can obtain a 10–30% speed increase in applications. This is particularly important if you compile the MySQL server yourself."
Не зря gentoo рекомендуют ставить на слабые машины компилируя пакеты с оптимизациями - помогает.
Вообще у PHP есть прекрасный лозунг KISS - Keep It Simple, Stupid. Именно его и нарушают всякие Java, C# и прочие мега-ооп любители, переусложняя и чрезмерно нагружая PHP интерпретатор и потом жалуясь, что тормозит. А что вы хотели от интерпретатора, большой скорости при большой сложности?! Мечтатели...
Различается в технологиях, особенностях каждого конкретного языка. Знание тонких нюансов приходит с опытом и не за год-два, так же как и набор приёмов, выработанных годами на конкретной платформе и велика вероятность, что на другой платформе это работать не будет или будет не эффективно - там есть другое решение.
Мне лично тяжело в голове держать PHP, MySQL, JavaScript и Pascal (delphi) - последнее я уже забыл и нужно садиться за справочник и вспоминать всё, включая синтаксис.
LAMP связка это одно - оно единое целое + JavaScript - считайте 2 области, но приплюсуйте третью и что-то вы обязательно временно забросите и забудете.
Ну а мы занимаемся исключительно PHP, MySQL и JavaScript - первые два у нас все знают на очень высоком уровне, последний кто-то лучше, кто-то хуже, но проблем с реализацией чего-либо не возникало ни у кого.
Администрированием занимается админ.
Универсальный комбайн никогда не будет профессионалом во всём - только в одной-двух областях, остальное будет хромать всегда.
По мне хоть windows - были бы знания, да руки прямые для правильной и безопасной настройки системы, потому что как правило всё от незнания :)
Мне даже стало любопытно о чём вы, или это опасно для моего психического здоровья?
Не могу привыкнуть к древовидным комментам - для меня они в диковинку :)
Многие создатели бросали свои детища и переходили работать куда-то в другое место - такова жизнь, я тоже не сижу на одном месте и меняю работу иногда - так интереснее.
Мой опыт именно таков, что как тока что-то не стандартное, всё пишется руками. Максимум что стандартно, это основа загружающая модули, система прав (если есть), и набор каких-то основных модулей типа шаблонизаторов, работы с базой и в таком духе. Всё остальное начинает писаться своими руками.
З.Ы. Я вообще начинал странно - я не сделал не единого простого сайта - все проекты были от среднего размера, сейчас по специфике работы перешел на большие системы автоматизации бизнеса - даже с присутствием фреймворка, специфично заточенного именно под эти задачи (а лет ему уже больше 6-ти, решено оочень много типовых задачь да и не типовых тоже), почти 70% кода мы всёравно пишем руками, потому что специфичная логика. Специфичный функционал или бизнес правила конкретного предприятия. Так что вы правы на все 100%. Программист, всё время сидевший на фреймворке и не вылазящий за пределы его функционала в случае сложного проекта сядет в огромную лужу.
З.Ы. Для последних версий IE это уже не актуально, т.к. они с этим разобрались и выпустили патчи устраняющие как проблему с патентами, так и "Click to activate"