Fortran (önceleri FORTRAN), özellikle sayısal hesaplama ve bilimsel hesaplama için uygun olan amaçlı, yordamsal, zorunlu programlama dilidir.
Paradigması | çok paradigmalı: yapısal, zorunlu (yordamsal, nesne yönelimli), |
---|---|
İlk çıkışı | 1957 |
Tasarımcı | John Backus |
Geliştirici | John Backus & IBM |
Kararlı sürüm | Fortran 2018 (ISO/IEC 1539-1:2018) / (2018) |
, , | |
Absoft, , , , IBM, , Lahey/Fujitsu, , Pathscale, , , Oracle, , Visual Fortran ve diğerleri | |
Etkilendikleri | |
Etkiledikleri | , BASIC, C, , , , |
Olağan dosya uzantıları | .f .for .f90 .f95 |
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 |
---|---|---|---|
(x) | x’in mutlak değeri | gerçel/tam sayı | gerçel/tam sayı |
(x) | x’in karekökü | gerçel | gerçel |
(x) | x’in sinüsü | gerçel | gerçel |
(x) | x’in kosinüsü | gerçel | gerçel |
(x) | x’in tanjantı | gerçel | gerçel |
(x) | x’in doğal logaritması | gerçel | gerçel |
(x) | x’in 10 tabanına göre logaritması | gerçel | gerçel |
(x) | x’in sinüse göre tersi | gerçel | gerçel |
(x) | x’in kosinüse göre tersi | gerçel | gerçel |
(x) | x’in tanjanta göre tersi | gerçel | gerçel |
(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ı |
(x) | x'in hiperbolik sinüsü | gerçel/tam sayı | gerçel/tam sayı |
(x) | x'in hiperbolik kosinüsü | gerçel/tam sayı | gerçel/tam sayı |
(x) | x'in hiperbolik tanjantı | gerçel/tam sayı | gerçel/tam sayı |
(x) | gerçel | gerçel |
Kaynakça
- Concepts of Programming Languages - Robert W. Sebesta
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Fortran onceleri FORTRAN ozellikle sayisal hesaplama ve bilimsel hesaplama icin uygun olan amacli yordamsal zorunlu programlama dilidir FortranParadigmasicok paradigmali yapisal zorunlu yordamsal nesne yonelimli Ilk cikisi1957TasarimciJohn BackusGelistiriciJohn Backus amp IBMKararli surumFortran 2018 ISO IEC 1539 1 2018 2018 Absoft IBM Lahey Fujitsu Pathscale Oracle Visual Fortran ve digerleriEtkilendikleriEtkiledikleri BASIC C Olagan dosya uzantilari f for f90 f95Tarih1954 te IBM tarafindan uretilen IBM 704 icin ilk surumu John Backus ve ekibi tarafindan gelistirilmistir Backus ve ekibi Kasim 1954 te The IBM Mathematical FORmula TRANslating System Fortran isimli raporu yayinlamislardir Fortran ilk yuksek duzey programlama dili olmasa da 1950 deki yuksek programlama dilleri derlenmeden bir yorumlayici interpreter yardimiyla calistiriliyordu Bu da makine koduyla yazilan programlardan en az 10 kat daha yavas calismalarina sebep oluyordu 1950 lerdeki bilgisayarlar icin hiz cok sey ifade ettiginden yazmasi zor da olsa makine kodu bu yuzden hala populerdi Iste bu noktada Backus ve ekibi hem yuksek programlama dilleri gibi kolay yazilabilen hem de makine kodunda yazilmis gibi hizli calisan bir programlama dili sozuyle Fortran i tanittilar Fortran i diger yuksek duzey programlama dillerinden ayiran bir cevirici yerine bir derleyici compiler kullanmasiydi Program yuksek duzey dilde yazildiktan sonra makine koduna cevriliyor ve boylece hiz kaybi engelleniyordu Her ne kadar ilk derlenebilir yuksek duzey dilin Fortran olup olmadigi hala tartisma konusu olsa da Fortran genis kitleler tarafindan kullanilmis ilk yuksek duzey derlenebilir dildir Ilk Fortran surumu Fortran 0 dir SurumleriFortran 0 Ilk Fortran surumunde hiz icin esneklikten vazgecildi Bu yuzden ilk surumde program icindeki tum degiskenlerin onceden tanimlanmasi gerekiyordu Fortran I Ocak 1955 te baslayan calismalar Nisan 1957 bitirilerek Fortran I tanitildi Ilk surumden farkli olarak degisken isimleri 6 karaktere kadar cikabiliyordu veri giris cikis sisteminin duzeni degistirilmisti Ayrica if ve do ifadeleri iceriyordu Daha onceleri tekrarlama islemi icin ozyineleme recursion kullanilirken do ifadesi sayesinde fonksiyon icinde yineleme iteration islemi gerceklestirildi Fortan I deki degisken isimleri I J K L M N ile basliyordu Bunun sebebi de o zamanki bilgisayarlarin bilimsel calismalarinda kullanildigindan ve bilim insanlarinin denklemlerinde degisken olarak bu harfleri cok kullanmalarindan kaynaklaniyordu Fortran II 1958 baharinda tanitilan Fortran II Fortran I deki bircok hatayi duzeltiyordu Getirdigi en onemli yenilik alt programlarin ayri ayri derlenebilmesini saglamakti Boylece alt programda yapilan kucuk bir degisim icin tum programi yeniden derlemek yerine sadece alt programin derlenmesi saglandi Bu zor olan ve genellikle makine hatasi sonucu yarida kalan derleme islemine buyuk bir kolaylik sagladi Fortran III Fortran III tasarlanmasina ragmen asla genis bir kullanim alani bulamadi Fortran IV 1960 ve 1962 yillarinda gelismis olan Fortran IV zamanin en genis alanda kullanilmis programlama dili oldu 1966 da Fortran 66 adi altinda standart haline geldi ANSI 1966 Fortran IV buyuk bakima Fortran II nin gelismis haliydi En onemli degisikligi mantiksal if ifadesi ve fonksiyonlara baska fonksiyonlarin parametre olarak aktarilabilmesiydi Fortran 77 Fortran IV e ek olarak string isleme mantiksal donguler ve if ifadesine else ifadesi eklenmisti Fortran 90 Fortran 77 den epey farkli ozellikleri vardir En belirgin ozelligi diziler icin dinamik olarak yer ayriminin yapilabilmesidir Ayrica Case Exit Cycle gibi yeni ifadeler eklenmistir Bir modul unitesi eklenmistir Bu moduller Private veya Public ulasim iznine sahip veri ve fonksiyon saklayabilmektedir Ayrica Fortran 77 de olan bazi ozellikler de yeni surumden cikarilmistir Fortran 90 ile birlikte FORTRAN olan yazim sekli Fortran olarak degistirilmistir Fortran 95 Fortran 95 ile dil hala evrimini devam ettirmektedir Fortran 2000 Fortran 2003 Fortran 2008 Fonksiyon Fonksiyonun anlami Giris Tipi Sonuc Tipi x x in mutlak degeri gercel tam sayi gercel tam sayi x x in karekoku gercel gercel x x in sinusu gercel gercel x x in kosinusu gercel gercel x x in tanjanti gercel gercel x x in dogal logaritmasi gercel gercel x x in 10 tabanina gore logaritmasi gercel gercel x x in sinuse gore tersi gercel gercel x x in kosinuse gore tersi gercel gercel x x in tanjanta gore tersi gercel gercel x y x in y ye bolumunden kalan tam sayi gercel tam sayi gercel tam sayiMIN x1 x2 xn displaystyle x 1 x 2 x n x1 x2 xn displaystyle x 1 x 2 x n sayilarinin en kucugu gercel tam sayi gercel tam sayiMAX x1 x2 xn displaystyle x 1 x 2 x n x1 x2 xn displaystyle x 1 x 2 x n sayilarinin en buyugu gercel tam sayi gercel tam sayi x x in hiperbolik sinusu gercel tam sayi gercel tam sayi x x in hiperbolik kosinusu gercel tam sayi gercel tam sayi x x in hiperbolik tanjanti gercel tam sayi gercel tam sayi x ex displaystyle e x gercel gercelKaynakcaConcepts of Programming Languages Robert W Sebesta