LINUX.ORG.RU
ФорумTalks

Откуда растут ноги ненависти к php?

 , , , ,


1

0

В очередной раз натыкаюсь на лучи ненависти в сторону php, сам не программист и сабж тыкал только в составе готовых продуктов (wordpress, drupal, zabbix, freepbx) ну и самое «страшное» - это что для zabbix надо в конфиге php прописать правильный часовой пояс, а в остальном работает в фоне и норм (ну для высоконагруженных сайтов рекомендуют ставить связку nginx+apache, но это уже другая история, тут и с другими языами понадобятся оптимизации).

Из страшилок, которые про него слышал:

  • В одном из интервью кто-то и разработчиков ляпнул, что: «проще раз в день перезапускать демон php чем искать проблему почему он падает»
  • «Неполноценное ООП» - так про каждый второй язык пишут (оно вообще где-нибудь полноценное кроме smalltalk?), но подробностей не приводят
  • Жрет ресурсы как не в себя - а js/python/go на бекенде не жрут?
★★★★★

Последнее исправление: Kolins (всего исправлений: 1)
Ответ на: комментарий от no-such-file

Всё они слышали. Просто их это устраивает

Что устраивает? Что клиент приходит на сайт, не может заказать товар, и уходит на другой сайт? Отличные истории.

byko3y ★★★★
()

Есть компактные языки, типа Си. Их лекго учить, но чтобы использовать, надо уметь программировать. И есть многословные языки, к которым относился пых, где на каждую проблему в самом языке найдется высокоуровневая функция. Тут программировать уметь не нужно, можно передавать сессию в кверистринг или мешать хтмл с кодом. Зато решения легко гуглятся. Естественно, что программистам старой школы такая концепция не зашла.

level1 ★★
()
Ответ на: комментарий от EXL

А это было бы очень хорошо, «резиновая прокрутка» никогда нормально не работает и вечно тормозит

Так я не спорю — бесконечная прокрутка ужасна. Но можно догрузить следующую страницу по вводу от пользователя, или же сделать сплошную прокрутку по всем страницам, подгружая нужно место по мере просмотра пользователем.

byko3y ★★★★
()
Ответ на: комментарий от Kolins

И чтобы не надо было бровсер раз в пол года (иначе опять что-то где-то работать криво будет) обновлять и плеваться с нового видения UI/UX разработчиками

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

byko3y ★★★★
()
Ответ на: комментарий от byko3y

Что клиент приходит на сайт, не может заказать товар, и уходит на другой сайт

Да, ты не поверишь, но некоторым похер. Их устраивает имеющийся доход, да и вообще люди неидеальны и мир сложный, есть куча обстоятельств помимо простого уравнения «качество/доход».

no-such-file ★★★★★
()
Ответ на: комментарий от leave

Дружище, поменьше апломба и самоуверенности. Качественный рост всегда сменялся количественным, это абсолютно нормальный процесс

«Всегда» — это до кризиса. Который с 2008 года идёт до сих пор. Хоть двадцать версий третьего питона выпусти — язык останется тем же самым беспомощным куском дерьма, которым пользуются только из-за большого числа готовых решений под некоторые относительно узкие ниши, и добавление еще одного ad-hoc костыля в стандартную библиотеку — это лишь маленький штрих на огромной картине из тысяч ad-hoc костылей. А на новые решения спроса нет, потому что кризис.

Это как фаерфокс и жава. который раньше нумеровали версии 1.2, 1.3, 1.4, а потом начали нумеровать 4, 5, 6, 7 — «количественный рост», ага. IT если и не сильно инертная индустрия по сравнению с каким-нибудь автомобилестроением, то все равно значительно инертная, и продукт моложе 5 лет в массовой индустрии никто даже пальцем не тронет. 5 лет прошло — ну ладно, давайте, что тут у вас, посмотрим. И смотреть будут сначала стартапы, безбашенные ковбои покоряющие дикие прерии неизведанных территорий (на самом деле тупо прожигающие деньги инвесторов очередным пузырем вокруг очередного нового незнакомого слова).

ASP это не нода, это пыха от MS в чистом виде. То, что языком был (vb|j)script не делает его нодой вообще никак

Асинхронщины в то время почти не существовало, потому что юникс, почти захвативший в то время мир многозадачных машин, имел безнадежно синхронный и однопоточный интерфейс, потому на каждый новый запрос ты запускал новый процесс. «Огромный скачок» в виде FastCGI всего-лишь позволял не убивать процесс после запроса и переиспользовать его в следующем запросе. Первая асинхронщина появилась, как ни странно, в windows NT 3.5 (1994):
https://en.wikipedia.org/wiki/Input/output_completion_port

MS сделал ставку на отказ от форка, потому выбор логичный и альтернатив особо не было. Потом асинхронщина появилась в солярке, которую тоже затачивали на многопоток (версия 2.6, 1997 год):
https://docs.oracle.com/cd/E23823_01/html/816-5171/aio-read-3rt.html

И сильно позже она подоспела в других системах.

Чем же у нас еще «радикально отличается» нода? JIT? Даже JVM была без JIT и была люто тормознутой, не сильно быстрее препарсенной «пыхи от MS в чистом виде». Ты расскажешь, что вот же развиваются технологии JIT-компиляции и те же языки стали намного быстрее выполняться? А я задам встречный вопрос: а почему нужно было изначально делать языки, которые будут медленно выполняться? Даже компилируемые языки!

У Sun уже был https://en.wikipedia.org/wiki/UltraSPARC с гарвардской архитектурой, двухуровневым кэшем, MMU, ориентированный на медленную DRAM, который не мог прожевать огромное число косвенных доступов к мелким объектам жавы:
https://www.oracle.com/technetwork/server-storage/sun-sparc-enterprise/docume...

JIT-компиляция не бесплатна, и не всегда программа с JIT работает быстрее, чем без него. Динамичную и прямолинейную клей-логику нет никакого смысла JIT-оптимизировать, а числодробильные циклы уже вполне себе AOT-комплируются. Высокая стоимость запуска программы с JIT-компиляцией (что есть отнють не единственный, но самый популярный вариант реализации оптимизации во время выполнения) ЗАСТАВЛЯЕТ держать сервис в одном постоянно запущенном процессе — это не «прогресс индустрии», а попытка продать двухногого кота. «Это не баг, это фича, пока простой кот на четырех лапах будет перебирать раз-два-три-четыре, наш прогрессивный кот раз-два-раз-два и уделает даже эти ваши кресты» — говорят они. И им верят.

А потом vertexua расскажет мне «вот, ты же не присутствовал при обсуждении стратегии развития, у тебя не было 99% информации» — что я ещё здесь не увидел и недопонял? Чего я не мог знать про особенности оптимального выполнения кода, живи я в то время? Технология кривая, реализация не очень, исправит её только могила, но её пытаются продать как могут — вот и вся «информация из первых рук». Я всё с замиранием сердца читаю новости, ожидая в очередном заголовке прочитать что-то вроде «выпущен революционный веб-фреймворк для Brainfuck».

«Не, всё это рассказы про заговоры, мы дальше будем писать на революционной бесподобной ноде» — ну ок.

byko3y ★★★★
()
Последнее исправление: byko3y (всего исправлений: 1)
Ответ на: комментарий от XoFfiCEr

а не забыть бы точку с запятой в конце

А я наоборот в пистоне постоянно их ставлю. И плююсь потом.

Zhbert ★★★★★
()
Ответ на: комментарий от EXL

Всегда задавался вопросом, можно ли Qt считать диалектом C++ примерно с той же степенью, с которой Delphi является диалектом Object Pascal?

Думаю, уже отчасти можно.

Zhbert ★★★★★
()
Ответ на: комментарий от EXL

как во времена Delphi, когда каждый вопрос по этому диалекту начинался с «есть ли компонент???»

Помню, задавался этим вопросом, даже че-то качал и пытался собирать/устанавливать.. А потом стал писать свои простенькие.

Zhbert ★★★★★
()
Ответ на: комментарий от leave

А ты не в курсе, как этот чувак говнял питон пару лет назад? Даже собирался cpython переписывать

Уже готов прототип, я только сижу и думаю, в каком же виде его подать достопочтенной публике, чтобы онная не блеванула с ходу от сырой полурабочей поделки. Только не переписывание CPython, а писание новой реализации базовых объектов онного, похожих на стандартные.

И да, я неизбежно прихожу к тому, что для обретения каких-то перспектив нужно создание диалекта — пока что я ограничил трансляцию сорцов только реализацией передачи блоков кода как аргумента функции, потому что в CPython как 30 лет назад нельзя было передавать обычные блоки кода аргументом функции, так до сих пор нельзя. Понавыдумывали уже и лямбды, и специальный паскалеподобный синтаксис для присваиваний в них, и list comprehension, и декораторы, и конструкцию «with» — классические бесконечные питоничные специализированные костыли вместо того, чтобы один раз решить причину проблем — отсутствие удобного унифицированного способа передачи кода аргументом. Например, вместо

[x*2 for x in array if x > 0]

писать какое-нибудь

list$
    for x in array:
        if x > 0:
            return x*x

Здесь я взял оператор $ в его хаскелевом значении «взять результат последующего кода как аргумент функции».

Эта запись не только сама по себе читается проще чем list comprehension — она еще и применяет синтаксис обычного питоньего кода для задачи, которая нынче решается через крошечный специализированный DSL.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

@EXL
А разве в комментариях ВКонтакте не правильно сделанная прокрутка - с привязкой к пажинации? ВКонтакте смогли, остальные издеваются над здравым смыслом.

Shadow ★★★★★
()
Ответ на: комментарий от leave

Perl

write-only

А типа пых дофига readable.

винда, IIS==гроб-гроб-кладбище

А что винда? Проблема винды в то время была только в проприетарности, то есть, «плати денюжки». В остальном она была таким же друшлагом, как и никсы того времени. Но в отличие от никсов таки была современной ОС с многопоточностью, асинхронным вводом-выводом, модульностью системных служб (не в пример systemd), и Local Procedure Call, альтернативы которому до сих пор есть только в экспериментальных микроядерных ОС — все остальные пихают данные в пайпы и сокеты, которые в разы медленнее.

byko3y ★★★★
()
Ответ на: комментарий от Shadow

А разве в комментариях ВКонтакте не правильно сделанная прокрутка - с привязкой к пажинации? ВКонтакте смогли, остальные издеваются над здравым смыслом

Да, в комментах неплохо сделано. В остальных местах — отвратительно.

byko3y ★★★★
()
Ответ на: комментарий от EXL

В первую очередь порог вхождения в разработку на PHP и Delphi был невысок, а на форумах нулевых эти технологии были сильно популярны среди молодёжи и студентоты. Именно простота, доступность и обилие информации по ним сделали их популярными

Порог вхождения засчитан, хотя и не раскрыт (но раскрыт выше по треду). Обилие информации явилось скорее следствием, которое помогло раскрутиться на среднем этапе развития.

А альтернативой Pascal’ю тогда был конечно весь стек Microsoft-технологий шедший в комплекте Visual Studio, который в долгосрочной перспективе победил и убил все эти Delphi и Pascal’и от Borland, Embarcadero и др

Договаривай же: победил, а потом сам сдох, всех схавал дотнет, а потом и донтета схавал электрон.

Delphi в начале нулевых далеко не подыхал, а цвёл и пах. Подыхать он стал только в конце нулевых, в годах так 2008-2009

«Цвёл и пах» седьмой делфи, который выпущен в 2002. Delphi 2005 почти никто не использовал. К 2008-2009 годам семерка стала настолько устаревшей, что у нее никак не получалось дальше цвести, а пахнуть она стала чем-то другим.

byko3y ★★★★
()
Ответ на: комментарий от srg666

в этом и прикол. поисковики за тормозной SPA «штрафуют» сайты и

Это что за тупняк?

гугл и яндекс не умеют исполнять говно-js

Я не в курсе яндекса, меня он никогда не интересовал, но гугл умеет идексировать SPA как минимум 5 лет.

Кроме того генерация статического сайта это всего одна строчка в конфиге. Для поисковиков из Африки.

grim ★★☆☆
()
Последнее исправление: grim (всего исправлений: 3)
Ответ на: комментарий от Shadow

А разве в комментариях ВКонтакте не правильно сделанная прокрутка - с привязкой к пажинации? ВКонтакте смогли, остальные издеваются над здравым смыслом.

Не знаю, не пользуюсь этой социальной сетью. Но когда кидают ссылки на группы какие-то с лентой постов, там неудобная и убогая бесконечная прокрутка без пагинации и с невозможностью нормально найти старые посты.

EXL ★★★★★
()
Ответ на: комментарий от byko3y

Не знаю, в каком году был выпущен Delphi 2005, но в 2005 году толпы студентов и программистов формошлёпали на Delphi ударными темпами. Не помирал он тогда ещё и спустя два года тоже был ещё популярен. Хотя агония Delphi растянута на десятилетия, поэтому сказать когда он начал помирать действительно сложно. Но «хайп» в начале-середине нулевых был хороший, вряд ли это можно назвать смертью, как ни крути.

Договаривай же: победил, а потом сам сдох, всех схавал дотнет, а потом и донтета схавал электрон.

.NET это же тоже Visual Studio, а в последнее время это ещё и почти Electron: https://habr.com/ru/company/microsoft/blog/269261/

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от byko3y

А типа пых дофига readable.

На порядок. Пыховый код крайне сложно написать так, чтобы он стал нечитаемым. А перловый как раз наоборот.

А что винда? Проблема винды в то время была только в проприетарности, то есть, «плати денюжки». В остальном она была таким же друшлагом, как и никсы того времени

Без понятия, что ты подразумеваешь под слово «дуршлаг», но винда во все времена крайне неудобно управлялась. Это я тебе говорю как человек, который много времени потратил на прокликивания IIS, ISA и UAG.

Или ты про девяностые внезапно заговорил? Удивительно, что пятилетняя ОС не имеет NTPL? Ну так в те времена выбор был между полумухом за сотни нефти, досом с гуями, жрущей NT, и разной степени фичастости никсами. И асп был не нужен вообще никому, пока не пришли нулевые.

leave ★★★★★
()
Ответ на: комментарий от byko3y

У меня такое ощущение, что ты или идеалист или очередная реинкарнация anonimous.

Можешь привести пример ЯП, который тебя максимально устраивает по всем аспектам использования?

leave ★★★★★
()
Ответ на: комментарий от no-such-file

Как будто это что-то плохое. Это напротив, показывает что язык достаточно гибкий.

Наверное, любой язык достаточно гибкий, чтобы засунуть функцию в функцию. Такая себе отмазка.

Кроме того на async/await свет клином не сошёлся

Ну ок, делай 100500 тредов как ламерок.

crutch_master ★★★★★
()
Ответ на: комментарий от byko3y

И это всё на самом деле есть сплошные костыли

Согласен, но где-то и костылей готовых нет, надо стругать свои или тащить с помойки.

в которых из обычной функции нельзя вызвать асинхронную функцию

Вообще-то можно. Только вернёт она промис.

crutch_master ★★★★★
()
Ответ на: комментарий от XoFfiCEr

для многих начинающих проблема

Если для них такая херня - проблема, то смысл дальше что-то делать? Их потолок - верстать хоумпаги.

crutch_master ★★★★★
()
Ответ на: комментарий от Zhbert

а ну скажи мне как в функции изменить курсор всего окна tkinter разумеется. tk.cursor = 'hand1' не работает ессно. Именно в функции не работает.

XoFfiCEr ★★☆☆
()
Последнее исправление: XoFfiCEr (всего исправлений: 1)
Ответ на: комментарий от crutch_master

со временем все научатся ставить точки запятой в конце строки кода php ибо человек совершенствуется со временем.

XoFfiCEr ★★☆☆
()
Ответ на: комментарий от byko3y

А типа пых дофига readable.

По сравнению с олдовым кодом на Perl вполне.

MOPKOBKA ★★★★★
()
Ответ на: комментарий от level1

Неправда, PHP это и есть С по духу, многословным его назвать нельзя, выразительность норм, есть все что нужно - goto, for, = возвращающий результат, тернарый оператор, итд.

MOPKOBKA ★★★★★
()
Ответ на: комментарий от crutch_master

удивляются, откуда ненависть к похапе

Не понял, при чём тут пых, говно можно писать на любом языке. А например на питоне я вообще не видел нормального кода. Там даже фреймворки говнище редкое.

no-such-file ★★★★★
()
Ответ на: комментарий от XoFfiCEr

Это что-то связанное с Tk вроде? Я только название знаю =)

Zhbert ★★★★★
()
Ответ на: комментарий от byko3y

Буквально пару часов назад в соседнем треде постил пояснение, неполный аналог которому я уже давал здесь:

Соглашусь, с учетом что на хороших языках что то написать трудно.

Я сомневаюсь, что за PHP стоял маркетинг. Это тот редкий случай, когда популярность сформировалась сама собой.

Ну так я и пишу что не стоял. Взять Go, убогий язычек, копипаста if err != nil, но это профессионально, а PHP это плохо.

MOPKOBKA ★★★★★
()
Ответ на: комментарий от level1

И есть многословные языки, к которым относился пых, где на каждую проблему в самом языке найдется высокоуровневая функция. Тут программировать уметь не нужно, можно передавать сессию в кверистринг или мешать хтмл с кодом

И еще Rust из таких. Правда, он вобрал в себе недостатки обоих миров, потому что программировать на нем как раз сложно, и при этом желательно знать все высокоуровневые функции и компоненты-контейнеры на каждый чих.

byko3y ★★★★
()
Ответ на: комментарий от Zhbert

Помню, задавался этим вопросом, даже че-то качал и пытался собирать/устанавливать.. А потом стал писать свои простенькие

Да, когда-то я сам писал компоненты, пока не понял, что графический дизайнер интерфейса бесполезен и по-хорошему людям нужен REPL, который во время разработки мог показать пользователю. конечный интерфейс без необходимости на каждый чих добавлять кучу design-time-only функциональности, чтобы прогер мог все-таки в графическом дизайнере увидеть что-то похожее на конечный результат.

Это я тебе пишу в том числе как бывший разраб Glade/Anjuta, который сделал в онных поддержку независимых и невизуальных деревьев, но забил, когда понял то, что тебе сейчас написал — тупо очень много работы для того, чтобы потом какая-то амёба смогла налепить компонент на формочку и возмущаться, что в райнтайме компонент не такой.

byko3y ★★★★
()
Ответ на: комментарий от EXL

Не знаю, в каком году был выпущен Delphi 2005, но в 2005 году толпы студентов и программистов формошлёпали на Delphi ударными темпами

Говорит точно: толпы студентов и программистов в СНГ. Потому что за пределами СНГ он никому не был нужен из-за охреневшей цены на лицензию при фактическом vendor-lock. Если бы они хотя бы сделали бесплатный компилятор — но нет, только в последние годы они наконец до этого додумались, да еще и опенсорснули турбопаскаль (или сообщество сделало копию).

.NET это же тоже Visual Studio, а в последнее время это ещё и почти Electron: https://habr.com/ru/company/microsoft/blog/269261/

UWP — это не электрон. Да, рендеринг происходит в отдельном потоке, но в отличие от монстроблоба электрона этот рендер является частью процесса выполнения, а потому доступен для расширения. Чисто с архитектурной точки зрения UWP очень хорош, но! Не совсем кроссплатформенен.

byko3y ★★★★
()
Ответ на: комментарий от leave

На порядок. Пыховый код крайне сложно написать так, чтобы он стал нечитаемым. А перловый как раз наоборот

У перла есть отдельные фичи, которые выносят мозг. В остальном лапша на глобальных переменных, перемежающаяся HTML, тоже ни разу не сахар. Я сам этим не занимался, но опыт коллег по разбору лапши на HTML говорит, что для этого не нужен перл. Хотя, еще раз, я не спорю, что в перле есть инструменты для написания криптоалгоритмов, которых нет в пыхе.

Без понятия, что ты подразумеваешь под слово «дуршлаг», но винда во все времена крайне неудобно управлялась. Это я тебе говорю как человек, который много времени потратил на прокликивания IIS, ISA и UAG

К сожалению, я лично не застал этих технологий. Интернет говорит, что, действительно, только в районе XP-2003 туда завезли норм админку. Впрочем, от тогдашних никсовых технологий мышевоз тоже бы с ума сошел — ты должен быть почти программистом, чтобы их эффективно использовать.

Или ты про девяностые внезапно заговорил? Удивительно, что пятилетняя ОС не имеет NTPL?

У всех никсов, которые POSIX, в целом была плохая поддержка многопотоков и асинхронщины, это не проблема линя, линь просто копировал все проблемы тогдашних никсов. Причем, у некоторых эта поддержка до сих пор осталась на том же уровне, хотя на лине, фряхе, солярке, и маке уже прогресс очень солидный — а сколько лет-то прошло? В каких-то никсах даже унифицированный кэш до сих пор не ввели, из-за чего mmap и write пишут в разные буферы.

Ну так в те времена выбор был между полумухом за сотни нефти, досом с гуями, жрущей NT, и разной степени фичастости никсами. И асп был не нужен вообще никому, пока не пришли нулевые

Солярка еще за миллионы нефти и вендорлок. Я бы ограничился тем, что интернет-сервер в то время вообще очень мало кому был нужен, поскольку интернета толком не было. Россия вообще в фидо сидела.

byko3y ★★★★
()
Ответ на: комментарий от leave

Можешь привести пример ЯП, который тебя максимально устраивает по всем аспектам использования?

Не могу. Самый близкий мне — паскаль, но он уже давно устарел и толком не развивается. По сути, в последнем моем паскалевом проекте я его применял как Си с адекватным синтаксисом.

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

byko3y ★★★★
()
Ответ на: комментарий от MOPKOBKA

На Perl даже в 2к21 году сложно сайт сделать, а про ColdFusion говорить не будем, не смешно

Вопрос был про нулевые. Да, ColdFusion был дорогой, но он был сильно фичастее даже того же PHP, у него был продвинутый ORM и отладочка из коробки. Время шло, ColdFusion почти не развивался, а PHP развился.

byko3y ★★★★
()
Ответ на: комментарий от MOPKOBKA

Соглашусь, с учетом что на хороших языках что то написать трудно

От кода на «хорошем языке» должны вытекать глаза?

byko3y ★★★★
()
Ответ на: комментарий от byko3y

Не ощущаю никакого удовлетворения от того, что я не такой как все. Скорее одиночество и безразличие.

Страдающих комплексом Наполеона на самом деле много.

Я теперь понял почему вы не можете найти себе единомышленников.

Вы ищете тех, кто будет вами восторгаться а вы им с высоты вашего полета будете что-то «умное» вещать.

grim ★★☆☆
()
Ответ на: комментарий от crutch_master

Вообще мелочь, но может выстрелить. Делается ‘глобальный’ конвертер, и с помощью его сравнивается теплое и мягкое во всем проекте.

Если выстреливает то хреново написана конвертация и правится только одно место - в конвертере.

Frost ★★★
()
Последнее исправление: Frost (всего исправлений: 1)
Ответ на: комментарий от byko3y

РНР выстрелил как тулза (даже не ЯП(!)) для небольших сайтов, чтобы сделать их легко и быстро. Так он набирал популярность. Когда его переписали, лёгкость создания сайтов сохранилась, но теперь вышел полноценный язык, который стал подходить и для среднего размера сайтов (того, что нужно было рынку). И та волна людей, писавших на нём хомяки с формами, хлынула на рынок веба.

fernandos ★★★
()
Ответ на: комментарий от byko3y

Тут всё просто: php был очень простым на ранних этапах, поэтому они привлекал большое комьюнити. А большое комьюнити привлекало больше авторов книг и прочих популяризаторов, что рубили кэш на популярности ЯП, а смотря на них всех авторы либ и CMS писали свои подделия на том, что хайпилось, и в итоге получился замкнутый круг. Считалось что Perl стар и сложен, ASP и JSP - только для крупных компаний, а для начинающих стильный, модный и смузихлёбный PHP. В итоге получилась какая-то круговая порука, замкнутый круг. Малая студия или разработчик? PHP. Малый бизнес? PHP. Стартап в сфере WEB? Точно PHP, ранний Facebook не даст соврать.

lucentcode ★★★★★
()
Ответ на: комментарий от fernandos

И та волна людей, писавших на нём хомяки с формами, хлынула на рынок веба.

Именно. Лучше и не скажешь.

lucentcode ★★★★★
()
Ответ на: комментарий от byko3y

Да, ColdFusion был дорогой, но он был сильно фичастее даже того же PHP

Начнем с того что PHP язык программирования, и вот такое у него крутое преимущество, более того, на нем можно удобно написать ORM, если она вообще нужна.

А еще если видел C и Perl то PHP будет знаком.

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 1)
Ответ на: комментарий от grim

так гугл тебя тоже выкинет из топа если у тебя будет один говно-js-файл на 5Мбайт, гуглу тоже важна скорость загрузки страницы

srg666
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.