To bude tim, ze dneska uz se nic neprogramuje, dneska se neco splaca v nejakym tom gui klikatku pomoci nejakeho frameworku a pak dojde na strasny diveni se, ze to nedela co by melo, pripadne ze "hello world" potrebuje 200MB na disku a GB ramky ... a mozek zustal nekde v hospode.
Nepsal bych to, kdybych to (opakovane) nevidel na vlastni oci u ruznych dodavatelu. Za programatora se nepovazuju, presto si dovolim tvrdit, ze programovat umim lip, nez 80% tech, kteri to maji v nazvu/popisu prace (coz je tragedie).
Jako priklad muzu zminit "reseni" problemu typu tecka/carka u desetinnych cisel. Vysledek (opakovanych) oprav aplikace je ten, ze v kodu je asi 50x replace a stejne to stale nedela, co by melo (obcas nastane situace, ze se objevi tecky kde by mely byt carky ...). Jop, ona aplikace je napsana v uzasnem a vsemi opevovanem (a pry spickove prehlednem a programatorsky privetivem) .NETu.
Myslim, ze problem je ve velikosti dnesnich aplikaci a v C chybejici podore programovani na vyssi urovni abstrakce. Troufam si tvrdit, ze v dobach, kdy bylo C povazovano za programovaci jazyk vyssi urovne, tak programy nebyvaly zdaleka tak komplexni a velke. V C chybi spousta vychytavek, ktere pokrocilejsi jazyky maji, at uz je to zabudovana podpora OOP nebo jineho paradigmatu, ci chybejici standardni datove struktury. C je stale jiste vhodny jazyk na programovani ovladacu, jader a malych utilit, ale backendy enterprise aplikaci bych v nem delat nechtel.
Dnesny zgrc je write only, podporuje zly styl programovania a ma vysoku nachylnost k chybam. Co nepodporuje rychly vyvoj. Ked vidim kod v starom dobrom C, je pekne citatelny. Ale ked vidim tie dnesne dobastlene nekonzistentne rozsirenia, je to zle. Vyvyjali to hackeri, ktori kaslali na teorie okolo programovacich jazykov. C je uz fosilia ako COBOL, mohol by uvolnit miesto inemu nizkourovnovemu jazyku.
ANSI C v kombinaci s Whitesmiths indentací je ta nejčitelnější věc co znám (používám to od doby co jsem viděl stejně upravený program v ALGOLu a bez problémů ho přečetl). Bohužel se do C99 rozšířilo pár odporných nákaz, jako deklarace proměnných přímo v kódu, a tím tenhle krásný jazyk degradoval na úroveň Microsoft BASICu :-/
Exituje podle tebe nějaký nízkoúrovňový jazyk, který by C mohl nahradit? Pokud vím, dnes se C považuje spíš za přenositelný assembler než za programovací jazyk, na komplexnější věci je tu C++ se simulací objektů...
Jo, kdyz si predstavim kolik napr. Linuxovy kernel obsahuje ruznych mini interpretu ruznych jazyku (z nichz nektere jsou vazne turing-complete), tak tohle rozhodnuti NetBSD mi prijde jako velice dobre reseni (v Lua lze tohle vsechno udelat a bude to bleskurychle - neni tedy treba tolik specifickych interpretu, protoze rychlost bude postacujici - proste dve mouchy jednou ranou).
VM LUA použivám v kombinaci s C/C++ již několik let. Ne vždy je nutno překládat celý projekt. Do C/C++ projektu je možno přeložit a přilinkovat přimo zdrojové texty VM LUA bez zakékoliv změny. Zkoušel jsem Visual C, Borland C, C Builder, MinGW, GCC pro ARM a dokonce i DJGPP. Zvláště v embedded zařízeních, kde je kód uložen v EPROM je VM LUA nezastupitelný. Pokud bude VM LUA přítomen v jádře, podstatně to pomůže zjednodušit připojování externích zařízení. Ne všechna externí zařízení se vyrábějí v tisícových sérijích.
Dovod preco nie javascript:
http://www.youtube.com/watch?v=kXEgk1Hdze0
Javascript je sice fajn, ale mava strasne neocakavatelne spravanie. Lua je fajn kompromis.