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

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

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

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

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

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

Ваша оценка: Нет Средняя оценка: 5 (4 votes)
8
w-495

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

Ваша оценка: Нет Средняя оценка: 5 (2 votes)
7
sash-kan

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

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
8
w-495

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

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
11
pomodor

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

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

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

Ваша оценка: Нет Средняя оценка: 5 (2 votes)
8
w-495

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

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

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

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

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

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

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

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

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

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

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
Отправить комментарий
КАПЧА
Вы человек? Подсказка: зарегистрируйтесь, чтобы этот вопрос больше никогда не возникал. Кстати, анонимные ссылки запрещены.
CAPTCHA на основе изображений
Enter the characters shown in the image.
Linux I класса
Linux II класса
Linux III класса
Счетчики
  • Самый популярный сайт о Linux и Windows 10
О Либератуме

Liberatum — это новости мира дистрибутивов Linux, обзоры, сборки, блоги, а также лучший сайт об Ubuntu*.