Подтвердить что ты не робот

Новый язык поверх PHP?

Я разработчик PHP. Мне нравится PHP! Это действительно хороший язык, если вы знаете, как его использовать, но я знаю, что он иногда позволяет очень плохой дизайн.

Это напоминает мне JavaScript, который имеет хорошие части и плохие части. Один конкретный проект, CoffeeScript, пытается сосредоточиться только на хороших частях, заставляя вас писать хороший код.

Я думал, если что-то подобное можно было бы сделать с PHP... Новый синтаксис, который будет скомпилирован только для хорошего PHP-кода, получающего удовольствие от всех новых и интересных вещей, которые мы можем получить с PHP 5.3.

Итак, опередив некоторых людей, я спрошу: Зачем создавать новый язык поверх PHP, если вы можете просто использовать Ruby или Python или что-то еще?

  • PHP легко развертывается где угодно
  • У самого языка есть много хороших функций и идей.
  • В PHP есть много хороших библиотек.
  • ...

Итак, мои настоящие вопросы здесь...

  • Это глупая идея? Почему? Как вы думаете, CoffeeScript глуп?
  • Как кто-то начинает создавать новый язык поверх другого? Я ничего не знаю об этом, но я хотел бы узнать. С чего начать?
4b9b3361

Ответ 1

Идея, безусловно, не глупа, особенно если она выполнена хорошо.

Мне нравится coffeescript много, но у него есть подход, который также имеет недостатки. Отладка coffeescript script по-прежнему требует, чтобы вы прочитали сгенерированный код Javascript, который может быть утомительным, поскольку вы его не написали сами.

Я понял, что Джереми Ашкенас, создатель coffeescript, начал работать над coffeescript после прочтения "Создайте свой собственный ужасный язык программирования" Марком- André Cournoyer.

Удачи!

Ответ 2

Причина CoffeScript - хорошая идея: если разработчики хотят запускать код в клиентском браузере, у них есть, чтобы использовать javascript; поэтому единственный способ программирования на другом языке - разрешить преобразование этого языка в javascript.

Я не уверен, что то же самое относится к программированию на стороне сервера. Если у вас есть проблемы с PHP и вы хотите использовать новый язык, нет никакого реального преимущества в том, чтобы этот язык генерировал PHP.

С другой стороны, язык, который был очень похож на PHP, но исправил некоторые из недостатков, было бы отличной идеей.

Ответ 3

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

И что бы вы считали плохим?

Ответ 4

Хе-хе, отличная идея. Мои мысли, некоторые противоречивые...

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

  • В первые дни Unix Fortran был популярен и был единственным портативным языком, потому что в большинстве машин не было компилятора C. Но у ванильного фортрана дня даже не было блока, структурированного if-then-else, просто тупой однозадачный if или if-goto. Итак, в качестве препроцессора для Fortran-66 был реализован язык Ratfor.
  • Я полагаю, что были препроцессоры Cobol (есть?), которые предположительно имели дело с многословием и ограничениями ранних диалектов Cobol.
  • До сегодняшнего дня Unix-производные системы поставляются с макропроцессором m4.
  • Несколько препроцессоров CSS доступны сегодня, в первую очередь Sass и LESS.

Но...

  • Просто дайте ему умереть, и чем быстрее, тем лучше
  • Проблема не в синтаксисе.
  • Я не вижу много параллелизма JavaScript-PHP. JavaScript - отличный язык. Это похоже на PHP.
  • Я не уверен, почему вы говорите, что PHP - отличный язык. Это одно из худших. Каждая достойная функция - это исправление или перезагрузка в последней версии.
  • Как вы уже отметили, есть уже установленная версия PHP: она называется Ruby и, как язык, она почти идеальна. Существует еще одна исправленная версия под названием Python. Мир будет лучше в долгосрочной перспективе, если мы будем поддерживать лучшие системы.

Ответ 5

Написание синтаксического трансформатора PHP, вероятно, будет аккуратным проектом.

Однако не забывайте, что стандартная библиотека PHP - это огромный беспорядок. Очистка этого объекта была бы гораздо более важной задачей.

Ответ 6

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

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

Еще одна большая проблема заключается в том, что люди в основном используются для их замечательной подсветки кода, кода-завершения, проверки кода IDE. Без поддержки IDE, возможно, только кто-нибудь его будет использовать (и поддержка IDE может быть получена только благодаря тому, что многие используют его...)

Мысли?

Ответ 7

Сейчас здесь. A новый язык, который представляет собой PHP, что CoffeeScript для Javascript. (I.e., awesome.)

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";
    }
}

Теперь ему нужно .

Ответ 8

Об этом я уже много думал. PHP просто беспорядочен в некоторых точках.

На самом деле у меня уже есть проект PrePHP, посвященный предоставлению PHP 5.3 функциональности PHP 5.2. Но он добавляет некоторые незначительные функции языка, такие как func()[0]. Я не разработал этот проект в течение некоторого времени, и он определенно не "чист", но показывает, что то, что вы хотите, возможно и даже не настолько сложно.

Если вы серьезно относитесь к этому, я вполне согласен сотрудничать с вами.

Ответ 9

Я вижу, как писать компиляторы на JavaScript (потому что сеть накладывает это на нас), но это звучит как пустая трата времени.

haXe уже делает это, хотя он специально не нацелен на PHP (связанный со статьей Википедии, а не с их сайтом, Я боюсь, что я буду эксплуатироваться, если я нахожусь на настоящем сайте...)

PHP легко развертывается где угодно

... как и его уязвимости.

Я знаю, что это иногда позволяет очень плохой дизайн.

Это немного преуменьшение, у него даже нет модульной системы, нет инкапсуляции и имеет множество глупых вещей, таких как динамическое разрешение имен.

PHP достаточно медленный, как есть, действительно ли вы хотите что-то на порядок меньше?

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

Ответ 10

Очень интересная идея, и если она придет в себя, я думаю, что я не буду участвовать в:)

Для начала Вы можете проверить и прочитать эту позицию http://www.amazon.com/Masterminds-Programming-Conversations-Creators-Languages/dp/0596515170 (читайте сейчас). Он дает понять, насколько сложным является поддержание собственного языка.

Ответ 11

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

Некоторые вещи, которые я хотел бы видеть

  • Статическая печать
  • Требуемый отступ
  • Правильное использование объектов (использование массивов как объектов просто глупо)

И снова, может быть, мне стоит просто отказаться от PHP и начать работать с Ruby или Python.