Форум: "Прочее";
Текущий архив: 2007.12.09;
Скачать: [xml.tar.bz2];
ВнизСовременный научный язык программирования Найти похожие ветки
← →
Kostafey © (2007-11-10 18:21) [0]Раньше для написания всяких там вычислительных
задач, реализации мат. моделей использовали Fortran.
Ну, понятно, его и сейчас используют.
Но существует ли современный язык, являющийся
аналогом того для чего раньше использовался Fortran?
← →
ferr (2007-11-10 18:25) [1]Существует, и это С++.
А вообще никогда форт не был прям стандартом. Если нужно что-то быстрое, то да, писали на фортране, щас тоже самое пишут на C++.
Если же скорость не критична то любят побаловаться всякими интерпритируемыми языками, будь то лисп(на нём написана maxima например), или haskell(широко распространённый в математических кругах). А про matlab я даже и не заикаюсь.
P.S. всё imho.
← →
Ravi (2007-11-10 18:25) [2]Kostafey © (10.11.07 18:21)
"Программы на фортране можно писать на любом языке программирования" (C)
← →
Kostafey © (2007-11-10 18:30) [3]> [1] ferr (10.11.07 18:25)
> Существует, и это С++.
Все было так просто :)
> А вообще никогда форт не был прям стандартом.
Ну, я не правильно выразился.
Скажем так, традиционно использовался.
> лисп..
> или haskell
Но они интерпретируемые?
Хм, желательно, компилируемые.
← →
Kolan © (2007-11-10 18:31) [4]> А про matlab я даже и не заикаюсь
Это тоже за язык программирования канает? Тогда есть еще Maple
← →
DrPass © (2007-11-10 18:35) [5]
> А вообще никогда форт не был прям стандартом
Вообще-то несколько лет Фортран был вообще единственным высокоуровневым языком программирования в мире, и еще долгое время после этого - самым распространенным.
С++ же никогда не был языком для математических вычислений. Просто потому, что в нем нет никакой поддержки этого, не считая некоторых малоизвестных библиотек от малоизвестных разработчиков. Языки для математики - это Matlab, Mathematica и иже с ними
← →
Внук © (2007-11-10 18:35) [6]>>А вообще никогда форт не был прям стандартом.
Форт и фортран - разные вещи. В смысле - и язык форт тоже есть (forth)
← →
korneley © (2007-11-10 18:41) [7]
> Вообще-то несколько лет Фортран был вообще единственным
> высокоуровневым языком программирования в мире
Эта, в каком это году? Formula Translation прекрасно сосуществовал и с PL и с другими. Может на просто на том мэйнфрейме, которым Вы пользовались транслятора подходящего не было?
← →
korneley © (2007-11-10 18:45) [8]
> Может на просто на том
Чего-то одно лишнее "на". По Фрейду, наверное %)
← →
Kostafey © (2007-11-10 18:46) [9]Кстати по библиотекам.
В VisualFortran мат. библиотеки входят?
← →
Anatoly Podgoretsky © (2007-11-10 18:51) [10]ferr (10.11.07 18:25) [1]
А форт то в чем винован?
← →
ferr (2007-11-10 18:55) [11]> А форт то в чем винован?
Тем что я про него не знал.
← →
Anatoly Podgoretsky © (2007-11-10 19:00) [12]> ferr (10.11.2007 18:55:11) [11]
Но тем не менее его назвал, командир.
← →
korneley © (2007-11-10 19:00) [13]Есть мнение, что Вирт и Енсен, Паскаль именно для обучения создавали. Хотя нас не языку учили, а ОВТ (основы вычислительной техники), при этом на М6000 - фортран, а на ЕС - PL, а на программируемом калькуляторе - его система команд.
← →
DrPass © (2007-11-10 19:07) [14]
> korneley © (10.11.07 18:41) [7]
> Эта, в каком это году?
В середине 50х годов прошлого века. Еще ДО появления и PL/1, и семейства IBMовских мейнфреймов
← →
Shuram (2007-11-10 19:10) [15]DrPass © (10.11.07 18:35) [5]
>
> С++ же никогда не был языком для математических вычислений.
> Просто потому, что в нем нет никакой поддержки этого, не
> считая некоторых малоизвестных библиотек от малоизвестных
> разработчиков. Языки для математики - это Matlab, Mathematica
> и иже с ними
>
Математические пакеты используются скорее на этапе исследования. Production код пишется на C/C++, в некоторых системах есть возможность транслировать код самого пакета на эти языки.
← →
korneley © (2007-11-10 19:24) [16]
> DrPass © (10.11.07 19:07) [14]
Ну так задачи стоящие тогда и привели к его созданию. Потом сфера применения расширилась, и пошло, начиная с алгола...
← →
isasa © (2007-11-10 19:59) [17]ferr (10.11.07 18:25) [1]
Существует, и это С++.
Я бы не был столь категоричен. По моему опыту столкновения с решением систем нелинейных уравнения итерационными методами, больше подходит Борландовский Паскаль, и по скорости и по наличию в плавающей арифметике типа extended
← →
celades © (2007-11-10 20:12) [18]
> и по скорости и по наличию в плавающей арифметике типа extended
а в С++ её нет? О_о
← →
palva © (2007-11-10 20:17) [19]isasa © (10.11.07 19:59) [17]
По скорости (выполнения, а не компиляции) паскаль уступает тому же борландовскому си. Не говоря уже о сишных компиляторах, написанных Intel специально под свой процессор. А тип extended есть даже в борландовском си и называется этот тип long double. Попробуйте такую строчку:printf("%d\n", sizeof(long double));
Напечатает 10
← →
Mitrandir (2007-11-10 20:17) [20]isasa © (10.11.07 19:59) [17]
В C++ есть 128 битный long double, кроме того есть GMP (http://gmplib.org )
← →
isasa © (2007-11-10 20:44) [21]Читаем MSDN
C Language Reference
Type long double
The long double type is identical to the double type.
The following table summarizes the storage associated with each basic type.
Sizes of Fundamental Types
Type Storage
char, unsigned char, signed char
1 byte
short, unsigned short
2 bytes
int, unsigned int
4 bytes
long, unsigned long
4 bytes
float
4 bytes
double
8 bytes
long double
8 bytes
The C data types fall into general categories.
The "integral types" include char, int, short, long, signed, unsigned, and enum.
The "floating types" include float, double, and long double.
The "arithmetic types" include all floating and integral types.
Кроме этого в Ms VS 2005 v 8.0.50727.762(SP.050727-7600)
printf("sizeof long double = %d\n", sizeof(long double));
выдает
sizeof long double = 8
Это муляж ...
Сразу видно, что человек пишет программы по преобразованию информации, не расчетные ... :)
← →
palva © (2007-11-10 21:05) [22]> Это муляж ...
Я предпочитаю верить своим глазам.#include <stdio.h>
int main() {
double d;
long double ld;
d = ld = 1.0;
d += 1e-16;
ld += 1e-16;
if(d == 1.0) printf("d\n"); // d
if(ld == 1.0) printf("ld\n"); // ничего не печатает
return 0;
}
← →
isasa © (2007-11-10 21:19) [23]Ну, операции сравнения двух вешественных чисел на равество, это круто.
Я пытаюсь этого никогда не делать.
Про Борланд С, не скаже, нет под рукой.
А MSDN верю, сам в студии попробуй, прозреешь.
printf("sizeof long double = %d\n", sizeof(long double));
Кроме этого "скрытые шутки"
double GetValue (double i)
{
return i;
}
int _tmain(int argc, _TCHAR* argv[])
{
printf("sizeof long double = %d\n", sizeof(long double));
double x = GetValue(1/3);
printf("GetValue(1/3) = %g (%f)\n", x, x);
double y = GetValue(1./3);
printf("GetValue(1./3) = %g (%f)\n", y, y);
getchar();
return 0;
}
очень утомляют. А когда кода много и возведения в степень, например, как грязи, и пишут студенты задолбаешься искать.
Попробуй вышеприведенную шутку проэмулировать на Паскале ...
← →
isasa © (2007-11-10 21:29) [24]ЗЫ. У меня выводит
d
ld
← →
palva © (2007-11-10 21:43) [25]> сам в студии попробуй, прозреешь.
Я в чем-то слеп, конечно. Не могу только понять в чем.
← →
palva © (2007-11-10 21:45) [26]isasa © (10.11.07 21:29) [24]
В борланд си, которого "нет под рукой"? Или в Microsoft, где double и long double эквивалентны? Что вы пытались проверить?
← →
isasa © (2007-11-10 21:56) [27]:)
Ты текст весь читаешь, или через строку.
isasa © (10.11.07 21:19) [23]
Про Борланд С, не скаже, нет под рукой.
← →
palva © (2007-11-10 22:06) [28]isasa © (10.11.07 21:56) [27]
Эту строчку я тоже прочитал, только не очень понял. Потому и спрашиваю, какой у вас компилятор.
Я вот как сейчас Visual Studio 6.0 установлю - мало не покажется.
← →
isasa © (2007-11-10 22:14) [29]:)
isasa © (10.11.07 20:44) [21]
...
Кроме этого в Ms VS 2005 v 8.0.50727.762(SP.050727-7600)
У меня такое впечатление, что Борланд не слишком порадовал клиента, и для FPU, что Delphi что Turbo C++ генерят одинаковый код. Все рассуждения "быстрее" от лукавого. Производитель один ...
← →
palva © (2007-11-10 22:24) [30]> Кроме этого в Ms VS 2005 v 8.0.50727.762(SP.050727-7600)
Понятно. Теперь вернемся к моему прежнему вопросу: Что вы хотели проверить запуском моего кода на этом компиляторе.
> Все рассуждения "быстрее" от лукавого.
Вам и здесь примеры кода привести?
← →
isasa © (2007-11-10 22:33) [31]Примеры кода чего?
Производительности, или того, что extended(10 бйат) в Turbo C++ борланд обозвал long double(10 бйат)
Судя по
http://www.ysn.ru/docs/cie/RFC/1832/32.htm
этот тип не есть стандарт IEEE 754-1985, а их наработки, аналогичные real(в 6 байт) в Turbo Pascal 3, 4, 5, 5.5, 6, 7 , в общем, до Дельфи, где был заменен на IEEE 754-1985 single, double.
А раз свой, то я не думаю, что они делали два велосипеда ...
← →
palva © (2007-11-10 22:40) [32]> Примеры кода чего?
Производительности.
← →
isasa © (2007-11-10 22:43) [33]В субботу, вечером?
:)
Да ну ее нафиг эту арифметику с плавающей точкой...
← →
Иксик © (2007-11-11 18:16) [34]Знаю, что многие биологи/биохимики любят Perl.
← →
ferr (2007-11-11 18:17) [35]> Знаю, что многие биологи/биохимики любят Perl.
дык строки.. на с++ ватненько дело со строками..
← →
Иксик © (2007-11-11 18:46) [36]Кстати, а для ресурсоемких вычислений все еще используют линукс сервера :) Вчера был в астрономическом НИИ на экскурсии, видел серверную :)
← →
KilkennyCat © (2007-11-12 02:07) [37]Интересно, а в С++ рисовать можно? А музыку писать? Ну и заодно разводку печатных плат сделать?
Линукссиплюспиво какое-то.
← →
Думкин © (2007-11-12 06:36) [38]> Иксик © (11.11.07 18:46) [36]
http://www.t-platforms.ru/print.html?103Помимо стандартного набора управляющего и системного ПО "СКИФ Cyberia" использует новую операционную систему Microsoft® Windows® Compute Cluster Server 2003. Привычная среда разработки новой ОС и легкость интеграции с существующей инфраструктурой и приложениями призваны облегчить и ускорить процесс создания приложений для высокопроизводительных вычислений.
← →
Иксик © (2007-11-12 21:07) [39]
> Думкин © (12.11.07 06:36) [38]
>
Ну я же не сказал, что везде и всегда. Вот тут астрономы используют.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.12.09;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.04 c