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

Попробуйте, как показано ниже, я нашел плагин формата formatter здесь: Номер сценария Java Formatter

Используя это, я сделал код ниже, он отлично работает, попробуйте это , Это поможет вам ..

SCRIPT:




Входы:

1) 125465778
2) 1234567.89

Выходы:

1) 12,54,65,778
2) 12,34,567.89

5
задан Dima 2 October 2008 в 21:55
поделиться

12 ответов

Python стал довольно большим в научных вычислениях в последнее время. Это - управляемый язык, таким образом, Вы не должны помнить освобождать свою память. В то же время это имеет пакеты для научных и числовых вычислений (NumPy, SciPy), который дает Вам производительность, подобную скомпилированным языкам. Кроме того, Python может быть довольно легко интегрирован с кодом C.

Python является очень выразительным языком, помогая записать и читать, чем много традиционных языков. Это также напоминает MATLAB до некоторой степени, помогая использовать для ученых, чем, скажем, C++ или Фортран.

Университет Осло имеет недавно запуск обучающий Python как язык по умолчанию для всех научных студентов за пределами отдела информатики (кто все еще изучает Java).

Научно-исследовательская лаборатория Simula, которая является в большой степени в научные вычисления, дифференциальные уравнения в частных производных и т.д., использует Python экстенсивно.

10
ответ дан 18 December 2019 в 05:29
поделиться

Вы задаете существенно дефектный вопрос. Весь смысл управляемых языков - то, что Вы не обрабатываете память. Это обрабатывается Сборщиком "мусора", в то время как можно сделать определенные действия, чтобы лучше позволить ему делать свое задание эффективным способом, это не задание, чтобы сделать его задание.

Вещи, которые можно сделать для улучшения производительности в мире, где производительностью не управляете Вы, просты. Удостоверьтесь, что Вы не держите на ссылки, в которых Вы не нуждаетесь. И используйте базируемые переменные стека при необходимости в большем количестве управления ситуацией.

6
ответ дан 18 December 2019 в 05:29
поделиться

F#, кажется, несколько предназначен для этой аудитории. Существует на самом деле книга по имени F# для ученых.

Также этот вопрос задали в Lambda Окончательное.

5
ответ дан 18 December 2019 в 05:29
поделиться

Я думал бы, что функциональные языки подойдут лучше всего для этого типа задачи.

1
ответ дан 18 December 2019 в 05:29
поделиться

Вы могли бы быть удивлены числом людей, которые используют Matlab для этого, и поскольку это можно было считать языком программирования и конечно управляет его собственной памятью (с поддержкой огромных наборов данных, и т.д.) затем это нужно серьезно рассмотреть как решение здесь.

Далее, это сгенерирует код программы (может потребовать отдельного плагина?) поэтому, после того как Вы прибываете в алгоритм, который Вы хотите упаковать, у Вас может быть он, генерируют код C для выполнения работы, которую Вы первоначально имели в своем сценарии M или simulink модели.

- Adam

5
ответ дан 18 December 2019 в 05:29
поделиться

Не абсолютно уверенный, каков вопрос, но Вы могли бы хотеть проверить Крепость

3
ответ дан 18 December 2019 в 05:29
поделиться

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

Автор этой статьи, конечно, полагает, что это: Используйте Функции C# для Включения Проектов Научных вычислений

Как другие указали, важный пункт управляемого кода - то, что Вы не должны иметь дело с задачами управления памятью сами. Это - главное преимущество, поскольку оно позволяет Вам концентрироваться на алгоритмах.

2
ответ дан 18 December 2019 в 05:29
поделиться

С управляемым языком Вы не получаете тот контроль как легко. Самое главное на этих языках должно обработать malloc, мусор, и так далее. Каждый управляемый язык обработает это по-другому.

С Perl, исчерпывающим память, считается фатальной ошибкой. Можно спасти положение через некоторую маленькую меру с $ ^M, но это - то, только если компилятор был скомпилирован с той функцией, и Вы добавляете условия кода для него.

0
ответ дан 18 December 2019 в 05:29
поделиться

Разработчик Компонента BlackBox, разработанный микросистемами Oberon, является компонентно-ориентированной средой разработки для языка программирования „Компонент Паскаль “.

Из-за ее устойчивости, производительности и простоты, BlackBox отлично подходит для науки и инженерных приложений.

http://www.oberon.ch/blackbox.html

(Раскрытие: Я работаю на микросистемы Oberon),

С уважением, tamberg

1
ответ дан 18 December 2019 в 05:29
поделиться

Наилучшим вариантом является Python с NumPy/SciPy/IPython. Это имеет превосходную производительность, потому что базовая математика происходит в библиотеках, записанных в высоко оптимизированном C и Фортране. Так как Вы взаимодействуете с ним с помощью Python, все с точки зрения является чистым и управляемым с чрезвычайно сжатым, читаемым кодом и сборкой "мусора".

1
ответ дан 18 December 2019 в 05:29
поделиться

Из-за его издержек приложение.NET подвергнется потере производительности относительно неуправляемого приложения. Однако, потому что эти издержки являются более или менее константой, не связанной с полным размером приложения (ПРЕДУПРЕЖДЕНИЕ: упрощение), это становится относительно меньшим количеством штрафа большее приложение.

Таким образом, я пошел бы с.NET (пока она предоставляет Вам библиотеки, Вам нужно). Руководящая память является болью, и необходимо сделать это много для обладания способностью к ней. В.NET выберите любой язык, Вы являетесь самыми удобными, пока это не J# или VB.NET и является C#.

0
ответ дан 18 December 2019 в 05:29
поделиться

Короткий ответ заключается в том, что вы можете контролировать память и производительность программ, написанных на управляемых языках, выбирая подходящий язык (например, OCaml или F # ) и изучение того, как оптимизировать на этом языке. Для длинного ответа требуется книга на конкретном языке, который вы используете, например OCaml для ученых или Visual F # 2010 для технических вычислений .

Вам необходимо изучить следующие предметы. алгоритмические оптимизации, низкоуровневые оптимизации, структуры данных и внутреннее представление типов на выбранном вами языке.

1
ответ дан 18 December 2019 в 05:29
поделиться