• Fortran programlama dili (Fortran). Yürüyen ölü. Fortran

    vt4a2h'nin öğrenmek için C++ kullanmayı önerdiği ilk yazımı buraya yazmaya çalışmam istendi. Evet, açık bu konu birçok kopya kırıldı.

    Muhtemelen uçsuz bucaksız Anavatanımızın enginliğinde çoğu okul çocuğu gibi ben de mavi ekran aracılığıyla temelleri anlamaya başladım, ancak ölümü değil, Turbo Pascal 7.0'ı. İlk kez karşılaştığım Basic de vardı tabii ki. okul öncesi yaş Sovyet bilgisayarında "Elektronik". Sonra garip bir metin editörü gibi göründü çünkü bilgisayar, bir çocuğun gözünden oyunlar için yaratıldı. Bununla birlikte, zaten enstitüde Fortran diliyle tanıştım, hangisini öğrendikten sonra neden öğretim için kullanılmadığını hala merak ediyorum.

    Evet, birçok kişi dilin öldüğünü söyleyecek, uyuşmuyor modern gerçekler ve resimdeki gibi isimli ders kitapları sadece bir gülümsemeye neden olur. Bu dilin neden bu kadar dikkat çekici olduğunu ve neden birinci dil olarak önerdiğimi açıklamaya çalışacağım. İlgileniyorsanız, kedinin altına hoş geldiniz.

    Programlamanın temellerinin okul yıllarında, en azından lise yıllarında atılması gerektiğine inanıyorum. Hayatta bilgisayar yalnızca Word "e yazmak veya iletişim kurmak için kullanılacak olsa bile sosyal ağlarda, bir algoritmanın ne olduğu ve elde etmek için bir dizi eylemin nasıl yapılandırılacağı hakkında minimum bilgi İstenen sonuç, en azından yetişkinlikte genç delikanlıya zarar vermeyecekler, ancak büyük olasılıkla özel bir zihniyet oluşturmaya yardımcı olacaklar.

    Bilgisayar bilimi derslerinin bir kabus değil, bir keyif haline gelmesi için öğrencinin ne yaptığını, nasıl yaptığını ve neden bu şekilde çalıştığını ve başka türlü olmadığını anlaması gerekir. Sonuçta, aslında, bir kişinin kendi başına program yazabilmesi için döngü ve koşullu operatör hakkındaki bilgileri doğru bir şekilde iletmeniz gerekir. Aynı zamanda dilin sözdizimi ne kadar basitse kod yazmanın mantığını anlamak da o kadar kolay oluyor. Bir kişi doğru algoritmayı oluşturmayı öğrenirse, diğer dillerde programlama için yalnızca bu dilin sözdizimini bilmesi gerekir ve temel çoktan atılmış olur.

    Fortran neden bu kadar dikkat çekici?

    Bu dilin yaratılış tarihine dönelim. Geçen yüzyılın uzak 50'li yıllarında, bilgisayarların hala büyük olduğu, az sayıda programcının olduğu ve bilgisayar biliminin okulda öğretilmediği ve genellikle sözde bilim olarak kabul edildiği zamanlarda ortaya çıktı. Mühendislerin ve bilim adamlarının kağıda yazılan formülleri delikli kartlar aracılığıyla bile bilgisayarlara "beslemelerine" yardımcı olacak basit bir dile ihtiyaç vardı.

    Dolayısıyla dilin kendisinin adı: İçin mula tran slator veya "formül çevirmeni". Onlar. Başlangıçta dil, özel eğitim almamış insanlara odaklanmıştı, bu da mümkün olduğu kadar basit olması gerektiği anlamına geliyordu.

    Yaratıcılar basitlikte başarılı oldular. Klasik ilk program şöyle görünür:

    Program hw write(*,*) "Merhaba Dünya!" son
    Sözdizimi Pascal'dan biraz daha basittir, satırın sonuna koymaya gerek yoktur " ; " veya " : " eşittir işaretinin önünde. Ayrıca, asgari bilgi İngilizce, en basit programın anlamını anlamak zor değil.

    Burada, Fortran'ın standartların birkaç revizyonuna sahip olduğunu belirtmek isterim, bunların başlıcaları 77 ve 90'dır (sürekliliği korurken). 77 Fortran gerçekten arkaik, satırın uzunluğunun bir sınırı var ve satırın başında girinti yapmak gerekiyor, bu da genç bir programcı adayı için kültür şokuna neden olabilir. Fortran 77'de yazılan programların arkadaşımın dudaklarından kapsamlı "Brezhnev'in kodu" adını almasına şaşmamalı. Bu nedenle, tüm metnim 90 ve daha yeni dil standardına atıfta bulunuyor.

    Örneğin, lisansüstü öğrencimin sıfırdan programlama öğretirken yazdığı, klavyeden girilen 1'den n'ye kadar negatif olmayan tam sayıların toplamını hesaplamak için bir kod. Fortran'ı ilk dil olarak öğretmeyi orada deneyimledim. Umarım ona iyi gelmiştir ve denemem başarılı olmuştur. En azından, ilki dil üzerine bir ders olan birkaç sınıfta temel bilgileri öğrendi.

    Program chisla örtük hiçbiri ! Değişkenler tamsayı n,i,s ! Chisla gövdesi s=0 yaz (*,*) "n" oku (*,*) n if (n.le.0) sonra yaz (*,*) "Negatif veya sıfır" yoksa yap i=1,n s=s+i end do yaz (*,*) "Sum=", s end if end
    Düşünme şeklimizin kod yazma şeklimiz olduğunu görmek kolaydır. Prensip olarak, öğrenci için hiçbir zorluk ortaya çıkmaz. Dikkatli bir okuyucu, elbette, virgülle ayrılmış parantez içindeki hiçbir ve iki yıldızın ne işe yaradığını soracaktır. örtük hiçbiri bize değişkenlerin türünü açıkça belirttiğimizi söylerken, bu giriş olmadan derleyici türün kendisini tahmin edecektir. İlk yıldız, giriş ve çıkışın ekranda olduğunu, ikincisi ise giriş/çıkış formatının otomatik olarak belirlendiğini gösterir. Aslında, Fortran programları yukarıda yazılan kod parçasından daha karmaşık görünmüyor.

    Peki ya yazılım ortamı?

    Okullarda ve aslında herhangi bir devlet kurumunda, yazılımla ilgili, özellikle lisanslanmasıyla ilgili soru sıklıkla ortaya çıkar. Çünkü bu ihtiyaçlar için ayrılan para özellikle ayrılmıyor. En azından benim zamanımda bununla ilgili bir sorun vardı, belki şimdi durum daha iyiye doğru değişti.

    Fortran'da program yazmak için herhangi bir Metin düzeltici. Sözdizimi vurgulamak istiyorsanız, Notepad++ (yalnızca standart 77 sözdizimini destekler) veya SublimeText'i kullanabilirsiniz. Programı yazdık, ne ile derleyeceğiz? Burada her şey basit, ücretsiz GNU Fotran'ı kullanabilirsiniz. Ticari olmayan kullanım planlanırsa, aynı adlı işlemciler için iyi bir şekilde optimize edilmiş ve gereken minimum IDE ile birlikte gelen Intel'in derleyicisinde hız kazanmasına izin verilir. Onlar. giriş eşiği çok uygundur.

    Birçok kullanıcıya göre en iyi Fortran geliştirme ortamı, en son sürümü 2000'li yılların başında çıkan Compaq Visual Fortran 6.6'dır. Tefle dans etmeden en fazla Windows XP 32 bit'te başlayan ve kullanılan bellekte bir sınırı olan Visual Studio 6.0 tabanlı bir ortam Fortran geliştiricileri arasında neden bu kadar popüler oldu? Cevap aşağıdaki resimde gösterilmiştir.

    Bu, doğrudan hata ayıklayıcıdan bir programda hata ayıklarken 1, 2 ve 3 boyutlu dizileri görselleştirmek için çok kullanışlı bir araç olan Compaq Array Visualizer'dır. Söylendiği gibi, bir kez denedikten sonra şimdi yiyin. Gerçek şu ki, Fortran artık esas olarak bilimde (daha sonra tartışılacak), özellikle de uğraştığım alanda, yani atmosfer fiziğinde kullanılıyor. Programlarda hata ayıklanırken, diziler sıcaklık, basınç, rüzgar hızı gibi çeşitli meteorolojik alanları temsil eder. Grafik alanlarında hata bulmak, bir dizi sayıya göre çok daha kolaydır, özellikle de genellikle alanın nasıl görünmesi gerektiği bilindiğinden, bariz hatalar anında kesilir.

    Ne yazık ki derleyicideki tüm gelişmeler Compaq'tan Intel'e geçti. Intel başlangıçta Array Visualizer'ı destekledi, ancak bu sürümler zaten Compaq ürününün soluk bir yansımasıydı, onlarla çalışmak eskisi kadar uygun değildi, ancak en azından minimum performans korundu. Ne yazık ki Intel, Array Visualizer'ın yeni sürümlerini geliştirmeyi bırakarak buna bir son verdi. kullanışlı araç. Bu nedenle, Fortran topluluğu çoğunlukla Windows'ta Compaq Visual Fortran altında programlar yazar ve hatalarını ayıklar ve Intel derleyicileri kullanarak Linux altındaki sunucularda savaş hesaplamaları başlatır. Intel, lütfen kullanıcıların isteklerini duy, hata ayıklayıcına normal bir dizi görselleştirme aracı gönder!

    Fortran'ın modern dünyadaki yeri

    Ve şimdi, bu gönderide açıklanan nadir dilin hiçbir işe yaramadığını savunan Matlab kullanan meslektaşlarımla genellikle hararetli bir tartışmaya neden olan konuya geliyoruz. Burada onlara katılmıyorum. Gerçek şu ki, Fortran tarihsel olarak mühendislik veya bilimsel hesaplamalarda kullanılmıştır ve bu nedenle, zamanla, belirli bir sorunu çözmek için birçok hazır kitaplık ve program kodu edinmiştir.

    Kod tam anlamıyla nesilden nesile aktarılır ve iyi belgelenmiştir. Matematiksel fizik, doğrusal cebir (burada matrislerle çalışmanın başarılı bir şekilde uygulandığına dikkat edilmelidir), integral ve denklemler için birçok hazır çözüm bulabilirsiniz. diferansiyel denklemler ve çok daha fazlası. Fortran dilinde bir algoritmanın uygulanmayacağı fiziksel ve matematiksel bilimler alanından bir problem bulmak muhtemelen zordur. Ve Intel işlemciler için Intel derleyicilerinin mükemmel optimizasyonunu, yüksek performanslı kümelerde paralel bilgi işlem desteğini hesaba katarsak, bu dilin neden bilim camiasında hak ettiği bir birinciliği aldığı anlaşılır. Herhangi bir süper bilgisayarda kurulu bir Fortran derleyicisi bulabileceğinizi düşünüyorum.

    En azından atmosfer fiziği alanındaki en ciddi modeller Fortran'da yazılmıştır. Evet evet herkesin zaman zaman merak ettiği hava durumu tahmini bu dilde yazılan maketlerin hesaplamaları sırasında elde edilmektedir. Üstelik dil durgunluk içinde değil, sürekli geliştiriliyor. Böylece, daha önce açıklanan standartlar 77 ve 90'dan sonra, desteği mevcut derleyicilerde uygulanan yeni sürümler 95, 2003, 2008 çıktı. Son Sürümler Fortran, zaman içinde test edilmiş eski dili bir şekilde yeniledi, modern stil için destek ekledi, yokluğu bu dilin rakiplerinin neredeyse ana kozu olan nesne yönelimli programlama ekledi. Ayrıca The Portland Group, video kartlarında yüksek düzeyde paralel hesaplamaya izin veren PGI CUDA Fortran Compiler'ı piyasaya sürdü. Böylece, hasta hayatta olmaktan daha fazlasıdır, bu da Fortran programcılarının hala talep gördüğü anlamına gelir.

    Bir son söz yerine

    Ve şimdi programlama öğretimi konusuna geri dönmek ve onu birinci dil olarak seçerken Fortran'ın ana avantajlarını özetlemeye çalışmak istiyorum.
    • Fortran'ı öğrenmesi çok kolaydır, sözdizimi hazırlıksız bir kişi için açıktır. Temel bilgileri öğrendikten sonra, başka herhangi bir dili yeniden öğrenmek kolaydır.
    • Ücretsiz araç seti, telif hakkı sahiplerinden gereksiz sorular almamanızı sağlar.
    • Dil, uzun süredir var olduğu için öğretmenlere aşinadır ve öğretmenlerimiz çoğunlukla eski neslin temsilcileridir.
    • Dünya çapında yaygın olarak dağıtılmıştır ve çeşitli kütüphanelerin hazinesidir.
    • Standartlaştırılmış, platformlar arası ve önceki revizyonlarla uyumlu.
    • Bilimsel ve mühendislik hesaplamalarına odaklandığından, teknik ve özellikle fiziksel ve matematiksel uzmanlık öğrencileri için yararlıdır.
    • Alakalı ve bugüne kadar talep görüyor.
    Öyleyse neden Fortran olmasın?

    Programlama dili Fortran'ın yaratılış tarihi. mevcut standartlar. Fortran programlama dilinin sürümü.

    İlk bilgisayarlar için programlar, programcılar tarafından makine komut dillerinde yazılmıştır. Bu çok zahmetli ve uzun bir süreçtir. Programın başlaması ile kullanılmaya başlanması arasında önemli bir süre geçmiştir. Bu sorun ancak programlama otomasyon araçları oluşturularak çözülebilir.
    Programcıların emeğini kurtaran ilk "araçlar" alt programlardı. Ağustos 1944'te, sinx'i hesaplamak için ilk alt program, Grace Hopper'ın (bir kadın programcı, ABD Donanması subayı) yönetimindeki Mark-I röle makinesi için yazıldı.
    Birden fazla Grace Hopper, programcıların işini kolaylaştırma sorunu konusunda endişeliydi. 1949'da John Mauchly (ENIAC bilgisayarının yaratıcılarından biri), üst düzey programlama dillerinin öncüsü sayılabilecek KISA Kod sistemini geliştirdi. Programcı çözülecek sorunu formda yazdı matematiksel formüller, formülleri iki harfli kodlara dönüştürdü. Daha öte özel program bu kodları ikili makine koduna çevirdi. Böylece J. Mauchli ilk ilkel tercümanlardan birini geliştirdi. Ve 1951'de G. Hopper ilk A-0 derleyicisini yarattı. Bu terimi ilk tanıtan oydu.

    İlk yüksek seviyeli diller: Cobol ve Fortran
    1950'lerde G. Hopper liderliğindeki bir grup yeni bir dil ve derleyici B-0 geliştirmeye başladı. Yeni dil sıradan İngilizceye yakın bir dilde programlamaya izin verirdi. Dilin geliştiricileri, tanınması için G. Hopper'ın gelecekteki programlama dillerinin operatörlerinde korunan bir yöntemle geldiği yaklaşık 30 İngilizce kelime seçti: her kelime, birinci ve üçüncü harflerin benzersiz bir kombinasyonunu içerir. Bu nedenle derleyici, programın makine kodunu oluştururken sözcükteki diğer tüm harfleri yok sayabilir.
    Dili günlük konuşma diline yakın böyle bir sistemin ortaya çıkma ihtiyacı, G. Hopper, bilgisayarların kapsamının genişleyeceği ve bununla bağlantılı olarak kullanıcı çevresinin büyüyeceği gerçeğiyle ilişkilendirildi. G. Hopper'a göre, "hepsini matematikçiler".
    1958'de B-0 sistemi FLOW-MATIC olarak adlandırıldı ve ticari verilerin işlenmesine odaklandı. 1959'da COBOL (Common Business Oriented Language) dili geliştirildi (Cobol) makineden bağımsız Programlama dili o dilden karşılık gelen tercüman için yüksek seviye. Yaratılış danışmanı COBOL dili G. Hopper tekrar konuştu.
    1954'te FORTRAN dilinin (FORMula TRANslation) (Fortran) oluşturulması hakkında bir mesaj yayınlandı. Dilin doğum yeri, IBM'in New York'taki genel merkeziydi. Ana geliştiricilerden biri

    John Backus. Ayrıca birçok programlama dilinin sözdizimini tanımlamak için kullanılan NFB'nin (Backus Normal Form) yazarı oldu. Aynı dönemde ALGOL dili Avrupa ülkelerinde ve SSCB'de yaygınlaştı. FORTRAN gibi, matematik problemlerine odaklandı. O zamanın gelişmiş programlama teknolojisini - yapılandırılmış programlamayı uyguladı.

    SSCB'de Fortran.

    Fortran, SSCB'de Batı'dan daha sonra ortaya çıktı, çünkü Algol ilk başta ülkemizde daha umut verici bir dil olarak görülüyordu. Sovyet fizikçilerinin 1960'larda neredeyse tüm hesaplamaların Fortran programları kullanılarak yapıldığı CERN'deki meslektaşları ile iletişimleri, Fortran'ın tanıtılmasında önemli rol oynadı.

    İlk Sovyet Fortran derleyicisi 1967'de Minsk-2 makinesi için oluşturuldu, ancak pek ün kazanmadı. Fortran'ın yaygın tanıtımı, 1968'de BESM-6 makinesi için FORTRAN-DUBNA derleyicisinin oluşturulmasından sonra başladı. 1972'de ortaya çıkan ES bilgisayarlarında başlangıçta bir Fortran tercümanı vardı (diğer yazılımlarla birlikte IBM/360'tan “ödünç alınmış”).

    standartlar

    Dil, ANSI ve ISO içinde standardize edilmiştir.

    Standartlar geliştirildi - Fortran 66, Fortran 77, Fortran 90, Fortran 95, Fortran 2003 ve Fortran 2008.

    Programlama dillerinin standardizasyonu, artan hareketlilik için ön koşullar oluşturur yazılım herhangi bir mimarideki bilgisayarlar için. Fortran'ın standardizasyonu, dilin uzun ömürlü olmasının nedenlerinden biridir, çünkü standardizasyon sayesinde, dilin var olduğu on yıllar boyunca yaratılan devasa uygulama programları fonunu kullanmak mümkündür.

    Fortran oldukça standartlaştırılmış bir dildir, bu nedenle farklı platformlara kolayca taşınabilir. Birkaç uluslararası dil standardı vardır:

    FORTRAN IV(daha sonra temeli oluşturdu FORTRAN 66 (1966);

    FORTRAN 77(1978) birçok iyileştirme: dize veri türü ve onu işlemek için işlevler, blok ifadeleri IF, ELSE IF, ELSE, END IF, INCLUDE program parçası dahil etme ifadesi, vb.

    Fortran 90(1991) dil standardını önemli ölçüde revize etti. Kod yazmak için ücretsiz bir biçim sundu. Göründü ek açıklamalar ZIMNİ YOK, TİP, ATANABİLİR, İŞARETÇİ, HEDEF, İSİM LİSTESİ; kontrol yapıları DO … END DO, DO WHILE,CYCLE , SELECT CASE, WHERE; dinamik bellekle çalışın (ALLOCATE, DEALLOCATE, NULLIFY); yazılım bileşenleri MODÜL, ÖZEL, GENEL, İÇERİR, ARAYÜZ, KULLANIM, AMAÇ. Her şeyden önce dizilerle çalışmak için yeni yerleşik işlevler ortaya çıktı, dilde OOP öğeleri ortaya çıktı

    Fortran 95(1997) - önceki standardın düzeltilmesi Fortran 2003(2004) Dilde OOP desteğinin daha da geliştirilmesi. İşletim sistemi ile etkileşim FORALL operatörü ve yapısı tanıtılmıştır ve dizileri atamak ve hantal döngüleri değiştirmek için WHERE operatöründen ve yapısından daha fazla esneklik sağlar. FORALL, herhangi bir bölüm atamasını veya işlecini değiştirmenize izin verir ve özellikle WHERE yan tümcesi, bir matrisin köşegenine erişim sağlar. Bu operatör döngülerden daha verimli bir paralelleştirme uygulamasına katkıda bulunarak paralel hesaplamada umut verici olarak kabul edilir.

    Fortran 2003(2004) Dilde OOP desteğinin daha da geliştirilmesi. İşletim sistemi ile etkileşim. Aşağıdaki özellikler de eklenmiştir: 1. Asenkron veri girişi/çıkışı 2. Dil ile etkileşim araçları. 3. Dinamik veri yerleşimini iyileştirme. Fortran 2008(2010) Standart, paralel bilgi işlem dili (Co-Arrays Fortran) aracılığıyla desteklendiğini varsayar. Ayrıca dizilerin maksimum boyutunu 15'e çıkarması, yerleşik özel ekleme yapması gerekiyor. matematiksel fonksiyonlar ve benzeri.

    Fortran programlama dili versiyonu

    Yalnızca birleştiricide programlar geliştiren programcılar, yüksek performanslı üst düzey bir dil olasılığı hakkında ciddi şüphelerini dile getirdiler, bu nedenle Fortran derleyicilerinin geliştirilmesindeki ana kriter, yürütülebilir kodun verimliliğiydi. Bu dil için istatistiksel komplekslerden uydu kontrol paketlerine kadar çok sayıda kitaplık oluşturuldu, bu nedenle Fortran aktif olarak kullanılmaya devam ediyor. Birden çok işlemciye sahip paralel süper bilgisayarlar için Fortran WF'nin (Yüksek Performanslı Fortran) standart bir sürümü vardır.

    Kobol (Kobol). 60'ların başında geliştirilen, ekonomik alanda uygulama ve iş problemlerini çözmek için derlenmiş bir dildir. Harika "ayrıntılılığı" ile dikkat çekiyor - operatörleri bazen sıradan İngilizce ifadeler gibi görünüyor. Cobol, çeşitli cihazlarda depolanan büyük miktarda veriyle çalışmak için çok güçlü araçlar uygulamıştır. harici ortam. Günümüzde aktif olarak istismar edilen bu dilde birçok uygulama oluşturulmuştur.

    Algol (Algol). 1960 yılında oluşturulan derlenmiş dil. Fortran'ın yerini alması amaçlandı, ancak daha karmaşık yapısı nedeniyle yaygın olarak kullanılmadı. 1968'de, yetenekleri açısından hala birçok programlama dilinin önünde olan Algol 68 sürümü oluşturuldu, ancak yeterince verimli bilgisayarların olmaması nedeniyle, bunun için zamanında iyi derleyiciler oluşturmak mümkün olmadı.

    Paskal (Paskal). Modern programlamanın birçok fikrinin kurucusu olan Niklaus Wirth tarafından 70'lerin sonunda yaratılan Pascal dili, birçok yönden Algol'a benzer, ancak programın yapısı için bir takım gereksinimleri sıkılaştırır ve büyük projeler oluştururken başarılı bir şekilde kullanılmasına izin veren özelliklere sahiptir.

    Temel (Temel). Bu dil için hem derleyiciler hem de tercümanlar var ve popülerlik açısından dünyada ilk sırada yer alıyor. 60'larda şu şekilde yaratıldı: öğretim dili ve öğrenmesi çok kolay. Gelecek vaat eden programlama dillerinden biridir.

    C (Ci). Bu dil Bell laboratuvarında oluşturuldu ve başlangıçta bir kitle dili olarak kabul edilmedi. Eşit derecede verimli ve kompakt programlar oluşturabilmek ve aynı zamanda belirli bir işlemci türüne bağlı olmamak için birleştiricinin değiştirilmesi planlandı. 70'li yıllarda birçok uygulamalı ve sistem programı ve bir dizi tanınmış işletim sistemi (Unix) bu dilde yazılmıştır.

    Java (Java, Java). Bu dil Sun tarafından 90'ların başında C++ temel alınarak oluşturuldu. Tüm alt düzey özellikleri ortadan kaldırarak C++ tabanlı uygulamaların geliştirilmesini basitleştirmek için tasarlanmıştır. Ancak ana özellik bu dilin - makine koduna değil, platformdan bağımsız bayt koduna derleme (her komut bir bayt yer kaplar). Bu bayt kodu, sürümleri bugün herhangi bir platform için oluşturulmuş olan bir yorumlayıcı - Java Sanal Makinesi kullanılarak yürütülebilir. Birçok Java makinesinin varlığından dolayı, Java programları yalnızca kaynak kodu düzeyinde değil, aynı zamanda ikili bayt kodu düzeyinde de taşınabilir, bu nedenle Java bugün dünyada BASIC'ten sonra popülerlik açısından ikinci sırada yer almaktadır.

    İÇİNDE Son zamanlarda oluşturmaya odaklanan programlama sistemleri Windows uygulamaları:

    · naylon poşet Borland Delfi (Delphi), yüksek kaliteli ve çok uygun görsel geliştirme araçları sağlayan Borland Pascal derleyici ailesinin parlak bir halefidir. Olağanüstü hızlı derleyicisi, neredeyse tüm uygulama programlama problemlerini verimli ve hızlı bir şekilde çözmenize olanak tanır.

    · naylon poşet Microsoft Visual Basic - görsel araçları kullanarak Windows programları oluşturmak için kullanışlı ve popüler bir araç. oluşturmak için araçlar içerir. diyagramlar Ve sunumlar.

    · naylon poşet Borland C++ - DOS ve Windows uygulamaları geliştirmek için en yaygın araçlardan biri.

    Fortran 2017'de 60 yaşına giriyor. Bu süre zarfında, dil birkaç kez rafine edildi. Fortran 90, 95, 2003 ve 2008 "modern" sürümler olarak kabul edilir.Başlangıçta tamamen yapısal bir paradigmaya sahip üst düzey bir programlama diliyse, sonraki sürümlerde OOP ve paralel programlama destek araçları ortaya çıktı. Bugüne kadar, Fortran çoğu platform için uygulanmıştır.

    Fortran dilinin ortaya çıkmasından önce, geliştiriciler makine kodu ve birleştirici kullanarak programladılar. Yüksek seviyeli dil, öğrenmesi kolay olduğu ve verimli çalıştırılabilir kod ürettiği için hızla popülerlik kazandı. Bu, programcıların hayatını büyük ölçüde basitleştirdi.

    1950'de John Backus 25 yaşındayken Columbia Üniversitesi'nden matematik alanında yüksek lisans derecesi aldı ve IBM'de programcı olarak işe girdi. Kısa süre sonra IBM-701 marka bilgisayar için "Fast Encoder" adlı bir yorumlayıcı geliştiren bir grubun liderliğini yaptı. Daha sonra, IBM-704 makinesi olan 701'in daha güçlü bir halefi olan bir ekibin parçası olarak çalıştı.

    1953'te Beckus bir rasyonalizasyon girişimi ile geldi. IBM-704 modelinin programlanmasını basitleştirmesi beklenen bir dil ve bunun için bir derleyici oluşturmayı önerdi. Sistem, programları cebirsel biçimde yazmayı mümkün kıldı ve derleyicinin bunu otomatik olarak makine kodlarına çevirmesi gerekiyordu.

    Bu teklifle John Backus, dedikleri gibi, doğru yerdeydi. doğru zaman. Pazara geç giren IBM, bilgisayar satışlarını artırmakta zorlandı. Bu nedenle Columbia, Harvard ve diğer birçok üniversitede bilgisayar bilimi alanındaki araştırmaları destekledi. Ek olarak, IBM'in kendisi de programlama maliyetini düşürmenin yollarını arıyordu ve ayrıca bilgisayarları kullanıcılar için daha çekici, "dost" hale getirmek için bilgisayarlarla çalışmayı basitleştirmeye çalıştı.

    Gerçek şu ki, o zamanlar bilim adamları, mühendisler ve öğretmenler esas olarak bilgisayarlarla çalıştılar. Bilimsel hesaplamalar için bilgisayarlar kullanıldı. Ancak bu kişiler makine kodlarını ve montaj dilini kullanmak zorunda kaldıkları için büyük zorluklar yaşadılar. Ve bu, cihaz ve bilgisayarın işleyişi hakkında oldukça derin bir bilgi gerektiriyordu.

    Bu nedenle, özellikle alışık oldukları cebirsel formüllere benziyorsa, yüksek seviyeli bir dil öğrenmeyi kesinlikle kabul edeceklerdir. Böyle bir akıl yürütme, IBM'i Fortran'ı geliştirmeye sevk etti.


    IBM-704

    Fortran'ı yaratan IBM araştırmacılarının nasıl olduğu hakkında hiçbir fikirleri yoktu. büyük önem bu dili edinin. 1954'ün başlarında çalışmaya başladıklarında bilgisayar bilimi kendiliğinden gelişiyordu ve herkes bir hevesle çalışıyordu. Bu, profesyonel programcıların ve bilgisayar bilimcilerin ortaya çıkmasına yol açtı.

    IBM yöneticilerinden biri, satranç oyuncularının iyi programcılar, böylece bir IBM çalışanıyla (bu arada, ABD satranç şampiyonuydu) satranç oyunları sırasında potansiyel programcı adaylarıyla konuşmaya başladı.

    Fortran'ın geliştirilmesinde yer alan sekiz kişiden çok azı bilgisayarlara ciddi şekilde aşinaydı. Üniversitelerden ve havayollarından ve ayrıca IBM'in kendi programlama ekiplerinden geldiler.

    Fortran geliştirme ekibinin başkanı olan John Backus bile yeni bir programlama dili oluşturmaya başladığında yalnızca birkaç yıllık bilgisayar deneyimine sahipti.
    Üniversiteden önce Backus vasat bir öğrenciydi ("Hatırlayabildiğimden daha fazla okuldan geçtim"). İkinci Dünya Savaşı sırasında orduda görev yaptıktan sonra kendini New York'ta radyo mühendisliği okuluna girdiği yerde buldu. Beckus daha sonra, "İsteklerimin sınırı, yüksek kaliteli ses üreten bir cihaz yapmaktı," diye itiraf etti.

    Ancak, televizyon ve radyo tamirinde bir öğretmen, Beckus'un matematiğe olan ilgisini uyandırdı ve onu Columbia Üniversitesi'nde eğitimine devam etmesi için ikna etti. Böylece mütevazı bir şekilde bilgi işlem tarihindeki en ödüllendirici kariyerlerden biri başladı.

    Bu nedenle, Backus liderliğindeki geliştiriciler, IBM'in New York'taki Madison Bulvarı'ndaki genel merkezinde bulunuyor.

    Yeni dilin temel kavramlarını, özellikle değişkenlere belirli değerler atayan atama operatörünü (örneğin, N = 100) vurguladılar, bilgisayara değişkenler listesinden hangi öğeye ihtiyaç duyulduğunu söyleyen dizinlenmiş değişkenler tanıttılar (örneğin, X (3), X adlı listenin üçüncü öğesi anlamına gelir), istenen operatör dizisini belirli sayıda tekrarlamaya izin veren çok önemli bir DO operatörü önerdiler.

    Beckus'un belirttiği gibi, çoğu insan Fortran'ın ana katkısının, programları makine dili yerine cebirsel formüller olarak yazabilmesi olduğunu düşünüyordu. Ama aslında öyle değil. Ona göre Fortran, öncelikle döngülerin organizasyonunu otomatikleştirdi. Bilimsel uygulamaların geliştirilmesinde bu görevin önemi fazla tahmin edilemez. Dil üzerindeki çalışmalar hızla ilerledi.

    Ancak derleyici geliştirme tamamen farklı bir konudur. Backus, "otomatik" programlamanın, yani üst düzey dillerde program yazmanın olanakları hakkındaki şüpheleri gidermenin kolay olmadığını anlamıştı. Bu, Fortran programları makine kodunda veya montaj dilinde yazılanlar kadar hızlı ve güvenilir olduğunda gerçekleşecek, diye düşündü.

    Plana göre, derleyicinin geliştirilmesi için altı ay ayrıldı, ancak üzerinde çalışmak iki yıldan fazla sürdü.

    1956'nın sonunda ve 1957'de, derleyicide ince ayar ve hata ayıklama çalışmalarının yoğunluğu önemli ölçüde arttı. Bu süre zarfında, grubun üyeleri mümkün olduğunca kesintisiz makine süresine sahip olmak için sık sık yakındaki bir otelde bir oda kiraladılar ve burada gündüzleri uyudular, geceleri makinede çalıştılar. Hatalar birer birer düzeltildi ve Nisan 1957'de derleyici, IBM-704 makinesinin sahipleri tarafından kullanıma hazırdı.

    "Büyük Karışıklık"

    Beckus'un "büyük bir utanç" olarak adlandırdığı durumda, derleyici Westinghouse-Bettis laboratuvarına bir deste delikli kart biçiminde ve herhangi bir talimat olmaksızın gönderildi; bu da Westinghouse-Bettis laboratuvarından Herb Bright'ın Fortran'ı körü körüne çalıştırmasına izin verdi. Kullanıcıların geri kalanı, sistemi kullanım kılavuzuyla birlikte teybe kaydetti.

    Nisan 1957'de bir Cuma günü, bir postacı, Pittsburgh yakınlarındaki Westinghouse-Bettis atom laboratuvarının bilgisayar merkezine gizemli bir paket teslim etti. Programcı Herb Bright ve iki meslektaşı, işaretsiz bir çekmeceyi açtılar ve talimatsız yaklaşık 2.000 delikli kart destesi buldular.

    Delikli kartlara bakan Bright, IBM'in IBM-704'te kullanılmak üzere üst düzey bir dilde hata ayıklamanın son aşamalarında olduğunu hatırladı. Belki postacı bu uzun zamandır beklenen derleyiciyi getirmiştir? Bright ve arkadaşları, gizemli haritaları bilgisayara indirmeye ve ne olacağını görmeye karar verdiler.

    Bright bir bilgisayar okuyucusuna yatırım yaptı Test programı Fortran'da yazılmış ve başlat düğmesine basılmıştır. Yeni derleyici, yazıcıya bir mesaj verdi: "25 numaralı kartta operatörde bir hata bulundu - bir virgül eksikti."

    Mesajları sayısal kodlar biçiminde karıştırmaya alışkın olan programcılar, bu bilgilerin netliğine hayran kaldılar. Yanlış operatör düzeltildi ve start butonuna tekrar basıldı. Kasetler dönmeye başladı ve bilgisayar bir yığın delikli program kartı verdi. Kartlar okuyucuya yüklendiğinde yazıcı çalışmaya başladı ve kesintisiz 28 sayfa yazdırdı. Bilgisayar çıktı biçiminde yalnızca küçük bir hata yaptı. “Ama rakamlar doğruydu! Rakamlar doğruydu!" Bright daha sonra haykırdı.

    Aslında, Fortran ile yaklaşık aynı zamanda, iki üst düzey dil daha ortaya çıktı - Cobol ve Algol.50'lerin sonlarından beri, onlar uzun zamandır bilgisayar dünyasına öncülük ediyor. Çoğunluk modern programlar bu üç dilin soyundan gelen dillerde yazılmıştır.

    Dağıtım ve adaptasyon

    Ama ilk başta, Fortran pek sıcak karşılanmadı. Backus'un hatırladığı gibi programcılar "tüm uygulamalarımıza çok şüpheyle yaklaştılar." Ancak, selefleriyle karşılaştırıldığında, Fortran'ın öğrenilmesi ve kullanılması nispeten kolaydı.

    Ayrıca IBM, 704 modellerinin tümüne Fortran'ı ücretsiz olarak sağladı. Sonuç olarak, 1958'de şirketin 60 bilgisayarındaki tüm makine talimatlarının yarısından fazlası manuel olarak değil, yeni bir üst düzey dil kullanılarak "otomatik" olarak alındı.

    Backus, rakip üreticilerin de bilgisayarları için üst düzey diller geliştireceğini anlamıştı. Ancak, Fortran hızla norm haline geldi ve çeşitli bilgisayar modellerine uyarlandı. İlk uyarlama IBM'in kendisi tarafından gerçekleştirildi. Beş yıl sonra, Fortran altıda kullanıldı. çeşitli modeller IBM bilgisayarlarının yanı sıra Sperry Rand, Filco ve diğerlerinin bilgisayarlarında.

    David Hemmis'in de içinde bulunduğu küçük bir grup, Fortran'ı kısa sürede IBM-704'ten daha küçük olan IBM-650 makinesine uyarladı. Hemmis ve meslektaşları "FORTRANSIT" sistemini geliştirdiler (TRANSİT İÇİN - geçiş için); daha sonra bu iki kelime bir araya geldi. Böylece FORTRANSIT sistemi, birkaç model bilgisayarda çalışan orijinalin ilk tercümanı oldu.


    İlk bilgisayar dili geliştiricilerinden biri olan David Hemmis, 1928 tarihli arabasını kullanıyor. 1957 araba yarışı sırasında Westhampton, New York'ta çekilmiş bir fotoğraf.

    incelik

    Bununla birlikte, yeni dil üzerindeki çalışmaların oldukça uzun bir süre devam etmesi gerekiyordu: bu, hata ayıklama süreci devam ederken 1957'nin başlarında netleşti. Backus ve diğer geliştiriciler, dilin daha doğru bir teşhis sistemine ihtiyaç duyduğunu anladılar. yazılım hataları. Ek olarak, alt programların ayrı ve bağımsız yazılması olasılığını gerçekleştirmek gerekliydi ve yazılım modülleri. Böylece, dil başka bir avantaj elde edecek - kodun yeniden kullanımı.

    Geliştiricilerin çabaları sayesinde, orijinalin yaratılmasından sadece bir yıl sonra Fortran II ortaya çıktı. Yeni dilin avantajlarından biri, derleyicideki kod parçalarının programlara eklenmesine izin vermesiydi. Daha sonraki bir sürüm olan Fortran III, 1958'de oluşturuldu. Dilin yeteneklerini daha da genişleten Fortran IV, 1962'de tanındı.

    Dilin özü, temel operatörleri ve ifadeleri yıllar içinde büyük ölçüde değişmeden kalmıştır. Ancak Fortran, amaçlanmayan yeni makine sistemlerine defalarca uyarlandığından, farklılıklar yavaş yavaş birikti. Bazı fırsatlar kaybedildi, yenileri ortaya çıktı. Bu ister istemez kafa karışıklığı yarattı.

    Örneğin, tüm derleyiciler çok önemli DO operatörünü aynı şekilde yorumlamadı: bazıları döngüyü her zaman en az bir kez, yürütülmesi gerekip gerekmediğini kontrol etmeden yürütürken, diğerleri böyle bir kontrol yaptı. Bu tür sorunlara düzen getirmek için bilgisayar üreticileri ve kullanıcıları dili standartlaştırma konusunda anlaştılar.

    1966'da ilk standarda Fortran 66 adı verildi, sırasıyla 1977'de Fortran 77 standardı yayınlandı, 1991'de Fortran 90 çıktı, 1997'de Fortran 95 oluşturuldu.

    SSCB'de Fortran

    Sovyetler Birliği'nde Algol-60 mahkemeye daha çok geldi. Bu nedenle, Fortran bu ülkede daha sonra ortaya çıktı. Ancak, popülerlik açısından yavaş yavaş zirveye çıktı. Çoğu yerli bilgisayar için derleyiciler (çevirmenler) geliştirildi - Minsk-32, BESM-4, BESM-6, AS-6, ES bilgisayarlar, SM bilgisayarlar, Elbrus MVK vb.

    IPM'de onları. Keldysh, farklı zamanlarda birkaç tercüman geliştirildi. Bunlardan ikisi - Fortran-Almo ve Fortran (stepping Fortran) Almo dilinde yazılmış ve kod aynı dilde oluşturulmuştur. Bu, çevirmenlerin birkaç farklı bilgisayar türüne yüklenmesini mümkün kıldı. Her iki derleyici de Fortran 66 standardını uygular.

    Forshag ayrıca, diyalog modunda kod oluşturmanıza, düzenlemenize ve çevirmenize izin veren bir diyalog dili de içermektedir. Ek olarak, çeşitli bilgisayarlarda aktif olarak kullanılan Fortran - Grafor için bir dizi grafik program geliştirildi.

    Fortran, bugüne kadar bilim adamları arasında popüler olmaya devam ediyor. almış bir tercümana sahip ilk üst düzey programlama dilidir. pratik kullanım ve daha fazla gelişme. IBM'in 1957 el kitabında belirtildiği gibi, "Fortran, Model 704 için programlar yazmak için verimli bir yol sağlar, öğrenmesi kolaydır ve derin bilgisayar bilgisi gerektirmez."

    O zamandan beri, bilim adamları, mühendisler ve öğrenciler, birleştiricide yazan profesyonel programcıların yardımı olmadan bir bilgisayarla iletişim kurabiliyorlar.

    Ancak, yeni nesil programcılar Fortran'a bir "fosil" muamelesi yapmaya başladılar.Edsger Dijkstra, öğrencilere bu dili öğretmenin ciddi bir suçla bir tutulması gerektiğini söyleyerek alay etti.

    Fortran programlama dili temel olarak bilimsel bilgi işlem için kullanılır. 1954'te icat edildi, en eski üst düzey programlama dilidir, onu Lisp (1958), Algol (1958) ve COBOL (1959) takip eder. Fortran'da yazılan bilimsel kitaplıkların sayısı ve özel tercüman-derleyicilerin oluşturulması, dili bugün kullanmayı mümkün kılmaktadır. Ek olarak, endüstriyel üretimde kullanılmak üzere bu dili serpiştiren vektörleştirme, yardımcı işlemciler, paralellik için çoklu hesaplayıcılar oluşturulmuştur. modern dünya.

    Bir IBM radyo mühendisi olan John Backus, 1954 yılında "Ön Rapor", "IBM Matmal Transmula TRANslating System Spesifikasyonları" başlıkları altında makaleler yayınladı ve bu da FORTRAN teriminin doğmasına neden oldu. Daha sonra, Fortran programlama dili için ilk derleyiciyi (IBM 704 için 25.000 satır) yazmaya önderlik ettiği tüm ekibin iki yıllık bir çabası daha gerekti.

    Dilin adı orijinal olarak yazıldığından büyük harfler FORTRAN ve Fortran 90'dan bu yana serbest sözdizimi sürümlerinin aksine, Fortran 77'ye kadar olan dil sürümlerine atıfta bulunmak için kullanılmıştır. Fortran 77 standardında, küçük harfler dilin bir parçası değildir, ancak standarda ek olarak çoğu derleyici bunları destekler.

    Bugün, Fortran programlama dili, kullanılan baskın programlama dilidir. mühendislik uygulamaları. Bu nedenle, mezun mühendislerin Fortran kodunu okuyup değiştirebilmeleri önemlidir. Zaman zaman sözde uzmanlar, dilin popülaritesini kaybedeceğini ve yakında tamamen kullanılmayacağını tahmin ediyor.

    Bu tahminler hep başarısız oldu. Fortran, tarihteki en kararlı bilgisayar programlama dilidir. Fortran programlama dilinin hayatta kalması ve hayatta kalmaya devam edecek olmasının ana nedenlerinden biri, yazılımın eylemsizliğidir. Bir şirketin bir yazılım ürününe çok fazla kaynak ve muhtemelen milyonlarca dolar harcadıktan sonra, yazılımı başka bir dile çevirmesi pek olası değildir.

    Fortran'ın ana avantajı, uluslararası kuruluşlar ANSI ve ISO tarafından standardize edilmiş olmasıdır. Bu nedenle, bir program ANSI'de yazılmışsa, Fortran 77 derleyicisi olan herhangi bir bilgisayarda çalışacaktır, bu önemli bir bilgidir. Böylece, nesne yönelimli programlama dili Fortran'ın programları, farklı yazılım cihazlarında bulunur.

    Bir dil platformu oluşturmanın aşamaları:

    1. 1954-1957'de ilk derleyici sıfırdan geliştirildi. O günlerde "yüksek seviyeli diller" (= HLL) yoktu, çoğu işletim sistemi basitti ve hafıza küçüktü, yaklaşık 16 Kb. İlk derleyici IBM 704 üzerinde çalışıyordu. Bu HLL dili, montaj dili programlamasından çok daha verimliydi ve zamanında çok popülerdi.
    2. 1958'de FORTRAN II yayınlandı. FORTRAN III aynı yıl geliştirildi, ancak hiçbir zaman genel üretime sunulmadı.
    3. FORTRAN IV, 1961'de kuruldu. ORTAK ve EŞDEĞERLİK işleçlerinin uygulanması gibi iyileştirmeler içeriyordu.
    4. 1962'de ASA komitesi, nesne yönelimli programlama dili Fortran için bir standart geliştirmeye başladı. Bu, satıcının onu her yeni bilgisayarda kullanmasına izin verdi. Ve bu gerçek HLL'yi daha da popüler hale getirdi, dil kullanılabilir hale geldi. elma sistemleri ve TRS80.
    5. 1967'de dünyanın ilk HLL standardı olan FORTRAN 66 yayınlandı. Standardın yayınlanması, dilin diğerlerinden daha yaygın bir şekilde uygulandığı anlamına geliyordu. 1970'lerin ortalarına gelindiğinde, hemen hemen her bilgisayar, mini veya ana bilgisayar standart FORTRAN 66 dili ile donatılmıştı. if deyimleri, goto-deyimleri ve spagethi programları kullanılan dil. Bu tür yapılandırılmış programlama, 60'larda ve 70'lerde popüler hale geldi.
    6. "Fortran", özellikle FMS sistemiyle delikli kartlarda mevcuttu ve Fortran 90 "ücretsiz" bir sözdizimi getirene kadar kaynaklarının düzenini optimize etti. İçinde Fortran dizi kodu 7. sütundan başlar ve 72 bin karakteri geçmemelidir.

    Ayrıca, Fortran 90'dan önce, 7. ve 72. sütunlar arasındaki boşlukların önemli olmadığına da dikkat edilmelidir. Yani "DO I = 1.5" döngüsü "DOI = 1.5" olarak da yazılabilir. Öte yandan, "DO I = 1.5", "DOI = 1.5" ile eşdeğerdir.

    Nastran, NAG ve IMSL-Fortran kütüphanelerinde çok sayıda endüstriyel kod yazılmıştır. Yeni sürümlerin eski sürümlerle uyumluluğu önemlidir. Bu nedenle Fortran 90, Fortran 77 ile tamamen uyumludur. Ancak standardın sonraki sürümleri uyumsuzluklar getirmiştir.

    Bunu kısa süre sonra daha gelişmiş Fortran 90 ve Fortran 95 dilleri izledi ve mevcut Fortran-2003 standardına göre güncellendi. Modern derleyicilerin tüm akımlarda süresiz olarak çalıştığı göz önüne alındığında Windows sürümleri ve hatta 64 bit işlemcileri destekler. Bu arada, üreticiler zamanın trendini fark ettiler ve Linux için nesne yönelimli programlama dili Actor Fortran biçiminde derleyiciler sunuyorlar.

    Bir programlama dili kullanmak için ön koşullar

    Fortran'ın hala yaygın olarak kullanılan bir programlama dili olduğunu ve esas olarak keşif alanında kullanıldığını anlamalısınız. Kapsamlı ve karmaşık matematiksel hesaplamaların yapıldığı fizik veya mühendislik gibi klasik uygulamalar. Farklı derleyiciler için var olan çok kullanışlı kapsamlı matematiksel kitaplıklardır. Özetle, bugün söylenebilir Fortran dili hala birkaç nedenden dolayı kullanılmaktadır:

    • Yıllar içinde geliştirilen çok sayıda işlevsel kitaplığın mevcudiyeti.
    • Yazılımın "Fortran" içinde bulunması, çok fazla önemli kaynaklar başka bir dile geçiş çok maliyetli kabul edildiğinde geliştirme için.
    • Çok hızlı yürütülebilir dosyalar üreten yerleşik Fortran işlevlerine sahip güçlü derleyicilere sahip olmak.
    • Dil, özel bir bilgisayar kursuna sahip olmayan mucit için daha erişilebilirdir.

    Pek çok bilimsel program artık derleyicileri çoğu makinede bulunan C ve C++ ile yazılmaktadır. Diğer derlenmiş diller bazen bilimsel bilgi işlem için ve özellikle Scilab veya Matlab gibi programlar için kullanılır. İkincisi, Fortran programlamasında geliştirilen BLAS ve LAPACK kitaplıklarını da içerir. Matlab başlangıçta üniversitelere ve araştırma merkezlerine dağıtılan bir Fortran programıydı.

    Tom Lahey artık "tek" genel derleyici olmasına rağmen, Lahey Bilgisayar Sistemleri birçok programcı tarafından kullanılmaya devam ediyor. Lahey birkaç yıldır Fujitsu ile çalışıyor, Lahey Fortran ayrıştırıcısı üzerinde yoğunlaşıyor ve Fujitsu kod oluşturucu üzerinde çalışıyor. Windows için geçerli Compiler Suite'in adı Lahey Fujitsu Fortran 95 (LF95)'tir ve çeşitli sürümlerde mevcuttur, bunlardan bazıları Visual Studio .NET 2003 ile de entegredir.

    LF95 Express'in kendi IDE'si olmayan düşük maliyetli bir sürümü de vardır. Mevcut sürüm 7.1'dir. Linux'ta, Linux için Lahey/Fujitsu Fortran 95 v6.2 derleyicisi tarafından çağrılır ve iki farklı sürümde mevcuttur. Örneğin, Profesyonel sürüm OpenMP v2.0 uyumluluğu, basit bir Winteracter Starter Kit grafik motoru, bir matematik kitaplığı ve bir Fujitsu 2 bilimsel alt program kitaplığı içerir.

    Diğer bir üretici ise Absoft'tur. Derleyiciler ve C++ yalnızca Windows ve Linux için değil, aynı zamanda Macintosh'ta OS X için de mevcuttur. Bu derleyiciler, üç platformun tümüne ihtiyaç duyan veya desteklemek isteyen geliştiricilerin ilgisini çeker. Ne yazık ki Absoft, Linux altında 32 bit ve 64 bit sürümler arasında ayrım yapmaktadır, şu anda 64 bit Linux için Fortran 95'in 10.0 sürümü kullanılmaktadır.

    Piyasada nispeten yeni olan EKOPath Derleyici Paketidir. Bu, ayrı olarak da mevcut olan ve temel olarak 64-bit AMD kullanıcılarını hedefleyen C++ derleyicileri ve Linux Fortran geliştirme ortamından oluşur. Ayrıca Intel EM64T üzerinde çalışır. Ayrıca Microsoft bir zamanlar Fortran için "ucuz bir pazar" bulmaya çalışmış ve Microsoft Powerstation'ı pazara sunmuştur.

    Belki de pazar, yazılım devi için çok küçüktü, ancak Digital, 1997'de kodun bir kısmını devraldı ve Digital'in Unix ve OpenVMS derleyicilerindeki deneyimini kullandı. Bu, hâlâ çok başarılı olan Digital Visual Fortran'ın doğuşuydu. Bir noktada Digital, Compaq'a taşındı ve derleyici, Compaq Visual Fortran (CVF) v6.6'nın geçerli sürümüne son halini verdi.

    "Normal" 32-bit platformlara ek olarak, Intel Itanium ve Intel EM64T gibi çeşitli 64-bit derleyiciler vardır. Teslimat kapsamında "acil" olmasalar da, Ücretsiz indirin Intel Premier Web Destek Sistemi aracılığıyla.

    Bir kerelik, biraz külfetli bir kayıttan sonra, birkaç haftada bir yeni güncellemelerle bir yıl boyunca kullanabilirsiniz. Daha eski sürümler bile kullanılabilir durumda kalacaktır.

    Bir Fortran programı, bir dizi metin satırıdır. Metin belirli bir sözdizimini takip etmelidir. Örneğin: r yarıçaplı bir çember, alan c.

    Bu program gerçek yarıçapı okur ve r yarıçaplı bir dairenin alanını hesaplar:

    "Yarıçap r:"(*, *) r oku;

    alan = 3,14159 * r * r;

    (*, *) yazınız "Alan =";

    "C" ile başlayan satırlar yorumdur ve programı daha okunabilir kılmaktan başka bir amacı yoktur. Başlangıçta, tüm Fortran programları büyük harflerle yazılmıştır. Çoğu programcı artık daha okunaklı olduğu için küçük harf yazıyor.

    Bir Fortran programı genellikle bir ana programdan veya sürücüden ve birkaç alt programdan, prosedürden veya alt programdan oluşur. Ana programın yapısı:

    • programın adı;
    • bildirimler;
    • ifadeler;
    • durmak;
    • son.

    İtalik olanlar gerçek metin olarak değil, genel bir açıklama olarak alınmalıdır. Stop deyimi isteğe bağlıdır ve program zaten sona ulaştığında duracağından gereksiz görünebilir, ancak yürütme akışının sonlandırıldığını vurgulamak için programı her zaman bir stop deyimiyle bitirmeniz önerilir.

    Sütun konumu kuralları

    Fortran 77, özgür bir format dili değildir, ancak formatlama için çok katı kurallara sahiptir. kaynak kodu. En önemli kurallar sütun düzeni kuralları şunlardır:

    • Albay 1: Boş veya yorumlar için "c" veya "*".
    • Albay 2-5: operatör etiketi.
    • Albay 6: önceki satırın devamı.
    • Albay 7-72: iddia.
    • Albay 73- 80: Sıra numarası.

    İlk sütunda "c" veya yıldız işaretiyle başlayan Fortran satırı bir yorumdur. Yorumlar programın herhangi bir yerinde görünebilir. İyi yazılmış, bir programın okunabilirliği için kritik öneme sahiptirler. ticari kodlar Fortran genellikle yorumların yaklaşık %50'sini içerir. kullanan programlarla da karşılaşabilirsiniz. Ünlem işareti(!). Bu, Fortran 77'de çok standart değildir, ancak Fortran 90'da izin verilir.

    Ünlem işareti bir satırın herhangi bir yerinde görünebilir. Bazen bir ifade tek satıra sığmaz, bu durumda ifadeyi iki veya daha fazla satıra bölüp devam karakterini yerinde kullanmak mümkündür.

    1. C23456789 - Bu, sütunun konumunu gösterir.
    2. "C"- sonraki ifade fiziksel hatların iki bölgesinden geçer.
    3. Alan = 3,14159265358979+ * r * r.

    Fortran 77'den başlayarak boş alanlar yok sayılır. Bu nedenle, Fortran 77'de tüm boşluklar kaldırılırsa, operatörler için neredeyse okunamaz olmasına rağmen program sözdizimsel olarak hala doğrudur.

    Fortran'daki değişken isimleri, a-z harfleri ve 0-9 rakamlarından seçilen 1-6 karakterden oluşur. İlk karakter bir harf olmak zorunda. Fortran 90, isteğe bağlı uzunluktaki değişken adlarına izin verir. Fortran 77, büyük ve küçük harf ayrımı yapmaz, aslında tüm girdilerin büyük harf olduğunu varsayar. Ancak, neredeyse tüm F77 derleyicileri küçük harfleri kabul eder. Her değişken bir bildirimde tanımlanmalıdır. Bu, değişkenin türünü ayarlar. En yaygın değişken listeleri şunlardır:

    • tamsayı;
    • gerçek;
    • çift ​​hassasiyet;
    • karmaşık;
    • mantıklı;
    • karakter.

    Değişken listesi, virgülle ayrılmış adlardan oluşmalıdır. Her değişken tam olarak bir kez bildirilmelidir. Değişken bildirilmemişse, F 77, türü belirlemek için bir dizi örtük kural kullanır. Bu, "in" harfleriyle başlayan tüm değişkenlerin tamsayı ve diğerlerinin gerçek olduğu anlamına gelir. Birçok eski F77 programı bu örtük kuralları kullanır, ancak değişkenleri tutarsız bir şekilde bildirirlerse bir programdaki hata olasılığı önemli ölçüde arttığından programcılar bunu yapmamalıdır.

    Fortran 77, tamsayı değişkenleri için yalnızca bir türe sahiptir. Tamsayılar genellikle 32 bit (4 bayt) değişkenler olarak saklanır. Bu nedenle, tüm tamsayı değişkenleri, m'nin yaklaşık 2 * 109 olduğu [-m, m] aralığında değerler almalıdır.

    F 77'de iki tane var farklı şekiller gerçek çift kesinlik olarak adlandırılan kayan nokta değişkenleri için. Bazı sayısal hesaplamalar çok yüksek hassasiyet gerektirir ve çift kesinlik kullanılmalıdır. Genellikle gerçek 4 baytlık bir değişkendir ve çift 8 bayttır, ancak bu makineye bağlıdır.

    "Fortran"ın standart olmayan sürümleri, 8 baytlık kayan nokta değişkenlerini belirtmek için gerçek * 8 sözdizimini kullanır. Bazı sabitler bir programda birçok kez görünür. Bu nedenle, programın başında yalnızca bir kez tanımlamanız önerilir. Bunun için parametre operatörü kullanılır. Ayrıca programları daha okunaklı hale getirir. Örneğin bir dairenin alanı için program şöyle yazılmalıdır.

    Parametre operatörü sözdizimi (isim = sabit, ..., isim = sabit). Parametre işleci için kurallar:

    1. Bir parametre ifadesinde tanımlanan bir "değişken", bir değişken değil, değeri asla değişmeyen bir sabittir.
    2. "Değişken" en fazla bir parametre ifadesini gösterebilir.
    3. Operatör parametresi, çalıştırılabilir ilk operatörden önce gelmelidir.

    Bir parametre kullanmak için bazı iyi nedenler - yazım hatalarını azaltmaya yardımcı olur, bir programda birçok kez görünen bir sabiti değiştirmek kolaydır.

    Boole ifadeleri yalnızca .TRUE değerine sahip olabilir. veya yanlış. ve ilişkisel operatörler kullanılarak karşılaştırılarak oluşturulabilir.

    " gibi semboller<» или «=» для сравнения в F 77, но можно использовать правильную двухбуквенную аббревиатуру, заключенную точками. Однако такие символы разрешены в Fortran 90.

    Mantıksal ifadeler, açık bir anlamı olan "AND", "OR", "NOT" mantıksal işleçleriyle birleştirilebilir. Gerçek değerler boolean değişkenlerde saklanabilir. Ödev, aritmetik atamaya benzer.

    Örnek: mantıksal a, ba = .TRUE.b = a .VE. 3.LT. 5/2

    Öncelik sırası çok önemlidir. Kural, önce aritmetik ifadelerin, ardından ilişkisel işleçlerin ve son olarak mantıksal işleçlerin değerlendirilmesidir. Bu nedenle, b'ye .FALSE atanacaktır. Yukarıdaki örnekte, boole değişkenleri Fortran'da nadiren kullanılır, ancak genellikle "if" ifadesi gibi koşullu ifadelerde kullanılırlar.

    Sabit ve atama

    Bir ifadenin en basit biçimi bir sabittir. 6 veri türüne karşılık gelen 6 sabit türü vardır. İşte bazı tamsayı sabitleri: 10-10032767+15

    Gerçek sabitler: 1.0-0.252.0E63.333E-1.

    E gösterimi, sabiti "E" yi izleyen güce yükseltilmiş 10 ile çarpmak anlamına gelir. Bu nedenle, 2.0E6 iki milyon ve 3.333E-1 yaklaşık üçte birdir.İzin verilen en büyük gerçek değerden daha büyük olan veya yüksek kesinlik gerektiren sabitler için çift kesinlik kullanılmalıdır. Gösterim, "E"nin "D" ile değiştirilmesi dışında gerçek sabitlerle aynıdır.

    Örnek: 2.0D-11D99.

    Burada 2.0D-1, beşte bir çift kesinliktir, 1D99 ise bir ve ardından 99 sıfırdır.

    Bir sonraki tip karmaşık sabitlerdir. Virgülle ayrılmış ve parantez içine alınmış bir çift sabit (tamsayı veya gerçek) ile gösterilirler.

    Örnekler: (2, -3) (1,9,9E-1). İlk sayı gerçek kısım, ikincisi sanal kısımdır.

    Beşinci tip boole sabitleridir. Yalnızca iki anlamdan birine sahip olabilirler:

    Harf içeren noktaların yazılması gerektiğini lütfen unutmayın.

    Son tip karakter sabitleridir. En yaygın olarak dize adı verilen bir karakter dizisi olarak kullanılırlar. Kesme işaretleri (tek tırnak) içine alınmış keyfi bir karakter dizisinden oluşurlar:

    "Her şey olur!"

    "Güzel bir gün"

    Dize ve karakter sabitleri büyük/küçük harfe duyarlıdır. Dizenin kendisinde gerçek bir kesme işareti olmasını istiyorsanız sorun ortaya çıkar. Bu durumda, kesme işaretini ikiye katlamanız gerekir: "It" "s a nice day", yani "Ne harika bir gün"

    Koşullu ifadeler, herhangi bir programlama dilinin temel bileşenleridir. Fortran'da bu ifadelerden en yaygın olanı, aslında birkaç biçimi olan "eğer" ifadesidir.

    En basiti, Fortran açıklamasındaki "if" mantıksal ifadesidir: if (mantıksal ifade) yürütülebilir deyimi.

    Bu, örneğin x'in mutlak değerini tanımlarken bir satıra yazılmalıdır:

    (x.LT.0) x = -x ise

    Bir "if" içinde birden fazla ifade yürütülecekse, aşağıdaki sözdizimi kullanılmalıdır: if (mantıksal ifade) thendeyimlerendif.

    Yürütme akışı yukarıdan aşağıya. Koşullu ifadeler, gerçek bir değer bulunana kadar sırayla değerlendirilir. Daha sonra uygun kod yürütülür ve kontrol, "if" sonundan sonraki ifadeye geçer.

    if ifadeleri birden çok düzeyde iç içe olabilir. Okunabilirliği sağlamak için uygun girinti kullanmak önemlidir. İşte bir örnek:

    if (x .GT. 0) o zamanif (x .GE.y) thenwrite(*,*) "x pozitiftir ve x >= y"elsewrite(*,*) "x pozitiftir ancak x< y"endifelseif (x .LT. 0) thenwrite(*,*) "x is negative"elsewrite(*,*) "x is zero"endif

    Programcılar, takip etmesi zor olacağı için birçok "if" ifadesini iç içe geçirmekten kaçınmalıdır.

    Herhangi bir Unix iş istasyonunu F 77 derleyicisi ile kullanabilirsiniz.Deneyimli programcılar, Sun veya Dec'i kullanmanızı önerir.

    Bir Fortran programı, belirli sözdizimi kurallarını izleyen düz metinden oluşur. Buna kaynak kodu denir. Programcılar kaynak kodu yazmak için bir editör kullanır. Unix'teki en yaygın düzenleyiciler emacs ve vi'dir, ancak yeni başlayanlar için biraz zor olabilir. X pencereleri altında çalışan xedit gibi daha basit bir düzenleyici kullanabilirsiniz.

    Bir Fortran programı yazıldıktan sonra ".f" veya ".for" uzantılı bir dosyaya kaydedilir ve program makine tarafından okunabilir bir forma çevrilir. Bu, derleyici adı verilen özel bir program kullanılarak yapılır. Fortran 77 derleyicisine genellikle f77 denir. Derleme sonucuna varsayılan olarak biraz şifreli "a.out" adı verilir, ancak isterseniz farklı bir ad seçebilirsiniz. Programı çalıştırmak için yürütülebilir dosyanın adını "a.out" gibi girmeniz yeterlidir. Derleyici, kaynak kodu nesne koduna çevirir ve bağlayıcı veya yükleyici de bunu çalıştırılabilir bir dosyaya çevirir. Gördüğünüz gibi, bu prosedür hiç de karmaşık değil ve herhangi bir kullanıcı tarafından kullanılabilir.

    Simülasyon, günümüz fabrikalarında en yaygın kullanılan üretim yöntemlerinden ve diğer sistemlerden biridir. Çoğu simülasyon modeli, Actor Fortran nesne yönelimli programlama dili veya geleneksel bir dilde yazılmış bir simülasyon yazılım paketi kullanılarak oluşturulur. Bu araçların sınırlamaları vardır. Nesne yönelimli teknoloji, birçok alanda artan bir şekilde benimsenmiştir ve iş sistemi modellemesine daha esnek ve verimli bir yaklaşım vaat etmektedir.

    Simula Fortran programlama, FORTRAN adı verilen yaygın bir bilimsel programlama diliyle karşılaştırılır. Tipik bir askeri simülasyon modeli hem SIMULA'da hem de FORTRAN'da programlanmıştır. SIMULA programı, FORTRAN versiyonundan %24 daha kısaydı.

    SIMULA versiyonu da daha basittir ve simüle edilen modelin daha iyi bir resmini verir. Öte yandan, nesne yönelimli programlama dili Simula Fortran ile üretim çalıştırma süreleri %64 daha hızlı. Artıları ve eksileri tartmak, SIMULA'nın daha yüksek personel maliyetleri ve daha düşük bilgisayar maliyetleri ile giderek daha karlı bir yazılım olacağını gösteriyor.

    CUDA, yüksek performanslı uygulama geliştiricilerin, bilimsel bilgi işlem ve süper bilgisayar performans testleri için tanıdık bir dil olan Fortran'ı kullanarak GPU'ların gücünü nasıl kullanabileceklerini gösteriyor. Yazarlar, önceden herhangi bir paralel bilgi işlem deneyimi olduğunu varsaymaz ve yalnızca temel bilgileri kapsar ve en iyi uygulamaları kullanır. CUDA Fortran kullanan GPU hesaplamanın verimliliği, hedef GPU mimarisi tarafından sağlanır.

    Bilim adamları ve mühendisler için CUDA Fortran, kodun hesaplama açısından yoğun kısımlarını belirleyecek ve veri yönetimi, paralellik ve performans optimizasyonu için kodu yeniden şekillendirecek. Tüm bunlar, programı başka bir dile yeniden yazmaya gerek kalmadan Fortran'da yapılır. Her kavram gerçek örneklerle gösterilmiştir, böylece kodun performansını hemen görebilirsiniz.

    Belki bir gün küresel bir şirket "nihayet küreselleşecek" ve Fortran'a artık ihtiyaç olmadığına karar verecek, ama şimdi değil. Modern Fortran'ın mevcut yetenekleri sayesinde, birçok programcı ve bilim adamı geleceği onun arkasında görüyor. Ek olarak, dünyada modern derleyicilerin geliştirilmesiyle geçinen ve bu süreçten iyi para kazanan yeterince üretici var.

    Fortran'ı ilk kez erken çocuklukta babamdan duydum. 70'lerde delikli kart kullanarak ilkel bir kod çalıştırmak için üniversitedeki neredeyse tek bilgisayarda saatlerce sıraya girmek zorunda kaldığını söyledi. Dürüst olmak gerekirse, o zamandan beri ve yakın zamana kadar (teknik eğitimime rağmen), Fortran'ın çok uzak bir yerde, delikli garip kartonların bilgi taşıyıcı görevi gördüğü ve bilgisayarların gerçek bir cazibe olarak algılanacak kadar pahalı olduğu bir dünyada kaldığından tamamen emindim.

    Fortran'ın sadece başka bir yerde kullanılmadığını, geliştiğini, talep edildiğini ve hala alakalı olduğunu öğrendiğimde şaşırdığım şey neydi? Bu ana kadar Fortran'ın uzun süredir ölü bir adam olduğuna da inandıysanız, işte size neden hala yürüdüğüne dair bazı ilginç gerçekler.

    En az 10 güncellemeden sağ çıktı

    Aslında, okuldaki veya üniversitedeki öğretmenlerden duyduğunuz Fortran, 1954 ile 1957 yılları arasında oluşturuldu. İlk tam olarak uygulanan üst düzey dil olarak tarihe geçti, BT dünyasında küçük bir atılım yaptı, ancak aslında çok kullanışlı ve işlevsel değildi. IBM, neredeyse anında "bitirmeye" başladı, zaten 1958'de FORTRAN II ortaya çıktı ve buna paralel olarak FORTRAN III. Ancak, yalnızca 70'lerde, yeterince taşınabilir makineler ortaya çıktığında, tam teşekküllü bir IBM FORTRAN IV standardı geliştirildiğinde ve FORTRAN 66, modern standartlara göre döngüler, etiketler, koşullu ifadeler, giriş / çıkış komutları ve diğer ilkel özelliklerle ortaya çıktığında, aşağı yukarı nezih bir görünüm kazandı.

    En son sürüm 2010'da çıktı, adı Fortran 2008'dir (görebileceğiniz gibi, tarih boyunca ad artık yalnızca büyük harflerle yazılmamıştır), ayırt edici özelliği hem veri işleme hızını hem de işlenen dizilerin boyutlarını olumlu yönde etkileyen her türlü paralel hesaplamadır. Ek olarak, Fortran 2015'in 2018'de piyasaya sürülmesi planlanıyor. Duyurudan, C ile entegrasyonu iyileştirmenin yanı sıra mevcut eksiklikleri gidereceği anlaşılıyor.

    En popüler 30 programlama diline dahildir

    Bugüne kadar, arama motorlarında programlama dilleriyle ilgili sorguların %0,743'ü özellikle Fortran'a ayrılmıştır. Bunun ne kadar havalı olduğu hakkında bir fikir vermesi için Lisp, Scala, Clojure, LabVIEW, Haskell, Rust ve VHDL gibi dillerin daha alt sıralarda olduğunu hayal edin.

    Android'de çalışabilir (yalnızca değil)

    Fortan için derleyiciler, uzun tarihi boyunca IBM, Microsoft, Compaq, HP, Oracle gibi şirketler tarafından geliştirildi ve dili bugün Windows, Mac OS ve Linux ile uyumlu hale getirdi. Dahası, Android için CCTools uygulaması sayesinde kullanışlı bir derleyici uygulaması artık yanınızda. Derleyiciyi iPhone'unuzda da çalıştırabilirsiniz, ancak bu durumda biraz sihir yapmanız gerekir.

    MATLAB ile yarışır

    Şimdiye kadar, bu metinde asıl şey söylenmedi, yani Fortran'ın kapsamı. Yani bu, bilim ve mühendislikte talep gören bir dildir, tamamen veya kısmen hava tahmini, oşinografi, moleküler dinamik, sismolojik analiz için kullanılır. Genel olarak bu, hesap makinesinin toplu satışa ilk çıktığı zamandan gelen gerçek bir "Veri Bilimi" dilidir.

    Aynı zamanda, Fortran'ın popülaritesinin bir kısmını mirasa borçlu olduğunu kabul etmeye değer. Yıllar geçtikçe, neredeyse hiç rekabet olmaksızın, dil çok büyük bir istemci, kitaplık ve eklenti tabanı elde etti. Ek olarak, Fortran'ın sonraki her sürümü, kaçınılmaz olarak öncekileri destekler. Dolayısıyla bilim adamlarının ve mühendislerin bu birlikten vazgeçmeye zorlanması için önemli bir faktörün olmadığı bir durum ortaya çıkmıştır.

    Aslında, Fortran'ın bugün ana rakibi, daha çok yönlü, daha işlevsel ve daha kullanışlı olan MATLAB'dir. Bununla birlikte, MATLAB aynı zamanda kullanılan yazılım üzerinde katı kısıtlamalara sahiptir, oldukça pahalıdır ve çoğu durumda gereksizdir.

    Nispeten parlak bir geleceği var

    10-20 yıl sonra ne olacağını, bu süre zarfında bilişim dünyasının nasıl değişeceğini elbette tahmin edemiyoruz. Bununla birlikte, Fortran için olası yeni rakiplere (Go gibi) bakıldığında, ana dezavantajları genellemedir. Yani, Fortran'ın yaratıcıları, hedef kitleyi çok hızlı bir şekilde bilim adamları şeklinde özetlediler, onların fikirleri ve istekleri önceliklidir. Bu nedenle, yarın bir moda akımı uğruna "özel siparişlerinden" vazgeçeceklerini hayal etmek zor. Buna dayanarak, başka bir Fortran neslinin cesurca ayrıldığı iddia edilebilir.

    Ve sonra sadece yeni bir sürüm yayınlıyorlar.