Citat:
rsinisa: I kaži ti meni sad šta bi ti njemu rekao, koji mcu da uzme za početak i koji programski jezik?
Engleski.
Covjek koji ne moze da cita datasheetove nema sta da se zamlacuje.
To je isto kao da kazes "Ima jedan sljepac koji bi da se bavi streljastvom, koji bi ti njemu pistolj preporucio...."
Cijene procesora kao silicijuma su danas postale beznacajne. Uglavnom sto se placa to je elektromehanika - pinovi, kucista, pakovanja....
Ako ti treba 50 I/O pinova skoro je svejedno koje je jezgro u pitanju, vecinu para ces dati za zicetine, plastiku i keramiku na tom cipu, s tim sto ces za starije cipove platiti redovno vise zato sto odrzavanje stare proizvodne linije koja obicno proizvodi manje cipova nego neka nova kosta fabriku vise.
Bez obzira koliko nekom nesto "odgovaralo", covjek koji se time bavi i misli da se time bavi, mora u nekoj mjeri odrzavati korak sa novim tehnologijama, alatima, trendovima, pa cak iako mu to trenutno ne odgovara. Tako je to. Ako jednom puno zaostanes kasnije tesko stizes.
U tom smislu je besmisleno ukljucivati se danas u igru sa necim sto je jos prije 10 godina bilo zastarilo.
Sto se tice asemblera: vecina danasnjih procesora se projektuje tako da budu optimizovani za C. Ne znam ni za jedan proizveden u poslednjih 10 godina koji nije projektovan sa time u vidu.
U tom smislu skoro je nemoguce nadmasiti netrivijalni kompajlirani C-program u brzini i velicini rucno pisanim asemblerom.
A jedina stvar u kojoj ima smisla koristiti asembler su jednostavni mali programi bez mnogo zapetljavanja i skakutanja, a C programi se danas na danasnjim jezgrima i u tom segmentu kompajliraju skoro perfektno tako da ni tu nema smisla koristiti asembler, pa prvi dio recenice otpada.
Svi proizvodjaci isporucuju biblioteke za sve periferije pisane u C-u, tako da ko hoce da koristi asembler mora biti nesto u srodstvu sa Sizifom i Tantalom.
Kako raste kompleksnost programa tako vreme potrebno da se to obavi asemblerom raste eksponencijalno u odnosu na neki visi programski jezik. Isto tako se povecava i broj bagova, efikasnost programa opada, a velicina raste.
Drugo, ko se ikad bavio programiranjem bilo cega ili ucestvovao u bilo kakvom takvom projektu zna da ca. 80% vremena otpada na debagovanje, a kasnije na odrzavanje. Debagovanje i odrzavanje asemblera je beskonacno besmislenije, skuplje, sporije, teze, neefikasnije i neproduktivnije od nekog viseg programskog jezika, a pravi pako nastane kad orginalnog programera asemblerske konfuzije zamjeni neki zamjenski programer. A kod asemblera nema nikakvog standarda: svako ima svoju verziju
for petlje, pa se ti slikaj sa svojim asemblerskim
iskustvom kad necije tudje iskustvo izgleda potpuno drugacije.
Asembler se odavno izbacio iz skola, a forsira se njegovo izbacivanje iz industrije iz gore pobrojanih razloga. C++ je sve zastupljeniji u embedded sistemima, a neki vec uveliko pokusavaju sklepati Java Virtual Machine u hardveru, tj. napraviti procesor koji ce hardverski podrzavati Java instrukcije.
Ovo je industrija u kojoj vecina stvari zastarjevaju za nekoliko godina. To je jednostavno priroda ove oblasti. Kao sto rekoh - besmisleno je ukljucivati se u igru sa necim sto je dosad zastarilo ne jednom nego 5 puta, bez obzira na razlog. A ako neko ipak odluci tako - onda on ustvari nece da se bavi mikrokontrolerim
a nego mikrokontrolerom. A to je velika razlika.