Здравствуйте, LaptevVV, Вы писали:
LVV>Просто трансляторы фортрана были "вылизаны" еще в 60-е годы. А уж библиотек для численных расчетов для фортрана было написано море! И тоже были максимально оптимизированы
Остается добавить, что программы на Фортране отлично переносятся с платформы на платформу. Во всяком случае мне как-то пришлось переносить проект, начавшийся, наверное, до моего рождения где-то в ДОС ЕС и продолжавшийся в ОС ЕС, на PC. Не трогал практически нигде ничего. Один раз нарвался на сегментную модель памяти в реальном режиме MS DOS (пришлось добавить атрибут HUGE некоторым массивам), да кодировку сменить на ASCII. Позже мы так же легко перенесли ее в OS/2 16 бит, OS/2 32 бита, Win 95. В UNIX ее перенесли без меня, говорят, без проблем. По слухам, та числодробилка работает и сейчас. В конце 90-х я работал с PC-версией Графора. В качестве документации пользовался этой, написанной, ЕМНИП, в 1972 году, книгой.
Re[6]: Почему математику лучше писать на C++, чем на Java ил
Здравствуйте, Privalov, Вы писали:
P>Здравствуйте, LaptevVV, Вы писали:
LVV>>Просто трансляторы фортрана были "вылизаны" еще в 60-е годы. А уж библиотек для численных расчетов для фортрана было написано море! И тоже были максимально оптимизированы
P>Остается добавить, что программы на Фортране отлично переносятся с платформы на платформу. Во всяком случае мне как-то пришлось переносить проект, начавшийся, наверное, до моего рождения где-то в ДОС ЕС и продолжавшийся в ОС ЕС, на PC. Не трогал практически нигде ничего. Один раз нарвался на сегментную модель памяти в реальном режиме MS DOS (пришлось добавить атрибут HUGE некоторым массивам), да кодировку сменить на ASCII. Позже мы так же легко перенесли ее в OS/2 16 бит, OS/2 32 бита, Win 95. В UNIX ее перенесли без меня, говорят, без проблем. По слухам, та числодробилка работает и сейчас. В конце 90-х я работал с PC-версией Графора. В качестве документации пользовался этой, написанной, ЕМНИП, в 1972 году, книгой.
Вот!!!!
А книжка эта — диссер Юрия Матвеича Баяковского. Кандидатский! Вот диссеры были — весь СССР пользовался!
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Почему математику лучше писать на C++, чем на Java ил
CreatorCray wrote:
> LVV>Потому что лучше писать вообще на фортране... > Но вот только для этого надо учить фортран
Что там учить-то ? он простой, как 2 копейки, если не
изучать устаревшие конструкции и не изучать read/write/format,
который почти наверняка в смешанном коде и так не будет использоваться.
Posted via RSDN NNTP Server 2.1 beta
Re: Почему математику лучше писать на C++, чем на Java или C
erslgoeirjh wrote:
> вычисления лучше всего писать на C++, а не на Java или C#? Потому что в > C++ есть тип long double (наряду с double и float), а в Java -- только > double и float?
Я бы сказал, потому что на Java вообще лучше ничего не писать.
Posted via RSDN NNTP Server 2.1 beta
Re: Почему математику лучше писать на C++, чем на Java или C
Здравствуйте, erslgoeirjh, Вы писали:
E>Я разрабатываю проект, в котором часть программ пишется на Java, а часть -- на C++. При этом наиболее математическо ёмкая часть проекта будет писаться на C++. Я хотел бы узнать, почему считается, что математические вычисления лучше всего писать на C++, а не на Java или C#? Потому что в C++ есть тип long double (наряду с double и float), а в Java -- только double и float?
Пиши на том где быстрее и удобнее дописать проект до конца. Я вот пишу математику на том же C#, и плевать мне на то что C# код действительно работает медленнее С++. После того как я напишу и отлажу алгоритм (а именно на это уходит большая часть времени) я профайлером легко определю все узкие места. А затем эти узкие места просто переписываю на С++.. И все работает!
Re[2]: Почему математику лучше писать на C++, чем на Java ил
. Тут С++ порвал С# в пять(!) раз. Именно на математике, причём пример был предложен C#истом.
Именно на математике — соглашусь, порвал. А комплексного решения предложенной именно мной задачи на C++ так никто и не увидел. А до тех пор, пока решение на C++ не появится, попрошу не упоминать о том что C++ порвал C# в задаче моей постановки.
Re[4]: Почему математику лучше писать на C++, чем на Java ил
Здравствуйте, trophim, Вы писали:
T>Я уже не застал эпохи фортрана. Расскажите вкратце: он действительно даст более быстрый код (если не прибегать к ручной супер-пупер оптимизации на уровне ассмблера)? (ну, скажем, на примере Intel Fortran vs Intel C++)
. Можно то же самое свести к нескольким словам для понимающих: DSL для численных расчётов всегда будет лучше, чем язык общего назначения, ограниченный расчётными действиями.
А с Java вообще тяжёлый случай — если не используется JIT, причём очень грамотный JIT: слишком много левых затрат на "объектную модель"... Там, где эти затраты компенсируются чем-то другим — она может показать результаты и лучше, но её основное преимущество не в скорости, а в переносимости.
The God is real, unless declared integer.
Re[6]: Почему математику лучше писать на C++, чем на Java ил
Здравствуйте, LaptevVV, Вы писали:
P>> В конце 90-х я работал с PC-версией Графора. В качестве документации пользовался этой, написанной, ЕМНИП, в 1972 году, книгой. LVV>Вот!!!! LVV>А книжка эта — диссер Юрия Матвеича Баяковского. Кандидатский! Вот диссеры были — весь СССР пользовался!
Ну дак если качественный продукт сделан, совершенно неважно, диссер это или что-то другое. Аксакалы, помню, отзывались о Графоре с большой симпатией. Я и решил его на PC попробовать. Позже я для него переходников понаписал, чтобы из C его звать можно было. Исключительно приятная библиотека. И другие были не хуже.
P.S. СССР к тому времени давно уже не было. А Графор, судя по Гуглу, до сих пор применяется.
Re[5]: Почему математику лучше писать на C++, чем на Java ил
Здравствуйте, netch80, Вы писали:
N>А с Java вообще тяжёлый случай — если не используется JIT, причём очень грамотный JIT: слишком много левых затрат на "объектную модель"... Там, где эти затраты компенсируются чем-то другим — она может показать результаты и лучше, но её основное преимущество не в скорости, а в переносимости.
Фортран-программы переносятся не хуже. Со всем остальным согласен.
Re[7]: Почему математику лучше писать на C++, чем на Java ил
Здравствуйте, LaptevVV, Вы писали:
P>>В качестве документации пользовался этой, написанной, ЕМНИП, в 1972 году, книгой. LVV>Вот!!!!
Это был возглас восхваления отсутствия развития — когда ничего не меняется?
LVV>А книжка эта — диссер Юрия Матвеича Баяковского. Кандидатский! Вот диссеры были — весь СССР пользовался!
Ага, кстати Баяковский не был аспирантом и защищался "в обход" аспирантуры. Мне тоже предлагал так сделать.
Re[8]: Почему математику лучше писать на C++, чем на Java ил
Здравствуйте, D. Mon, Вы писали:
P>>>В качестве документации пользовался этой, написанной, ЕМНИП, в 1972 году, книгой. LVV>>Вот!!!! DM>Это был возглас восхваления отсутствия развития — когда ничего не меняется?
не... Графор — это островок стабильности в нашем непостоянном ИТ-мире... LVV>>А книжка эта — диссер Юрия Матвеича Баяковского. Кандидатский! Вот диссеры были — весь СССР пользовался! DM>Ага, кстати Баяковский не был аспирантом и защищался "в обход" аспирантуры. Мне тоже предлагал так сделать.
Я с ним разговаривал в году 75-76-м примерно. Тоже про аспирантуру. Он мне тоже тогда сказал, что в Москве своих аспирантов — пруд пруди. Поэтому в аспирантуру в Москву — сложно.
Вообще, очень приятный дядька. http://www.keldysh.ru/departments/dpt_20/Bayak.html
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Почему математику лучше писать на C++, чем на Java или C
Здравствуйте, erslgoeirjh, Вы писали:
E>Я разрабатываю проект, в котором часть программ пишется на Java, а часть -- на C++. При этом наиболее математическо ёмкая часть проекта будет писаться на C++. Я хотел бы узнать, почему считается, что математические вычисления лучше всего писать на C++, а не на Java или C#? Потому что в C++ есть тип long double (наряду с double и float), а в Java -- только double и float?
Здравствуйте, Vzhyk, Вы писали:
V>LaptevVV пишет: >> >> Просто трансляторы фортрана были "вылизаны" еще в 60-е годы. А уж >> библиотек для численных расчетов для фортрана было написано море! И тоже >> были максимально оптимизированы V>Только вот процессоры были другие, под которые фортран вылизывался.
Отсутствие перекрытия переменных (aliasing) в нём осталось до сих пор.
Что даёт очень большой объём оптимизаций.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re: Почему математику лучше писать на C++, чем на Java или C
Здравствуйте, erslgoeirjh, Вы писали:
E>Я разрабатываю проект, в котором часть программ пишется на Java, а часть -- на C++. При этом наиболее математическо ёмкая часть проекта будет писаться на C++. Я хотел бы узнать, почему считается, что математические вычисления лучше всего писать на C++, а не на Java или C#? Потому что в C++ есть тип long double (наряду с double и float), а в Java -- только double и float?
Главным образом это предпочтения людей, которые в состоянии понять суть проблемы и написать соответствующие математические вычисления. Также их знания и опыт.
Re[2]: Почему математику лучше писать на C++, чем на Java ил
Здравствуйте, barn_czn, Вы писали:
_>Пиши на том где быстрее и удобнее дописать проект до конца. Я вот пишу математику на том же C#, и плевать мне на то что C# код действительно работает медленнее С++. После того как я напишу и отлажу алгоритм (а именно на это уходит большая часть времени) я профайлером легко определю все узкие места. А затем эти узкие места просто переписываю на С++.. И все работает!
Потом какому-то бедняге надо будет поддерживать этот безумный микс из С#'a & C++'а. Опять же, заморочки при отладке и дальнейшей модификации. Хотя, конечно все зависит от конкретной ситуации.
Lisp is not dead. It’s just the URL that has changed: http://clojure.org
Re: Почему математику лучше писать на C++, чем на Java или C
Здравствуйте, erslgoeirjh, Вы писали:
E>Я разрабатываю проект, в котором часть программ пишется на Java, а часть -- на C++. При этом наиболее математическо ёмкая часть проекта будет писаться на C++. Я хотел бы узнать, почему считается, что математические вычисления лучше всего писать на C++, а не на Java или C#? Потому что в C++ есть тип long double (наряду с double и float), а в Java -- только double и float?
Потому, что С++ часть потом можно будет переписать на ассемблере (SSE и пр). А явовскую часть — нет.
Кроме того, есть ещё и доступ к массивам, который в яве, увы, однозначно медленее и менее удобный для оптимизации.