Fortress 1.0

Címkék

Tegnap megjelent a Sun új programozási nyelve, a Fortress és annak egy nyílt forrású interpretere JVM felett. Támogatja a többszálú fejlesztést, a szintaxisa a matematikai jelöléseket. A tartalmazott funkciókat többnyire a hozzá adott könyvtáron keresztül lehet elérni. A béta specifikációban még meglévő néhány dolgot kihagytak a mostani kiadásból, de ezekkel ki akarják később egészíteni.

Hozzászólások

Megnéztem egy rakás példaprogramot, én marhára nem látom benne a "matematikai jelölések"-et.

Nagy szükség lenne egyébknt valami ilyesmire, mert a Fortran nagyon alacsony szintű, a matlab meg nagyon lassú, más nyelveken meg nincsenek jó könyvtárak...
Itt is a könyvtárak minősége és száma lesz a lényeges kérdés...

Szerk:
Megvan mi a matematikai jelölés:
"needleLength*numRows" helyett "needleLength numRows"
Hogy ez mennyire hiányzott... :)

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o

Az ember mindig tanul valamit (értsd: ezt nem ismertem).

Ettől a tény tény marad: tudományos számításokra többnyire még mindig fortran-t használnak, mert abban van megírva "minden".

Illetve ha a sebesség nem elsődleges (tesztelgetés, próbálkozás), akkor matlab. Brutális mennyiségű toolbox készült hozzá.

A kettő között meg nincs semmi.
Abban megegyezhetünk, hogy a C nem a legjobb ilyen dolgokra. (Ha úgy jobban tetszik, akkor nem jobb mint a fortran, sőt). A C++ még akár jó is lehetne jó libekkel (kifejező (operator overloading) és gyors (expression template technikák)), de csak alap dolgok vanak megírva.

Én minenesetre drukkolok a fortress-nek. :)

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o

Azért ma már messze nem mindenütt használnak Fortrant. Sokszor megéri áttérni egy objektum-orientált nyelvre azért, hogy a probléma megadásakor (egyenletek bevitele) már kisebb legyen a hibázás esélye. (ld. pl. LORENE asztrofizikai számításokhoz),
és a sok kész toolbox miatt gyakran használnak az emberek Matlab-ot (illetve Octave-ot) is. Ha jól használod, akkor a linalg része egyáltalán nem lassú, csak arra kell ügyelni, hogy a beépített cuccai gyűrjék a mátrixokat, en te írj for-ciklusokat (mert akkor tényleg lassú).
Azért a matematikai jelölések támogatása remélem többet jelent annál, hogy nem kell kiírni a szorzásokat jelölő csillagokat, hanem mondjuk azt is jelenthetné, hogy vannak benne megfelelő típusok, template-ek (mátrix, vektor, többindexes tenzor), vagy pl. lehetne egy nyelv, ahol, ha van egy kétváltozós függvényem, mondjuk f, akkor értelmes a g=f(a,.) jelölés, aminek az értéke persze egy függvény, g(x)=f(a,x). Meg még egy csomó hasonló dolgot lehetne kitalálni, ami megkönnyítené a matematikai problémák gépre vitelét.

Haskellben kitűnően lehet minden programozós optimalizálás nélkül egész jó matematikai kódot kapni ( ugyanis nincs benne olyan, hogy feleslegesen kiszámol valamit, ami nem fog kelleni ). Írod, amit egy darab papírra írnál és kész. Csak az vele a gond, hogy ha rendesen gyorsítani akarod, akkor elég hamar eljutsz oda, hogy már nincs hova, mert amit leírsz, az köszönőviszonyban sincs a végleges kóddal.

Persze Python SymPy modullal se rossz. Nem kell ehhez új nyelv, párhuzamos programozás meg nem kenyerem...

Tévedsz, legalább 25-30 percig nézelődtem az oldalon, néztem a példaprogramokat, és mindössze 30 mp-ig "fikáztam".
Tehát nehezebb megtalálni, mint fikázni.

Egyébként rajtad kívül mindenki értette, hogy tudom, hogy valószínűleg nem ennyi a matematikai jelölés, és csak viccelek.

A linket azért köszi.

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o