В возрасте 82-х лет ушел из жизни Джон Бэкус, создатель языка Фортран - первого из высокоуровневых языков. Позже, после выхода в 1957 году Фортрана, Бэкус работал над функциональным языком FP.
Почему? Из-за наличия хорошо оптимизированных библиотек? Неужели нет таких же для ругих языков, в частности С? Фортран не знаю абсолютно, просто академический интерес.
> Вот сейчас сижу и ковыряю кусок такого "вылизанного и прокомментированного кода" на 77-м Фортране, и выть хочется
Выложи этот код куда-нибудь.
И коротко опиши предметную область. в смысле что код предположительно должен делать?
Тут возможно найдутся любители поковыряться в f77.
> Вот сейчас сижу и ковыряю кусок такого "вылизанного и прокомментированного кода" на 77-м Фортране, и выть хочется
Выложи этот код куда-нибудь.
И коротко опиши предметную область. в смысле что код предположительно должен делать?
Тут возможно найдутся любители поковыряться в f77.
Присоединяюсь. Таким людям был бы счастлив пожать руку. Простите конечно, но лучше бы умер создатель php какой нибудь %-(
Но.
Человек смертен. Все мы умрем.
Бэкус - мужик. ТАКИХ УЖЕ БОЛЬШЕ НЕ ДЕЛАЮТ. :-/
> Почему? Из-за наличия хорошо оптимизированных библиотек? Неужели нет таких же для ругих языков, в частности С? Фортран не знаю абсолютно, просто академический интерес.
в поздний Си специально был введен квалификатор restrict чтобы скопировать семантику фортрановских массивов -- которая позволяет более сильную оптимизацию
Ну подох и подох, хоть 20 пусть таких еще сдохнит, пусть хоть Ричи со Страуструпом помрут - главно Линус Торвальдс с нами. А на остальных - в ад животных :) Туда им и дорога :)
Эээээ.... Вы с какого дуба епнулись??? не смейте так о ЛЮДЯХ говорить НИКОГДА!!!!
Линус - ВЕЛИЧАЙШИЙ человек, но не одним им живет мир ПО (и Open Source в частности), может сейчас Фортран и не так актуален как раньше, но все таки Бэкус сделал огромный вклад в развитее ПО >>>> создатель языка Фортран - первого из высокоуровневых языков<<<<. Вы что не понимаете насколько это было эпохальное событие???Сам я Фортран и не знаю, но его вклад в развитие ПО понимаю.
Бэкуса уважаю, величайший человек был и большое дело сделал в своё
время. Хорошо, что он прожил долгую жизнь.
А на счёт фортрана, я как человек знающий и этот и много других языков,
могу сказать, что язык-то сам уже устарел и ему пора на пенсию.
Просто смешно слышать тут чушь про то, что на фортране написана куча
математических библиотек, которых нет на С. Один из основных флагманов
современной науки -- CERN -- уже давно переписал все свои библиотеки,
весь свой cernlib, весь GEANT на С и С++. Думаете, что они такие
дураки, что это сделали? Нет, просто возможностей самого языка фортрана
уже сильно не хватает. (s/уже/давно)
Что касается быстродействия: ничто, кроме ассемблерного кода, не может
быть быстрее грамотно написанной сишной программы. Фортран много
быстрее java, иногда быстрее С++, но никогда не быстрее С (речь идёт о
грамотно написанном коде).
О как. vsl на тебя нет. Он бы попросил на какой-нить risc проц пописать на ассемблере и оптимизировать. И вышло бы херовей чем вумным компиллером. Так что хнюс сморозили.
Fortran 90/95 несравнимо удобнее для работы с массивами чем си и компилятор луше заточен для численного кода с большими обьемами данных и теоретическм быстрее. Многие численные модели разрабатываються успешно. f77 пора забыть уже, там правда костылей много.
>Fortran 90/95 несравнимо удобнее для работы с массивами чем си и компилятор луше заточен для численного кода с большими обьемами данных и теоретическм быстрее.
А доказать ? ;)
На самом деле фортран семантически проще C/C++ и за счёт этого его компилятор более вылизан. C/C++ более гибкий но в пределе и тот и другой дают примерно одинаковый по быстродействию код. Популярность фортрана
связана с тем что исторически инженерные расчёты были вотчиной фортранистов-прикладников. Им ведь особо не нужно заморачиваться со всякой арифметикой указателей и прочей IT-шной лабудой. Но вот когда задача становится действительно сложной в плане описания структуры данных тут уже у C и особенно у C++ имеются некоторые преимущества. Новые версии фортрана (90,95,2k) эти преимущества частично отыгрывают но при этом теряют свою простоту. К примеру в CFD кодах сейчас соотношение между FORTRAN и C/C++ примерно 50/50 и смещается в сторону последних.
HPCwire: Will Fortran continue to be the fastest language? What about C and Java?
Yelick: This is an interesting question. Most vendor-supplied Fortran compilers share the backend, including optimization and code generation, with the C/C++ compilers. So in principle, the performance for the same program should be identical. There are still semantic differences between the languages, which will require the use of features like "restrict" in C/C++ to get the equivalent programs, and more of these may be needed in the C spec when it comes to multidimensional arrays. And programs that use all of the features of object-orientation and pointer-based data structures are unlikely to be as fast as their stripped-down counterparts. But the investment in Fortran compilers is not likely to be as high as in C/C++. Java is a different point on the spectrum: on the one hand the higher level of abstraction and need for automatic memory management add overhead, but the use of just-in-time compiler technology opens the door to optimizations that are not possible in a statically compiled
environment.
>> По скорости счёта фортрану нет равных
>
> Почему? Из-за наличия хорошо оптимизированных библиотек? Неужели нет > таких же для ругих языков, в частности С? Фортран не знаю абсолютно, > просто академический интерес.
Если я не ошибаюсь, фортран единственный язык, в котором массивы хранятся по столбцам... Самы большой прикол -- для производительной линейной алгебры сие есть самое то...
Ну и работа с памятью/указателями... Фортран хорошо оптимизирует её и не даёт сувать туда неумелые руки.
Моё сугубое IMHO: на Цэ _можно_ написать более эффективный код, нежели на Фортране, но а) это требует огромного труда и глубокого знания архитектуры и б) не так много людей знают язык Цэ лучше родного языка, а подробности об архитектуре как "Отче наш".
Вот так и выходит, что численный код на Фортране _в_среднем_ эффективнее кода на другом ЯП.
В догонку: эффективный код на Фортране к тому же более переносим именно потому, что об особенностях архитектуры должен заботиться компилятор, а не программист. (IMHO)
Fotran90 оперирует с массивами сходно matlabu.
where(a(5:10,2:4)==b(6:11,3:5)) c(:)=1
такое сравнение кусков матриц займет много ,больше на с и читаемость хуже. это только 1 пример их много. структуры тоже есть, правда в с несколько удобнее.
Удобнее ли с++? не вопрос, но скорость превыше всего. А в численнх расчетах надо избегать "виртуальных указателей на обЪекты" итп.. :)
Если finite elements unstructured grids то тогда наверно с лучше
>Fotran90 оперирует с массивами сходно matlabu. where(a(5:10,2:4)==b(6:11,3:5)) c(:)=1
>такое сравнение кусков матриц займет много ,больше на с и читаемость хуже. это только 1 пример их много. структуры тоже есть, правда в с несколько удобнее. Удобнее ли с++? не вопрос, но скорость превыше всего. А в численнх расчетах надо избегать "виртуальных указателей на обЪекты" итп.. :) Если finite elements unstructured grids то тогда наверно с лучше
На самом деле основные тормоза находятся в головах у программистов ;)
Нельзя писать код на C/C++ как на фортране и наоборот.
PS: Масивы в C/C++ можно хранить как угодно, по столбцам, по строкам и вообще как угодно ;) Только для этого действительно нужно представлять как эффективнее представить задачу с точки зрения архитектуры алгоритма.
"И второй вопрос. Почему большая часть фортрановских программ - кривые поделия на грани маразма?"
Кажется знаю ответ. У нас на предприятии есть научное подразделение. В нём трудятся один доктор и один кандидат наук. Должны разрабатывать методики по нашей предметной области (добыча нефти). У них так и чешутся руки запрограммировать что-нить. Вместо того, чтобы выдавать документацию на методики в отдел ПО (который потом это закодирует, оттестирует) они выдают кусок кода написанного на плюсах. Так вот этот кусок кода - полная задница. Заметь написано на плюсах! А всё почему - они не программисты! У них мозги вообще по другому устроены.
Конечно не все учёные такие, но многие ... по другому думают.
А инструмент конечно-же тут не причём - он скорее отвечает тем требованиям которые к нему предъявляются. А это научные расчёты повышенной сложности.
Э... ваша реакция понятна, но ответте мне на вопрос почему это было сказано мне?
Еще раз перечитайте мое сообщение
Dudraug.
ЗЫ: жалко, когда хорошие люди уходят=(
> Извини но ты написал бред. Fotran в серьезных численных моделях используется кругом.
Сам ты бред написал, я сам работаю с серьёзной обработкой данных,
фортран используется -- но лишь потому, что долго переписывать, всё,
что могут -- пишут на С. Ещё раз повторю, С -- быстрее. Напиши qsort
на C и на фортране (без сторонних либ кроме i/o данных/результатов) и
посмотри.