Корпоративный язык, скомпилированный или для JVM - PullRequest
1 голос
/ 22 июня 2009

В настоящее время мы разрабатываем телекоммуникационные приложения операторского класса на C ++, Rational Rose и Java для работы на встроенной платформе на основе Enea OSE, которая предоставляет интерфейсы для трех указанных языков (фактически C, Rose и Java).

Я заинтересован в повышении производительности за счет выбора других более продуктивных языков. Мне бы хотелось, чтобы ваше мнение о том, какие языки я должен рассмотреть. В значительной степени он либо должен быть скомпилирован для запуска непосредственно на процессоре PowerPC, либо скомпилирован в байт-код Java.

Эти приложения, вероятно, должны поддерживаться в течение более 20 лет, поэтому зрелость и поддержка инструментов (на основе linux) (отладчик, статические и динамические анализаторы, такие как lint и clean в мире C, профилировщики, плагины затмений и т. Д.) Имеют первостепенное значение. Приложения не имеют никаких ограничений по времени или памяти, но эффективность - плюс.

Какие языки вы бы предложили, ребята? Какие-нибудь другие языки готовы для вызова?

Ответы [ 2 ]

3 голосов
/ 22 июня 2009

Зависит от ваших целей.

Для долгосрочной поддержки и удобства сопровождения вы, вероятно, не победите Java.

Для производительности - это немного вопрос.

Поскольку индустрия telcom довольно сильно занимается тестированием и обработкой, сокращение количества строк кода на самом деле не ускорит вас.

Если у вас очень умная группа, вы можете рассмотреть Scala, так как она на 100% совместима с Java и имеет множество расширенных функций, но проблема в том, что вы рассчитываете на то, что в будущем у вас будут разработчики Scala.

Не знаю, в целом я бы сказал, что создание умного Java-проекта было бы намного полезнее, чем другой язык. Возможно исправления Groovy как языка сценариев в местах, где это уместно.

2 голосов
/ 16 июля 2010

Если вы хотите жить на переднем крае, вы можете взглянуть на Clojure .

  • Работает на JVM
  • Полностью скомпилирован, так что вы можете получить довольно приличную производительность (я достаточно уверен, чтобы писать в нее игру!)
  • Предназначен для параллелизма с нуля
  • Функциональное программирование - чрезвычайно продуктивно с великолепной поддержкой мощных макросов в стиле LISP, отложенной оценки, инструментов для реализации DSL и т. Д.
  • Очень хорошо интегрируется с Java - в той степени, в которой я смешиваю файлы Java и Clojure в одних и тех же проектах в моей среде Eclipse, и между Clojure и Java практически отсутствуют накладные расходы на обратные вызовы. Это очень важно для меня, так как у меня много Java-кода, который я не планирую переписывать в ближайшее время!
...