OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Среда, 20 Ноябрь, 2019 14:53

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: Воскресенье, 28 Февраль, 2010 17:27 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Долго думал в какую тему поместить этот вопрос, в результате решил разбить вопрос на два. Один в эту тему, другой в Общие Вопросы по КП.

В общем имеем следующую общую задачу:
Есть некая программа-сервер. При взаимодействии с клиентом используется некое множество алгоритмов/формул которые должны быть на клиенте и сервере идентичными. С течением времени, по мере развития программы-сервера, алгоритмы и формулы меняются, соответственно необходимо чтобы с минимальными усилиями можно было переносить это в программы-клиенты. Программы-клиенты пишутся в т.ч. и третьими сторонами, используя самые различные технологии. Например сервер писан может быть под jvm, клиенты же могут под jvm, .net, ну и на каком-нибудь С++, соответственно нативный код.

Естественно возникает желание это самое множество алгоритмов-формул реализовать на неком языке существующем как под jvm, так и под .net и непосредственно какой-нибудь x86. Писатель клиента просто берет последние исходники оных алгоритмов-формул на этом языке и собирает себе либу под jvm/.net/x86/или что там у него. У него в результате получается абсолютно родная (с т.з. его инструментария) библиотека. Зависимостей от библиотек у этих алгоритмов-формул нет никаких, супер-пупер абстракций тоже нет, так что, теоретически, проблем быть не должно, если получится выбрать нужный язык.

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

Из всего многообразия языков, что я пересмотрел, только Component Pascal существует для .net/jvm/x86 одновременно.
Для .net/jvm можно использовать gpcp, для jvm я проверил -- генерируются вполне приличные class-файлы, которые могут легко быть использованы из java. .net я ещё не щупал, но проблем тоже быть не должно, но в плане x86 у меня есть сомнения (см тему viewtopic.php?f=1&t=2401).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 28 Февраль, 2010 23:21 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Нарисовался ещё один возможный претендент: OCaml.
Как оказалось есть таки компиляторы в java-байткод. Например:
http://cafesterol.x9c.fr/index.html
http://cadmium.x9c.fr/index.html

Для .net'а оно существует в виде F# -- подмножества OCaml'а с некоторыми .net-специфическими фичами.
Ну а для x86 и всякого подобного есть обычный компилятор.

Правда вопрос в том, насколько то что нагенерит компилятор ocaml'а в либу, будет удобно дёргать из какого-нибудь C++.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 01 Март, 2010 10:00 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Ха! Слона то я и не приметил! Есть же Ада! Есть версии gnat'a генерирующие байткод как для jvm, так и для .net. Причем, судя по всему, adacore активно работает над интеграцией во все стороны. Т.е. ada <-> java, ada <-> .net.

Всё, думаю вопрос закрыт.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 01 Март, 2010 14:25 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Предложили ещё один приятный вариант -- написать всё на java например, а потом оттранслировать это дело в javascript.

Существуют трансляторы в js нескольких языков, в т.ч. например haskell'я.

Ну, а js уже можно использовать откуда угодно.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB