Обновить

Fortran *

Первый язык программирования высокого уровня

1,33
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности
Формат публикации

Квантовая физика на компьютере. Часть 2. Квантовая философия

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели8.9K

В этой статье я продолжу создавать базу для квантомеханических симуляций. Однако в этот раз мы займёмся не физикой, а философией (!). Мы освоим как рассчитывать траекторию квантовой частицы. Казалось бы причём тут философия? Оказывается, очень даже причём.

Читать далее

Fortran с нами уже 72 года — язык, который в строю на протяжении всей истории программирования

Время на прочтение3 мин
Охват и читатели7.7K

Вчера, 20 сентября 2026 года, языку Fortran исполнилось 72 года. Вечно молодой язык сегодня используется совместно с GPU, а в 1954 году еще не было Fortran в современном понимании как языка программирования. В IBM группа под руководством Джона Бэкуса разрабатывала FORmula TRANslator — FORTRAN, набор средств разработчика, который должен был позволить программисту описывать сложные вычисления, не программируя каждую операцию непосредственно на низкоуровневом машинном языке.

Читать далее

Следующий «момент Бэкуса»: почему программирование снова готово подняться на уровень выше

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели30K

Следующий "Момент Бэкуса" или почему мы, возможно, стоим на пороге новой эпохи разработки ПО.

Английская версия этой статьи ранее была опубликована мной в LinkedIn. Для Habr я подготовил адаптированную версию, добавил исторический контекст и подробнее раскрыл главный тезис.

Читать далее

Ушёл из жизни Клив Молер — математик, соучредитель MathWorks и автор первой версии MATLAB

Время на прочтение2 мин
Охват и читатели6.1K

20 мая 2026 года в возрасте 86 лет ушёл из жизни Клив Молер. Выдающийся математик, соучредитель MathWorks и автор первой версии MATLAB умер у себя дома в окружении семьи и родных.

Читать далее

Возвращение легенды: почему Fortran снова в топе и где его использовать сегодня

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели8.6K

Я взглянул на апрельский рейтинг TIOBE за 2026 год и протёр глаза. Python, C, C++, Java, C# — скучно. Но вот на 10-й строчке восседает Delphi. А Fortran, язык, на котором писали ещё при царе Горохе и который, по мнению всей «модной» тусовки, давно должен лежать на свалке истории, стабильно держится в топ-15. В марте 2025 года он вообще ворвался в двадцатку вместе с такими «мамонтами», как Ada и COBOL.

Что за чертовщина? Rust, который кричали на каждом углу как «убийцу С++», пыжится на 16-м месте, а его рост, по словам генерального директора TIOBE Пола Янсена, замедляется. В это же время Fortran, тихо и без лишнего шума, продолжает быть фундаментом, на котором держится вся мировая наука. Почему компании не переписывают миллионы строк легаси на Python или Go? Потому что цена ошибки в коде, который считает ядерный реактор или прогноз погоды на завтра, исчисляется не в часах разработчика, а в миллиардах долларов и человеческих жизнях.

Давайте разбираться, что такое современный Fortran и почему ваш скепсис по поводу «динозавра» не имеет под собой никаких оснований.

Почему код деда всё ещё быстрее Rust

Fortran в 2026 году: зачем смотреть на язык из 1957 года

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели8.3K

Fortran — язык из 1957 года, который до сих пор используют в науке и инженерии.

Я попробовал разобраться, почему он не исчез — и неожиданно понял, что это один из самых честных способов увидеть, как работает программа: типы, память, вычисления без «магии».

В статье — небольшой вводный туториал по Fortran: переменные, типы и первые вычисления.

Если хотите лучше понять программирование «под капотом» — это хороший вход.

Читать далее

Второй отец MP3

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели17K

Работая в Bell Labs, Джеймс Д. Джонстон 26 лет посвятил созданию технологии, которую мы сегодня знаем как MP3. Затем его имя растворилось в истории...

Вступление от «Rogues’ Gallery»

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

И наше шоу (имеется в виду подкаст «The Rogues’ Gallery», — прим. пер.), как и многие другие, существует, благодаря той самой технологии. Ничто из этого не оказалось бы возможным, если бы не инженеры, которые научились втискивать час музыки в файл, достаточно небольшой для скачивания через коммутируемое соединение.

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

Одним из таких людей является Джеймс Д. Джонстон. В IEEE его зовут «отцом перцептуального аудиокодирования». Этот человек зарегистрировал более, чем 100 патентов. Кен Томпсон, который разработал Unix, лично переписывал код для созданного им кодека, сказав, что тот значительно превосходит MP3. Федеральный апелляционный суд США подтвердил, что он изобрёл формат MP3 параллельно с Карлхайнцем Бранденбургом. Но всё же в рассказах об истории развития цифрового аудио его имя всплывает крайне редко.

Джеймс является такой же рок-звездой, каких мы приглашаем на наше шоу. Просто он играет на другом инструменте.

И это история о нём.

Читать далее

Python + Fortran: Когда numpy уже мало, а C++ ещё страшно. Ускоряем код в 150 раз

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели9.3K

Привет, Хабр!

В прошлой статье я рассуждал о том, почему Fortran в 2025 году всё ещё жив и даже растет в рейтингах. В комментариях справедливо заметили: «Философия — это хорошо, но как это применить современному разработчику? Зачем мне Fortran, если я пишу на Python?».

Это правильный вопрос. Сегодня я хочу ответить на него кодом, а не словами.

Я покажу, как использовать Fortran в качестве «числодробилки» для Python. Мы возьмем задачу, на которой интерпретатор Python гарантированно просядет, и ускорим её в ~150 раз, используя инструмент, который уже есть в вашем numpy.

Речь пойдет не о замене Python, а о симбиозе: удобный интерфейс Python + сырая мощь Fortran.

Читать далее

Хабр бенч LLM Здесь в комментах завязалась дискуссия про возможности тупых LLM. И вроде как тупыми оказались не LLM....

Время на прочтение1 мин
Охват и читатели5.7K

Хабр бенч LLM

Здесь в комментах завязалась дискуссия про возможности тупых LLM. И вроде как тупыми оказались не LLM. Gemini распознала тавтограмму, распознала белиберду и написала рассказ из ровно 20 слов.

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

Скептики: накидывайте шарад уровня "дебил или нет". И делайте ставку.
Трудяжки: скармливайте задачу вашему инструменту и результат сюда. Первый, кто принес правильный ответ, получает банк.


Читать дальше →

Квантовая физика на компьютере. Часть 1. Система с двумя состояниями

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели9K

В этой статье я подробно опишу как численно смоделировать простейшую квантовую систему — систему с двумя состояниями. Ценность этой симуляции не только в ней самой, но также в той базе, которую она заложит для любой квантовомеханической симуляции.

Использовать для расчётов я буду (современный) Фортран, так что можно рассматривать эту статью и как своеобразное введение в программирование на Фортране. Это по-своему красивый язык, паритета с которым в ряде аспектов не имеет ни один другой язык программирования.

Читать далее

Тонкости в распараллеливании с OpenMP программы, написанной одновременно на C++ и Fortran

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели2.2K

В данной заметке я расскажу о своем опыте распараллеливания программы с использованием OpenMP, написанной одновременно и на С++, и на Fortran 90, причем вызов фортрановской части кода осуществляется параллельно в цикле из C++ части.  Остановлюсь в основном на тех деталях и тонкостях, которые мне показались настоящими сюрпризами. Суть программы достаточно проста: есть некая цилиндрическая структура, которая модельно разбивается на аксиальные ячейки, каждая аксиальная ячейка с использованием методов математического моделирования обсчитывается независимо. Основная часть кода написана на C++, но вот то, что нужно рассчитать для каждой аксиальной ячейки, написано на Fortran 90, и надо сказать, что эта фортрановская часть достаточно внушительная. Код испокон веков обсчитывал последовательно каждую аксиальную ячейку, и в виду того, что фортрановская часть делает объемные вычисления, код считал долго. И тут была поставлена задача – распараллелить код, т.е. считать каждую аксиальную ячейку параллельно, дабы ускорить время расчета всей программы. Была принята следующая идея: выделение памяти под массивы и т.п., необходимые для фортрановских расчетов, оставить как и прежде, т.е. там же в фортране, удобно перегруппировав их в массив объектов структуры, описывающей аксиальную ячейку, и плюсом расширив данные, а вот вызов главной функции, делающей вычисления в фортрановской части, делать в цикле по аксиальным ячейкам параллельно в C++ части, т.е. примерно так...

Читать далее

Представлен стандарт параллельного программирования OpenMP 6.0

Время на прочтение2 мин
Охват и читатели11K

Опубликован набор спецификаций OpenMP 6.0 (Open Multi-Processing). Он определяет API и способы применения методов параллельного программирования для языков С, С++ и Fortran на многоядерных и гибридных (CPU+GPU/DSP) системах с общей памятью и блоками векторизации (SIMD). 

Читать далее

В новом рейтинге TIOBE язык Rust поднялся с 17-го на 13-е место

Время на прочтение1 мин
Охват и читатели11K

В июльском рейтинге языков программирования TIOBE Rust поднялся с 17-го на 13-е место — это самая высокая позиция языка за всё время. Авторы рейтинга считают, что скоро он может войти в первую десятку.

Читать далее

Ближайшие события

Вышли майские рейтинги самых популярных языков программирования от Tiobe и PYPL

Время на прочтение1 мин
Охват и читатели14K

Tiobe и PYPL выпустили майские рейтинги самых популярных языков программирования. На первой позиции в обоих оказался Python, а также отмечается рост использования языка Fortran с 67-летней историей.

Читать далее

Знаете, какой язык высокого уровня был одним из первых и дошёл до наших дней? Fortran — про него новый выпуск истории...

Время на прочтение1 мин
Охват и читатели31

Знаете, какой язык высокого уровня был одним из первых и дошёл до наших дней? Fortran — про него новый выпуск истории языков программирования.

Название Fortran является акронимом от FORmula TRANslating System — система трансляции формул. Он был разработан сотрудником IBM Джоном Бэкусом в 1954-1957 годах.

Ключевая идея Бэкуса была в том, что последовательности вычислений нужно записывать не в машинных кодах, а как вызовы типовых подпрограмм. При этом сами подпрограммы появились только в FORTRAN II вместе с поддержкой процедурного программирования в 1958 году. Для этого Бэкус и трое его коллег из IBM разработали символическую систему записи математических расчётов, сделав акцент на циклические выражения.

Другие важные особенности Fortran — встроенная поддержка параллельных вычислений и векторных операций. Поэтому Fortran до сих пор актуален, особенно в сфере высокопроизводительных вычислений (HPC). В частности, тесты для рейтинга TOP 500 самых быстрых суперкомпьютеров мира написаны на Fortran.

Ещё одна причина сохраняющейся актуальности языка — простота операций над большими массивами и компиляция в эффективный двоичный код. На Fortran пишут библиотеки математических функций (см. IMSL Fortran Numerical Libraries), ПО для решения инженерных и научных задач, специфический софт для Big Data и бизнес-аналитики.

Актуальная сегодня версия Fortran стандартизирована в 2018 году. Следующий стандарт Fortran 202x находится в разработке.

Читать дальше →

Повышаем быстродействие расчётов на примере медианного фильтра

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели5.9K
Рассмотрим некоторые приёмы повышения быстродействия вычислительных программ на примере алгоритма медианного фильтра.
Читать дальше →

Ветераны IT: Как найти программистов прошлых поколений языков

Время на прочтение6 мин
Охват и читатели9.7K

При словосочетании «Ветераны IT» вы наверное представили себе сразу же старичков в пиджаках с нашивками из микросхем и шумным стационаром. Но это не совсем то, что мы подразумеваем под Ветеранами IT.


Читать далее

Принят новый стандарт Fortran 2023

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели13K
В конце 2023 года был принят очередной стандарт языка Фортран, ISO/IEC 1539-1:2023. Programming languages. Fortran (в просторечии – Fortran 2023).
Читать дальше →

Настройка распределённого выполнения параллельных программ в кластере

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели2.7K

В предыдущей публикации Фортран: пишем параллельные программы для суперкомпьютера мы рассмотрели общий подход к программированию в массивно-паралллельной архитектуре (MPP) с использованием языка Фортран-2018 и дали пример запуска массивно-параллельной программы на одной машине с многоядерным процессором. В настоящей статье мы рассмотрим запуск массивно-параллельных программ на кластере высокой производительности (HPC) или кластере высокой готовности (HA). Код в данной статье пишется на языке Фортран-2018 с использованием комассивов (coarrays) и преобразуется компилятором Фортрана в вызовы фреймворка MPI.

Читать далее

FORTRAN — первый язык высокого уровня

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели13K

Возможно, это был первый в мире язык высокого уровня, но Майк Бедфорд обнаруживает, что FORTRAN жив и процветает по сей день.

Когда FORTRAN только зарождался, языков высокого уровня практически не существовало, и уж тем более не было таких, которые получили бы широкую известность. Сейчас, когда такие языки стали практически универсальными, необходимо помнить, что языки высокого уровня были созданы для того, чтобы облегчить работу программиста. Раньше код писался на "родных" инструкциях компьютера, которые определялись его аппаратной частью. С помощью языка высокого уровня стало возможным использовать инструкции, приближенные к человеческим. Кроме того, программы можно было переносить с одного компьютера на другой, хотя при разработке FORTRAN это не учитывалось, поскольку язык изначально создавался специально для компьютера IBM 704.

Читать далее