Очень часто слышу подобное утверждение, хотелось бы узнать конкретно какие + и - хранит в себе пхп. Я наверно в силу своей неопытности не увидел пока проявлений ужасных дыр пхп. Просьба к знающим людям, опишите: что плохого в php? основные минусы? на что можно заменит php (java, phyton)? какие проблемы решит замена? какие принесет? какие основные + php?
lacost Плюсы: - прост в освоении - прост в использовании - поддерживает довольно сложные конструкции/реализации - большое сообщество/много готовых решений - дешёвый хостинг - ориентирован именно на веб Минусы: - прост в освоении - много тех, кто выучил только основы и делает говнокод - прост в использовании - многие начинающие не производят разделения кода и представления - подерживает много чего, но всё же не всё - не дотягивает до других языков - ориентирован на веб - писать что-то, отлично от веб, геморройно. Проблемы при смене на java/python: - сложнее в освоении, но производимый код будет качественнее - не ориентированы на веб, нужны будут фреймворки для веб-разработки - дорогой хостинг, поддерживается не всеми хостинговыми компаниями вроде что-то такое.
миф, не более даже на шутку не похоже (скорее откровенный бред) Любой язык может этим похвастаться Много их не потому что он прост (он вовсе не прост), а потому что популярен Названия в студию ? Не более геморойно чем писать обычные батники (главное хорошую IDE иметь)
tommyangelo угу, в точку. Vladson прост в освоении и использовании - относительно других языков. всё относительно php позиционируется как язык, на котором можно писать сразу внутри html кода. называется "низкий уровень вхождения". Это причина популярности, и в то же время - большого числа говнокода
Вот как раз Hello,world там ничуть не проще того-же перла (про яву не скажу, не знаю) Аналогично и с другими базовыми понятиями (переменные/массивы/циклы/условия/функции) их освоить более чем легко, а для человека который осилил базу, остальное будет уже делом техники (хотя многие не заморачиваются, и пишут говнокод.)
Vladson полностью согласен с твоей подписью :-D опиши лучше плюсы и минусы с твоей точки зрения, как попросил автор топика
Спасибо, я старался. Минусы: - Отсутствие варнингов при авто-приведении типов (типизация в РНР не нужна, но менять типы переменных лучше с умом, избавило бы от многих проблем) - Ошибки в разработке ранних версий (глобалсы, волшебные кавычки, и прочая "уличная магия") - Отсутствие хороших учителей и авторов книг/статей (специалисты в РНР не всегда специалисты в педагогике и наоборот) Плюсы: - Есть всё что может понадобится нормальному языку программирования.
Gromo, спасибо за хороший ответ. что вы вкладываете в понятие качественнее? более удобный или более понятный или быстродействие выше? что то мне вспомнилось такое творение как lazarus Мне наоборот нравиться такая лояльность...причём с приведением типов никогда проблем небыло. Тем боле никто не отменял строгое сравнивание типов и т. д. Ну в общем минусом я это не считаю, это скорее фишка экономящая время на разработку и в тоже время превращающая в говнокод старания начинающих. причём тут ранние версии? Остались ли какие то баги или неисправленные дыры приводящие к плохим последствиям, если можно на примерах. Спасибо. как же это относиться к теме топика?)) разве что разъясняет почему же так много говнокода - это вы имели в виду? Конструктивно) А более развёрнутый ответ дать слабо? Ещё пара вопросов. - Что насчёт быстродействия если сравнивать с теми же phyton и java web? - Есть ли значительные дыры и баги в php не исправленные на данный момент? - Что насчёт развития языка? кто занимается? какое финансирование и т.д.? в сравнении с другими? (это как попытка оценить перспективы) - ORM в php работает хуже чем в других языках? лучше? не имеет значения?
Не замечал. А вот при дебаге время на поиски ошибки уходит сильно больше. Не ошибается только тот кто ничего не делает, и он то как раз ошибается больше всех. © Остались настройки для совместимости со старыми версиями (чтоб не переписывать 99% скриптов) по этому во время написания кода надо добавлять кучу проверок на их состояние. Не критично (если сайт не уровня фейсбука) Нету. Была одна дыра недавно, исправили очень быстро. гугл даст ответ, в одном сообщении всё не описать.
Нормальные люди пишут несколько строк подобного смысла: "Если эта устаревшая хрень включена, вывести сообщение 'смените хостинг!' и exit();"
Насчёт скорости - Ruby, Python по чистой производительности уделывает. Особенно последние версии вняли в себя очень существенные улучшения и работа идёт в данный конкретный момент (там есть пара человек, которые этим только и занимаются, переодически патчи в internals скидывают на обзор). Если смотреть в целом, то Ruby и Python имеют отличную от PHP модель работы приложейний (более сложную) и без фреймворков на них писать нужно все рутинные задачи обработки HTTP запросов, что в PHP уже встроенно (а эта очень большой кусок работы правильно обработать HTTP протокол). В силу применения MVC поголовно и больших голов (в Ruby в особенности) фреймворки зажимают в определённые рамки, которые частенько нельзя обойти не переделав какую-то часть в самом фреймворке (к Питону это относится меньше, в основном на Ruby On Rails ругаются). На PHP проще и быстрее
Vladson Да где этого нету. Просто мы варимся в PHP и знаем про него больше. Вон Ruby и Python развиваются так, что меняется Major версия и всё, полный капец - переписывать всё к чертям собачим. Python 2.4-2.6 => Python 3 по сути не переносится без затрат на переделывание. Не писать конечно с 0, но всё же. У PHP эти опции оставлены для обратной совместимости, при этом всеми возможными способами тыкает в то, что они устарели, не безопасны и не нужно их юзать. В следующей версии их все обрежут ко всем чертям собачим, и будет кайф
PHP - лучший язык для web-разработки. Прямым конкурентом ему ставится ASP, но не Java или Python. Java это вообще такая штука, что её можно противопоставить с равным успехом C#, PHP, Python и в случае прикладного программирования хоть C++, т.е. весьма обширная тема. ASP - Active Server Pages - язык для веб-программирования, это очевидно. То же самое с PHP - PHP: Hypertext Preprocessor. Как следствие, в них легко работать с текстом и базами данных, и они легко интегрируются с веб-сервером. В похожем положении находится Perl, который (что тоже отражено в названии) должен удобно работать с БД и текстом. Под текстом, ясень пень, подразумеваются строки. Должна быть возможность быстро менять их длину, склеивать, резать, искать по ним, конвертировать в разные кодировки и т.п. У расширений для работы с базами данных должен быть максимально простой интерфейс. Язык должен подключаться как модуль веб-сервера. Всё это хорошо реализовано в PHP. Уязвимости в самом языке или препроцессоре быстро устраняются. К PHP легко подключить дополнительные модули, и кстати совсем не сложно их писать, специфики минимум. Вообще в сравнении с другими языками, для решения типичных задач веб-программирования, в PHP кода надо писать меньше.
это херня, как и ASP.NET хотя в последнем есть некоторые плюся... сейчас довольно крут MVC на .NET Framework в котором естественно доступен весь .Net и php явно сосёт тут по возможностям, но правда в том, что php прекрасно справляется с 99% задач для веб на данный момент. Java я не знаю, но Python тоже нехилое существо, так что всё это очень спорные вопросы... Но я считаю что можно было php написать и получше изначально...
(с хабры) и в точку каждый раз гуглю как пишется тот же explode() при его применении. ещё не запомнил например для него "бьём чем что" , тоесть explode("|","a|b") , а не "бьём что чем". Да , пытаюсь запомнить логически , но невыходит
Ну да , всегда считал что для программистов логично описывать сначала переменную , а потом что с ней делаем. А так описание explode("|","$var") просто нелогично. Отправим на порку того кто придумал делать наоборот ))
Vladson не-не-не! Я никогда в такие разговоры не лезу, а просто читаю. Конечно, есть аргументы и ЗА и ПРОТИВ названия топика. Но всё же лучше промолчу )))