• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

На Каком Языке Писать "математику"

  • Автор темы forem0st
  • Дата начала
F

forem0st

Есть написанная достаточно давно программа. Программа сделана на C. Назначение программы конечноэлементный расчет. Назрела необходимость переделать устаревший интерфейс, а так же, что более важно - переписать код для возможности последующей работы в 64х разрядных системах. Задача требует больших затрат памяти и под 32бита её выделяется недостаточно.
Собственно вопрос: какой язык сейчас позволяет писать код, который потом в программе даст наиболее быстрое выполнение математических операций с возможностью работать в 64х разрядной виндовс.
Проблема может быть недостаточно четко сформулирована, но надеюсь что, что ваши уточняющие вопросы позволят прояснить ситуацию. Хочу ещё пояснить, что программу писали скорее не программисты а "математики" и некоторые пробелы в знаниях по вопросам непосредственно программирования имеют место.
 
M

-master-

C++ под винду, если именно она нужна.
 
F

forem0st

C++ под винду, если именно она нужна.
На С компиляция производилась непосредственно в машинные коды, что по идее должно ускорять работу программы. С++ тоже так делает?
И каким компилятором пользоваться для 64х бит?
 
M

-master-

С++ тоже так делает?
Умеет, нативный.Да и что вы подразумеваете пол "непосредственно в машинные коды" ?
А ваще, рассказали бы что программа должна делать. Математика сейчас это семачки.
 
L

LuMee

А имеет ли смысл все переписывать на новый язык? Можно же "математику" оставить на С, допилив имеющийся код для поддержки 64-битности (руководства в интернетах имеются), а интерфейс потом сделать практически на чем угодно; прикрутить его будет не слишком сложно.
 
F

forem0st

Умеет, нативный.Да и что вы подразумеваете пол "непосредственно в машинные коды" ?
А ваще, рассказали бы что программа должна делать. Математика сейчас это семачки.
Непосредственно машинный код подразумевает то, что нет компиляции в промежуточный байт-код CIL.
Программа не "должна делать", она делает и очень не плохо расчет нелинейной электромагнитной системы изменяющейся во времени.
Ну если без изысков, то это нестационарная задача расчета внутренних источников тепла при нагреве вихревыми токами индуктора.
Программа специализированная под такого типа задачи, соответственно алгоритм разбиения на сетку, и само решение системы уравнений
имеет определенные модификации и оптимизации. В данный момент из-за невозможности использовать достаточный объем памяти невозможно
решение по-настоящему трехмерной задачи, а это назревшая необходимость.
На счет того, что "сейчас это семечки" и так понятно, но задать машине задачку (причем вполне реальную а не с целью "чтоб завалить") и
решать её несколько дней даже сейчас не составляет никакого труда. В общем скорость нужна всегда...

Добавлено:
А имеет ли смысл все переписывать на новый язык? Можно же "математику" оставить на С, допилив имеющийся код для поддержки 64-битности (руководства в интернетах имеются), а интерфейс потом сделать практически на чем угодно; прикрутить его будет не слишком сложно.
Вот это очень интересно! Если не трудно подскажите в каком направлении копать (какие-нибуть ключевые слова если не сложно). Спасибо!
 
M

-master-

C++ это с + ооп, только и всего :). CIL это .net.
Вы просто не в ту тематику сразу написали. вот туда надо - link removed (перекину. там где-то должны быть ;) спецы по с)

Если у вас там алгоритмов и кода - горы, то тогда действительно проще просто поддержать 64, хотябы на первых порах.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!