Fortran
Fortran — це одна з найстаріших мов програмування, яка досі активно використовується для високопродуктивних наукових, інженерних і чисельних обчислень.
Назва Fortran походить від Formula Translation. Мова створювалася для того, щоб інженери, фізики й математики могли ефективно записувати формули, працювати з масивами й запускати обчислення на реальному hardware.
Коротко: Fortran — це мова для швидких чисельних обчислень. Вона не модна в web-розробці, але дуже сильна в HPC, фізиці, кліматичних моделях, CFD, лінійній алгебрі й старих наукових кодових базах.
Офіційний сайт Fortran-lang описує Fortran як high-performance parallel programming language, створену для computationally intensive applications in science and engineering. [1]
Головна ідея
Головна ідея Fortran — ефективно обчислювати.
Fortran історично створювався для задач, де важливі:
- чисельні методи;
- матриці й масиви;
- фізичні моделі;
- інженерні симуляції;
- лінійна алгебра;
- диференціальні рівняння;
- обчислення на суперкомп’ютерах;
- довгі цикли;
- оптимізація компілятором;
- стабільність коду протягом десятиліть.
Проста аналогія: Fortran — це не мова для красивих web-сторінок. Це лабораторний двигун для великих обчислень: старий, перевірений і досі дуже швидкий.
Актуальний стандарт
Станом на травень 2026 року актуальний стандарт мови — Fortran 2023.
WG5, робоча група, відповідальна за стандарти Fortran, зазначає, що Fortran 2023, ISO/IEC 1539:2023, є current standard і був опублікований у листопаді 2023 року. [2]
Fortran розвивався через багато стандартів:
- FORTRAN IV;
- FORTRAN 66;
- FORTRAN 77;
- Fortran 90;
- Fortran 95;
- Fortran 2003;
- Fortran 2008;
- Fortran 2018;
- Fortran 2023.
Для документації: краще писати “modern Fortran” або конкретний стандарт: Fortran 2008, Fortran 2018, Fortran 2023. Просто “Fortran” може означати як сучасний код, так і старий Fortran 77.
Modern Fortran
Modern Fortran — це стиль Fortran після Fortran 90, який використовує сучасні можливості мови:
- modules;
- explicit interfaces;
- array syntax;
- allocatable arrays;
- derived types;
- generic interfaces;
- elemental functions;
- pure procedures;
- coarrays;
- do concurrent;
- interoperability with C;
- object-oriented features;
- better type safety;
- free-form source.
Modern Fortran сильно відрізняється від старого fixed-form Fortran 77.
Офіційний Fortran-lang Learn section збирає modern canonical way of doing things in Fortran і радить сучасний підхід до вивчення. [3]
Fortran 77 і legacy code
Fortran 77 — старий стандарт, який досі часто зустрічається в legacy-науковому коді.
Типові ознаки старого Fortran:
- fixed-form source;
- COMMON blocks;
- GOTO;
- implicit typing;
- глобальний стан;
- старі I/O patterns;
- відсутність modules;
- масиви з фіксованими розмірами;
- складність тестування.
Legacy Fortran-код не обов’язково поганий. Часто це код, який десятиліттями перевірявся в наукових і промислових задачах.
Але його потрібно модернізувати обережно.
Free form і fixed form
Старий Fortran часто використовував fixed form.
Сучасний Fortran використовує free form.
Fixed form має історичні правила колонок.
Free form виглядає як нормальний сучасний код:
program hello implicit none print *, "Hello, Fortran" end program hello
Для нового коду варто використовувати free form.
implicit none
Одна з найважливіших практик Fortran:
implicit none
Вона вимикає implicit typing.
Без implicit none Fortran може автоматично вважати змінні певного типу за першою літерою імені.
Це може призвести до помилок через опечатки.
Правило №1 для modern Fortran: завжди пишіть implicit none. Це простий спосіб уникнути багатьох тихих помилок.
Простий приклад
Приклад modern Fortran:
program main implicit none real :: x, y x = 2.0 y = x**2 + 3.0*x + 1.0 print *, y end program main
Компіляція через gfortran:
gfortran main.f90 -o main ./main
Типи даних
Fortran має базові типи:
- integer;
- real;
- complex;
- logical;
- character.
Приклад:
integer :: count real :: temperature complex :: z logical :: active character(len=20) :: name
Для чисельних задач важливо правильно вибирати precision.
Precision і kind
Fortran використовує kind для керування точністю.
Приклад:
use iso_fortran_env, only: real64 real(real64) :: x
Це краще, ніж покладатися на неявні типи.
iso_fortran_env допомагає писати більш portable код.
Масиви
Масиви — одна з головних сильних сторін Fortran.
Приклад:
real :: a(10) real :: matrix(100, 100)
Fortran має зручний array syntax:
a = 0.0 a = a + 1.0
Операція застосовується до всього масиву.
Індексація масивів
Fortran за замовчуванням індексує масиви з 1.
Приклад:
real :: a(3) a(1) = 10.0 a(2) = 20.0 a(3) = 30.0
Це відрізняє Fortran від C, Python і багатьох інших мов.
Можна задавати власні межі:
real :: b(0:9)
Column-major order
Fortran зберігає багатовимірні масиви в column-major order.
Це означає, що перший індекс змінюється найшвидше.
Для performance важливо правильно організовувати loops.
Наприклад, у Fortran часто краще:
do j = 1, n
do i = 1, m
a(i, j) = a(i, j) + 1.0
end do
end do
Це краще відповідає layout пам’яті.
Array slicing
Fortran підтримує slicing.
Приклад:
a(1:10) = 0.0 matrix(:, 1) = 1.0 matrix(1, :) = 2.0
Slicing робить код коротшим і ближчим до математичного запису.
Allocatable arrays
Allocatable arrays дозволяють виділяти пам’ять під час виконання.
Приклад:
real, allocatable :: a(:) allocate(a(1000)) a = 0.0 deallocate(a)
У modern Fortran allocatable arrays часто безпечніші й зручніші за старі manual memory patterns.
Subroutines
Subroutine — процедура без return value.
Приклад:
subroutine scale_array(a, factor) implicit none real, intent(inout) :: a(:) real, intent(in) :: factor a = a * factor end subroutine scale_array
intent показує, як parameter використовується:
intent(in);intent(out);intent(inout).
Functions
Function повертає значення.
Приклад:
function square(x) result(y) implicit none real, intent(in) :: x real :: y y = x * x end function square
Functions корисні для чисельних формул, але для масивів і складних output часто використовують subroutines.
Modules
Modules — основа modern Fortran.
Приклад:
module math_utils
implicit none
contains
function square(x) result(y)
real, intent(in) :: x
real :: y
y = x * x
end function square
end module math_utils
Використання:
program main use math_utils implicit none print *, square(3.0) end program main
Modules допомагають організувати код і створюють explicit interfaces.
Derived types
Derived type — користувацький тип даних.
Приклад:
type :: particle real :: x real :: y real :: mass end type particle
Використання:
type(particle) :: p p%x = 1.0 p%y = 2.0 p%mass = 3.0
Derived types дозволяють писати більш структурований modern Fortran.
Interfaces
Interfaces потрібні для generic procedures, explicit interfaces і interop.
Приклад generic interface:
interface norm module procedure norm_real module procedure norm_complex end interface norm
Interfaces роблять API чистішим і типобезпечнішим.
Elemental procedures
Elemental procedure може застосовуватися до scalar і array.
Приклад:
elemental function square(x) result(y) real, intent(in) :: x real :: y y = x * x end function square
Тоді можна викликати:
a = square(a)
Pure procedures
Pure procedure не має side effects, які порушують чистоту обчислень.
Приклад:
pure function add(a, b) result(c) real, intent(in) :: a, b real :: c c = a + b end function add
Pure procedures корисні для optimization, parallelism і reasoning.
do loops
Класичний цикл:
do i = 1, n a(i) = a(i) + 1.0 end do
Nested loops часто використовуються в чисельних кодах.
Важливо стежити за layout пам’яті й порядком індексів.
do concurrent
do concurrent описує цикл, ітерації якого можуть виконуватися незалежно.
Приклад:
do concurrent (i = 1:n) a(i) = a(i) + 1.0 end do
Це дає компілятору більше інформації для оптимізації й паралелізації.
GNU Fortran зазначає, що має широку підтримку стандартів до Fortran 2018 і initial support of some features of Fortran 2023. [4]
Coarrays
Coarrays — вбудована модель паралельного програмування у Fortran.
Приклад ідеї:
real :: x[*]
Coarrays дозволяють працювати з images — паралельними виконаннями програми.
Fortran Wiki зазначав, що з GCC 16.1 у квітні 2026 року GFortran нативно підтримує coarrays Fortran 2008 і паралельні можливості Fortran 2018 на single-node shared memory. [5]
OpenMP
OpenMP часто використовується з Fortran для shared-memory parallelism.
Приклад:
!$omp parallel do do i = 1, n a(i) = a(i) + 1.0 end do !$omp end parallel do
OpenMP популярний у HPC-коді, бо дозволяє поступово паралелізувати loops.
MPI
MPI — Message Passing Interface.
У Fortran MPI використовується для distributed-memory parallelism.
Сценарії:
- суперкомп’ютери;
- кластери;
- distributed simulations;
- CFD;
- climate models;
- physics codes.
MPI + Fortran — класична комбінація для HPC.
BLAS
BLAS — Basic Linear Algebra Subprograms.
BLAS містить базові операції лінійної алгебри:
- vector operations;
- matrix-vector multiplication;
- matrix-matrix multiplication.
BLAS реалізації часто дуже оптимізовані під hardware.
Приклади реалізацій:
- OpenBLAS;
- Intel oneMKL;
- BLIS;
- vendor BLAS.
LAPACK
LAPACK — Linear Algebra PACKage.
LAPACK використовує BLAS і надає алгоритми для:
- linear systems;
- eigenvalues;
- singular value decomposition;
- least squares;
- matrix factorizations.
Fortran історично дуже тісно пов’язаний із BLAS/LAPACK.
Багато мов, включно з Python/NumPy/SciPy, опосередковано використовують бібліотеки, написані на Fortran або сумісні з Fortran ABI.
NetCDF і HDF5
У наукових обчисленнях часто використовують формати даних:
- NetCDF;
- HDF5.
Fortran має bindings для роботи з цими форматами.
Сценарії:
- кліматичні дані;
- геофізика;
- великі масиви;
- simulation outputs;
- scientific datasets;
- parallel I/O.
fpm
fpm — Fortran Package Manager.
Він допомагає створювати, збирати й тестувати Fortran-проєкти.
Типові команди:
fpm new my_project fpm build fpm test fpm run
fpm — важлива частина modern Fortran ecosystem, бо історично Fortran довго не мав єдиного зручного package manager.
GFortran
GFortran — GNU Fortran compiler у складі GCC.
GFortran — популярний open-source компілятор.
Офіційна сторінка GNU Fortran зазначає, що проєкт підтримує можливості останніх стандартів до Fortran 2018 і має initial support of some features of Fortran 2023. [6]
Встановлення GFortran описано на Fortran-lang для Windows, Linux, macOS і OpenBSD. [7]
Intel Fortran Compiler
Intel Fortran Compiler — комерційний/безкоштовно доступний через Intel oneAPI компілятор для Fortran.
Intel oneAPI Toolkit Release Notes 2026 зазначає, що Intel Fortran Compiler 2026.0 готовий для нових процесорів і додає оновлення, пов’язані з Fortran 2023 features, coarrays, offload code і numerical output predictability. [8]
Intel також має окрему сторінку завантаження Intel Fortran Compiler 2026.0.0, де зазначено functional і security updates. [9]
Інші компілятори
Окрім GFortran і Intel Fortran, існують:
- NVIDIA HPC SDK Fortran;
- NAG Fortran Compiler;
- LLVM Flang;
- LFortran;
- Cray Fortran;
- IBM XL Fortran historically;
- vendor compilers для HPC systems.
Вибір компілятора залежить від:
- платформи;
- стандарту;
- HPC hardware;
- performance;
- diagnostics;
- OpenMP/MPI/offload support;
- licensing;
- legacy compatibility.
LFortran
LFortran — modern interactive LLVM-based Fortran compiler project.
Він цікавий для:
- interactive workflows;
- notebooks;
- modern compiler architecture;
- educational use;
- tooling experiments.
Але для production HPC потрібно перевіряти maturity під конкретну задачу.
C interoperability
Fortran має стандартизовану interoperability з C через iso_c_binding.
Приклад:
use iso_c_binding
Це дозволяє:
- викликати C з Fortran;
- викликати Fortran з C;
- інтегруватися з іншими мовами через C ABI;
- створювати bindings для Python, Julia, R та інших мов.
Python і Fortran
Python часто використовують як високорівневий інтерфейс, а Fortran — як швидке чисельне ядро.
Сценарії:
- Fortran library + Python wrapper;
- NumPy/SciPy integration;
- f2py;
- C ABI wrapper;
- performance-critical kernels;
- scientific workflows.
Такий підхід дозволяє поєднати зручність Python і швидкість Fortran.
Fortran і NumPy/SciPy
Багато наукового Python-стеку історично пов’язано з Fortran-бібліотеками.
NumPy/SciPy можуть використовувати BLAS/LAPACK, які мають Fortran API/ABI або походження.
Це означає, що навіть розробники Python часто непрямо користуються Fortran-світом.
Fortran і C/C++
Fortran і C/C++ часто співіснують у HPC.
Порівняння:
| Мова | Сильні сторони |
|---|---|
| Fortran | масиви, чисельні обчислення, legacy scientific libraries, HPC kernels |
| C/C++ | системне програмування, performance control, templates, hardware-level code, broader ecosystem |
У HPC-проєктах часто є суміш Fortran, C, C++, Python і shell scripts.
Fortran і Julia
Julia позиціонується як modern high-level мова для high-performance scientific computing.
Порівняння:
| Мова | Особливість |
|---|---|
| Fortran | перевірені компілятори, legacy libraries, HPC stability |
| Julia | high-level syntax, JIT, modern multiple dispatch, research productivity |
Julia може бути зручнішою для нових numerical experiments.
Fortran досі сильний для production HPC і перевірених чисельних бібліотек.
Fortran і MATLAB
MATLAB зручний для інтерактивних інженерних обчислень.
Fortran краще для:
- компільованих чисельних ядер;
- HPC;
- довготривалих simulation codes;
- інтеграції з supercomputers;
- бібліотек, які мають працювати швидко й довго.
MATLAB може бути front-end для прототипу, а Fortran — backend для performance-critical ядра.
Fortran і R
R використовується для статистики й data analysis.
Fortran може використовуватися в R packages для швидких чисельних частин.
Це типовий pattern: high-level language для користувача, Fortran/C/C++ для performance.
HPC
HPC — High Performance Computing.
Fortran дуже сильний у HPC завдяки:
- optimizing compilers;
- array syntax;
- long history in supercomputing;
- BLAS/LAPACK;
- MPI;
- OpenMP;
- coarrays;
- numerical focus;
- legacy scientific codes;
- portability across HPC systems.
Fortran часто використовують у задачах, які виконуються годинами, днями або тижнями на кластерах.
Наукові сфери використання
Fortran часто використовується в:
- кліматичному моделюванні;
- weather forecasting;
- computational fluid dynamics;
- finite element analysis;
- quantum chemistry;
- astrophysics;
- nuclear engineering;
- geophysics;
- ocean modeling;
- aerospace;
- mechanical engineering;
- numerical libraries.
Саме тут важливі performance, точність і перевірені алгоритми.
Legacy modernization
Модернізація Fortran-коду — важлива задача.
Підходи:
- Додати
implicit none. - Перевести fixed form у free form.
- Розбити великі routines.
- Замінити COMMON blocks на modules.
- Додати tests.
- Документувати assumptions.
- Ввести derived types.
- Відокремити I/O від чисельного ядра.
- Додати CI.
- Створити Python/C API wrapper, якщо потрібно.
- Профілювати перед оптимізацією.
Мета модернізації — не переписати все, а зробити код безпечнішим для змін.
Тестування Fortran-коду
Fortran-код потрібно тестувати так само, як будь-який production-код.
Підходи:
- unit tests;
- regression tests;
- golden tests;
- numerical tolerance tests;
- integration tests;
- comparison with reference data;
- property-based checks for numerical invariants;
- compiler matrix;
- CI on multiple platforms.
У чисельних задачах часто не можна порівнювати floating-point results через точну рівність. Потрібні tolerances.
Floating-point tolerance
Погано:
if (x == y) then print *, "equal" end if
Краще:
if (abs(x - y) < tolerance) then print *, "close enough" end if
Floating-point arithmetic має похибки округлення.
Це критично для наукових обчислень.
Debugging
Fortran можна debug-ити через:
- gdb;
- lldb;
- compiler checks;
- bounds checking;
- sanitizer support у деяких toolchains;
- Intel tools;
- HPC debuggers;
- logging;
- assertions.
Корисні compiler flags для GFortran можуть включати:
-g -fcheck=all -Wall -Wextra -fbacktrace
Для production performance ці flags не завжди підходять, але для debug дуже корисні.
Профілювання
Performance потрібно вимірювати.
Інструменти:
- gprof;
- perf;
- Intel VTune;
- NVIDIA Nsight;
- HPC profilers;
- compiler reports;
- timing instrumentation;
- MPI profiling tools.
Перед оптимізацією треба зрозуміти bottleneck.
Безпека
Fortran не асоціюється з web-security, але безпека все одно важлива.
Ризики:
- out-of-bounds array access;
- uninitialized variables;
- integer overflow;
- unsafe input files;
- legacy I/O;
- unchecked assumptions;
- memory corruption;
- unsafe C interoperability;
- build system risks;
- supply chain dependencies;
- running untrusted scientific code.
Для наукових кодів важлива не лише cyber security, а й correctness: неправильний результат може бути серйозною проблемою.
Reproducibility
Науковий Fortran-код має бути відтворюваним.
Потрібно фіксувати:
- compiler version;
- compiler flags;
- math libraries;
- BLAS/LAPACK implementation;
- input data;
- random seeds;
- platform;
- number of MPI ranks;
- OpenMP threads;
- floating-point settings;
- code commit;
- dependencies.
Без цього результат може відрізнятися на іншій машині.
Продуктивність
Fortran може бути дуже швидким, але performance залежить від:
- memory layout;
- loop order;
- vectorization;
- cache locality;
- compiler optimization flags;
- BLAS/LAPACK usage;
- avoiding unnecessary temporaries;
- array slicing;
- parallelization;
- I/O;
- algorithm choice.
Добра практика: спочатку алгоритм, потім layout, потім compiler optimization, потім low-level tuning.
Vectorization
Vectorization дозволяє CPU виконувати одну операцію над кількома даними.
Fortran-компілятори часто добре векторизують чисельні loops.
Щоб допомогти компілятору:
- використовувати прості loops;
- уникати aliasing;
- правильно організовувати memory access;
- використовувати
do concurrent, де доречно; - перевіряти compiler vectorization reports.
GPU і offload
Fortran може використовувати GPU через:
- OpenMP offload;
- OpenACC;
- CUDA Fortran у NVIDIA ecosystem;
- vendor-specific compilers;
- library calls;
- mixed-language kernels.
GPU offload потребує окремого performance design.
Не кожен Fortran-код автоматично стане швидким на GPU.
Fortran у бізнесі
Fortran у бізнесі корисний, якщо є:
- наукові моделі;
- інженерні симуляції;
- чисельні бібліотеки;
- legacy scientific code;
- high-performance kernels;
- climate/weather models;
- financial numerical models;
- industrial simulation;
- integration with HPC.
Для звичайних web, CRM, ERP або mobile задач Fortran майже ніколи не є першим вибором.
Fortran і ERP-системи
Fortran не є ERP-системою.
Він не веде облік, не проводить документи й не керує складом сам по собі.
У контексті K2 ERP Fortran може бути корисним тільки в специфічних випадках:
- окреме чисельне ядро для складних розрахунків;
- інтеграція з legacy scientific/engineering code;
- оптимізаційна модель;
- прогнозна модель;
- обробка великих чисельних масивів;
- backend-бібліотека, яку викликає інша мова;
- розрахунковий модуль для інженерного бізнес-процесу.
Але основну бізнес-логіку ERP не варто писати на Fortran.
Fortran і API
Fortran не є типовою мовою для web API.
Але Fortran-код можна інтегрувати в API через:
- C wrapper;
- Python wrapper;
- shared library;
- command-line executable;
- microservice wrapper;
- C++/Rust/Go binding;
- batch job.
Типовий pattern:
Web/API layer → Python/Go/C#/Java service → Fortran numerical library
Так Fortran робить обчислення, а API-шар відповідає за HTTP, auth, logging і deployment.
Fortran і AI
Fortran не є головною мовою для сучасного AI research.
Для AI частіше використовують Python, PyTorch, JAX, TensorFlow.
Але Fortran може бути корисний для:
- чисельних solvers;
- simulation data generation;
- фізичних моделей;
- scientific ML;
- legacy numerical kernels;
- HPC preprocessing;
- climate/physics simulations для AI workflows.
У багатьох AI/science workflows Fortran може бути “невидимим двигуном” під високорівневим Python-кодом.
Коли Fortran особливо корисний
Fortran особливо корисний для:
- HPC;
- scientific computing;
- numerical methods;
- array-heavy computations;
- climate modeling;
- CFD;
- physics simulations;
- linear algebra;
- legacy scientific libraries;
- code that must run fast for decades;
- supercomputing;
- Fortran libraries behind Python/R/Julia.
Коли Fortran може бути невдалим вибором
Fortran може бути невдалим вибором, якщо:
- потрібен web backend;
- потрібна ERP-бізнес-логіка;
- потрібен mobile app;
- потрібен GUI;
- потрібна AI ecosystem;
- потрібен великий ринок generalist developers;
- задача не є чисельною;
- команда не має Fortran/HPC досвіду;
- потрібна швидка інтеграція з modern SaaS;
- достатньо Python/NumPy або MATLAB.
Типові помилки у Fortran
Поширені помилки:
- не писати
implicit none; - використовувати старий fixed-form стиль для нового коду;
- не перевіряти array bounds;
- порівнювати real numbers через точну рівність;
- не фіксувати compiler flags;
- не писати tests для чисельних routines;
- змішувати I/O і computation;
- створювати зайві temporary arrays;
- неправильно організовувати loop order;
- ігнорувати column-major layout;
- переписувати перевірений legacy code без тестів;
- не документувати units і assumptions;
- не перевіряти portability між компіляторами.
Хороші практики
Під час роботи з Fortran варто:
- Використовувати modern Fortran free form.
- Завжди писати
implicit none. - Використовувати modules.
- Використовувати explicit interfaces.
- Додавати
intentдо arguments. - Використовувати
iso_fortran_envдля precision. - Писати tests із numerical tolerances.
- Перевіряти код кількома компіляторами, якщо можливо.
- Використовувати bounds checking у debug.
- Профілювати performance перед оптимізацією.
- Використовувати BLAS/LAPACK замість ручної лінійної алгебри.
- Документувати units, assumptions і input data.
- Відокремлювати чисельне ядро від I/O.
- Модернізувати legacy code поступово.
- Не використовувати Fortran там, де він не дає переваги.
Практичний висновок
Fortran — це спеціалізована, але дуже важлива мова для чисельних і наукових обчислень.
Сильні сторони:
- висока продуктивність;
- масиви й матриці;
- mature optimizing compilers;
- HPC;
- BLAS/LAPACK ecosystem;
- OpenMP/MPI;
- coarrays;
- modern Fortran features;
- legacy scientific code;
- стабільність;
- decades of validated libraries.
Обмеження:
- не mainstream для web/backend;
- менший ринок розробників;
- багато legacy-коду потребує модернізації;
- tooling менш зручний, ніж у Python/JavaScript/C#;
- package ecosystem історично слабший;
- складна інтеграція з modern app layers без wrappers;
- для нечисельних задач часто є кращі мови.
Fortran найкраще використовувати там, де потрібні швидкі, перевірені й довготривалі чисельні ядра: HPC, наукові бібліотеки, фізичні симуляції, інженерні моделі й legacy scientific software.
Пояснення термінів
- Fortran — мова програмування для чисельних і наукових обчислень.
- Modern Fortran — сучасний стиль Fortran після Fortran 90.
- Fortran 2023 — актуальний стандарт ISO/IEC 1539:2023.
- WG5 — робоча група, відповідальна за стандарти Fortran.
- GFortran — GNU Fortran compiler у складі GCC.
- Intel Fortran Compiler — Fortran-компілятор Intel oneAPI.
- HPC — High Performance Computing.
- implicit none — директива, що вимикає implicit typing.
- Module — одиниця організації modern Fortran-коду.
- Subroutine — процедура без return value.
- Function — процедура, що повертає значення.
- Derived type — користувацький тип даних.
- Allocatable array — масив, пам’ять для якого виділяється під час виконання.
- Column-major order — порядок зберігання багатовимірних масивів у Fortran.
- do concurrent — цикл із незалежними ітераціями.
- Coarray — механізм паралельного програмування у Fortran.
- OpenMP — API для shared-memory parallelism.
- MPI — Message Passing Interface для distributed parallelism.
- BLAS — Basic Linear Algebra Subprograms.
- LAPACK — Linear Algebra PACKage.
- NetCDF — формат і бібліотеки для наукових масивних даних.
- HDF5 — формат і бібліотеки для ієрархічних наукових даних.
- fpm — Fortran Package Manager.
- iso_fortran_env — стандартний module для portable constants і kinds.
- iso_c_binding — стандартний module для C interoperability.
- Floating-point tolerance — допустима похибка для порівняння чисел із плаваючою комою.
- Legacy Fortran — старий Fortran-код, часто Fortran 77 або старіший стиль.
Дивіться також
- MATLAB
- Python
- Julia
- C Sharp
- Go
- Assembly
- Haskell
- F Sharp
- Groovy
- Розробка в K2 ERP
- Тестування коду
- API K2 ERP
- Інтеграції K2 ERP
- Deep Learning
- PyTorch
- Keras
- MLflow
- Штучний інтелект
- Генеративний AI
Джерела
- Fortran-lang — офіційний сайт спільноти
- Fortran-lang — Learn
- Fortran-lang — Installing GFortran
- WG5 — Fortran Standards
- WG5 — Fortran 2023
- GNU Fortran
- GCC Wiki — GFortran
- Fortran Wiki — GFortran
- Intel — Download Intel Fortran Compiler
- Intel Fortran Compiler Release Notes 2026
- Intel oneAPI Toolkit Release Notes 2026
- BLAS
- LAPACK
- OpenMP
- MPI Forum
- Fortran Package Manager
- NetCDF
- HDF5
- MediaWiki — Help:Formatting
- MediaWiki — Help:Links
- ↑ https://fortran-lang.org/
- ↑ https://wg5-fortran.org/f2023.html
- ↑ https://fortran-lang.org/learn/
- ↑ https://gcc.gnu.org/fortran/
- ↑ https://fortranwiki.org/fortran/show/GFortran
- ↑ https://gcc.gnu.org/fortran/
- ↑ https://fortran-lang.org/learn/os_setup/install_gfortran/
- ↑ https://www.intel.com/content/www/us/en/developer/articles/release-notes/oneapi-toolkit/2026.html
- ↑ https://www.intel.com/content/www/us/en/developer/tools/oneapi/fortran-compiler-download.html