Vyplatí se začít ve fortranu?

Kiwi

Re:Vyplatí se začít ve fortranu?
« Odpověď #60 kdy: 23. 02. 2018, 22:02:32 »
Ale Fortran s nimi bude vždy pracovat lépe a rychleji.
I než C? A proč jako?
Viz výše. Ale můžeš to sám otestovat.
Však už jsem taky pár fortranovských za**baností do Céčka přepisoval. Výsledek v Céčku byl stejně rychlý (ó jaké překvapení), občas o pár procent rychlejší nebo pomalejší. Neexistuje totiž pražádný důvod, proč by měl kompilátor z céčkového kódu generovat výrazně jiný stroják než z Fortranu (pomineme-li drobné záležitosti typu práce se zásobníkem a ukazateli).
OMG! Pro extra natvrdlé tedy ještě jednou a fakt už naposledy!
Maticové operace, komplexní čísla, logaritmy, mocniny, goniometrické funkce atd. jsou u Fortranu vestavěnými operacemi!

Z toho plyne, že kompilátor ví, oč jde a jak to může zoptimalizovat. Spousta operací jsou skryté smyčky, které v céčku musím rozepsat, aniž by měl kompilátor tušení, k čemu ta smyčka slouží. Fortraní kompilátor si tu smyčku vyrobí sám, protože s ním komunikuju o level výš než s kompilátorem céčka. Ví, kdy může bezstarostně přeházet pořadí operací, paralelizovat je, ví, které funkce jsou čisté, narozdíl od céčka je ve Fortranu zakázaný aliasing polí, takže nemusí testovat tyhle věci atd. atd.

Už ti to začíná docvakávat? Ne? Zkus zatřást hlavou, na některých nádobkách se píše"před použitím protřepat".

V céčku dělám 25 let a živí mě, ve Fortranu jsem vedle toho dělal 8 let. Bavíme se často o výpočtech, které trvají klidně týden. Když budou trvat jen 5 dnů, je to docela velká úspora.

Dneska je to tu fakt jak u blbejch na dvorku. O Fortranu tu blábolej lidi, kteří ho očividně v životě neviděli a ještě si myslej, že to nikdo nepozná.


Labrat

Re:Vyplatí se začít ve fortranu?
« Odpověď #61 kdy: 23. 02. 2018, 22:12:06 »
Fortran je jazyk pre matematikov a inzinierov, ktori potrebuju vedecko-technicke vypocty. Je to tak jednoduchy jazyk, ze sa ho netreba ani ucit, zacnes ho pouzivat a postupne sa dopracujes k pokrocilejsim vlastnostiam.
V roce 1960 možná. Od roku 1978 je Fortran přežitkem, který se za částí vědecké komunity táhne jako sopel. Já doufám, že jeho uživatelé časem vymrou a Fortran sám pak upadne do zapomnění.
On má smysl třeba pro fyziky, co nejsou a nechtějí být programátoři. Fyzik se C kvůli pár výpočtům učit nebude.

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Vyplatí se začít ve fortranu?
« Odpověď #62 kdy: 23. 02. 2018, 22:27:52 »
A proc by se fyzik mel ucit C nebo neco, kdyz Fortran je pro nej zjevne lepsi a navic luxusnejsi??? To jako jen proto, aby ho tady na Rootu nekdo nenazval konzervou?

mikrom

Re:Vyplatí se začít ve fortranu?
« Odpověď #63 kdy: 23. 02. 2018, 22:51:59 »
Fortran je jazyk pre matematikov a inzinierov, ktori potrebuju vedecko-technicke vypocty. Je to tak jednoduchy jazyk, ze sa ho netreba ani ucit, zacnes ho pouzivat a postupne sa dopracujes k pokrocilejsim vlastnostiam.
V roce 1960 možná. Od roku 1978 je Fortran přežitkem, který se za částí vědecké komunity táhne jako sopel. Já doufám, že jeho uživatelé časem vymrou a Fortran sám pak upadne do zapomnění.
A preco by si to chcel? Co je na tom podla teba zle? Fortran je specializovany jazyk, ktori pouzivaju matematici, fyzici a inzinieri, ktori sa potrebuju len dopracovat k vysledku nejakeho vypoctu a programovanim sa inac nemienia hlbsie zaoberat. Co myslis, ze ked budu chciet vyriesit stiff-diferencialnu rovnicu implicitnou-R+K-metodou, tak si najdu stupida-informatika, ktory o danej problematike vie uplne hovno, aby im to naprogramoval? Nie to by nefungovalo, lebo tomu blbcovi chybaju aspon 2 semestre, aby pochopil o co zhruba ide. Preto si to radsej naprogramuju sami vo vhodnom nastroji - t.j. vo Fortrane. V C/C++ je to zlozitejsie a Java sa na to vobec nehodi.
Vseobecne, starsie programovacie jazyky ako COBOL a Fortran boli genialne a priamociaro navrhnute pre ludi z praxe, ktori potrebovali programovaci jazyk ako nastroj. Dnes sa to uplne zvrhava. Informatici pracujuci pre biznis nevedia o biznise nic, ale riesia iba nejake technologie, ktore sa menia kazdeho pol roka a neprinasaju pre biznis ziadny zisk. Pridana hodnota informatika je v tom, ze sa vyzna v domene v ktorej pracuje. Informatik bez tychto znalosti je lopata.

Ak teda dufas, ze Fortran zanikne dufas marne, lebo Fortran sa stale vyvija a dorabaju sa do neho nove features. Najpouzivanejsi bol dlho stadard 77, potom 90, a 95. Teraz su tu aj novsie standardy 200x. Ja osobne som bol dlho iba zastancom fortranu 77, ale potom som presiel na 95 a neviem si ho pre jeho jednoduchost vynachvalit. Fortran je v svojej domene super !

pan co nema nazor

Re:Vyplatí se začít ve fortranu?
« Odpověď #64 kdy: 23. 02. 2018, 22:53:07 »
A proc by se fyzik mel ucit C nebo neco, kdyz Fortran je pro nej zjevne lepsi a navic luxusnejsi??? To jako jen proto, aby ho tady na Rootu nekdo nenazval konzervou?
Protoze to realne nevyuzije? Ale sorac, to je argument za carou, v ciste teoreticke diskuzi ciste teoretickych teoretiku co ciste teoreticky probiraji moznosti vypocetni techniky +30 let po roce 1980 :)


mikrom

Re:Vyplatí se začít ve fortranu?
« Odpověď #65 kdy: 23. 02. 2018, 22:58:39 »
Ono se totiž ukazuje, že lidé, kteří Fortran kritizují, ho ve skutečnosti neznají vůbec
+1
Ano, presne takto sa kritizuje vsetko starsie: COBOL, Fortran, Basic, Pascal...
Vacsinou su to retardi, ktori v danom jazyk nikdy nic nenaprogramovali ...

MMN

Re:Vyplatí se začít ve fortranu?
« Odpověď #66 kdy: 23. 02. 2018, 23:02:52 »
Tak znova, vzhledem k C:
Maticové operace,
Ano, maticové operace vskutku C „zadrátované“ nemá a uživatel si musí příslušné smyčky rozepsat sám a pokud možno při tom přemýšlet, v jakém pořadí je psát.
Citace
komplexní čísla, logaritmy, mocniny, goniometrické funkce atd. jsou u Fortranu vestavěnými operacemi!
Jediné, čím se liší „vestavěnost“ těchto věcí ve Fortranu a v C, je to, že ve Fortranu jsou to klíčová slova a v C je potřeba vložit standardní hlavičkové soubory (a vědět, co se používá za typy), v obou případech je to vše součástí standardu jazyka. Z hlediska optimalisací je to úplně jedno – rozumný kompilátor si s nimi poradí jak ve Fortranu, tak v C (typický příklad – použiji-li v nějaké funkci cosinus a sinus téhož argumentu, z překladače vyleze ve skutečnosti kód volající funkci sincos(), která je rychlejší než volat sin() a cos() zvlášť).

Citace
narozdíl od céčka je ve Fortranu zakázaný aliasing polí, takže nemusí testovat tyhle věci atd. atd.
V si C jej lze zakázat kvalifikátorem restrict.


MMN

Re:Vyplatí se začít ve fortranu?
« Odpověď #67 kdy: 23. 02. 2018, 23:09:03 »
Fortran je jazyk pre matematikov a inzinierov, ktori potrebuju vedecko-technicke vypocty. Je to tak jednoduchy jazyk, ze sa ho netreba ani ucit, zacnes ho pouzivat a postupne sa dopracujes k pokrocilejsim vlastnostiam.
V roce 1960 možná. Od roku 1978 je Fortran přežitkem, který se za částí vědecké komunity táhne jako sopel. Já doufám, že jeho uživatelé časem vymrou a Fortran sám pak upadne do zapomnění.
On má smysl třeba pro fyziky, co nejsou a nechtějí být programátoři. Fyzik se C kvůli pár výpočtům učit nebude.
To se dá i otočit – fysik se Fortran kvůli pár výpočtům učit nebude (oba jsou to IMHO srovnatelně jednoduché jazyky).

y,

Re:Vyplatí se začít ve fortranu?
« Odpověď #68 kdy: 23. 02. 2018, 23:21:14 »
To se dá i otočit – fysik se Fortran kvůli pár výpočtům učit nebude (oba jsou to IMHO srovnatelně jednoduché jazyky).
Jenomze tady existuje ohromna code-base metod numericky matematiky (a prilehlych oblasti). Naprogramovat tyhle veci tak, aby garantovaly spolehlive chovani a urcite garance pro sirokou skalu ruznych funkci neni vubec jednoduche. Takze fyzik nebo matematik proste zacne stavet na existujicich modulech. Nic srovnatelneho pro C/C++ (bohuzel) neexistuje. Pokud neco je, tak jsou to knihovny vzniky transpilaci fortranu (se vsema nevyhodama a rizikama s tim spojenyma).

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Vyplatí se začít ve fortranu?
« Odpověď #69 kdy: 23. 02. 2018, 23:25:31 »
Vseobecne, starsie programovacie jazyky ako COBOL a Fortran boli genialne a priamociaro navrhnute pre ludi z praxe, ktori potrebovali programovaci jazyk ako nastroj.

Tak konkretne COBOL byl navrzen pro americke Ministerstvo valky a jednim z pozadavku bylo, ze program ma byt citelny jako prirozena anglictina. Je to na tom videt a rekl bych, ze to ponekud prehnali. V zadnem jinem jazyce asi neni "Hello, world!" tak dlouhe, jako v puvodnim COBOLu.

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Vyplatí se začít ve fortranu?
« Odpověď #70 kdy: 23. 02. 2018, 23:32:52 »
A proc by se fyzik mel ucit C nebo neco, kdyz Fortran je pro nej zjevne lepsi a navic luxusnejsi??? To jako jen proto, aby ho tady na Rootu nekdo nenazval konzervou?
Protoze to realne nevyuzije? Ale sorac, to je argument za carou, v ciste teoreticke diskuzi ciste teoretickych teoretiku co ciste teoreticky probiraji moznosti vypocetni techniky +30 let po roce 1980 :)

A proc by to nevyuzil? Kdyby to nevyuzil, tak by se to neucil. Osobne znam strojare, ktery ve Fortranu vyvijel koncem 80. let SW na navrh prevodovek, ktery snad dokonce vyprintil vykresy vsech kolecek a dalsich kramu. Se divim, ze to tedy radsi neudelal v C, kdyz je to tak uzasne lepsi.

Fortran je snad nejstarsi vyssi jazyk, ktery je stale aktivne pouzivan a to asi nebude jen tak nahodou. Ale vy to urcite dokazete vysvetlit tim, ze vsichni uzivatele jsou debilove.

MMN

Re:Vyplatí se začít ve fortranu?
« Odpověď #71 kdy: 23. 02. 2018, 23:33:49 »
Jenomze tady existuje ohromna code-base metod numericky matematiky (a prilehlych oblasti). Naprogramovat tyhle veci tak, aby garantovaly spolehlive chovani a urcite garance pro sirokou skalu ruznych funkci neni vubec jednoduche. Takze fyzik nebo matematik proste zacne stavet na existujicich modulech. Nic srovnatelneho pro C/C++ (bohuzel) neexistuje. Pokud neco je, tak jsou to knihovny vzniky transpilaci fortranu (se vsema nevyhodama a rizikama s tim spojenyma).
Ano, to je reálný problém (naštěstí se postupně zmenšující). Pokud však autoři stará fortranovská codebase není příliš zprasená, tak zpravidla není problém slinkovat nový céčkovský kód oproti starému fortranovému... A pokud jeho autoři prasili, mnohokrát je jednodušší to celé přepsat.

Kiwi

Re:Vyplatí se začít ve fortranu?
« Odpověď #72 kdy: 24. 02. 2018, 11:27:27 »
Jenomze tady existuje ohromna code-base metod numericky matematiky (a prilehlych oblasti). Naprogramovat tyhle veci tak, aby garantovaly spolehlive chovani a urcite garance pro sirokou skalu ruznych funkci neni vubec jednoduche. Takze fyzik nebo matematik proste zacne stavet na existujicich modulech. Nic srovnatelneho pro C/C++ (bohuzel) neexistuje. Pokud neco je, tak jsou to knihovny vzniky transpilaci fortranu (se vsema nevyhodama a rizikama s tim spojenyma).
Ano, to je reálný problém (naštěstí se postupně zmenšující). Pokud však autoři stará fortranovská codebase není příliš zprasená, tak zpravidla není problém slinkovat nový céčkovský kód oproti starému fortranovému... A pokud jeho autoři prasili, mnohokrát je jednodušší to celé přepsat.
Pořád mi uniká jedna věc - proč? Proč nutit fyzika, aby ručně řešil de/alokace paměti kvůli každému vektoru, aby se musel kvůli každé blbosti matlat s pointry, proč mu sebrat luxusní nástroje pro práci s poli a nutit ho řešit všechno prvek po prvku pomocí cyklů, proč mu brát možnost jednoduše si přetěžovat operátory nebo nutit ho řešit to pomocí tříd a všeho co z toho plyne, proč ho nutit vyznat se v headerech, statických a externích proměnných a funkcích a jejich viditelnosti, makefilech, když ve Fortranu to vyřeší přehledně a jednoduše pomocí modulů? Fakt nevidím ani jediný důvod, v čem by to pro něj mělo být výhodnější, a tys tu taky nenapsal ani jeden.

mikrom

Re:Vyplatí se začít ve fortranu?
« Odpověď #73 kdy: 24. 02. 2018, 12:05:03 »
Vseobecne, starsie programovacie jazyky ako COBOL a Fortran boli genialne a priamociaro navrhnute pre ludi z praxe, ktori potrebovali programovaci jazyk ako nastroj.

Tak konkretne COBOL byl navrzen pro americke Ministerstvo valky a jednim z pozadavku bylo, ze program ma byt citelny jako prirozena anglictina. Je to na tom videt a rekl bych, ze to ponekud prehnali. V zadnem jinem jazyce asi neni "Hello, world!" tak dlouhe, jako v puvodnim COBOLu.
Porovnanie "Hello World" sa s oblubou pouziva, ale mnoho to o o pouzitelnosti jazyka nehovori. V COBOLe standardne treba v programe zadeklarovat tzv. 4 divisions, ktore ale napisat neznamena ziadny effort - vacsinou sa skopiruju z predosleho programu. Okrem toho staci napisat uz iba
Kód: [Vybrat]
display 'Hello World'
Co sa tyka ukecanosti, da sa pouzivat, ale nemusi sa pouzivat, napr. mozes rozvlacne po anglicky napisat
Kód: [Vybrat]
add y to x giving z
alebo mozes pouzit strucnejsi zapis
Kód: [Vybrat]
compute z = x + y
Treba si uvedomit ze cobol je jazyk navrhnuty primarne na pracu s datami a nie na zapis zlozitych matematickych vypoctov (na to je Fortran). Pohodlne sa v nom pracuje s datovymi strukturami a s databazovymi tabulkami.

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Vyplatí se začít ve fortranu?
« Odpověď #74 kdy: 24. 02. 2018, 12:27:52 »
Pořád mi uniká jedna věc - proč? Proč nutit fyzika, aby ručně řešil de/alokace paměti kvůli každému vektoru, aby se musel kvůli každé blbosti matlat s pointry, proč mu sebrat luxusní nástroje pro práci s poli a nutit ho řešit všechno prvek po prvku pomocí cyklů, proč mu brát možnost jednoduše si přetěžovat operátory nebo nutit ho řešit to pomocí tříd a všeho co z toho plyne, proč ho nutit vyznat se v headerech, statických a externích proměnných a funkcích a jejich viditelnosti, makefilech, když ve Fortranu to vyřeší přehledně a jednoduše pomocí modulů? Fakt nevidím ani jediný důvod, v čem by to pro něj mělo být výhodnější, a tys tu taky nenapsal ani jeden.

Aby si pripadal desne moderne.