Blog
Skip to end of metadata
Go to start of metadata

Fortress annyit tesz: erőd. A Sun új programozási nyelvet alkotott, amely működésében és viselkedésében jelentősen különbözik a Sun nevéhez kötött Java nyelvtől.

A jobb oldali képen egy Fortress nyelvű program látható, amelyet szerintem kissé nehéz idézni és majd megírni is körülményes lesz. Remélem a Sun készít olyan fejlesztőkörnyezetet, amelyben a görög betűket és matematikai formulákat kényelmesen be lehet írni, mivel véleményem szerint a programozók nem fognak ezzel bíbelődni... ám valószínűleg a nyelvet inkább matematikusok és fizikusok fogják használni, akiknek ezek a jelek és műveletek használata az üzemszerű működést jelentik (nekem inkább a kommunikációs hiba jut eszembe... :).

A Fortress nyelv alapja az objektum orientált nyelvek osztálya helyett az objektum (object), amely végülis azonos dolgot takar, hiszen minden objektumnak vannak mezői (field) és metódusai (method), azonban a nyelv szülei hozzácsaptak egy új fogalmat: a jellegzetességet (trait). A példában a SolarSystem nevű objektum a StarSystem és az OrbitingObject jellegzetességet örökli (ezeket nevezi a Fortress terminológia supertrait néven). OOP szemmel ez egy sima öröklés, azonban a Fortress kissé másképp működik... :)

Fordítás és futtatás

A Fortress két módban képes jelenleg futni: interpretált (script) módban, illetve lefordított (compiled) módban, azonban futásához kell egy JVM-hez hasonló virtuális gép, s az egészet egy fortress nevű (egyelőre Java) program végzi. Script módban egy .fsx kiterjesztésű állományba írt programot tudunk a fortress script HelloWorld.fsx parancs segítségével futtatni.

A compiled mód nagyon érdekes az eddig megszokott fejlesztői szemmel, ugyanis a forráskódot (.fss kiterjesztés) a fortress compile HelloWorld.fss parancs segítségével lefordítva a köztes kód egy perzisztens adatbázisba kerül, amelyet a fortress run HelloWorld segítségével tudunk futtatni.

(Programozó)matematikusok fizikusoknak

Igen esélyes, hogy ezt a nyelvet nem grafikus alkalmazások készítésére hozták létre, hanem atomszimulációkkal és egyebekkel játszadozó matematikusok és fizikusok számára, akik megkapják a világ legnagyobb programozható számológép fürtjeit (amelyek akár több száz vagy ezer gigaflop számolási teljesítménnyel is rendelkezhetnek rendekeznek), de nincs igazán rájuk szabott programozási nyelv, amelyet kényelmesen tudnak használni.

Hát most megkapták... ugyanis a Fortress teljesen magától értetődően a ciklusokat több szálon hajtja végre, tehát egy klasszikus for (int i=0;i<10;i++) Fortress nyelven nem végigszámolja nullától kilencig a számokat, hanem ugyanezt megcsinálja tíz programszálon (az eredmény a kép alján látható). Félelmetes, hogy egy sima kis ciklussal le tudunk terheli akár tízezer processzort is egy többszobányi számítógép farmon... (smile)

      
      
Page viewed times

2 Comments

  1. humm, jo dolog vajon fortranban programozni?
    1. Auth Gábor AUTHOR

      Szerintem... a Fortress inkább multiprocesszoros, fürtözött és többszálú matematikai szimulációs feladatokhoz találták ki, a Fortran pedig erre nyelvileg nem volt alkalmas... csak erős matematikai támogatással rendelkezett... :)

      A Fortress-ben az a "durva", hogy szinte copy-paste programozható matematikai formulákkal és képletekkel... a matematikus egyszerűen beemeli a képleteit és kész a program, csak futtatni kell... :)