Дапамажыце dev.by 🤍
Падтрымаць

«Fortran жив». Почему язык всё ещё важен, хотя давно вышел из моды

Пакінуць каментарый
«Fortran жив». Почему язык всё ещё важен, хотя давно вышел из моды

Fortran не особо жалуют в сообществе программистов. Многие считают его громоздким и устаревшим, а программирование на нём сравнивают с поездкой на работу в экипаже, запряжённом лошадьми. Ресурс Words and Buttons рассмотрел, насколько правдивы мифы об этом языке программирования. Dev.by публикует перевод статьи.

В рамках одного из конкурсов по оптимизации кода, который инициировало NASA, требовалось выполнить задачу на языке Fortran. Многие считали, что проект даже не смогут запустить из-за отсутствия участников. Проект действительно не запустили, только по прямо противоположной причине: кандидатов оказалось настолько много, что агентство просто не уложилось бы в срок.

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

Именно это породило миф о сложности языка. И в основном код на Fortran действительно сложен. Но только потому, что:

  • задача, которую он решает, сложна;
  • код пишут не программисты, а специалисты в какой-либо предметной области.

Fortran достаточно прост, чтобы узкие специалисты могли писать на нём плохой код, который даёт хорошие результаты.

Что касается «старомодности», текущий стандарт языка — Fortran 2008, а следующим будет Fortran 2018, выход которого ожидается в ближайшее время. Язык понемногу, но постоянно обновляется. Главным сдерживающим фактором является его миссия: оставаться доступным для классических инженеров.

Однако сегодня в Fortran уже есть модули, объекты, дженерики и встроенная поддержка параллельных вычислений. Его возможности стабильно расширяются под давлением современного мира.

Fortran по-прежнему не имеет равных в структурном программировании, но при этом имеет функции, которых нет в мейнстримовых С-подобных языках, например прерывание или продолжение цикла из вложенного цикла.

rows: do i = 1, 10
  columns: do j = 1, 10
    if (a(i, j) == 0.) exit rows
    ...
  enddo columns
enddo rows
    

В нём есть оператор case с диапазонами.

integer :: temp_c

! Temperature in Celsius!
select case (temp_c)
case (:-1)
  write (*,*) 'Below freezing'
case (0)
  write (*,*) 'Freezing point'
case (1:20)
  write (*,*) 'It is cool'
case (21:33)
  write (*,*) 'It is warm'
case (34:)
 write (*,*) 'This is Texas!'
end select
    

В нём можно использовать массив указателей для доступа к другому массиву.

real, dimension(5) :: a = [ 2, 4, 6, 8, 10 ]
integer, dimension(2) :: i = [ 2, 4 ]

print *, a(i)   ! prints 4. 8.
    

Здесь можно найти краткое введение в современный Fortran.

Вопрос в том, почему сегодня язык «ушёл в подполье». По мнению Words and Buttons, с ним произошло то же, что происходит со «старыми» программистами. Большинство из них остаётся в профессии, но численно они уступают молодому поколению, растворяясь в общей массе: количество разработчиков удваивается каждые пять лет. Однако это явление свойственно только сфере разработке ПО, а пользователи Fortran — преимущественно инженеры, и их численность не растёт в геометрической прогрессии. Это значит, что аудитория Fortran (предыдущие поколения и молодые инженеры) остаётся примерно на том же уровне, что и 30-40 лет назад, когда Fortran был в самом расцвете сил.

Можно сказать, что таковым он был всегда — слишком бурно развивалась окружающая обстановка. Языки приходят и уходят, но чтобы построить исправный самолёт, для математических вычислений инженеры всё равно выберут старый добрый Fortran, который прекрасно работает и не нуждается в серьёзных изменениях.

Чытайце таксама
10 курсов по SQL в 2022 году для лучшего понимания работы с большими данными
10 курсов по SQL в 2022 году для лучшего понимания работы с большими данными
10 курсов по SQL в 2022 году для лучшего понимания работы с большими данными
Собрали 10 платных и бесплатных онлайн-курсов для изучения SQL. Программы рассчитаны на слушателей, которые только начинают или продолжают знакомство с языком. 
10 способов научиться программировать самостоятельно
10 способов научиться программировать самостоятельно
10 способов научиться программировать самостоятельно
Программирование — один из ценнейших навыков для карьерного роста, саморазвития и создания чего-нибудь удивительного. Собрали десять советов для тех, кто только начинает своё путешествие в мир программирования и снабдили все это полезными ссылками на курсы для начинающих программистов. 
Как оплачиваются самые популярные языки GitHub и какой прогноз
Как оплачиваются самые популярные языки GitHub и какой прогноз
Как оплачиваются самые популярные языки GitHub и какой прогноз
10 курсов по ABAP — языку программирования, который использует SAP
10 курсов по ABAP — языку программирования, который использует SAP
10 курсов по ABAP — языку программирования, который использует SAP
ABAP (Advanced Business Application Programming) — это язык программирования, который использует компания SAP — один из главных поставщиков программного обеспечения по всему миру. Среди клиентов компании — Apple, Amazon, Colgate-Palmolive, Cisco, Dell, Airbus, DHL, Walmart, Ernst and Young и сотни других. Вообще SAP используют около 90% компаний из списка Fortune-500. И еще, например, NHL. ABAP написан в далеком 1980 году и за последние 40 лет все-равно остается актуальным и востребованным. У разработчиков на ABAP стабильно высокие зарплаты. Поэтому мы решили собрать список из 10 курсов по ABAP, которые стоит пройти для лучшего понимания языка или вообще для выбора его как своей профессии.
26 каментарыяў

Хочаце паведаміць важную навіну? Пішыце ў Telegram-бот

Галоўныя падзеі і карысныя спасылкі ў нашым Telegram-канале

Абмеркаванне
Каментуйце без абмежаванняў

Рэлацыраваліся? Цяпер вы можаце каментаваць без верыфікацыі акаўнта.

Каментарыяў пакуль няма.