İçeriğe atla

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

(İntrinsic Fonksiyonları)

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

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">C (programlama dili)</span> programlama dili

C, yapısal bir programlama dilidir. Bell Laboratuvarları'nda, Ken Thompson ve Dennis Ritchie tarafından UNIX işletim sistemini geliştirebilmek amacıyla B dilinden türetilmiştir. Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian Kernighan ve Dennis M. Ritchie tarafından yayımlanan "C Programlama Dili" kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm işletim sistemlerinin yapımında %95'lere varan oranda kullanılmış, hâlen daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın ve sınırları belirsiz oldukça keskin bir dildir. Keskinliği, programcıya sonsuz özgürlüğün yanında çok büyük hatalar yapabilme olanağı sağlamasıdır. Programlamanın gelişim süreciyle beraber programlamanın karmaşıklaşması, gereksinimlerin artması ile uygulama programlarında nesne yönelimliliğin ortaya çıkmasından sonra C programcıları büyük ölçüde nesne yönelimliliği destekleyen C++ diline geçmişlerdir.

<span class="mw-page-title-main">Pascal (programlama dili)</span> yüksek seviyeli programlama dili

Pascal bilgisayar programlama dili pek çok öğrenciye bilgisayar programlamayı öğreten ve çeşitli versiyonları bugün hâlâ yaygın olarak kullanılmaya devam eden en önemli programlama dillerinden biridir. İlk Macintosh işletim sisteminin çoğu ve TeX Pascal ile yazılmıştır.

Komut kümesi mimarisi, CPU'nun yazılım tarafından nasıl kontrol edileceğini tanımlayan bilgisayar soyut modelinin bir parçasıdır. ISA, işlemcinin ne yapabileceğini ve bunu nasıl yapacağını belirterek donanım ve yazılım arasında bir arayüz gibi davranır.

<span class="mw-page-title-main">BASIC</span> programlamaya yeni başlayanlar için kullanımı kolay anlaşılır bir programlama dili

BASIC 1964'te John George Kemeny ve Thomas Eugene Kurtz tarafından New Hampshire, ABD'de icat edilmiş, günümüzde de çeşitli türevleri kullanılmakta olan yüksek düzey bir programlama dili. Farklı türevleri birçok işletim sisteminin parçası olarak sunulmuştur.

QuickBASIC, QBASIC ya da QB, Microsoft şirketi tarafından geliştirilmiş, Microsoft QuickBASIC isimli programlama dilinin belli özellikleri çıkarılarak sadeleştirilmiş halidir. MS-DOS işletim sisteminin belli sürümlerinin parçası olarak sunulmuştur. Adından da anlaşılacağı üzere, yapısal bir BASIC türevidir.

<span class="mw-page-title-main">Java</span> açık kaynak kodlu, nesneye yönelik, zeminden bağımsız, yüksek verimli, çok işlevli, yüksek seviye, adım adım işletilen bir programlama dili

Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmış açık kaynak kodlu, nesneye yönelik, platform bağımsız, yüksek verimli, çok işlevli, yüksek seviye, hem yorumlanan hem de derlenen bir dildir.

<span class="mw-page-title-main">COBOL</span> İngilizce dil özelliklerine benzer programlama dili

COBOL, bir programlama dili. Ticaret alanı ve özellikle iş yerlerinin yönetimiyle ilgili konularda, tüm dünyada kullanılmak üzere hazırlanmıştır. ISAM yapısına izin veren sınırlı sayıdaki dilden biridir. Sayı tipi sınırsızdır. COBOL 2002 'den beri Nesne Yönelimli Programlama'yı desteklemektedir. COBOL 1959'da Üniversiteler, Hükûmetler ve Ticari Kuruluşlar tarafından oluşturulan bir komite tarafından yaratılmıştır. "COBOL" ismi 18 Eylül 1959'da toplanan komitenin kararıdır.

Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli yüksek seviyeli bir programlama dilidir.

<span class="mw-page-title-main">Derleyici</span> kaynak kodunu bilgisayarın işleyebileceği koda dönüştüren program

Derleyici, kaynak kodu makine koduna dönüştüren yazılımdır. Bir programlama dilinin derleyicisi, o programlama dili kullanılarak yazılmış olan kodu hedef işlemci mimarisine göre uygun şekilde makine koduna derler ve genellikle çıktı olarak yürütülebilir dosyanın oluşturulmasını sağlar. Bu eyleme derleme denir. Bir başka ifadeyle derleyici, bir tür yazı işleyicidir; girdi olarak yazı alır ve çıktı olarak yazı verir.

<span class="mw-page-title-main">ALGOL</span> programlama dil ailesi

ALGOL(; adı ALGOrithmic Language'in kısaltmasından gelmektedir), ilk olarak 1958 yılında geliştirilen bir zorunlu bilgisayar programlama dili ailesidir. ALGOL diğer birçok dili büyük ölçüde etkilemiş ve Association for Computing Machinery (ACM) tarafından otuz yıldan uzun bir süre ders kitaplarında ve akademik kaynaklarda kullanılan algoritma tanımlaması için standart yöntem olmuştur.

Program kelimesi sözcük kaynağı olarak belirli şartlara ve düzene göre yapılması öngörülen işlemlerin bütünü anlamına gelmekte ve ayrıca izlence olarak tanımlanmaktadır. Ancak günümüz Türkçe kullanımı içinde genel anlamı, yapılacak bir işin bölümlerini, bu bölümlerin sırasını ve zamanını gösteren tasarı, planlama şekline dönüşmüştür. Bu sebeple okullarda, haftanın belli günlerinde, belli saatlerde verilecek dersleri gösteren çizelgelere; tören, gösteri, gezi vb. nin öngörülen ayrıntılarını gösteren basılı kâğıtlara; siyasi partilerin, toplumsal örgütlerin veya hükûmetin açıkladığı ana ilkelerin tümüne de genel olarak Program ismi verilmektedir.

<span class="mw-page-title-main">Assembly</span> uygulanan işlemlerle programlama dilinin birbirine çok yakın olduğu düşük seviye programlama dilleri

Assembly dili, bir işlemcinin komut kümesi üzerine tanımlanmış alt seviye bir dildir. Assembly dili kolay hatırlanabilir semboller tanımlar ve böylece işlemcinin makina koduna karşılık gelen sayı dizilerinin bilinmesine gerek kalmaz. Assembly dili, platformdan bağımsız yüksek seviyeli programlama dillerinin aksine, işlemci mimarisine bağımlıdır. Tipik uygulamaları; cihaz sürücüleri, alt seviyeli dahili (embedded) ve gerçek zamanlı sistemlerdir. Bır assembly programı assembler kullanılarak makine koduna çevrilir.

<span class="mw-page-title-main">Bilgisayar mimarisi</span>

Bilgisayar mimarisi, en küçüğe ve en başarılıya ulaşmayı hedeflerken aynı zamanda maliyeti de göz önünde bulundurduğu için sanat ve bilimin ortak buluştuğu nokta olarak da tanımlanır. Bilgisayar Mimarisi, bilgisayar parçalarının iç yapıları ve aralarındaki haberleşme bağlantıları ile ilgilidir.

<span class="mw-page-title-main">Programlama</span> bilgisayar probleminin orijinal formülasyonundan çalıştırılabilir bilgisayar programlarına yönlendiren süreç

Programlama ya da diğer adı ile yazılımlama, bilgisayarın donanıma nasıl davranacağını anlatan, bilgisayara yön veren komutlar, kelimeler, aritmetik işlemlerdir. Diğer bir tanımla programlama, bilgisayar programlarının yazılması, test edilmesi ve bakımının yapılması sürecine verilen isimdir.

Betik dili, betik yorumlamak için yazılmış özel çalışma-zamanı sistemlerinin yorumlayabileceği programlama dilleridir. Diğer programlama dilleri ile yazılan kodlar makine koduna çevrilip çıkan program doğrudan çalıştırılırken betik kodları interpreter tarafından doğrudan okunur ve yorumlanarak işlemler yorumlayıcının kendisi tarafından yapılır.

Programlama dili teorisi (PDT), programlama dilleri olarak bilinen biçimsel dillerin ve bunların bireysel özelliklerinin tasarımı, uygulanması, analizi, karakterizasyonu ve sınıflandırılması ile ilgilenen bir bilgisayar bilimleri dalıdır. Matematik, yazılım mühendisliği, dilbilim ve hatta bilişsel bilime bağlı ve onu etkileyen bilgisayar bilimi disiplinine girer. PDT'ye adanmış çok sayıda dergide ve genel bilgisayar bilimi ve mühendisliği yayınlarında yayınlanan sonuçlarla tanınmış bir bilgisayar bilimi dalı ve aktif bir araştırma alanı haline gelmiştir.

Programlama paradigmaları, programlama dillerini özelliklerine göre sınıflandırmanın bir yoludur. Diller birden fazla paradigma içinde sınıflandırılabilir.

Bilgi işlem platformu, bir uygulama yazılımı çalıştırmak için donanım mimarisi ve bir yazılım çerçevesi, yazılım, çeşitli bazı kombinasyon veya sıralamalarını içermektedir. Tipik platformlarda bir bilgisayar mimari, işletim sistemi, programlama dilleri ve ilgili kullanıcı arabirimi içerir.

Dart, ilk kez Google tarafından geliştirilen ve daha sonraları ECMA tarafından standart (ECMA-408) haline getirilen açık kaynaklı ve genel-amaçlı bir programlama dilidir. Dart dili kullanılarak web, sunucu, mobil uygulamalar ve IoT cihazları geliştirilebilir.

Small Basic, Microsoft'un geliştirdiği ve yayımladığı bir programlama dilidir.