OberonCore https://forum.oberoncore.ru/ |
|
Выбор языка под специфическую задачу. https://forum.oberoncore.ru/viewtopic.php?f=27&t=2400 |
Страница 1 из 1 |
Автор: | Alexey Veselovsky [ Воскресенье, 28 Февраль, 2010 17:27 ] |
Заголовок сообщения: | Выбор языка под специфическую задачу. |
Долго думал в какую тему поместить этот вопрос, в результате решил разбить вопрос на два. Один в эту тему, другой в Общие Вопросы по КП. В общем имеем следующую общую задачу: Есть некая программа-сервер. При взаимодействии с клиентом используется некое множество алгоритмов/формул которые должны быть на клиенте и сервере идентичными. С течением времени, по мере развития программы-сервера, алгоритмы и формулы меняются, соответственно необходимо чтобы с минимальными усилиями можно было переносить это в программы-клиенты. Программы-клиенты пишутся в т.ч. и третьими сторонами, используя самые различные технологии. Например сервер писан может быть под 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). |
Автор: | Alexey Veselovsky [ Воскресенье, 28 Февраль, 2010 23:21 ] |
Заголовок сообщения: | Re: Выбор языка под специфическую задачу. |
Нарисовался ещё один возможный претендент: OCaml. Как оказалось есть таки компиляторы в java-байткод. Например: http://cafesterol.x9c.fr/index.html http://cadmium.x9c.fr/index.html Для .net'а оно существует в виде F# -- подмножества OCaml'а с некоторыми .net-специфическими фичами. Ну а для x86 и всякого подобного есть обычный компилятор. Правда вопрос в том, насколько то что нагенерит компилятор ocaml'а в либу, будет удобно дёргать из какого-нибудь C++. |
Автор: | Alexey Veselovsky [ Понедельник, 01 Март, 2010 10:00 ] |
Заголовок сообщения: | Re: Выбор языка под специфическую задачу. |
Ха! Слона то я и не приметил! Есть же Ада! Есть версии gnat'a генерирующие байткод как для jvm, так и для .net. Причем, судя по всему, adacore активно работает над интеграцией во все стороны. Т.е. ada <-> java, ada <-> .net. Всё, думаю вопрос закрыт. |
Автор: | Alexey Veselovsky [ Понедельник, 01 Март, 2010 14:25 ] |
Заголовок сообщения: | Re: Выбор языка под специфическую задачу. |
Предложили ещё один приятный вариант -- написать всё на java например, а потом оттранслировать это дело в javascript. Существуют трансляторы в js нескольких языков, в т.ч. например haskell'я. Ну, а js уже можно использовать откуда угодно. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |