[image]

Фортран

Есть тут с кем побазарить про это?
 
1 2 3 4 5 6 7 10
+
+1
-
edit
 

Garry_s

опытный


G.s.>> Критический баг, это когда в программе расчёта траектории американского венерианского аппарата в строке программы вместо
G.s.>> DO 10 I=1,10
G.s.>> оказалось набито
G.s.>> DO 10 I=1.10
cholev> Точка стандартный десятичной разделитель.
cholev> Так что, скорее всего DO 10 I=1.10 правильная строка
Фортран игнорирует пробелы, поэтому из-за замены запятой на точку, вместо выполнения 10 раз какого-то набора операций, действительной переменной DO10I было присвоено значение 1.10.
Причем эта ошибка не потянула за собой других, транслятор её, естественно, пропустил, а расчет оказался ошибочным.
   96.0.4664.11096.0.4664.110

yacc

старожил
★★★
yacc> Если там речь про VB - это лет 10-20 назад писалось ?
Я угадал

Книга "Интерфейс: новые направления в проектировании компьютерных систем" Раскин Джеф – купить книгу ISBN 5-93286-030-8 с быстрой доставкой в интернет-магазине OZON

В наличии Книга "Интерфейс: новые направления в проектировании компьютерных систем" (Раскин Джеф), Символ-Плюс в интернет-магазине OZON со скидкой! ✅ Отзывы и фото ? Быстрая доставка по России //  www.ozon.ru
 

Книга 2005 года
Тогда модно было UI отдать более "дешевым" программерам на VB
   92.0.4515.10792.0.4515.107
RU Garry_s #10.01.2022 22:57  @Татарин#10.01.2022 20:17
+
+1
-
edit
 

Garry_s

опытный


Татарин> Конечно, полезный расчёт можно написать даже на васике или фортране. Часто его и НУЖНО писать на чём-то таком, примитивном, простеньком. Но это не значит, что оными задачами мир и ограничивается. :) Просто по сути задачи программирования, требующиеся инженерам или прикладникам, как правило, просты.
Возможно и так. Но только мне, как инженеру и прикладнику, тоже хочется, чтобы моя программа была на СОВРЕМЕННОМ визуальном уровне, чтобы я мог покрутить полученную кривую и так и эдак и чтобы ввод исходных данных и, не дай бог, их массивов не превращался в рутинную мУку.
Вот тут мне и нужен программист, чтобы окошки, кнопки для ввода и графики для вывода эффективно закодировал.
Татарин> Не всегда (ресолверы всяких 3д-задач, кое-какой обсчёт квантовой химии или некоторые задачи биоинформатики могут быть сложными), но как правило они просты. Сложность там в инженерии, физике или там биологии, сложности для программиста в таких вещах никакой нет. Если мозг специалиста достаточно деформирован, он может заявить, что, мол, раз типичный кодер с улицы не может написать такое (читать как "не понимает конкретной области деятельности"), то и задача эта оченно для программиста сложная.
Да к сожалению так и есть.
Даже хороший математик-прикладник, никогда не почувствует подвоха и ошибки, которую узкий физик-инженер сразу, одним взглядом уловит в кривой, описывающей процесс, которая идет не туда.
Или совершает изгибы, которых быть не должно.
Татарин> Сложная именно в аспекте программирования задача - написание современного бравзера. Или, допустим, движка базы данных. Или текстового редактора с функциональностью того же "Ворда". Или фирмвары современного магистрального рутера.
Это как раз и есть рутина программистского ремесла.
Обеспечить чайнику-пользователю минимум проблем в типовых, шаблонных задачах.
Татарин> Но человеку, который видел только дико примитивные (в смысл программирования) задачи типа квантовых расчётов или моделирования атмосферы, это объяснить невозможно. Он же "та-акие сложные вещи сам писал!" :)
В этом и есть кайф программиста-физика: посмотреть, а куда она полетела, если вот тут нагреть, а тут надавить, а здесь изменить Мах/Рейнольдс...
   96.0.4664.11096.0.4664.110
RU спокойный тип #10.01.2022 22:58  @yacc#10.01.2022 22:39
+
+1
-
edit
 

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

старожил
★★
Gudleifr>> См. цитату из Раскина в начале темы. Большинство "современных программистов" начинают думать над уравнением с рисования экранной формы.
yacc> Там пример с VB - вообще не показатель ( он, кстати, еще не умер ? :p )
yacc> Скажем на Линуксе гораздо проще сделать консольное приложение.

логично...или на шелле или на питоне (ну или на перле до питона).

данные из файла + параметры командной строки + конфигурационный файл. если много данных - тогда с SQL базой работам.

результат аналогично - или на консоль или в файл , + лог файл. ну и если с базой - тогда в базу пишем.

можно по REST стучаться куда-то, курлом работать или LWP например...

как-то так, если чисто для себя какая-то прикладная задачка.
   95.095.0
+
-1
-
edit
 

Gudleifr

опытный

yacc> Вот в бэкенде вообще как такового интерфейса нет

По одной простой причине. Все нарисовано до них.
 


Общие схемы большинства решений давно всем известны, и остается только заполнить кодом несколько дырок.
   97.0.4692.7197.0.4692.71
+
+1
-
edit
 

Garry_s

опытный


G.s.>> А, блин, интегрирование по Рунге-Кутту или интегралы какие-нибудь эллиптические???
yacc> Вон мне потребовалось погонять систему линейных дифференциальных уравнений - а именно эпидемиологическую модель SEIRD
yacc> Я изначально поглядывал в сторону чего-то типа MATLAB или MATCAD - ну открытый аналог
yacc> ... а потом просто взял Python - там есть библиотеки для решения диффуров - и все.
Так и к старым компиляторам фортрана придавались просто необозримые библиотеки стандартных программ.
Как сейчас помню: толстенные распечатки инструкций и описаний, они даже типографским способом не печатались.
Почти не сомневаюсь, что и в современных языках, том же Питоне, наверное есть.
Но, я повторяюсь, зачем менять шило на мыло?
Всё более я укрепляюсь в мысли, что этот нескончаемая замена "хорошего" "лучшим" проистекает из той же психологии продавца все более нового телевизора/холодильника/машины.
"Продажники" задавили всех.
   96.0.4664.11096.0.4664.110
+
-
edit
 

Gudleifr

опытный

G.s.> Возможно и так. Но только мне, как инженеру и прикладнику, тоже хочется, чтобы моя программа была на СОВРЕМЕННОМ визуальном уровне, чтобы я мог покрутить полученную кривую и так и эдак и чтобы ввод исходных данных и, не дай бог, их массивов не превращался в рутинную мУку.
G.s.> Вот тут мне и нужен программист, чтобы окошки, кнопки для ввода и графики для вывода эффективно закодировал.

Вот здесь и приходится попрощаться с классическими языками. Визуальное приложение - это программа, которая очень много чего делает, чтобы просто удержаться на экране. А расчетами она занимается только когда ей нечего делать. И главная задача программиста вычислений здесь - не нарушить процесс визуализации. Т.е. изменять что-то только в тех местах, когда изменение, с одной стороны, не будет затерто рисовалкой, а, с другой,- не отрисует что-нибудь "поперек". Поэтому "трансляторы формул" и выродились в CAD-ы, взявшие всю отрисовку и менеджмент ресурсов на себя.
   97.0.4692.7197.0.4692.71

Garry_s

опытный


Gudleifr>> Это компенсируется тем, что "без интерфейса" практически уже никто не может (Раскин над тем и смеется, что никому это и в голову не пришло).
yacc> Фортран это числодробилка
yacc> Зачем интерфейс ?
yacc> Кто мешает файлы с параметрами использовать ?
yacc> А потом посмотреть в том же GNU Plot
Вы будете смеяться, но я этим и занимаюсь сейчас вынужденно.
Графический интерфейс, который у меня подключен к фортрану - это библиотека Графор, умеющая рисовать 2D графики, которые надо описать громоздкими операторами.
Только я беру не ГНУПЛОТ, с которым тоже ещё надо разобраться, а более понятный мне EXCEL.
И, что мне приходится делать, чтобы посмотреть график, полученный на фортране???
Заменять в текстовом редакторе десятичные точки на запятые!!! :(
Потому, что я не придумал еще, как вывести действительное числа с плавающей точкой и заменить её на запятую непосредственно в фортран-программе.
   96.0.4664.11096.0.4664.110
RU yacc #10.01.2022 23:26  @спокойный тип#10.01.2022 22:58
+
-
edit
 

yacc

старожил
★★★
с.т.> данные из файла + параметры командной строки + конфигурационный файл. если много данных - тогда с SQL базой работам.
именно так
в случае фортрана - из plain файлов

с.т.> результат аналогично - или на консоль или в файл , + лог файл. ну и если с базой - тогда в базу пишем.
именно так
в случае фортрана - в plain файлы
Потом внешний просмотрщик типа GNUPlot

с.т.>логично...или на шелле или на питоне (ну или на перле до питона).
Дофига на чем
Я так на линуксе пробовал Modula-2, F77, Ocaml, Ada - все равно это кросс-транслятором превращается в С и потом скармливается gcc
   92.0.4515.10792.0.4515.107

yacc

старожил
★★★
G.s.> Почти не сомневаюсь, что и в современных языках, том же Питоне, наверное есть.
G.s.> Но, я повторяюсь, зачем менять шило на мыло?
Дело вкуса
Формально можно библиотеки фортрана и в питоне использовать - есть разного рода утилиты чтобы связать коды

G.s.> "Продажники" задавили всех.
Есть Линукс - там это не настолько распространено
Хочется старой командной строки - велком
   92.0.4515.10792.0.4515.107
+
+1
-
edit
 

yacc

старожил
★★★
yacc>> Вот в бэкенде вообще как такового интерфейса нет
Gudleifr> По одной простой причине. Все нарисовано до них.
Все проще - разделение труда

Раньше как оно было ?
Программист пишет алгоритм и составляет на основе него программу
Наборщица набивает ему по тексту стопку перфокарт
Оператор ЭВМ считывает стопку в ЭВМ и ставит задание на исполнение
Потом программист забирает распечатку

Каждый занимается своим :p
   92.0.4515.10792.0.4515.107

yacc

старожил
★★★
G.s.> Вы будете смеяться, но я этим и занимаюсь сейчас вынужденно.
Ну надо так надо

G.s.> Только я беру не ГНУПЛОТ, с которым тоже ещё надо разобраться, а более понятный мне EXCEL.
G.s.> И, что мне приходится делать, чтобы посмотреть график, полученный на фортране???
G.s.> Заменять в текстовом редакторе десятичные точки на запятые!!! :(
GNUPlot простой и маленький
Его изучить нетрудно

Есть более простые ( и бесплатные ) программы для рисования графиков чем эксель - от GNUPlot до того же SciDavis
   92.0.4515.10792.0.4515.107
EE Татарин #10.01.2022 23:50  @Garry_s#10.01.2022 22:35
+
+2
-
edit
 

Татарин

координатор
★★★★★

G.s.> Однако остается фундаментальный вопрос: чем "код" отличается от "программы"?
Так я ж говорю: программа - это весь продукт. А код - это форма итогового его воплощения.

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

Но сложное электронное устройство нужно ещё сначала разработать, обдумать применяемые компоненты, нарисовать обвязку, сложное взаимодействие, помехи. А в сложной программе - продумать функционал, пользовательские интерфейсы (если это применимо), способы и сценарии использования, разработать архитектуру и основу, разбить на части и продумать интерфейсы и взаимодействие между ними, придумать структуры данных и, если нужно, новые алгоритмы. И только тут начинается работа кодера: написание-компилирование-отладка. Для программиста есть работа и после - задокументировать. Как минимум, общий дизайн и неочевидные вещи. Это всё - программирование.
И вбивание строчек кода, компиляция, отладка - лишь малая часть процесса.
   97.0.4692.7197.0.4692.71
RU yacc #10.01.2022 23:55  @Татарин#10.01.2022 23:50
+
+1
-
edit
 

yacc

старожил
★★★
G.s.>> Однако остается фундаментальный вопрос: чем "код" отличается от "программы"?
Татарин> Так я ж говорю: программа - это весь продукт. А код - это форма итогового его воплощения.
Сейчас продукт - это уже продукт или решение ( product/solution ), или в более простом случае - приложение ( application )
Ибо сложность возросла и его бьют на части - от dll до микросервисов
   92.0.4515.10792.0.4515.107
EE Татарин #11.01.2022 00:04  @Garry_s#10.01.2022 22:57
+
-
edit
 

Татарин

координатор
★★★★★

G.s.> Возможно и так. Но только мне, как инженеру и прикладнику, тоже хочется, чтобы моя программа была на СОВРЕМЕННОМ визуальном уровне, чтобы я мог покрутить полученную кривую и так и эдак и чтобы ввод исходных данных и, не дай бог, их массивов не превращался в рутинную мУку.
G.s.> Вот тут мне и нужен программист, чтобы окошки, кнопки для ввода и графики для вывода эффективно закодировал.
А может, Вы инструмент неудачный выбрали? Может, Вам Математика нужна? или Матлаб?
Там есть языки программирования (ПМСМ, более сильные, чем стандарт Фортран-90/95 (про поздние не знаю, не смотрел, что там). И это изначально продукты предназначенные для расчётов и визуализации.
   97.0.4692.7197.0.4692.71
RU yacc #11.01.2022 00:06  @Татарин#11.01.2022 00:04
+
-
edit
 

yacc

старожил
★★★
Татарин> А может, Вы инструмент неудачный выбрали? Может, Вам Математика нужна? или Матлаб?
Дорого.
Очень

Фортран ПМСМ имеет смысл если только есть готовая библиотека и по ней надо рассчитать
Либо когда хочется рассчитать но очень по простому - у него синтаксис очень простой
   92.0.4515.10792.0.4515.107
+
-
edit
 

cholev

втянувшийся

G.s.> Фортран игнорирует пробелы, поэтому из-за замены запятой на точку, вместо выполнения 10 раз какого-то набора операций, действительной переменной DO10I было присвоено значение 1.10.
G.s.> Причем эта ошибка не потянула за собой других, транслятор её, естественно, пропустил, а расчет оказался ошибочным.

Понял. С Фортраном знаком со студенчества 80х. Типовая задача для зачета. Наверно там был и цикл DO.
В примере наверно будет END DO, а вот начало цикла из за синтактической ошибки нет. На стадия отладки програм непонятно, как все это проходит незаметно.
   2121
+
-
edit
 

tarasv

аксакал

G.s.> Почти не сомневаюсь, что и в современных языках, том же Питоне, наверное есть.
G.s.> Но, я повторяюсь, зачем менять шило на мыло?

Вы про научно-технические расчеты как я понимаю? Для всего остального Фортран был пригоден очень слабо. Приемлемую работу со строками завели только в Фортран 77. Работу с битами в каком-то промежуточном обновлении 77го. Синтаксис и компилятор предоставляют мульон способов выстрелить себе в ногу. Вот поэтому в отраслевых ВЦ в свое врем и взлетел PL/1, а Фортран остался у научников и инженеров.
   97.0.4692.7197.0.4692.71
+
-
edit
 

Gudleifr

опытный

cholev> В примере наверно будет END DO
Не будет. В "DO 10..." 10 означает метку последней строчки цикла.
   97.0.4692.7197.0.4692.71
+
-
edit
 

Gudleifr

опытный

tarasv> Для всего остального Фортран был пригоден очень слабо.
А больше ничего и не надо. Ностальжи: получаете 5 метров распечатки аккуратных столбиков чисел и фломастером обводите то единственное, что вам нужно.

(Я однажды решил построить платоновые тела путем гравитационного разлета точек от центра. Так они вращаться начали. А я сидел и пытался понять (тогда уже на терминале), куда цифры бегут... "Матрица" отдыхает).
   97.0.4692.7197.0.4692.71
Это сообщение редактировалось 11.01.2022 в 00:52
+
-
edit
 

tarasv

аксакал

tarasv>> Для всего остального Фортран был пригоден очень слабо.
Gudleifr> А больше ничего и не надо. Ностальжи: получаете 5 метров распечатки аккуратных столбиков чисел и флосастером обводите то единственное, что вам нужно.

99, а может и больше, процентов людей не занимается научно-техническими расчетами ни по работе ни в виде хобби. Так что надо инструментарий для разработки ПО для других областей нужен в гораздо больших количествах. Поэтому Фортран остался в своей узкой нише, из которой, как я понимаю, его сейчас начинает выжимать Python с numpy которая по уровню оптимизации не уступает расчетным библиотекам для Фортрана.
   97.0.4692.7197.0.4692.71
+
-
edit
 

Gudleifr

опытный

tarasv> 99, а может и больше, процентов людей не занимается научно-техническими расчетами ни по работе ни в виде хобби.
Но эту тему завел тот самый 1 из 100.
   97.0.4692.7197.0.4692.71
+
+1
-
edit
 

tarasv

аксакал

Gudleifr> Но эту тему завел тот самый 1 из 100.

Так фортран то вполне себе жив. Что там сейчас наиболее популярное у научников не из интегрированных мат пакетов я не совершенно не в курсе. У датасотонистов популярен Питон, но они так себе научники, больше название.
   97.0.4692.7197.0.4692.71
EE Татарин #11.01.2022 03:38  @tarasv#11.01.2022 01:50
+
-
edit
 

Татарин

координатор
★★★★★

Gudleifr>> Но эту тему завел тот самый 1 из 100.
tarasv> Так фортран то вполне себе жив. Что там сейчас наиболее популярное у научников не из интегрированных мат пакетов я не совершенно не в курсе. У датасотонистов популярен Питон, но они так себе научники, больше название.
Так что под рукой, то и пользуют. Питон, Руби, Перл, Паскаль во всю живёт ещё.

Вон, квантовые химики знакомые вообще на C++ под CUDA фигачили, и ничего, ещё живы. Хотя С++, будем честны, для расчётов, да ещё в больших объёмах (привет менеджмент памяти ручками), это та ещё хрень.

Если привычен Фортран, то почему нет?
Хотя он почти во всех аспектах хуже даже С++. Кроме, может быть, библиотечного обеспечения для научных расчётов.
   97.0.4692.7197.0.4692.71
EE Татарин #11.01.2022 03:43  @yacc#11.01.2022 00:06
+
+1
-
edit
 

Татарин

координатор
★★★★★

yacc> Дорого.
yacc> Очень
Для себя, для науки - тихо спиратить, для конторы - ну, там и фортран не лучший выбор.

yacc> Фортран ПМСМ имеет смысл если только есть готовая библиотека и по ней надо рассчитать
Ну, наверное. Хотя даже так я бы поискал скомпилированную ДЛЛ.

yacc> Либо когда хочется рассчитать но очень по простому - у него синтаксис очень простой
А у кого тогда сложный? :)
   97.0.4692.7197.0.4692.71
1 2 3 4 5 6 7 10

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