Jako se latina rozšířila s Římskou říší a jejím okolí, tak se C rozšířilo s Unixem a po platformách, které se od něj nějak inspirovaly (DOS). Moc víc bych v tom nehledal. FORTRAN 77 rozhodně nijak zvlášť komplikovaný není (ani se tak nejeví).
Přesně tak to je. C je rozšířilo jako přílepek unixu. Jinak by nikdo ani netušil, že nějaké C existuje.
Na konci 20. století byl mezi ajťáky názor, že unix je nejlepší a dokonalý systém - a už není třeba nic nového vynalézat, zlepšovat, objevovat, evoluce je komplet hotova. Nic lepšího než unix se zkrátka už ve vesmíru nikdy neobjeví, to je jediná jistota v tomto drsném a nevlídném světě - tak přemýšleli ajťáci. A dodnes si to řada z nich ještě myslí.
No a s tím názorem o nekonečné dokonalosti unixu se začalo rozšiřovat (také jako nejlepší a dokonalé) všechny součásti unixu - tedy i C. Byť C se do unixu dostal spíše jako snaha vytvořit nástroj pro přenesení unixu na jiné platformy.
Dnes už ubývá lidí, co si myslí, že unix je totálně dokonalý. Dokonce si to nemyslí už ani tvůrce unixu Thompson, který napsal i knihu, co by se dalo na unixu udělat lépe. A s tím jak padá božský status unixu a C, a tak se množí jazyky, které chtějí být lepší než C.
Dnes zase drží C spíše embedded sféra a hardware. Protože lecjaký mikrořadič a kdejaký čip je dnes programovatelný v C.
Jinak řečeno, Fortran nikdy komplikovaný jazyk nebyl. Na výpočty byl vždy propracovanější a lepší než C/C++. Navíc dává rychlejší binárky. Proto také řada matematických a vědeckých knihoven je napsaná ve Fortranu. A C/C++ nemá šanci se jim vyrovnat v efektivitě a rychlosti. A pokud máte výpočet v astrofyzice, který trvá 2 dny, pokud se napíše ve Fortranu nebo 4 dny pokud se napíše v C - je preference vědců poměrně jasná.
Pokud se bavíme o historickém fortranu, tak to žádný zázrak nebyl. Pamatuji začátek PC, a konce Fortranu nikdo nelitoval. Ten jazyk nic moc neuměl - v podstatě všechno se psalo jako operace s maticemi - a jelikož tam nešlo moc co vymýšlet, tak to bylo rychlé, ale nijak pohodlné.
Cčko je vylepšený assembler určený na psaní systémových věcí - tedy na úplně jiný use case než Fortran, a tam se prosadil, ačkoliv mraky věcí by se daly vymyslet lépe (z dnešního pohledu). Berte v úvahu výkon tehdejších strojů a velikost RAM, kam se musel vejít překladač a alespoň kus překládaného kódu. Co jsem slyšel, tak Fortran měl 7průchodový překladač, Cčko 4, Pascal jednoprůchodový. Pro mašiny na kterých to běželo bylo Cčko přesně to, co bylo potřeba. A jelikož platí, že první bere téměř vše, tak i když už pak přišly lepší jazyky, nebyly o tolik lepší aby obrátily směr v IT. IT je neskutečně konzervativní - a co jednou funguje se používá dokud nepřijde něco generačně jiného.
Když už jsme u těch optimalizací - myslím si, že svět jde jinam - dnes rozšířené implementace překladačů sdílí kód, takže je jedno jestli kód napíši v C, ve Fortranu, v Adě - kompilátor je výsledku jeden. U těch vědeckých výpočtů dneska hraje prim využití GPU - nikoliv kvalita překladače.
Mám pocit, že v této diskuzi trochu zapadá fakt, že programátoři jsou a budou lidé. Můžete mít špičkový jazyk nebo paradigma, ale pokud jej bude umět použít pouze pár lidí, tak zapadne. Prosadí se jazyky, prostředí, které jsou pro použití jednodušší než předchozí generace. Java byl původně jednoduchý jazyk pro pračky, myčky a sliboval výrazně jednodušší programování (a bezproblémovou přenositelnost) než C++. C++ byla zase na začátku evoluce Cčka. Nic komplikovaného, bez ohledu na efektivitu nemůže fungovat.