Выберите язык, независимый от сплатформ, для интенсивных вычислений - PullRequest
1 голос
/ 16 июня 2011

Я планирую сделать пламенный фрактальный двигатель (без графического интерфейса), похожий на flam3, но мне нужно выбрать язык. У меня уже есть один такой движок на Java, но он слишком медленный.

То, что я ищу, - это скомпилированный язык, который может быть скомпилирован как для Windows, так и для Linux (следовательно, нет .NET, язык GPU), и, предпочтительно, со сборщиком мусора и объектной ориентацией (поэтому нет C и C ++). *

Какие языки, кроме D, удовлетворяют этим условиям? Есть еще мысли по этому поводу?

РЕДАКТИРОВАТЬ: Я больше после того, что аналогичные альтернативы есть D, так как D все еще находится в разработке. Я, вероятно, выберу D, поскольку, помимо прочего, он имеет встроенную поддержку комплексных чисел. Тем не менее, C ++ более доступен для других разработчиков, но, на мой взгляд, это сложный язык.

Ответы [ 3 ]

0 голосов
/ 16 июня 2011

Вы сделали себе очень сложное задание (и, кстати, задали интересный вопрос).

Единственный язык, который мне приходит в голову, это Ада (у него есть необязательный сборщик мусора , как обсуждается в этой теме , и согласно этой книге это поддерживает объектную ориентацию). Это сравнение Ubuntu показывает, что Ada 2005 довольно быстрая, как правило, быстрее в тестах, чем Java, но медленнее, чем C / C ++.

Отказ от ответственности : Я не утверждаю, что Ада превосходит любой другой язык. На самом деле, я не использовал его ни в одном разумном приложении. Я верю, что использование C ++ даст более быстрый код; более того, вероятно, усилия, необходимые для управления памятью вручную в C ++, стоят улучшения скорости, но я не эксперт в этом. Это не начало огненной войны (как указывал @Doc, это может произойти); только мое мнение по теме.

0 голосов
/ 23 июня 2011

Я решил пойти на D, так как он ближе всего к тому, что я хочу.Мне было просто любопытно, какие еще языки были сопоставимы с D.

0 голосов
/ 16 июня 2011

Это, несомненно, начнет новый флейм, пока кто-то не закроет вопрос. Мое личное мнение: вы должны использовать C ++, где вам следует принять отсутствующую сборку мусора, поскольку ручное управление памятью предлагает вам больше возможностей для настройки производительности.

Вчера Google анонсировал исследовательскую статью о сравнении Java / C ++ / Go / Scala, вам может быть полезно:

https://days2011.scala -lang.org / сайты / days2011 / файлы / ws3-1-Hundt.pdf

...