Как транслировать программы, написанные на языке Фортран в 80-ых для новых версий фортрана для Windows?
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как транслировать программы, написанные на языке Фортран в 80-ых для новых версий фортрана для Windows?

Как транслировать программы, написанные на языке Фортран в 80-ых для новых версий фортрана для Windows?

Ответ
Поиск в этой теме
Непрочитано 19.11.2010, 14:17 #1
Как транслировать программы, написанные на языке Фортран в 80-ых для новых версий фортрана для Windows?
(PGS)Dale
 
инженер, аспирант
 
Киев
Регистрация: 20.07.2010
Сообщений: 17

Я занимаюсь кандидатской диссертацией по строительной механике. Для математических экспериментов мой руководитель использует язык программирования Fortran и компилятор NDP. У него есть еще часть программ написанных для перфокарт.
Так как MS-DOS уже не входит в состав Windows, компиляция становится проблемой (нужно ставить Windows 98, настраивать системные файлы, что не каждый современный программист может сделать).
Подскажите новые версии Fortranа для Windows XP и как ними правильно прочитать старые программы?
Просмотров: 15266
 
Непрочитано 19.11.2010, 14:33
1 | #2
Meknotek

Проектирование заборов уже в прошлом
 
Регистрация: 29.10.2009
Рязань
Сообщений: 2,089


Почитайте для начала:
http://progopedia.ru/language/fortran/

Компиляторы Фортрана, распространяемые бесплатно:
http://www.thefreecountry.com/compilers/fortran.shtml
Можно попробовать вот этот: http://users.humboldt.edu/finneyb/gfortran-windows.exe (сам не проверял)

Последний раз редактировалось Meknotek, 19.11.2010 в 14:40.
Meknotek вне форума  
 
Непрочитано 23.11.2010, 12:28
#3
dvim

ИТ Логистика Строительство
 
Регистрация: 06.10.2009
Петербург
Сообщений: 24
<phrase 1=


А не хотите просто поставить виртуальную машину с MS-DOS
Имхо перепись программного кода - это очень трудоемкий процесс.
Так же вы сможете , в этой виртуальной среде, иметь "классический DOS" И использовать расчетный софт
dvim вне форума  
 
Непрочитано 23.11.2010, 12:46
#4
Meknotek

Проектирование заборов уже в прошлом
 
Регистрация: 29.10.2009
Рязань
Сообщений: 2,089


Цитата:
Сообщение от dvim Посмотреть сообщение
А не хотите просто поставить виртуальную машину с MS-DOS
Имхо перепись программного кода - это очень трудоемкий процесс.
Так же вы сможете , в этой виртуальной среде, иметь "классический DOS" И использовать расчетный софт
Имеет смысл только если диалект Фортрана был уж очень специфический и без того компилятора (NDP) не обойтись. Вполне возможно, вышеупомянутые компиляторы спокойно "переварят" старые программы.
Meknotek вне форума  
 
Непрочитано 23.11.2010, 13:01
#5
dvim

ИТ Логистика Строительство
 
Регистрация: 06.10.2009
Петербург
Сообщений: 24
<phrase 1=


Попробовать можно.

Но если не пойдет советую один раз настроить виртуальную систему,
и тем самым просто отнаследовать имеющееся решение.
dvim вне форума  
 
Непрочитано 23.11.2010, 14:22
#6
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от (PGS)Dale Посмотреть сообщение
У него есть еще часть программ написанных для перфокарт.
По сему я предпологаю что эта часть измеряется килобайтами - может попробывать все-же на современные платформы переписать?
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 23.11.2010, 15:27
#7
(PGS)Dale

инженер, аспирант
 
Регистрация: 20.07.2010
Киев
Сообщений: 17


А не хотите просто поставить виртуальную машину с MS-DOS

Это крайний вариант. Если через несколько лет придется опят ставить все заново, не факт что найдется специалист в этой области. Знакомые айтишники не учили MS-DOS и как связать NDP с ним тоже не знают. Говорят, что нужно изменить autoexec.bat, но как это сделать? Для этого нужно искать старых специалистов в этой области.
Можно самому научится, записать алгоритм, но не факт что этот NDP будет нормально работать на частоте современных процессоров.
Я планирую весь этот комплекс сделать доступным и современным, может у кого то есть мнение как это правильно сделать?
(PGS)Dale вне форума  
 
Непрочитано 23.11.2010, 15:55
#8
Stierlitz

В строительном проектировании с 05.10.2004
 
Регистрация: 01.05.2008
Новосибирск
Сообщений: 5,221


http://www.dosbox.com/
Stierlitz вне форума  
 
Непрочитано 23.11.2010, 16:28
1 | #9
Разработчик

Ну типа прочнист
 
Регистрация: 12.01.2005
Москва
Сообщений: 1,649
<phrase 1=


(PGS)Dale
Цитата:
Я планирую весь этот комплекс сделать доступным и современным, может у кого то есть мнение как это правильно сделать?
Доступным - это я так понимаю с современным интерфейсом. Тогда оставьте всю эту ДОСину, перегоните все в C и развивайте дальше. Есть бесплатный перекодировщик f2c в поисковиках много ссылок.
__________________
ZZH
Разработчик вне форума  
 
Непрочитано 23.11.2010, 17:19
#10
Meknotek

Проектирование заборов уже в прошлом
 
Регистрация: 29.10.2009
Рязань
Сообщений: 2,089


Цитата:
Сообщение от Разработчик Посмотреть сообщение
перегоните все в C и развивайте дальше.
Фортран в качестве "расчетного" вроде еще никто не отменял, под него написаны тысячи библиотек, компиляторы развиваются, язык потихоньку "шлифуют" (последняя "редакция" - 2008г.).
И не факт, что более-менее серьезная программа нормально будет транслирована в С (ИМХО, т.к. не пробовал, не знаю).

Так что ИМХО стОит все-таки все эти программы 1) Попытаться запустить на современном компиляторе, если не получится, то 2) Адаптировать под современный стандарт Фортрана

Последний раз редактировалось Meknotek, 23.11.2010 в 17:39.
Meknotek вне форума  
 
Непрочитано 23.11.2010, 17:47
1 | #11
Разработчик

Ну типа прочнист
 
Регистрация: 12.01.2005
Москва
Сообщений: 1,649
<phrase 1=


Цитата:
Фортран в качестве "расчетного" вроде еще никто не отменял
..............
И не факт, что более-менее серьезная программа нормально будет транслирована в С
Именно расчетная часть, как раз очень точно и перегонится. Фортран в своем исходном (расчетном) варианте - настолько бедный язык, что перекодировщик при желании может написать любой программист, даже я, например Сейчас с трудом представляю себе, как я обходился им 20 лет между Алголом и Паскалем. Конечно, расширений его много было создано, и если программа написана на версиях после 90-й, то там уже все сложнее, но и перекодировщик, наверняка, писали специалисты по компиляторам.
Был у нас некоторое количество лет назад опыт приклепывания (на уровне линкера) Фортрановских функций к С-шной программе. Помнится ни к чему хорошему это не привело.
__________________
ZZH
Разработчик вне форума  
 
Непрочитано 23.11.2010, 21:29
#12
dvim

ИТ Логистика Строительство
 
Регистрация: 06.10.2009
Петербург
Сообщений: 24
<phrase 1=


Цитата:
Я планирую весь этот комплекс сделать доступным и современным, может у кого то есть мнение как это правильно сделать?
Тогда переписывать , при этом на другой язык.
С "тех" времен компьютеры стали быстрее настолько что никто этого не заметит.
Просто сейчас по современному фортрану спецы есть, но их очень мало - язык не мейнстримовый.

Просто берем и переписываем на С#. Сами или нанимаем кого - вполне решаемая задача.
dvim вне форума  
 
Непрочитано 23.11.2010, 23:47
#13
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Кто нить объяснит: почему именно фортран так распространен в научных вычислениях???
gomer вне форума  
 
Непрочитано 24.11.2010, 06:29
#14
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
Сообщение от gomer Посмотреть сообщение
Кто нить объяснит: почему именно фортран так распространен в научных вычислениях???
Рискну высказать свое мнение - по дурости. А также в силу исторических причин. Студентов в свое время (я уже не застал) мучили нарзаном Фортраном. Преподаватели именно его знали, а они во многом определяют "научные вычисления". А потом сложилась легенда, что научные вычисления надо делать на Фортране.

Да, Фортран никто не отменял. Язык нельзя "отменить". Но это не "мэйнстрим" и если развивается, то именно "потихоньку". Так же, как отдельные закосневшие любители некоторых других систем потихоньку их развивают.

Да, для Фортрана есть тысячи библиотек. Но в конкретной программе "тысячи" библиотек не нужны. То, что надо наверняка есть и для современных систем программирования, а если нет, то и переписать не проблема.

Но руководители "научных вычислений" люди довольно закостеневшие. Для них "Фортран" магическое слово, якобы признак качества.
ShaggyDoc вне форума  
 
Непрочитано 24.11.2010, 08:36
#15
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Студентов в свое время (я уже не застал) мучили нарзаном Фортраном.
Странно, я застал... Изучал его в университете, а выпускался я в 2007.
Изначально язык создавался для математических вычислений (FORTRAN - FORmula TRANslator), в изучении прост, вычислительный потенциал хороший - поэтому и получил широкое распространение.
Do$ вне форума  
 
Непрочитано 24.11.2010, 11:41
#16
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
Странно, я застал... Изучал его в университете, а выпускался я в 2007
Ну, так это, наверное, на специализированном факультете. А раньше обучали Форррртрану "простых" инженеров. Потом появились Basic, Pascal... А я университетов не кончал.
ShaggyDoc вне форума  
 
Непрочитано 24.11.2010, 13:10
#17
Victor


 
Регистрация: 14.06.2009
Бат-Ям
Сообщений: 295


Интересно выкинули оператор goto из фортрана? Помню уйму времени потерял пока научили обходиться без него. Представляете листинг 5 метров goto туда, goto сюда.
Victor вне форума  
 
Непрочитано 24.11.2010, 13:36
#18
Meknotek

Проектирование заборов уже в прошлом
 
Регистрация: 29.10.2009
Рязань
Сообщений: 2,089


Цитата:
Сообщение от gomer Посмотреть сообщение
Кто нить объяснит: почему именно фортран так распространен в научных вычислениях???
Цитата:
Фортра́н (Fortran) — первый реализованный язык программирования высокого уровня, правда, с одной небольшой оговоркой — для машин, построенных по классической схеме фон Неймана. Создан в период с 1954 по 1957 год группой программистов под руководством Джона Бэкуса (John Backus) в корпорации IBM. Через пару лет начались его коммерческие поставки. До этого программирование велось либо непосредственно в машинных кодах, либо на символических ассемблерах. Собственно, эту деятельность и называли не программированием, а кодированием; только с появлением Фортрана возникла профессия «программист». Название Fortran является аббревиатурой от FORmula TRANslator, то есть, переводчик формул
Естественно, в то время мало кого интересовало программирование игрушек или видеоплееров, поэтому естественно "первый..." был создан для и пущен на решение самых насущных проблем.

Переводить все со специализированного языка на "мейнстримовый" универсальный смысла не вижу. "Универсальный" язык хорош для профессиональных программистов, которые могут столкнуться в своей карьере с любыми задачами и смогут их решить (более-менее удачно) с помощью "универсала". А для прикладных программистов (вроде тех же ученых-физиков, аспирантов и т.п.) "универсализм" не нужен, им нужен определенный инструмент. Если он будет проще в деталях хотя бы на 10% (отсутствие каких-нибудь #include, заморочки с присоединением сторонних библиотек и т.п. - это я не про С/С++С#, я так, для примера), то это уже ОЧЕНЬ весомый аргумент для выбора непрфессионалом именно этого языка/компилятора/среды.

P.S. Чтобы не разводить холивары на тему С/С++/С# vs. FORTRAN(..BASIC, PASCAL) для инженеров - сам я потихоньку изучаю С++, но выбор этот был не из-за каких-либо "убеждений", а скажем так долгий и достаточно взвешенный выбор, именно для меня. Рекомендовать тот же С++ кому-то из инженеров для решения "прикладных" задач не рискну.

Последний раз редактировалось Meknotek, 24.11.2010 в 13:51.
Meknotek вне форума  
 
Непрочитано 24.11.2010, 14:30
#19
Разработчик

Ну типа прочнист
 
Регистрация: 12.01.2005
Москва
Сообщений: 1,649
<phrase 1=


Не соглашусь. У меня вот было вполне инженерное образование и исторически первым языком - со второго курса (1970) - был Алгол и замечательный транслятор ТА-1М на БЭСМ-4, идеально реализовавший практически всю семантику "Первоначального сообщения". А потом появились все эти Мински и ЕС-клоны IBM, для которых не было нормального алгол-транслятора и все мы вынуждены были переходить на Фортран. Как же мы тогда плевались на него! Примитивный, негибкий, отсутствие блочной структуры, перечисления в циклах, динамического распределения памяти и пр. и пр. и пр. Почти 20 лет мучился с ним, пока не пришел к нам вместе с персоналками Borland Турбо Паскаль - реинкарнация Алгола. Конечно, те кто шли четырьмя-пятью годами позже, когда БЭСМ-4 уже убрали с нашего ВЦ, начинали сразу с Фортрана и не чувствовали его убогости. Была, правда еще на ЕС такая попытка создать алгол-транслятор: создали специальный язык - Алгамс (типа Алгол социалистический), но он был настолько примитивный, что оказался невостребованным.
__________________
ZZH
Разработчик вне форума  
 
Непрочитано 24.11.2010, 14:52
#20
Meknotek

Проектирование заборов уже в прошлом
 
Регистрация: 29.10.2009
Рязань
Сообщений: 2,089


Цитата:
Сообщение от Разработчик Посмотреть сообщение
Не соглашусь. У меня вот было вполне инженерное образование и исторически первым языком - со второго курса (1970) - был Алгол и замечательный транслятор ТА-1М на БЭСМ-4, идеально реализовавший практически всю семантику "Первоначального сообщения". А потом появились все эти Мински и ЕС-клоны IBM, для которых не было нормального алгол-транслятора и все мы вынуждены были переходить на Фортран. Как же мы тогда плевались на него! Примитивный, негибкий, отсутствие блочной структуры, перечисления в циклах, динамического распределения памяти и пр. и пр. и пр. Почти 20 лет мучился с ним, пока не пришел к нам вместе с персоналками Borland Турбо Паскаль - реинкарнация Алгола. Конечно, те кто шли четырьмя-пятью годами позже, когда БЭСМ-4 уже убрали с нашего ВЦ, начинали сразу с Фортрана и не чувствовали его убогости. Была, правда еще на ЕС такая попытка создать алгол-транслятор: создали специальный язык - Алгамс (типа Алгол социалистический), но он был настолько примитивный, что оказался невостребованным.
Тут я ничего не скажу, у меня такого опыта как у Вас нет ))))) просто стоит хорошенько подумать, прежде чем "перегнать все в С". Я так понимаю, автор темы и его руководитель знают Фортран и совсем не знают С (и его производные). Переводить в С - это будет для них темный лес. Маленькая ошибка - и без привлечения посторонних не обойтись. Другое дело, если бы вопрос был в том "какой язык программирования изучить чтобы переписать старые программы на фортране". При наличии большого количества библиотек ко многим языкам (а также возможности "приделать" уже скомпилированные библиотеки, в т.ч. dll), выбор языка - дело вкуса, привычки, традиций, удобства(а не принципиальной возможности) пользования для определенной цели...

Последний раз редактировалось Meknotek, 24.11.2010 в 14:58.
Meknotek вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как транслировать программы, написанные на языке Фортран в 80-ых для новых версий фортрана для Windows?