Я разработчик PHP. Мне нравится PHP! Это действительно хороший язык, если вы знаете, как его использовать, но я знаю, что это иногда позволяет очень плохой дизайн .
Это напоминает мне JavaScript, который имеет хорошие детали и плохие части. Один конкретный проект, CoffeeScript, пытается сосредоточиться только на хороших частях, заставляя вас писать хороший код.
Я думал, если что-то подобное можно сделать с PHP … Новый синтаксис, который будет скомпилирован только для хорошего PHP-кода, получающего удовольствие от всех новых и интересных вещей, которые мы можем получить с PHP 5.3.
Поэтому, опередив некоторых людей, я спрошу: зачем создавать новый язык поверх PHP, если вы можете просто использовать Ruby или Python или что-то еще?
Итак, мои настоящие вопросы здесь …
Идея, безусловно, не глупа, особенно если она выполнена хорошо.
Мне очень нравится coffeescript, но у него есть и подходы. Отладка сценария coffeescript по-прежнему требует, чтобы вы прочитали сгенерированный код Javascript, который может быть утомительным, поскольку вы его не написали сами.
Я понял, что Джереми Ашкенас, создатель coffeescript, начал работать над coffeescript после прочтения «Создайте свой собственный ужасный язык программирования» Марка-Андре Курноэра .
Удачи!
Причина, по которой CoffeScript – хорошая идея, заключается в том, что если разработчики хотят запускать код в клиентском браузере, им приходится использовать javascript; поэтому единственный способ программирования на другом языке – разрешить преобразование этого языка в javascript.
Я не уверен, что то же самое относится к программированию на стороне сервера. Если у вас есть проблемы с PHP и вы хотите использовать новый язык, нет никакого реального преимущества в том, чтобы этот язык генерировал PHP.
С другой стороны, язык, который был очень похож на PHP, но фиксировал некоторые из недостатков, было бы отличной идеей.
Если бы это было для PHP, то что-то вроде sass для CSS, мне было бы интересно. Но что бы вы хотели добавить? Или ты просто захочешь выкормить плохую?
И что бы вы считали плохим?
Хе-хе, отличная идея. Мои мысли, некоторые противоречивые …
Есть прецеденты для цивилизации плохих языков, поставив перед ними препроцессоры синтаксиса.
Но…
Написание синтаксического трансформатора PHP, вероятно, было бы аккуратным проектом.
Однако не забывайте, что стандартная библиотека PHP – это огромный беспорядок. Уборка этого была бы намного более важной задачей.
Чем больше я думаю об этом, тем более нереальным это звучит. Причина проста: на самом деле уже существуют такие языковые пропроцессоры. Два из них (хотя и не используют PHP как реализацию, только как цель компиляции) можно найти здесь . Но их никто не использует.
Да, если сам компилятор был написан на PHP, вероятно, больше людей его использовали бы. Но я действительно не могу понять, как получить эту популярность настолько, чтобы быть достойной работы.
Еще одна большая проблема заключается в том, что люди в основном используются для их потрясающего кода, подсветки кода, завершения кода, проверки кода IDE. Без поддержки IDE, возможно, только кто-нибудь ее будет использовать (и поддержка IDE может быть получена только благодаря тому, что многие используют его …)
Мысли?
Это сейчас. Новый язык, который является PHP, что CoffeeScript для Javascript. (То есть, потрясающе.)
SNOWSCRIPT
Код Snowscript выглядит так:
fn how_big_is_it(number) if number < 100 <- "small" else <- "big"
Выход PHP выглядит следующим образом:
function how_big_is_it($number) { if ($number < 100) { return "small"; } else { return "big"; } }
Все, что нужно сейчас, это ты .
Об этом я уже много думал. В некоторых случаях PHP просто беспорядочен.
На самом деле, у меня уже есть проект PrePHP, в котором основное внимание уделяется предоставлению PHP 5.3 функциональности PHP 5.2. Но он добавляет некоторые незначительные функции языка, такие как func()[0]
. Я не разработал этот проект в течение некоторого времени, и он определенно не «чист», но он показывает, что то, что вы хотите, возможно и даже не настолько сложно.
Если вы серьезно относитесь к этому, я вполне согласен сотрудничать с вами.
Я вижу, как писать компиляторы на JavaScript (потому что сеть навязывает это нам), но это звучит как пустая трата времени.
haXe уже делает это, хотя он специально не нацелен на PHP (связанный со статьей Википедии, а не с их сайтом, потому что я боюсь, что я буду эксплуатироваться, если я посещу настоящий сайт …)
PHP легко развертывается в любом месте
… как и его уязвимости.
Я знаю, что это иногда позволяет очень плохой дизайн.
Это немного преуменьшение, оно даже не имеет модульной системы, не имеет инкапсуляции и имеет множество глупых вещей, таких как динамическое разрешение имен .
PHP достаточно медленный, как есть, действительно ли вы хотите что-то на порядок медленнее?
Java гораздо проще развертывать в любом случае и позволяет вам перейти на уровень байт-кода, если хотите. Java также дает вам доступ к умеренно-нормальным библиотекам.
Очень интересная идея, и если она оживет, я думаю, что я не буду участвовать в 🙂
Для начала Вы можете проверить и прочитать эту позицию http://www.amazon.com/Masterminds-Programming-Conversations-Creators-Languages/dp/0596515170 (читайте ее сейчас). Он дает понять, насколько сложным является поддержание собственного языка.
Я согласен с тем, что PHP определенно может сделать некоторые улучшения, прямо сейчас это позволяет слишком много обманывать.
Некоторые вещи, которые я хотел бы увидеть
Опять же, может быть, мне стоит просто отказаться от PHP и начать работать с Ruby или Python.