Fortran
Formula Translation
- Okunuşu
- fortran
Kısaca
Fortran, 1957'de IBM'de bilim ve mühendislik hesapları için geliştirilen ilk yaygın yüksek seviyeli dildir; yüksek performanslı hesaplamada hâlâ kullanılır.
Fortran nedir?
Fortran, IBM'de John Backus'un yönettiği bir ekip tarafından geliştirildi ve 1957'de yayımlandı. Adı formula translation'dan (formül çevirisi) gelir: bilim insanları matematik formüllerini neredeyse kâğıtta göründükleri gibi yazabiliyordu, derleyici de bunları elle yazılmış assembly kadar hızlı makine koduna çeviriyordu; bu da insanları yüksek seviyeli dillerin pratik olduğuna ikna etti.
Dil, delikli kart döneminden bu yana çok yol aldı. Fortran 90 serbest biçimli kaynak kodu, modülleri ve bütün diziler üzerinde işlemleri getirdi; Fortran 2023'e kadar uzanan sonraki standartlar da nesne yönelimi, coarray'lerle paralel programlama ve C ile birlikte çalışabilirlik ekledi. gfortran ve Intel'in ifx'i gibi derleyiciler onu modern donanımda hızlı tutar.
Fortran, süper bilgisayarlardaki sayısal işlerde güçlü olmaya devam ediyor: hava tahmini, iklim modelleri, hesaplamalı akışkanlar dinamiği, fizik ve kimya simülasyonları. NumPy, MATLAB ve R'nin perde arkasında kullandığı BLAS ve LAPACK gibi temel sayısal kütüphanelerin kökleri de Fortran'a dayanır.
Sık yapılan bir yanlış, Fortran'ın yalnızca eski kod olduğunu düşünmektir. Yeni bilimsel kod hâlâ onunla yazılıyor, çünkü dizi sözdizimi ve derleyicileri sayı hesaplamayı hem basit hem hızlı yapıyor. Dizileri sütun öncelikli (column-major) saklanır ve varsayılan olarak 1 indeksinden başlar; bu da C ya da Python ile veri paylaşırken önemlidir.
Önemli noktalar
- Fortran, bilimsel hesaplama için 1957'de IBM'de geliştirildi.
- İlk yaygın yüksek seviyeli dildi.
- Modern standartlar modüller, dizi işlemleri, OOP ve paralellik ekler.
- Süper bilgisayarlarda hava, iklim ve fizik simülasyonlarını hâlâ o çalıştırır.
- BLAS ve LAPACK gibi temel sayısal kütüphaneler Fortran'dan gelir.
Örnek
program waves
implicit none
integer, parameter :: n = 1000
real :: t(n), y(n)
integer :: i
t = [(real(i) * 0.01, i = 1, n)] ! fill an array
y = sin(t) * exp(-t / 3.0) ! operate on whole arrays, no loop
print '(A, F8.4)', 'Maximum: ', maxval(y)
print '(A, F8.4)', 'Mean: ', sum(y) / n
end program wavesSık sorulan sorular
Fortran hâlâ kullanılıyor mu?
Evet, bilimsel ve mühendislik hesaplamalarında. Süper bilgisayarlarda çalışan birçok hava, iklim ve fizik kodu Fortran ile yazılmıştır ve bu alanlardaki yeni projeler hâlâ onu kullanıyor.
Fortran neden hızlıdır?
Tasarımı, örneğin dizilerin bellekte nasıl çakışabileceğini kısıtladığı için, derleyicilerin sayısal döngüleri ve dizileri optimize etmesini kolaylaştırır; onlarca yıllık derleyici çalışması da tam olarak bu tür koda odaklanmıştır.
FORTRAN ile Fortran arasındaki fark nedir?
Büyük harfli FORTRAN, FORTRAN 77'ye kadarki eski sürümleri anlatır. Fortran 90'dan beri ad yalnızca baş harfi büyük olarak yazılır.
İlgili sayfalar
- COBOLProgramlama Dilleri, s. 7COBOL (Common Business-Oriented Language), iş verisi işlemek için 1959'da tasarlanmış bir dildir; hâlâ kritik bankacılık ve kamu sistemlerini çalıştırır.
- CProgramlama Dilleri, s. 3C, belleğe doğrudan erişim sağlayan, derlenen ve düşük seviyeli bir programlama dilidir; işletim sistemlerinde, sürücülerde ve gömülü yazılımlarda kullanılır.
- DerleyiciProgramlamanın Temelleri, s. 12Derleyici, bir programlama dilinde yazılmış kaynak kodu, bilgisayarın çalıştırabileceği makine kodu gibi daha alt seviyeli bir biçime çeviren programdır.
- MATLABProgramlama Dilleri, s. 20MATLAB, MathWorks'ün matris tabanlı sayısal hesaplama dili ve ortamıdır; mühendisler ve bilim insanları tarafından veri analizi ve simülasyon için kullanılır.
- JuliaProgramlama Dilleri, s. 16Julia, bilimsel ve sayısal hesaplama için yüksek seviyeli, dinamik tipli bir dildir; Python kadar kolay yazılıp C kadar hızlı çalışmayı hedefler.
- ParalellikProgramlamanın Temelleri, s. 44Paralellik, birkaç hesaplamayı birden çok CPU çekirdeğinde, GPU'da ya da makinede gerçekten aynı anda çalıştırmaktır; böylece büyük bir iş daha hızlı biter.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin