Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Fortran > [General] Заблуждения о Fortran


Автор: Балабол 28.4.2008, 16:51
По мне так ущербен и невнятен. Предпочел бы работать с расширением языка C или чего-то типа скриптов для Matlab или Maple. Я не знаю модуль какого фортрана встроили систему в которой мне приходится делать курсач, но там каждое лишнее движение - туча ньюансов. Язык программирования должен быть языком программирования, а не костылем между математиком и окружением. 

Автор: semka 29.4.2008, 05:46
Лучше всего суть фортрана передаёт одна народная программерская мудрость: "Плохой программист способен на любом языке программирования писать как на фортране".
Я на пушечный выстрел больше к этому ужасу не подойду, он наверняка хорош для программ в 50 строк, но саппорт такого кода --- это полнейший шохвиниздер.

Автор: Иванофф 9.5.2008, 22:22
чтобы оценить язык на нем нужно написать что-то большое, с разными структурами или решаюшим какую-то приличную задачу.
а оценивальщики языков по программам на 50 строк только портят высказываниями свою репутацию.

Автор: semka 12.5.2008, 07:34
Для того, что бы оценить язык, нужно не написать, а поподдерживать что-то большое.
Писать довольно легко практически на любом языке, а вот работать с вторичным кодом --- это настоящий Ад.
Особенно когда дело касается фортрана. Bad style as language desing, что ж тут хорошего.

Автор: popovda 12.5.2008, 11:57
Если речь идёт о старом Фортране, то - да, это неструктурированный ЯП, 77-ой - плохоструктурированный. Но, если Вы относите себя к тем, кто считает, что код, содержащий goto - это уже не код, то напишите штук 7 вложенных циклов на том же C, причём при некотором условии вам нужно будет выйти из всех 7 циклов, то как вы поступите? Кстати, читать плохо насписанный код на С гораздо сложнее, чем старый фортрановский код. Жаль сейчас примерчик копирования файлов такого рода не найду:) А Фортран стандарта 95, и тем более 2003, - это мощный язык. И красивый. Он естественный для описания математических задач. 

Пример кода на Фортране 95 по выходу из 3-х вложенных циклов:
Код

main_loop: do i = 1,M ! Имя цикла - main_loop. Отличие от метки в том, что нельзя сказать goto main_loop
                       do j = 1,N
                            do k = 1,P
                                 if(Z(i,j,k)<0) exit main_loop; ! Вываливаемся из всех трех циклов
                                 if(Z(i,j,k)==0) exit; ! Только из внутреннего цикла
                                 .........   
                            end do; ! k...
                       end do ! j ....  
                  end do main_loop;


Вот. Красиво? Изящно? Да. 

Или, например, все неположительные элементы умножить на 2, а все положительные поделить на 3
Код

real(8) :: A(100,100) ! Матрица 100х100
           where(A<=0)
                      A = 2.0_8*A;
           elsewhere
                      A = A/3.0_8;
           end where;


Это, между прочим, параллельная инструкция.

Я читаю курс современного Фортрана на кафедре Прикладной математики в МАТИ, второй курс - ещё зелёные:), численных задач не решали, а вот 4 курс Фортран оценил. Когда задача вместо 100 строк за 10 решается. И при этом полностью соответствует хорошему стилю программирования (если этому стилю соответствует сам программист:) если нет - это кодер:) ). 

Автор: Иванофф 13.5.2008, 01:38
Цитата(semka @ 12.5.2008,  07:34)
Для того, что бы оценить язык, нужно не написать, а поподдерживать что-то большое.
Писать довольно легко практически на любом языке, а вот работать с вторичным кодом --- это настоящий Ад.
Особенно когда дело касается фортрана. Bad style as language desing, что ж тут хорошего.

вы говорите загадками.
чем "вторичный код" фортрана отличается от с.
если поддерживаете фортран 4, то перейдите на современный фортран. а он не лучше и не хуже обычных языков в плане поддержки. есть минусы по ограниченности типов данных, есть плюсы по прозрачной работе с ссылками. где вы нашли АД даже непонятно. АД можно создать рукотворно, используя стиль программирования не соответствующий языку.

Автор: popovda 13.5.2008, 16:37
Цитата

"Плохой программист способен на любом языке программирования писать как на фортране"

Народная мудрость не всегда права, semka. 


Речь идет о Фортран 4/66. Причем с колокольни 80-90-ых годов. Даже сомневаться не приходится. 

Только не надо забывать, что старый фортран - это не компилируемый язык, а транслируемый. И код, написанный на нём близок к машинному. Тем более, что тогда сражались за каждый байт данных, за каждую операцию. Ибо машинное время было  ну очень дорогим удовольствием. И написанное на Ф66, сейчас кажется дикостью, а тогда считалось хорошо написанным кодом, который оптимизировал сам программист. 

Посмотрите стандарты 90 и выше. Они вас удивят. 

Полностью согласен с г-ом Иваноффым! Программистский Ад - это дело рук человеческихsmile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)