Fortran *
Первый язык программирования высокого уровня
Новости
Ветераны IT: Как найти программистов прошлых поколений языков
При словосочетании «Ветераны IT» вы наверное представили себе сразу же старичков в пиджаках с нашивками из микросхем и шумным стационаром. Но это не совсем то, что мы подразумеваем под Ветеранами IT.
Принят новый стандарт Fortran 2023
Настройка распределённого выполнения параллельных программ в кластере
В предыдущей публикации Фортран: пишем параллельные программы для суперкомпьютера мы рассмотрели общий подход к программированию в массивно-паралллельной архитектуре (MPP) с использованием языка Фортран-2018 и дали пример запуска массивно-параллельной программы на одной машине с многоядерным процессором. В настоящей статье мы рассмотрим запуск массивно-параллельных программ на кластере высокой производительности (HPC) или кластере высокой готовности (HA). Код в данной статье пишется на языке Фортран-2018 с использованием комассивов (coarrays) и преобразуется компилятором Фортрана в вызовы фреймворка MPI.
Истории
FORTRAN — первый язык высокого уровня
Возможно, это был первый в мире язык высокого уровня, но Майк Бедфорд обнаруживает, что FORTRAN жив и процветает по сей день.
Когда FORTRAN только зарождался, языков высокого уровня практически не существовало, и уж тем более не было таких, которые получили бы широкую известность. Сейчас, когда такие языки стали практически универсальными, необходимо помнить, что языки высокого уровня были созданы для того, чтобы облегчить работу программиста. Раньше код писался на "родных" инструкциях компьютера, которые определялись его аппаратной частью. С помощью языка высокого уровня стало возможным использовать инструкции, приближенные к человеческим. Кроме того, программы можно было переносить с одного компьютера на другой, хотя при разработке FORTRAN это не учитывалось, поскольку язык изначально создавался специально для компьютера IBM 704.
Фортран как культурное явление
В фильме «Скрытые фигуры» есть прекрасная сцена: на дворе 1961-62, афроамериканка из лабораторий НАСА едет в библиотеку для белых и тихонько без разрешения увозит оттуда книжку по Фортрану. На автобусе увозит. Сопровождая это комментарием своему сыну: «А что? Я плачу налоги».
Фортран перестал быть просто языком программирования, это давно культурный феномен. Настолько, что стал иллюстрацией в борьбе чернокожих женщин за свои права (попробуйте, навскидку, придумать ещё хоть одно понятие из ИТ, которое можно было бы положить в эту категорию).
Масштаб явления очень легко недооценить: на современный избалованный взгляд ничего такого волшебного в Фортане нет. Зато если немного разобраться в контексте, становится понятно, что Фортран для своего времени – просто квантовый скачок, уделавший все альтернативные разработки минимум на 10 лет.
Физическая программная археология
Спонтанный эксперимент по воплощению в жизнь заклинания из древнего манускрипта. Реализация кода на АЛГОЛ-60, напечатанного в статье 1976 года, и перезапуск его на FORTRAN-90.
Фортран: пишем параллельные программы для суперкомпьютера
В первой части статьи мы рассмотрели написание на современном Фортране простой программы, реализующей клеточный автомат "Жизнь", в виде классического последовательного кода (SISD), матричных операций (SIMD) и параллельных конструкций SMP (SIMD с частью функций MIMD). Сейчас мы будем рассматривать использование конструкций Фортрана для программирования массивно-параллельных архитектур (MPP), к которым, в частности, относятся современные суперкомпьютеры. Такие архитектуры реализуют классическую схему MIMD.
Фортран: пишем параллельные программы
В этой статье мы попробуем написать простейшую параллелизуемую программу на языке Фортран, используя для этого методы конвейеризации и симметричной параллелизации и сравним их между собой, применив наиболее популярные компиляторы GNU Fortran и Intel Fortran.
К 70-летию Фортрана. Историческая справка. Часть II
Как отмечалось в первой части, условно эволюцию языка Фортран можно разделить на классический период (Фортран I – Фортран IV), когда ведущую роль в разработке занимала фирма IBM, язык абсолютно доминировал среди программистов (особенно в США) и сохранял значительную преемственность с самой первой версией; и современный период (Фортран 90 – Фортран 2018), когда разработка велась в основном ISO, синтаксис и семантика языка были значительно осовременены, но, несмотря на это, язык был уже вытеснен на периферию инструментальных средств. Версия Фортран 77 занимает промежуточное положение между этими периодами.
К 70-летию Фортрана. Историческая справка. Часть I
В 2023 году исполняется 70 лет с того момента, как Джон Бэкус, сотрудник IBM, убедил начальство утвердить проект первого в мире языка программирования высокого уровня.
Не как на Фукусиме, или Как разрабатывают в ядерной индустрии
В новый выпуск подкаста «Сушите вёсла» ребята позвали Андрея, инженера в области расчётов динамики ядерных реакторов, чтобы он рассказал, как сейчас обстоят дела в индустрии ядерной энергетики и что нас может ждать дальше. Традиционно обсудили, как присоединиться к такой команде, какие технологии используются в компании Андрея и бабахнет ли, если поделить на ноль в Fortran. В финале закопали немножко ядерных отходов и ушли в фотонный закат верить в лучшее.
Столетний язык программирования — какой он
Особо амбициозные разработчики любят заявлять о том, что используемый ими язык программирования или фреймворк будет жить лет сто. Дерзкое заявление, учитывая, что разработке программного обеспечения, как таковой, всего около 65 лет. А фреймворки еще моложе.
И всё же интересно, какие языки все еще будут использоваться через 100 лет?
Ближайшие события
Первая в мире текстовая игра Colossal Cave Adventure + исходный код на Фортране
«Вы знаете, за свою карьеру я совершил множество замечательных вещей, забавно, что единственное, за что меня помнят, — это «Adventure». © Уилльям Краудер
Прежде чем написать код своей легендарной игры, Краудер помог нанести на карту сложную сеть пещер, а до этого он уже занял место в истории благодаря своему вкладу в другую сеть. В составе команды программистов Bolt, Beranek and Newman он помог создать ARPANET, предшественницу Internet.
Краудер — один из разработчиков ARPANET, спелеолог и любитель D&D. А еще у него были две маленькие дочки, которые не знали программирование. На пересечении всего этого родилась первая версия «Colossal Cave Adventure».
Уильям Краудер написал игру «Colossal Cave Adventure» (чаще Adventure или ADVENT) в 1975 году. Это первый пример «interactive fiction» и предок квестовых игр. Adventure вдохновила разработчиков на множество игр, в т.ч. Zork (1977), Adventureland (1978), Mystery House (1980), Rogue (1980) и Adventure (1980), которые впоследствии стали основой для жанров интерактивная фантастика, adventure, roguelike и action-adventure.
Я веду ламповый Telegram-канал GameDEVils и блог на Substack . Заглядывайте в гости, я делюсь там материалами про геймдизайн, разработку и историю игр ^__^
Решение одной задачи с помощью 16 языков программирования
Видеоблогер Конор Хекстра использовал разные языки программирования, чтобы решить одну и ту же задачу. Попутно выяснилось, что у Фортрана полно поклонников.
Парадоксальный рост популярности Python в научных вычислениях
Чтобы уверенно пересечь незнакомую местность, можно или двигаться быстрее, или подыскивать удобную дорожку. Другими словами, слишком пристальное внимание к скорости как таковой может вас притормозить. То же касается и разработки программного обеспечения.
Дейкстра: Величайшей победой Запада в холодной войне над СССР был переход на IBM — myth busted
Конкурс «Я — эксперт Intel Studio» с суперпризами для разработчиков
Победителей конкурса ждет приз: профессиональная лицензия на Intel Parallel Studio XE 2019 с годом техподдержки. Да-да, та самая, за $1599. Условия — под катом.
Если изобрести язык программирования 21 века
Только за последние 18 лет люди придумали множество языков, среди которых, вероятно, самыми популярными стали Swift, Kotlin и Go. При этом отличительная черта языка программирования 21 века — это отсутствие каких-либо отличительных черт. Самое приятное в работе с такими языками — за изучением одного из них можно провести выходные и под конец заявить, что вам удалось освоить популярную новинку, по факту же не узнав ничего нового. В них действительно нет ничего нового. Все современные языки созданы на основе какой-либо правильной и проверенной формулы, имя которой, вероятнее всего, Objective-C, Java или C.
«Отсутствие новизны» можно считать ценной чертой, но подобная ситуация вызывает один вопрос. Действительно ли перед нами языки нового, 21 века, или все это — просто отражение плохих привычек программирования 20 века?
Если бы я изобретал язык, я бы не старался исправить прошлое, а попытался бы создать нечто, что хорошо работало бы именно в условиях современности, но также было способно развиваться и выдерживать проверку временем. Если для этого требуются радикальные конструктивные решения, то так тому и быть.
Долой синтаксис!
Синтаксис современных языков отражает попытку втиснуть свободу мела и доски в оковы ASCII. Некоторые элементы записи, такие как арифметические знаки или скобки, воспринимаются более-менее естественно. Но ряд других обозначений оправдан разве что экономией усилий при нажатии кнопок телетайпа.
Двоичные вычисления для десятичной арифметики
Вклад авторов
ivorobts 192.0Tzimie 108.0vadimr 95.0kbtsiberkin 79.0ermouth 64.0stealapanda 47.0norritt 38.0Gregivy 33.0Cloud4Y 32.4