Существуют ли какие-либо низкоуровневые языки, которые можно использовать вместо скриптов?

Я пишу сценарии «высокого уровня». Весь мой код основан на классах PHP или JavaScript. Однако я хочу знать, есть ли какие-нибудь полезные проекты интерпретаторов для "низкоуровневых" компилируемых языков, таких как C или C ++ (странное звучание, да?).

Все это произошло, когда я наткнулся на http://g-wan.com/ и был очарован тот факт, что вы можете настроить код C для работы как серверные сценарии. Однако этот проект практически бесполезен, потому что им управляет один человек, и его исходный код закрыт.

Итак, есть ли что-нибудь для «низкоуровневых» языков, что упростило бы их выполнение, скомпилировав их во время выполнения. ИЛИ это просто несчастный случай, ожидающий своего часа, который объясняет, почему это был единственный проект, который я мог найти по этому поводу?

Возможность делать дамп сценариев PHP / Ruby / Python для C действительно ускорила бы работу наших сайтов.


person Xeoncross    schedule 17.02.2010    source источник
comment
stackoverflow.com/questions/1513920/scripting-language-for-cc stackoverflow.com/questions/584714 / stackoverflow.com/questions/1189097/ stackoverflow.com/questions/69539/ и другие. Иногда я использую кинт таким образом.   -  person dmckee --- ex-moderator kitten    schedule 17.02.2010
comment
+1 за cint, хотя я обычно использую его больше как REPL, чем как язык сценариев.   -  person Matthew Flaschen    schedule 17.02.2010


Ответы (3)


Недавно я наткнулся на что-то под названием BinaryPHP, в котором вы обычно кодируете на php, а затем конвертируете скрипт в C ++. быть скомпилированным на вашем любимом инструменте. Это должно быть приятной кривой обучения для тех, кто уже знаком с php.

person Francisco Aquino    schedule 17.02.2010
comment
Facebook выпустил HipHop или, по крайней мере, пообещал, что он делает то же самое. - person Duncan; 17.02.2010
comment
Это то, что я искал! но мое ключевое слово в мозгу было отстойным, и я погуглил компилятор c ++ php, и появился только BinaryPHP, спасибо за добавление! - person Francisco Aquino; 17.02.2010
comment
Милая! Преобразование PHP в C ++ еще лучше! Не могу дождаться HipHop! - person Xeoncross; 18.02.2010
comment
Чтение кода, созданного генераторами кода, является сложной задачей - даже для опытных программистов на C (так что это не лучший способ выучить C, если вы разработчик PHP: все, что вы увидите, - это шаблонные внутренние элементы PHP, о которых вы не знали) . - person Gil; 18.10.2012

Я не уверен, что понимаю, чего вы хотите достичь, но tcc (крошечный компилятор c) позволяет запускать программы на C как сценарии.

http://linux.die.net/man/1/tcc

TCC can be invoked from scripts, just as shell scripts. You just need to add "#!/usr/local/bin/tcc -run" at the start of your C source:

#!/usr/local/bin/tcc -run
#include <stdio.h>

int main()
{
    printf("Hello World\n");
    return 0;
}
person Tom    schedule 17.02.2010
comment
Что ж, PHP такой медленный, как и все другие языки сценариев. С кешированием байт-кода он по-прежнему намного быстрее, чем другие, но далеко от кода c. - person Xeoncross; 17.02.2010
comment
Я не уверен, что согласен. Код C вызовет накладные расходы на создание процесса, которые во многих приложениях на основе сценариев будут делать его медленнее, чем что-то вроде сервлета, которое может оставаться в памяти. - person Pace; 17.02.2010
comment
Действительно? Например, для каждого индекса, который вы загружаете в систему PHP wordpress, для рендеринга страницы требуется 8 МБ. Если у вас всего 256 МБ памяти, вы можете очень быстро попасть в кирпичную стену. Кроме того, поскольку он был построен на C (или C ++, я не могу вспомнить), я бы предположил, что он будет намного медленнее, чем обычный C / C ++. У вас есть какая-нибудь информация, которую я могу прочитать об этом? - person Xeoncross; 17.02.2010

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

person Pace    schedule 17.02.2010