Лучший язык программирования для очень больших массивов и очень больших чисел? - PullRequest
2 голосов
/ 17 февраля 2011

Какой был бы лучший язык программирования для очень больших массивов и очень больших чисел?

  • С массивами более 30000 индексов
  • И цифры свыше 100 цифр

Кроме того, оно должно быть эффективным или легко сделать эффективным.

Спасибо.

Ответы [ 4 ]

5 голосов
/ 17 февраля 2011

Почти любой язык программирования, достойный внимания, должен обладать этими характеристиками, и, честно говоря, я не думаю, что я бы хотел использовать любой язык, который не может обрабатывать массивы из 30 000 элементов.Я перечислю несколько из них, которые имеют хорошую поддержку для очень больших чисел:

python .Python 3 имеет автоматическую поддержку больших чисел, так как тип чисел по умолчанию увеличивается по мере необходимости, и имеет несколько действительно потрясающих математических библиотек. Другие языки могут быть немного быстрее, но если по какой-то причине вы точно не знаетеPython не будет достаточно хорош, я бы начал там.

C # .Это в основном привязывает вас к окнам, но оно очень популярно, быстро и соответствует вашим требованиям .

Java .Кроссплатформенная, зрелая поддержка с BigInteger .

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

C / C ++ .Очень быстро, но немного сложнее в освоении. Вероятно, вы получите лучшие результаты при поддержке большого числа с чем-то еще.Я бы посмотрел на C ++ только в том случае, если вы пытались оптимизировать код на других языках, но он все еще недостаточно быстр, если у вас нет особых причин не использовать промежуточно скомпилированный язык.


Правдадело в том, что трудно найти язык программирования, который не не поддерживает эти вещи, и если бы вы могли, я бы, вероятно, не использовал бы его ни для чего, потому что он, вероятно, не настолько зрелый.Есть ли у вас какие-либо другие требования, которые помогут нам сузить его для вас?: D

4 голосов
/ 01 ноября 2012

Массив не проблема.Числа, состоящие из 100 цифр (цифр), представляют собой огромную проблему.У меня нет хорошего ответа на этот вопрос (как бы устаревшего), но так как это легко найти в Google, я упомяну, что большинство языков поддерживают только от 32 до 64 битных чисел.(Я знаю, что семейство языков C, PHP, as3 и Java не поддерживает массовые числа.)

Например, 32-разрядное число может иметь диапазон от 0 до 4 294 967 295 (2 ^ 32-1)это всего 10 цифр (на самом деле больше похоже на 9, потому что ограничение по размеру, а не цифрам), на целый порядок меньше, чем требуемые 100 цифр, которые задавал спрашивающий.

То есть я знаю, что естьслучаи, когда люди реализуют поддержку больших чисел в C и AS3 ...

1 голос
/ 17 февраля 2011

Python с NumPy, вероятно, то, что вы хотите.

0 голосов
/ 17 февраля 2011

Я всегда считал, что Fortran довольно хорош при работе с массивами, особеннос многомерными.Если вы имеете дело с очень большими числами, вам, вероятно, потребуется определить свой собственный тип данных или жить с потерей точности.Или используйте это: http://www.fortran.com/big_integer_module.f95.

Но это зависит от того, что вы хотите сделать.Фортран хорош для численных расчетов и не так хорош для всего остального.

...