Hlavní navigace

Názor ke článku Kudy dál v kompilovaných jazycích? od baze - "Nejde jenom o tu práci a o to,...

  • 4. 12. 2007 22:43

    baze (neregistrovaný)

    "Nejde jenom o tu práci a o to, že by se měl kvalifikovaný člověk <...> zabývat takovými malichernostmi jako jsou problémy procesoru s pamětí, ale hlavně jde o to, že z toho pramení nepříjemné chyby <...>"

    Ono je to tak, ze pre kvalifikovaneho cloveka to problem nie je a ti nekvalifikovani po tom volaju. Skutocne nepoznam cloveka - profesionala v pravom zmysle, ktory prave toto povazuje za spasenie. Jazyk C a jemu podobne maju tu vyhodu, ze nepredstieraju programatorovi nejaky fiktivny, akademicky lakavy stroj, ale predstavuju rozumnu mieru abstrakcie nad realnym hardwarom. Vdaka tomu mozno pisat podstatne optimalnejsie programy. Nechcem startovat flame a rad by som sa drzal vecnej roviny, ale napr. Java uz je tu dost dlhu dobu na to, aby sa ukazala nejaka pouzitelna aplikacia - tym myslim projekt rozsahu napr. Firefoxa alebo Photoshopu.

    Myslienka, ze alokacia pamete je malichernost, je podla mna taktiez mylna (samozrejme, zalezi na druhu problemu a v nejakej "klikacke" na tom naozaj nezalezi). U profesionalnych aplikacii je totiz beznou vecou nielen pozorne nacasovanie alokacii a dealokacii (kedze sa jedna o casovo narocne operacie), ale aj vlastny memory management, tzn. alokator. Garbage collection a podobne techniky su dvojsecna zbran v tom zmysle, ze tuto flexibilitu potieraju.

    Dalsia poznamka by snad smerovala k tomu, ze nie je nutne kvoli garbage collectoru zavadzat novy jazyk. Smart pointre, garbage collector a podobne "vychytavky" sa predsa daju implementovat aj v prostredi bezne pouzivanych jazykov.

    Aj ked k Linuxu mam vyhrady a nie som nejaky nadsenec, v dohladnej dobe je miziva sanca, ze C z tohto prostredia nieco vytlaci. To sa ostatne tyka kazdeho systemoveho kodu. Staci si pozriet, ako pozorne musia autori kernelu narabat so systemovymi prostriedkami. Nie je to vec archaicka, ale vec nutna.

    Jazyky typu LISP su zaujimave z akademickeho pohladu, ale svojou paradigmou sa hodia len na riesenie urciteho okruhu problemov - rozhodne ich nemozno ani len zrovnavat s C/C++.

    Dodam snad len to, ze pocitace sa principialne len velmi malo zmenili. IT oblast by po technickej stranke viac vytazila zo skutocneho pochopenia pocitaca, ako z budovania abstraktnych, aj ked lakavych iluzii. Dolezite je aj rozpoznat, ktory nastroj sa v ktorych podmienkach hodi a nefetisizovat za kazdu cenu nove technologie, podporene hlavne marketingom.