Share to: share facebook share twitter share wa share telegram print page

 

Fortran

Fortran
Paradigmasıçok paradigmalı: yapısal, zorunlu (yordamsal, nesne yönelimli), genel
İlk çıkışı1957
TasarımcıJohn Backus
GeliştiriciJohn Backus & IBM
Kararlı sürümFortran 2018 (ISO/IEC 1539-1:2018) / (2018)
Önemli uygulamalarıAbsoft, Cray, GFortran, G95, IBM, Intel, Lahey/Fujitsu, Open Watcom, Pathscale, PGI, Silverfrost, Oracle, XL Fortran, Visual Fortran ve diğerleri
EtkilendikleriSpeedcoding
EtkiledikleriALGOL 58, BASIC, C, PL/I, PACT I, MUMPS, Ratfor
Olağan dosya uzantıları.f .for .f90 .f95

Fortran (önceleri FORTRAN), özellikle sayısal hesaplama ve bilimsel hesaplama için uygun olan genel amaçlı, yordamsal, zorunlu programlama dilidir.

Tarih

1954'te IBM tarafından üretilen IBM 704 için ilk sürümü John Backus ve ekibi tarafından geliştirilmiştir. Backus ve ekibi Kasım 1954'te "The IBM Mathematical FORmula TRANslating System: Fortran" isimli raporu yayınlamışlardır. Fortran ilk yüksek düzey programlama dili olmasa da 1950'deki yüksek programlama dilleri derlenmeden, bir yorumlayıcı(interpreter) yardımıyla çalıştırılıyordu. Bu da makine koduyla yazılan programlardan en az 10 kat daha yavaş çalışmalarına sebep oluyordu. 1950'lerdeki bilgisayarlar için hız çok şey ifade ettiğinden yazması zor da olsa makine kodu bu yüzden hala populerdi. İşte bu noktada Backus ve ekibi hem yüksek programlama dilleri gibi kolay yazılabilen hem de makine kodunda yazılmış gibi hızlı çalışan bir programlama dili sözüyle Fortran 'ı tanıttılar.

Fortran 'ı diğer yüksek düzey programlama dillerinden ayıran bir çevirici yerine bir derleyici(compiler) kullanmasıydı. Program yüksek düzey dilde yazıldıktan sonra makine koduna çevriliyor ve böylece hız kaybı engelleniyordu. Her ne kadar ilk derlenebilir yüksek düzey dilin Fortran olup olmadığı hala tartışma konusu olsa da, Fortran geniş kitleler tarafından kullanılmış ilk yüksek düzey derlenebilir dildir. İlk Fortran sürümü Fortran 0 'dır.

Sürümleri

Fortran 0 : İlk Fortran sürümünde hız için esneklikten vazgeçildi. Bu yüzden ilk sürümde program içindeki tüm değişkenlerin önceden tanımlanması gerekiyordu.

Fortran I : Ocak 1955'te başlayan çalışmalar Nisan 1957 bitirilerek Fortran I tanıtıldı. İlk sürümden farklı olarak değişken isimleri 6 karaktere kadar çıkabiliyordu, veri giriş çıkış sisteminin düzeni değiştirilmişti. Ayrıca if ve do ifadeleri içeriyordu. Daha önceleri tekrarlama işlemi için özyineleme(recursion) kullanılırken do ifadesi sayesinde fonksiyon içinde yineleme(iteration) işlemi gerçekleştirildi. Fortan I 'deki değişken isimleri I, J, K, L, M, N ile başlıyordu. Bunun sebebi de o zamanki bilgisayarların bilimsel çalışmalarında kullanıldığından ve bilim insanlarının denklemlerinde değişken olarak bu harfleri çok kullanmalarından kaynaklanıyordu.

Fortran II : 1958 baharında tanıtılan Fortran II, Fortran I 'deki birçok hatayı düzeltiyordu. Getirdiği en önemli yenilik alt-programların ayrı ayrı derlenebilmesini sağlamaktı. Böylece alt-programda yapılan küçük bir değişim için tüm programı yeniden derlemek yerine, sadece alt-programın derlenmesi sağlandı. Bu zor olan ve genellikle makine hatası sonucu yarıda kalan derleme işlemine büyük bir kolaylık sağladı.

Fortran III : Fortran III tasarlanmasına rağmen asla geniş bir kullanım alanı bulamadı.

Fortran IV : 1960 ve 1962 yıllarında gelişmiş olan Fortran IV zamanın en geniş alanda kullanılmış programlama dili oldu. 1966'da Fortran 66 adı altında standart haline geldi(ANSI, 1966). Fortran IV büyük bakıma Fortran II 'nin gelişmiş haliydi. En önemli değişikliği mantıksal if ifadesi ve fonksiyonlara başka fonksiyonların parametre olarak aktarılabilmesiydi.

Fortran 77 : Fortran IV 'e ek olarak string işleme, mantıksal döngüler ve if ifadesine else ifadesi eklenmişti.

Fortran 90 : Fortran 77 'den epey farklı özellikleri vardır. En belirgin özelliği diziler için dinamik olarak yer ayrımının yapılabilmesidir. Ayrıca Case, Exit, Cycle, gibi yeni ifadeler eklenmiştir. Bir modul ünitesi eklenmiştir. Bu moduller Private veya Public ulaşım iznine sahip veri ve fonksiyon saklayabilmektedir. Ayrıca Fortran 77 'de olan bazı özellikler de yeni sürümden çıkarılmıştır. Fortran 90 ile birlikte FORTRAN olan yazım şekli Fortran olarak değiştirilmiştir.

Fortran 95 : Fortran 95 ile dil hala evrimini devam ettirmektedir...
Fortran 2000
Fortran 2003
Fortran 2008

Fonksiyon Fonksiyonun anlamı Giriş Tipi Sonuç Tipi
ABS(x) x'in mutlak değeri gerçel/tam sayı gerçel/tam sayı
SQRT(x) x'in karekökü gerçel gerçel
SIN(x) x'in sinüsü gerçel gerçel
COS(x) x'in kosinüsü gerçel gerçel
TAN(x) x'in tanjantı gerçel gerçel
LOG(x) x'in doğal logaritması gerçel gerçel
LOG10(x) x'in 10 tabanına göre logaritması gerçel gerçel
ASIN(x) x'in sinüse göre tersi gerçel gerçel
ACOS(x) x'in kosinüse göre tersi gerçel gerçel
ATAN(x) x'in tanjanta göre tersi gerçel gerçel
MOD(x, y) x'in y'ye bölümünden kalan tam sayı gerçel/tam sayı gerçel/tam sayı
MIN sayılarının en küçüğü gerçel/tam sayı gerçel/tam sayı
MAX sayılarının en büyüğü gerçel/tam sayı gerçel/tam sayı
SINH(x) x'in hiperbolik sinüsü gerçel/tam sayı gerçel/tam sayı
COSH(x) x'in hiperbolik kosinüsü gerçel/tam sayı gerçel/tam sayı
TANH(x) x'in hiperbolik tanjantı gerçel/tam sayı gerçel/tam sayı
EXP(x) gerçel gerçel

Kaynakça

  • Concepts of Programming Languages - Robert W. Sebesta
Kembali kehalaman sebelumnya


Index: pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve 
Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9