v pradavnych dobach pocitacovych pociatkov program naprogramovany v assembleri bolo vyrazne citit, co do rychlosti, velkosti, efektivity .. taky Volkov Commander napriklad .. boli to top kusky citelne odlisne od vsetkeho ostatneho ..
predstavit si tak win7 kompletne napisany v assembleri :D :D
celkova velkost 111 MB a ta rychlost svetla .. :D :D
To není pravda. Celý život programuji v Assembleru a nepozoruji nižší produktivitu. Dělat v Assembleru znamená nejdříve si to pořádně promyslet, sestavit si potřebná makra a konvence a pak už to jde stejně rychle, jako v čemkoli jiném. Zásadní nevýhodou Assembleru je jeho nepřenositelnost.
Že vývoj v Assembleru trvá déle jsou prostě báchorky od lidí, kteří se v něm nikdy programovat doopravdy nenaučili. Ostatně i např. jazyk Forth je jen k dokonalosti dovedený "metamakroassembler".
Pracné bylo, když jsme v kroužku ve čtverečkovaném sešitě programovali ve strojáku IQ-151. Ale makroassembler - to je hodně mocný nástroj. Takový program vůbec není nepřehledný, když si můžete pojmenovat pozice v zásobníku relativně k bázovému registru a zavést aliasy pro jména registrů, uděláte si makro na volání podprogramů atd. Docela nechápu ty údivy. Programovalo se tak celá desetiletí a přitom nešlo o žádné malé prográmky, jak si mnozí neustále představují. Každý program se dá faktorizovat tak, aby šel normálně zvládnout v Assembleru.
A píšeš programy co mají 111MB jak napsal . voc? Spočítej si kolik by to bylo instrukcí. Tohle se prostě ani s perfektním plánováním nedá zvládnout. A to neřeším, že takhle velký program bude v čase potřeba dost podstatně upravovat. Jaký smysl by mělo psát programy ve vyšších jazycích, když by programátoři neměli vyšší efektivitu?
NIKDO nepíše programy, co mají 111 MB! :-D To totiž není vůbec ani zdaleka v lidských silách. Naprostou většinu z těch 111 MB tvoří kód, který autor toho programu ve skutečnosti vůbec NEVYTVOŘIL. A takto je samozřejmě možné programovat v čemkoli, třeba ve strojáku. :-) Především je lhostejné, kolik má výsledný kód. Porovnávat můžeme počty napsaných řádků, počty modulů, tříd, procedur apod. A na této úrovni se dostáváme na srovnatelná čísla u čehokoli. Takové frameworky, jako vidíme kolem C++, Javy atp., by šly vybudovat i kolem Assembleru. Jenže to nikdo z pochopitelných důvodů nedělá.
Smysl používat vyšší jazyky je v první řadě v jejich přenositelnosti - jak těch programů, tak jejich autorů. Pokud jde o efektivitu produktivity, tak se naopak s přibývajícím rozsahem prací všechny jazyky, včetně Assembleru, sbližují. Napsat "write'Hello, world!'" je pochopitelně jednodušší než v Assembleru definovat řetězec, napsat kód pro spočítání jeho délky (má-li to být aspoň trochu univerzální), vypsání jeho písmenek atd. Ale jakmile takové procedury už mám, začne to vše být velmi srovnatelné.
Já si občas na root.cz připadám jak v blázinci. Ve fórech se považuje gentoo za distribuci pro začátečníky, java je prý neskutečně pomalý a zkriplený jazyk, největší zábava na páteční půlnoc je být první v diskuzi pod komiksem a efektivita programování v assembleru je stejná jako ve vyšších jazycích. Evidentně sem buď chodí mimozemšťané nebo zde platí jiné přírodní zákony.
Normálně lžeš a nebojím se ti to říct do očí. V ASM si možná plácáš něco pro osmibitové jednočipy, tam bych to chápal, ale nikdo nepíše v ASM něco velkého jako třeba účetnictví Pohoda nebo Microsoft Office nebo Adobe Photoshop. Většina vyšších jazyků jako třeba C/C++ vznikla právě proto, že vývoj v assembleru byl a je neúnosně pomalý.
vetsina jeste vyssich jazyku vznikla proto, ze vyssi jazyky proti assembleru zavadi nesmyslna omezeni, ktera se musi slozite obchazet a zdrzuji zhruba stejne jako rvat to tam v assembleru. problem je uz akorat v tom, ze ty super vysoke jazyky jsou po odstraneni techto omezeni trpi stejnymi nedostatky jako assembler (s vyjimkou neprenositelnosti projektu).
Jelikoz v praci spravuji programy napsane casto v assembleru, ono se to da do urcite velikosti. Pak to zacne byt maler a velky. Treba je potiz zmenit nekde datovou strukturu. Takze takhle jednoduse to bohuzel neplati, je to silne nelinearni; zkratka vetsi programy vyzaduji zcela novy pristup.