Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.066 c
3-1185865653
StriderMan
2007-07-31 11:07
2007.12.09
Окна редактирования записей таблиц(справочников)


2-1194872329
DimOk
2007-11-12 15:58
2007.12.09
Как подключить файл помощи


4-1179816649
default7
2007-05-22 10:50
2007.12.09
как получить число копий в задании принтера


11-1180182392
VPBar
2007-05-26 16:26
2007.12.09
Ошибка TStrListEx.DeleteLast ??


15-1194719751
zvukoff
2007-11-10 21:35
2007.12.09
алгоритм сжатия PCM-данных





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский