Почему нет on-line компиляторов?

Здесь не будет ответа на вопрос. Просто пояснения вопроса.
Находясь под влиянием темы Программа на JavaScript позволяет проигрывать MP3 прямо в браузере и без Flash, я задумался, о том, что, в принципе, компиляторы, тоже можно реализовать на клиенткой технологии. Конечно, это полный бред, однако у этой мысли есть и иное продолжение. Например, для кросплатформенной разработки, было бы удобно иметь сервис компиляции и тестирования кода на различных системах. Причем взаимодействовать с сервисом можно было бы через веб.

Зашли на сайтик. Запостили в форму код, ключи к компилятору, набор тестов. Выбрали нужную систему, архитектуру, какие-то параметры. Submit! Через какое-то время получили бинарник и результаты тестов.

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

На самом деле, было бы удобно иметь такой сервис, в том числе и не бесплатно. Иметь кучу машин с разными параметрами и системами --- не каждая контора сможет себе это позволить.
Держать зоопарк виртуалок:
1) Qemu --- ну для начала, надо самому все настроить и поднять, а потом они сожрут слишком много ресурсов. Муторно, вообщем.
2) VirtualBox --- ограниченный набор параметров. У меня только x86_64, а люди, например, просят чтобы работало на Spark и Alpha.
Кроме того, поведение виртуалки не всегда совпадает с поведением реальной машины.

Такого до сих пор не встречал.

Оценка: 
5
Средняя: 5 (4 оценки)

Комментарии

w495 аватар

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

Оценка: 
Средняя: 5 (2 оценки)

всё украдено до нас·
obs aka open build service aka opensuse build service

Оценка: 
Средняя: 5 (1 оценка)
w495 аватар

Ну там не совсем так. Меня что-то загружать заставляют.

Оценка: 
Средняя: 5 (1 оценка)

Конечно, это полный бред

Ну, только из таких "бредовых" идей рождаются идеи гениальные. Отличный пост с идеей внутри! Правда, я не вижу как можно сделать компиляцию на стороне клиента платной. Если это JS, то его всегда можно сохранить, модифицировать и использовать бесплатно.

Но предлагаю идею другого платного сервиса: юзер присылает дистрибутив какой-либо программы, он обрабатывается на серверной стороне под нужную платформу (прикручивается Wine или что-то вроде этого) и юзер получает обратно готовый дистрибутив под выбранную ОС почти в реальном времени. Например, захотел гражданин поиграть в CS под Линуксом, тыкнул ссылку, получил ссылку на скачивание готового deb, rpm и т.д.

Оценка: 
Средняя: 5 (2 оценки)
w495 аватар

#!/usr/bin/env Ниже много букв

Конечно, это полный бред

Относилось исключительно к браузерным компиляторам. Я сам сторонник интерпретируемых языков. Да и писать надо так, чтобы работало везде одинаково. Но это хорошо, пока не полез в системной программирование. Там уже не до удобств.
Даже если мы напишем компилятор (под какую-то платформу) на JS, и получим бинарник, то чтобы его протестить, нам придется переписать и систему на JS. Это совсем жесть, ибо сложно, хотя попытки были. + Мы опять возвращаемся к виртуалкам.
Кодеки на JS --- идея, согласен, что классная, а главное ничего стороннего не надо.

На стороне клиента платной.

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

Модифицировать и использовать бесплатно

Если провести хорошую обфускацию, то разработать свое и с нуля будет проще.

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

Захотел гражданин поиграть

Согласен. А то я задрался ставить Word 2007 под wine.
Но в данном случае:
1) Копирасты поднимут вой.
2) Требуется индивидуальный подход, к каждому приложению, ибо есть элементы реверс-инженерствования. (Кто же знал, что для того, чтобы ворд поднялся, надо качать и ставить dll именно из венды, и иметь несколько копий его в подкаталогах wine_prefix? --- Заранее такого не предскажешь.)

Оценка: 
Средняя: 5 (1 оценка)

Комментировать

Filtered HTML

  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.