Izbor izmedju asemblera i C-a moze postojati jedino na hobistickom nivou, ako se neko bavi mikrokontrolerima na nacin kao sto se npr. bavi pecanjem ili rjesavanjem ukrstenica.
Iluzija je da postoji neka mogucnost profesionalnog bavljenja ovom strukom na nivou asemblera.
Citat:
Ne, asembler nije zastareo, ali se danas "pametni klinci" (ne želim nikoga da vredjam) ne bave asemblerom i onda se pišu ogromni neoptimizovani programi u višim programskim jezicima koji rade sporije nego što bi trebalo i zauzimaju više memorije nego što bi trebalo pa se pribegava bržim i snažnijim kontrolerima. Naravno, rečeno je već da su razlike u ceni za kontrolere sa više memorije male, i to stoji, ali to mene počinje da podseća na PC - danas ti treba bar 2 Gb RAM-a i dvostruko jezgro u procesoru (za one sa engleskog govornog područja - dula core) da bi napisao i najkraći .doc dokument. No, to je već stvar ličnog afiniteta i mislim da ne treba širiti priču dalje.
Bilo kakav
netrivijalni projekat, na kojem radi 3+ ljudi u 99.9% slucajeva ne moze da se realizuje u asembleru u okviru rasplozivog vremena i sredstava. Tj. svaki takav pokusaj je u startu osudjen na trzisnu propast.
Mikrokontroleri koji otvaraju vrata od garaze kad dvaput zatrubis, ili pale svjetlo kad se smraci, drmaju neko motorce napred-nazad i posalju neku porukicu na neku magistralicu kad ocitaju temp. na senzoru... i tome slicno - moze i asembler.
Probaj da napravis neki ruter pa pisi protokol stack u asembleru ili algoritam rutiranja, ili algoritam za neki malo komplikovaniji proces od pomjeranja cnc-glave, pa ces da vidis dokle ces da doguras sa asemblerom.
Programi nisu
nepotrebno veliki, niti su procesori
nepotrebno brzi ili memorijski zahtjevi
nepotrebno veliki. Razvoj tehnike je uslovio da su te stvari jednostavno postale dovoljno jeftine u usporedbi sa ljudskim radom. Ti mislis da je nepotrebno da neki programcic trosi tolike resurse, a trziste kaze da je nepotrebno da se neki programcic razvija tri godine u asembleru ili tri nedelje u C-u, umjesto tri dana u JAVI. Da bi napravio HID interfejs neke proizvodne linije koja kosta 3 mil $, potreban ti je
"nepotrebno velik" processor od 50 evra, gotove biblioteke od 200 evra i 3 dana posla za jednog covjeka. Da bi napravio isto to u asembleru na
dovoljnom procesoru od 10 evra, potrebno ti je 5 ljudi koje ces placati 2 godine dok to zavrse.
Asembler ima svoje domete koje su u ovoj industriji odavno prevazidjeni. Otprilike ono sto je za nekog profesionalca u asembleru plafon, to je u visim programskim jezicima ostvarivo nekom amateru novajliji za isti, ako ne i kraci, utrosak vremena i para.
Ko nevjeruje neka proba u asembleru i C-u da napise program kojim ce pomocu misa da pomjera kursor na 128x64 LCD-u i nacrta piksel kad pritisne lijevo dugme, a obrise kad pritisne desno, pa nek javi sta je i
za koliko vremena dobio u jednom i u drugom slucaju. Mogu da se kladim da ce 80% zagovornika asemblera dobiti manji i brzi kod u C-u nego u asembleru.
Sa porastom slozenosti projekta, tezina asemblerske realizacije i broj problema koje ona donosi, a pogotovo odrzavanje i debagovanje rastu
eksponencijalnom progresijom.
U danasnje vreme, ne postoji nijedno opravdanje za iskljucivo koriscenje asemblera u ovom poslu kao poslu (ne kao hobiju) osim idiotluka.