[image]

Фортран

Есть тут с кем побазарить про это?
 
1 4 5 6 7 8 9 10

yacc

старожил
★★★
16-й> Оптимизатор умнел и дурил местами, так на это компатибл предусмотрен. Открути вниз и живи по старому.
Языки всегда развиваются и тянуть совместимость порой геморно.

И 21 века давно есть виртуальные машины или эмуляторы
Кому принципиально нужен именно Фортран-2 с ДВК - может попробовать на эмуляторе RT-11

Эмулятор PDP-11 или просто о ДВК | История

Сегодня рассмотрим Эмулятор 16 битного компьютера PDP-11, познакомимся с отечественным ДВК и маленько по программируем на моем любимом Бэйсике. //  ds-release.ru
 
   92.0.4515.10792.0.4515.107
+
-
edit
 

Gudleifr

опытный

<удалено по просьбе администрации>
   97.0.4692.7197.0.4692.71
Это сообщение редактировалось 17.01.2022 в 23:44
+
-
edit
 

Zenitchik

старожил


yacc> Онлайн фортран работает только со стандартом 90 и выше - там больше нет позиционного синтаксиса и поэтому комментарий со знака вопроса.

Если я правильно помню спеку, то стандарт 90 должен поддерживать позиционный синтаксис.
   96.0.4664.13796.0.4664.137

yacc

старожил
★★★
G.s.> Так эта попытка переехать на Фортран другого поколения у меня не спонтанно возникла.
G.s.> Сначала я попытался работать через виртуальную машину, поставить на неё MS-DOS и Win98.
G.s.> Для пользователя типа меня - программиста/прикладника это тоже сложновато.
С виртуалкой как раз все просто - там есть общие каталоги ( Shared Folders ) - через них все кидается туда и обратно.
Виртуалка - это удобно.

G.s.> Вот теперь у меня две альтернативы: переучивать современный фортран или продвинуться в использовании виртуалки.
Новый стандарт - а свободный текст был еще с F77 - ведет к изменению циклов без меток и условий без GOTO - если писать новое лучше на нем.
   92.0.4515.10792.0.4515.107
+
-
edit
 

yacc

старожил
★★★
yacc>> Онлайн фортран работает только со стандартом 90 и выше - там больше нет позиционного синтаксиса и поэтому комментарий со знака вопроса.
Zenitchik> Если я правильно помню спеку, то стандарт 90 должен поддерживать позиционный синтаксис.
Спека и реализация - разное
Позиционный синтаксис поддерживается при указании соответствующего ключа компилятора
   92.0.4515.10792.0.4515.107

16-й

аксакал
★★
16-й>> Оптимизатор умнел и дурил местами, так на это компатибл предусмотрен. Открути вниз и живи по старому.
yacc> Языки всегда развиваются и тянуть совместимость порой геморно.
yacc> И 21 века давно есть виртуальные машины или эмуляторы

Тянуть совместимость, понятно, геморно. Но совершенно неизбежно. Даже сложно представить, что за катаклизм случится, если, скажем, ввели в стандарт SQL оконные функции, и в действующих СУБД, со всеми возведенными на них системами, банками, сапами и прочими вавилонами, вдруг возникла несовместимость с былым синтаксисом.
Разговоры в разрезе фортрана здесь вообще ни о чем. Чего там особо в том фортране снизу-вверх совмещать? Мне только один из вариантов в голову приходит - разработчики выбрали какой-то конкретный диалект, который лично им больше понравился. И он, типа, "не такой".
   96.0.4664.4596.0.4664.45

yacc

старожил
★★★
yacc>> Языки всегда развиваются и тянуть совместимость порой геморно.
yacc>> И 21 века давно есть виртуальные машины или эмуляторы
16-й> Тянуть совместимость, понятно, геморно. Но совершенно неизбежно.
Ты когда последний раз использовал такой синтаксис ? :p

 select C.cid,cname from Customers as C, Orders as O
 where C.cid *= O.cid and O.cid IS NULL

Вот писать без аналитических функций, APPLY и джоинов в стиле SQL-92 мне как-то не хочется совсем :p

16-й> Разговоры в разрезе фортрана здесь вообще ни о чем. Чего там особо в том фортране снизу-вверх совмещать?
Свободный стиль с позиционным, метки вместо структурного программирования
Т.е. как бы окно назад оставляют, но опциями

В Ф90 ввели кучу того, что в фортране никогда не было
   92.0.4515.10792.0.4515.107

16-й

аксакал
★★
yacc> Ты когда последний раз использовал такой синтаксис ? :p

Да, когда. Не так давно. Есть куча старого кода, который приходится сопровождать. (И, кстати, никуда не делась куча староверов, которым эти условные left join противны - на всяком тематическом форуме их есть в ассортименте.)
И дело ж не в том, что оно хочется или не хочется. А в том, что оно по прежнему работает. Вот как раньше работало, так и сейчас. Не лучше - += все так же будет выделываться на условие с двумя разными таблицами. Но и не хуже.
   96.0.4664.4596.0.4664.45

+
-
edit
 

Gudleifr

опытный

<удалено по просьбе администрации>
   97.0.4692.7197.0.4692.71
Это сообщение редактировалось 17.01.2022 в 23:25

yacc

старожил
★★★
16-й> Да, когда. Не так давно. Есть куча старого кода, который приходится сопровождать.
Слава яйцам я с таким давно не сталкивался даже в легаси коде

16-й>(И, кстати, никуда не делась куча староверов, которым эти условные left join противны - на всяком тематическом форуме их есть в ассортименте.)
Нах Нах

16-й> И дело ж не в том, что оно хочется или не хочется. А в том, что оно по прежнему работает.
Вот кстати очень хороший пример в тему

Fortran code conversion to Python 3.x

Years ago I wrote a program in Fortran for a structural analysis class. At the time I had very little programming experience and mottled my way through ... //  www.daniweb.com
 

Человек переписал старый фортрановский код на Питон и тот стразу стал... ГОРАЗДО ЧИТАЕМЫЙ
А без него, IF с тремя метками, метки на формат, метка в 6 позиции для продолжения строки...

Фортран-4 даже в стиль Фортран-77 перевести - уже все станет более читаемым
   92.0.4515.10792.0.4515.107

Garry_s

опытный

yacc> В Ф90 ввели кучу того, что в фортране никогда не было
Так вот в этом и засада.
Если эти нововведения диктовались какими-то прям концептуальными запросами прикладников - это было бы понятно.
А если только для того, чтобы было как "у людей" - то нафиг.
Вот я априори не могу сказать, понадобятся мне эти новые примочки или нет.
Скорее всего нет. А тогда нафига ломать мозги???
   97.0.4692.7197.0.4692.71
+
+1
-
edit
 

Garry_s

опытный

yacc> Вот кстати очень хороший пример в тему
yacc> Человек переписал старый фортрановский код на Питон и тот стразу стал... ГОРАЗДО ЧИТАЕМЫЙ
Пример действительно хороший, но как антипример.
Уж сколько нам твердили учителя: программа без комментариев - не просто дурной тон, это выстрел в ногу.
Как не читалась исходная прога, так не читается и новая.
yacc> А без него, IF с тремя метками, метки на формат, метка в 6 позиции для продолжения строки...
А если строка уходит за горизонт экрана - это хорошо читается?
yacc> Фортран-4 даже в стиль Фортран-77 перевести - уже все станет более читаемым
Дело вкуса.
Если набил руку, так и всё легко и понятно.
   97.0.4692.7197.0.4692.71
+
+3
-
edit
 

yacc

старожил
★★★
G.s.> Если эти нововведения диктовались какими-то прям концептуальными запросами прикладников - это было бы понятно.
А чем еще ?
Не комитет же по стандартам все сам придумывает.
Ему поступают предложения - он их рассматривает, собирает и выпускает новый стандарт

G.s.> Вот я априори не могу сказать, понадобятся мне эти новые примочки или нет.
Ну кто-то запускает эксель для того чтобы посмотреть графики, перед этим заменяя точки на запятые
Скажем в Питоне я их рисую сам, библиотеками, с возможностью сохранения
Накидать интерфейс чтобы поиграться с параметрами - тоже несложно
   92.0.4515.10792.0.4515.107
+
+1
-
edit
 

yacc

старожил
★★★
G.s.> Уж сколько нам твердили учителя: программа без комментариев - не просто дурной тон, это выстрел в ногу.
Да нифига не учат их писать.
В учебных программах - а они как правило короткие - они особо не используются.
Студент сдал и забыл

G.s.> Как не читалась исходная прога, так не читается и новая.
Новая гораздо лучше читается

G.s.> А если строка уходит за горизонт экрана - это хорошо читается?
Это одинаково что для IF с переходами, что для IF, ELSE IF, END IF

G.s.> Дело вкуса.
G.s.> Если набил руку, так и всё легко и понятно.
Именно поэтому я, хоть и не фан Паскаля, но считаю его хорошим учебным языком - он сразу учит структурному программированию без GOTO
   92.0.4515.10792.0.4515.107

+
-
edit
 

tarasv

аксакал

G.s.> Вот я априори не могу сказать, понадобятся мне эти новые примочки или нет.
G.s.> Скорее всего нет. А тогда нафига ломать мозги???

Если бы я писал на Фортране в 90е то работы с массивом и его частями как с единым целым была бы поводом перейти на F90 без вопросов. С идентификаторами из 6 символов человеку попробовавшему PL/1 и С становилось уже неуютно, так что опять F90.
Правда там объявили устаревшим мой способ выигрывать на спор пиво заявляя что я могу написать любую программу на Форнтране без использования оператора GO TO. Ну и бог с ним.
   97.0.4692.7197.0.4692.71
+
-1
-
edit
 

Gudleifr

опытный

yacc> Именно поэтому я, хоть и не фан Паскаля, но считаю его хорошим учебным языком - он сразу учит структурному программированию без GOTO
Да, в этом минус Паскаля, он подменяет структурное программирование "кодированием без GOTO".
   97.0.4692.7197.0.4692.71

yacc

старожил
★★★
tarasv> Если бы я писал на Фортране в 90е то работы с массивом и его частями как с единым целым была бы поводом перейти на F90 без вопросов. С идентификаторами из 6 символов человеку попробовавшему PL/1 и С становилось уже неуютно, так что опять F90.
Не торопись :p

Вот давай я тебе себя в пример приведу.
Итак, программа обучения на ФизФаке включала несколько курсов, связанных с ЭВМ, читаемых последовательно по мере изучения других предметов.

На 1 курсе были лекции + практикум по программированию - основы Фортран - один семестр ( т.е. полгода )
Как то: основы языка, переменные/массивы, конструкции типа циклов, условий, работа с файлами и консолью - ввод/вывод
Ну и задачки типа решения квадратного уравнения - ибо по математике еще мало что дали

Далее на 2 курсе еще один семестр - численные методы: нахождение экстремума функции, вычисление интегралов, метод монте-карло, БПФ

Далее на 3 курс, курс АСНИ - Автоматизированные системы в научных исследованиях - общая архитектура ЭВМ ( процессор, ОЗУ, шины, периферия ), базовые понятия по ассемблеру, базовые понятия по прерываниям, портам и контроллерам внешних устройств. Крейт КАМАК.

И ЕМНИС еще одни семестр уже на 4 курсе по статистическим методам на ЭВМ - всякие распределения, генераторы случайных величин по заданному распределению, гистограммы и т.п.


В общей сложности:
- на язык как таковой - один семестр
- на численные методы с его использованием - еще парочка семестров
- на устройство ЭВМ и периферию - 1 семестр

Это вот то, что я бы знал, если бы ничего сам дополнительно не изучал. :p

Теперь о прикладных задачах.
С таким багажом написание всяких более-менее сложных интерактивных программ - дело почти невероятное.
Максимум некий консольный ввод параметров по запросу программы.

Бакалаврская работа - цифровые нерекурсивные фильтры. Вообще по хорошему там мне надо было доделать установку для регистрации Шумановских резонансов ( это первая гармоника волновода земля-ионосфера, примерно 8 Гц радиоволна )
Но в реале спецы кафедры активно изучали IBM PC, в то время как установка была на ДВК-2 и оказалось что плата интерфейса И2 ( через которую к ЭВМ подключается АЦП, а тот к приемнику )
 


была не рабочая и не работала в режиме прерываний
К слову - а кто-нибудь тут работал на Фортране непосредственно с портами, установкой обработчиков прерываний в RT-11 ? И связь ДВК-2 с крейтом КАМАК :p

И поскольку И2 оказался нерабочим, было принято решение ( шефом ), в силу недостатка времени, для диплома смоделировать как цифровой фильтр обрабатывает сигнал.
Писал я правда основную часть на С, но с тем же успехом это делалось бы на фортране

Так вот задача делилась на четыре части - четыре программы.
1. Генератор сигнала - на вход набор частот ( заданный спектр ) и длительность радиоимпульса - количество точек при заданной дискретизации. На выход - набор амплитуд по дискретизации.

2. Программа расчета цифрового фильтра ( у меня был ФНЧ ) - на вход частота отсечки и порядок фильтра. На выход - набор коэффициентов для фильтра

3. Программа цифрового фильтра - на вход выходные файлы с 1 и 2, на выходе - сигнал после фильтра, в файл

4. Программа БПФ ( я просто взял готовую что ребята на паскале написали, ибо то, что нам дали на вычметодах на фортране была неправильная ) - на вход 3, на выходе - выходной спектр по частотам

Ни одна из программ не использовала графику, все работало с текстовыми файлами данных
Смотрел я это в grapher чтобы не заморачиваться.
Вот нужны ли бы мне были возможности Ф90 - да не очень, совсем бы не очень :p

И вот теперь, если представить что только с этими знаниями я бы пошел устраиваться программистом после окончания ВУЗа - я бы был натуральным ламером. :p
   92.0.4515.10792.0.4515.107
RU спокойный тип #18.01.2022 12:34  @yacc#18.01.2022 12:28
+
-
edit
 

спокойный тип
Спокойный_Тип

старожил
★★
☠☠
yacc> И вот теперь, если представить что только с этими знаниями я бы пошел устраиваться программистом после окончания ВУЗа - я бы был натуральным ламером. :p

да ладно, толковая заготовка для джуна. как минимум умеет моделировать цифровые нерекурсивные фильтры.

а по ИИ, СУБД , АСУ вам ничего не давали? (ну хотя да, вы же физики, зачем прикладыми АСУшными вещами грузить)

зы
у нас как у спецов по АСУ УВД (управление воздушным движением а не то что ты подумал) - фортран на ЕС ЭВМ ознакомительно шёл, так как легаси такого много где было в те годы...а диплом был на дельфях
   96.096.0
Это сообщение редактировалось 18.01.2022 в 12:40
RU yacc #18.01.2022 12:40  @спокойный тип#18.01.2022 12:34
+
-
edit
 

yacc

старожил
★★★
с.т.> а по ИИ, СУБД , АСУ вам ничего не давали? (ну хотя да, вы же физики, зачем прикладыми АСУшными вещами грузить)
Какой ИИ в 90-е ? :p

СУБД тех времен - это FoxPro, Clipper :p

АСУ тех времен у нас в лабах через КАМАК и делалось
Вот как на Фото 3 только с ДВК
 


Самим КАМАК можно было управлять через контроллер-монитор и смотреть состояние на индикаторе шины
 

   92.0.4515.10792.0.4515.107
RU Gudleifr #18.01.2022 12:41  @спокойный тип#18.01.2022 12:34
+
-1
-
edit
 

Gudleifr

опытный

yacc> я бы был натуральным ламером.
Это то самое: "для современных "программистов" компьютер, видимо, представляется "калькулятором" с миллиардом кнопок на все случаи жизни, а программа - просто бусами, собранными из этих кнопок".
Т.е. Вы оценивали свое "ламерство" по количеству "запомненных кнопок".

с.т.> а по ИИ, СУБД , АСУ вам ничего не давали?
Т.е. еще пара-другая наборов "кнопок".
   97.0.4692.7197.0.4692.71
RU спокойный тип #18.01.2022 12:45  @yacc#18.01.2022 12:40
+
-
edit
 

спокойный тип
Спокойный_Тип

старожил
★★
☠☠
с.т.>> а по ИИ, СУБД , АСУ вам ничего не давали? (ну хотя да, вы же физики, зачем прикладыми АСУшными вещами грузить)
yacc> Какой ИИ в 90-е ? :p

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

yacc> СУБД тех времен - это FoxPro, Clipper :p

угу.

но у теркасса под капотом было что-то ещё. а фокспро был для подготовки ПТП - плановая таблица полётов.
   96.096.0
RU yacc #18.01.2022 12:53  @спокойный тип#18.01.2022 12:45
+
-
edit
 

yacc

старожил
★★★
yacc>> Какой ИИ в 90-е ? :p
с.т.> )) нам хорошо читали. собственно я благодаря тем лекциям вполне понимаю сегодняшних DS - понятно что нечёткая логика, эмуляция перцептонов, кластерный анализ , распознование на практике сильно ушли вперёд благодаря техническому прогрессу - но концептульно база и теория не устарели.
Это разве что на МатМехе или Пм-Пу и то - только на части кафедр
Ну скажем TERCOM для Томогавка - коррекция по цифровому профилю используя только радиовысотомер как датчик - из той же серии, только подобный алгоритм будет лежать в секретном отделе :p
   92.0.4515.10792.0.4515.107
RU yacc #18.01.2022 13:01  @спокойный тип#18.01.2022 12:34
+
-
edit
 

yacc

старожил
★★★
с.т.> да ладно, толковая заготовка для джуна. как минимум умеет моделировать цифровые нерекурсивные фильтры.
Тут скорее другой навык - декомпозиция задачи на модули, написание и отладка этих модулей-программ, интеграция всего вместе, в совокупности с другими готовыми программами ( типа Grapher ), для решения задачи.

Сами программы - вполне короткие - не более 100-200 строчек кода. Там комментарии толком не нужны - на защите диплома не их код оценивается. Поэтому комментарии на бумажке для себя, где есть основные формулы для расчета ( они же в диплом ) - достаточно.

Я приводил этот пример как то, что комментарии студенту особо не требуются

Тот пример на Фортране, что я выше дал - порядка 150 строк кода
И Ф90 не особо тут нужен :p
   92.0.4515.10792.0.4515.107
Это сообщение редактировалось 18.01.2022 в 13:07
+
-1
-
edit
 

Gudleifr

опытный

yacc> Я приводил этот пример как то, что комментарии студенту особо не требуются
Это, как раз, пример обратного. Ведь программы в Вашем случае по одиночке не жили, и способы их "интегрирования" должны были быть документированы (что проще всего было сделать комментариями в коде).
   97.0.4692.7197.0.4692.71

yacc

старожил
★★★
Gudleifr> Это, как раз, пример обратного. Ведь программы в Вашем случае по одиночке не жили, и способы их "интегрирования" должны были быть документированы (что проще всего было сделать комментариями в коде).
Интеграция осуществляется дипломом - в нем все модули, их назначение и параметры описаны.
В самом коде, если он небольшой, комментарии не нужны, при наличии диплома
   92.0.4515.10792.0.4515.107
1 4 5 6 7 8 9 10

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru