Fortran, "Formül Çevirisi"nin kısaltmasıdır ve özellikle bilimsel ve mühendislik uygulamaları için son derece uygun olan yüksek seviyeli bir programlama dilidir. Elektronik bilgisayarlar için geliştirilen ilk programlama dillerinden biri olan Fortran, ortaya çıktığı günden bu yana önemli ölçüde evrim geçirmiştir. Fortran, dizi verilerini verimli bir şekilde manipüle etmeyi sağlar ve karmaşık matematiksel hesaplamaları destekler, bu da onu sayısal hava tahmini, hesaplamalı fizik ve biyoinformatik gibi birçok alanda tercih edilen bir dil haline getirir.
Fortran, 1950'lerde IBM tarafından sayısal hesaplama ve bilimsel hesaplama için tasarlanmış bir dil olarak geliştirilmiştir. İlk versiyonu Fortran I, 1957'de piyasaya sürülmüştür. Temel fikir, bilim insanlarının ve mühendislerin, temel donanımın karmaşıklıklarını bilmeden program yazmalarını sağlayacak bir dil oluşturmaktı.
Fortran'ın ardından gelen versiyonlar, her biri yeni özellikler ekleyerek ve kullanılabilirliği artırarak tanıtılmıştır. Kısa süre sonra Fortran II, yapılandırılmış programlama özellikleri eklemiştir. 1966'da tanıtılan Fortran IV, endüstri standardı haline gelmiştir. 1978'de piyasaya sürülen Fortran 77, karakter veri türleri ve geliştirilmiş girdi/çıktı yetenekleri gibi özellikler eklemiştir.
1991'den itibaren Fortran 90, dizi programlama, modüler programlama, özyineleme ve dinamik bellek tahsisi gibi özellikler tanıtmıştır. Fortran 2003 ve Fortran 2008, nesne yönelimli programlama ve C programlama dili ile geliştirilmiş birlikte çalışabilirlik gibi özelliklerle dili daha da geliştirmiştir. En son standart olan Fortran 2018, paralel işleme için geliştirilmiş uyumluluk ve işlevsellik gibi daha fazla iyileştirme getirmiştir.
Fortran, GNU Fortran (gfortran) ve Intel Fortran Compiler gibi modern derleyicilerle desteklenen birçok bilimsel ve mühendislik disiplininde aktif olarak kullanılmaktadır. Büyük bir miras kod tabanına sahiptir ve birçok bilimsel kütüphane Fortran'da yazılmıştır, bu da onu belirli alanlarda kritik bir dil haline getirmektedir.
Fortran, değişken türlerinin açık bir şekilde beyan edilmesini gerektiren güçlü bir tip dilidir. Örneğin:
INTEGER :: i
REAL :: x
CHARACTER(len=10) :: name
Fortran, dizileri işleme konusunda mükemmeldir ve basit sözdizimi ile tüm diziler üzerinde işlemler yapmayı sağlar.
REAL, DIMENSION(10) :: A
A = 2.0 * A ! Dizi A'nın her bir elemanını 2 ile çarpar
Fortran, döngüler ve koşullu ifadeler gibi geleneksel kontrol yapıları sağlar.
DO i = 1, 10
IF (A(i) > 0) THEN
PRINT *, 'Pozitif'
END IF
END DO
Fortran, modüler programlama için fonksiyonlar ve alt programlar tanımlamaya olanak tanır.
FUNCTION square(x)
REAL :: square
REAL, INTENT(IN) :: x
square = x * x
END FUNCTION square
Varsayılan olarak, Fortran'da "I", "J", "K", "L", "M" veya "N" ile başlayan isimlere sahip değişkenler otomatik olarak INTEGER olarak kabul edilir. Bu, açıklık için geçersiz kılınabilir.
IMPLICIT NONE ! İkincil tipi devre dışı bırakır
INTEGER :: I
REAL :: R
Fortran, bir koşula dayalı olarak tekrar eden yürütme için do-while döngülerini destekler.
i = 1
DO WHILE (i <= 10)
PRINT *, i
i = i + 1
END DO
Fortran, yapı benzeri veri tanımlarına olanak tanıyan güçlü kullanıcı tanımlı tipler olan türetilmiş tipleri destekler.
TYPE :: Person
CHARACTER(len=20) :: name
INTEGER :: age
END TYPE Person
TYPE(Person) :: p1
Fortran, veri ve prosedürleri kapsüllemek için modülleri destekler, bu da kodun yeniden kullanımını ve organizasyonunu teşvik eder.
MODULE myModule
CONTAINS
SUBROUTINE mySubroutine()
! Uygulama
END SUBROUTINE
END MODULE
Fortran, C gibi dillerdeki dinamik bellek yönetimini kolaylaştıran göstergeleri destekler.
REAL, POINTER :: pA
ALLOCATE(pA(10)) ! Dinamik olarak bir dizi tahsis eder
Fortran, C ile birlikte çalışabilirlik oluşturan özelliklere sahiptir ve karışık dil programlamasına olanak tanır.
INTERFACE
FUNCTION c_function(x) BIND(C, NAME="c_function")
INTEGER(C_INT) :: c_function(INTEGER)
END FUNCTION c_function
END INTERFACE
En popüler Fortran derleyicileri şunlardır:
Fortran, bazı diğer diller kadar modern IDE'lerle yaygın olarak ilişkilendirilmemiş olsa da, birkaç IDE bunu desteklemektedir:
Bir Fortran projesi oluşturmak genellikle .f, .f90 veya .f95 uzantılı kaynak dosyaları oluşturmayı ve bunları bir Fortran derleyicisi kullanarak derlemeyi içerir. Tipik bir komut şöyle görünebilir:
gfortran -o my_program my_source.f90
Fortran, bilimsel hesaplama, sayısal hava tahmini, iklim modelleme, hesaplamalı fizik, hesaplamalı kimya ve biyoinformatik gibi alanlarda yaygın olarak kullanılmaktadır. Özellikle ağır sayısal hesaplamalar ve simülasyonlardaki performansı ile tanınmaktadır.
Fortran'ın bilimsel ve mühendislik programlama alanındaki ana rakipleri şunlardır:
Fortran, geliştiricilerin eski kodları daha çağdaş dillere dönüştürmelerine veya mevcut kodları optimize etmelerine yardımcı olabilecek birkaç kaynak-kaynağa çeviri aracı sunmaktadır. Bazı araçlar şunlardır:
Bu araçlar, daha eski Fortran sürümlerinden veya tamamen farklı programlama paradigmalarından geçişi kolaylaştırırken, performans ve işlevselliği korumaya yardımcı olur.