В 2000 году я был большим поклонником PHP. Я начал использовать его сразу после официального релиза версии 4.0 в апреле.
На тот момент кроме него существовало всего 4 альтернативы создания сайтов.
1) C – слишком сложен для часто меняющегося проекта.
Сборка занимала много времени, бесплатных инструментов было мало, а платные не вписывались в мой бюджет. Слишком многословно.
Управлять зависимостями было сложно.
2) Java — лучше, чем C, но все равно многословен и медленно компилируется.
Управлять зависимостями было сложно.
3) Perl — почти так же хорош, как PHP, только без системы управления пакетами.
У CPAN был набор модулей на все случаи жизни, но их нужно было скачать и установить.
Управлять зависимостями было сложно.
4) ASP — почти так же хорош, как PHP, только это был инструмент Microsoft, и его использование затянуло бы меня в их дорогой мир.
По трем позициям я написал: «Управление зависимостями было трудным».
Для меня это был ключевой момент PHP. Его философия была «все в одном».
Не было таких систем управления пакетами, как сегодня.
Сейчас есть удобные вещи вроде Bundler для Ruby и Leiningen для Clojure. Но не в 2000 году.
Даже системы управления пакетами Linux стали лучше с 2000 года.
А система «все в одном» решила проблемы управления пакетами в PHP. Но сейчас это преимущество не имеет значения.
У PHP есть и другие сильные стороны.
Он оптимизирован для Интернета, но сегодня это не уникально.
Для тех, кто боялся Си, он предложил обертки для функций Си.
Но на других языках сегодня это еще проще :
Проблема языка Julia на данный момент — относительная нехватка библиотек.Последние несколько лет я работал в различных корпорациях ( Винный зритель , Тайм-аут ) над своими системами.Но язык позволяет довольно легко взаимодействовать с существующими библиотеками из C. В отличие от других языков, вы можете вызывать код C, не записывая ни строчки C, поэтому я думаю, что библиотеки для Julia быстро подтянутся.
По моему опыту, мне удалось использовать 5000 строк кода C и 150 строк кода Julia.
В основном это был PHP и фреймворк Symfony. я уже критиковал их раньше .
Мне кажется, что люди, использующие PHP для корпоративной работы в наши дни, забыли, почему им вообще понравился PHP. Вы можете сказать, какие преимущества у него были в 2000 году, а сегодня? Он медленный, неуклюжий, системы стали слишком сложными, а некомпилируемый характер языка мешает реализовать на нем большие проекты.
Если вы создаете CMS в проекте, которому требуется 100 серверов, вам придется развернуть всю CMS на каждом из 100 серверов.
Какие инновации существуют сегодня в мире PHP? Люди добавить потоки , когда в языке нет инструментов для работы с параллелизмом.
Для контраста взгляните на Clojure .
Сложная система кэширования кода Symfony .
Они добавляют в комментариях аннотации – инструкции, управляющие выполнением программы.
Я думаю, что это плохая идея.
Если вам нужно моделировать сквозные задачи, вам нужно выбрать язык, который сделает это элегантно, а не полагаться на грубое решение, такое как аннотации.
Список изменений и исправлений , что необходимо сделать из-за долгой истории противоречивых разработок.
Ритуальное программирование — куча ненужных инструкций без таких преимуществ, как проверка во время компиляции.
В 2000 году одним из аргументов в пользу PHP было отсутствие в нем дополнительного кода, типичного для Java. Хотим ли мы, чтобы PHP полностью превратился в Java ? Любовь к сложности ради сложности.
.
Нет настроек для управление и настройка .
Это похоже на отсутствие систем управления пакетами, от которых страдал PHP — в отличие от Ruby, Python или Clojure. Но в PHP никаких работ по исправлению ситуации не ведется — это возложено на плечи инструментов системного администратора вроде Chef и Supervisor. Избыток обезьяньи патчи (подмена методов и значений атрибутов классов программы во время ее выполнения).
трейты похожи на обезьяньи патчи в Ruby, но с трейтами еще труднее работать, отслеживать и отлаживать.
Амбиции, превосходящие сам язык .
Как сказал Фабьен Потенсье, у PHP есть несколько замечательных свойств.
Что странно.
Это как если бы мы поставили мощный двигатель Феррари в ржавый Фиат. Бесконечные возможности , введено для удобства.
И не могу не вспомнить знаменитое эссе: « PHP: фрактал плохого дизайна ".
Когда PHP предлагает классные вещи (потоки и итераторы), они кажутся прикреплёнными к языку, а не интегрированными в него.
Они не ощущаются частью философии языка.
Вместо этого Рамус Лердорф говорит что-то вроде:
У нас есть защищенные свойства, абстрактные методы и вся эта чушь, о которой вам рассказывал ваш учитель информатики.Для сравнения, Юкихиро Мацумото описывает Руби Так:Мне плевать на всю эту чушь.
Для меня часть смысла жизни – это радость.Отсутствие глубокого видения среди руководителей групп разработчиков PHP приводит к некрасивым проявлениям, в частности отсутствие руководства для начинающих программистов о том, как писать хороший код на PHP. В 2004 году внезапно появился Ruby On Rails, обещавший избавить всех от сложности Java и беспорядка PHP. Для того времени это было большим улучшением.Программисты радуются, когда могут сосредоточиться на творческом аспекте программирования.
Ruby создан, чтобы делать программистов счастливыми.
Если вы сделаете работу быстро и весело, это хорошо, правда? Ваша жизнь становится лучше.
Я хочу решать повседневные задачи с помощью компьютера, поэтому пишу программы.
Используя Ruby, я хочу сосредоточиться на том, что я делаю, а не на магических правилах языка, таких как необходимость запускать программу с помощью «public void что-то что-то что-то», чтобы затем можно было сказать «напечатать привет, мир».
У него была структура и элегантность, которых PHP не мог достичь.
Но сегодня даже Rails устарел .
Сегодня Ruby и PHP одинаково плохо справляются с параллелизмом.
Они были разработаны еще в те времена, когда компьютерные процессоры имели одно ядро, которое со временем становилось быстрее.
Но будущее подчиняется Закон Амдала , и в этом направлении им предложить нечего.
jRuby — будущее Ruby , один из тех языков, которые стоит рассмотреть сегодня.
Но не существует языка, о котором можно было бы сказать «это будущее PHP».
Я бы хотел, чтобы люди могли ответить на мой вопрос: «Почему я сегодня выбрал для себя PHPЭ» В 2000 году аргументы в пользу этого были убедительными, но сегодня таких причин нет. Мир изменился, и теперь есть десятки лучших возможностей.
Теги: #php #ruby #разработка сайтов #php #программирование
-
Все О (Цифровом) Измельчителе Файлов
19 Oct, 24 -
Вода, Лед И Пар
19 Oct, 24 -
Новогодние Тесты Компьютеров «Эльбрус»
19 Oct, 24 -
Выпущен Php 4.4.9
19 Oct, 24