paradna vec, paradne popisane ;) Zda sa mi to, alebo sucasne programovacie jazyky k tomu istemu speju opacne (lamda operatory, foreach etc.)? Napr. v C#:
new int[] { 1, 2, 3, 4, 5 }.Sum(x ⇒ x * 2); // = 30
A myslim, ze podobny konstrukt ma aj Java. Je to ukecanejsie a urcite znovaobjavenie teplej vody, ale z toho vyplyva ze su to uzitocne a vyuzivane veci :)
No je to velmi zajimave, rozhodne! Ta elegance, s jakou lze najit min, max, prumer, proste vylozene citim, ze tenhle jazyk je pro praci ve vice dimenzich skutecne jedinecny. Zajimalo by mne, jak vypocitat treba determinant matice, je na to primitivni funkce ? Zpusobi pouziti operatoru „:“ (nemohu najit ten znak, co je kombinaci dvojtecky a minusu :-) ) na matici automaticky inverzi cele matice ? Je nejaka doporucena verze APL pro Linux ? Nevyzaduji slozite IDE, ale preci jen kvuli tem symbolum vi v consoli asi nepujde :-(.
Zdravi Pavel
Místo APL bych v dnešní době spíše doporučil J od stejného autora a nemusíte si pořizovat novou klávesnici ;-)
Dobry den, na inverzi matic lze pouzit operator s Unikodem 2339 (hexa). Jako IDE pro Linux existuje z OS programu napriklad A+ zalozene na Emacsu (takze jako vimar asi mit radost moc nebudete, ale snad to jde zkombinovat s Viperem) nebo z ne-OS programu pak APLX Personal Edition (http://www.microapl.co.uk/…pe_form.html), to mi pripadne dobre (dalsi IDE pro APL lze rozjet pod Wine).
Tak uz je me jasne, odkud vitr vane. Rikalo se, ze implementace poli ve Fortranu je prevzata z neceho jineho. Cili asi to bylo z APL. Ty konstrukce jsou uplne totozne, vyjma samozrejme tech komplexnejsich operatoru, ktere jsou implementovane pres funkce. Napriklad:
integer, dimension(10) :: pole pole = 1 write(*,*) sum(pole(1:5))
Puvodne jsem myslel, ze to bylo z Matlabu, ovsem je mozne, ze ani u toho to nebylo uplne puvodni…
Nebylo.
Programovaci jazyky se holt vyviji a meni se. Soucasna podoba Fortranu se od te historicke dosti lisi. Snad jen prijemna, jednoducha syntaxe a nazev je spolecny.
Jeste by mozna stalo za to zminit, ze prave „vektorovy“ zpusob zapisu je naprosto idealni na paralelizaci vypoctu, ktera se urcite bude cim dal tim vic uplatnovat. Dobry prekladac Fortranu tak je schopen starsi programy bez jakychkoli manualnich uprav nalezite zrychlit.