După cum știți deja, în funcție de ultimele tendințe mondiale. Limbajul de asamblare este din nou inclus în cele mai populare 10 limbi de programare. Cum sa întâmplat ca într-o lume în care majoritatea dezvoltatorilor novici să nu-și imagineze mecanismele de interacțiune între cod și mașină, această creație primitivă este din nou vizibilă? Și principalul lucru: trebuie să învăț limba de asamblare? Și cum? Să încercăm să înțelegem.
Informații succinte
Limbajul de asamblare este un cod orientat spre mașină la nivel scăzut, prima dintre care datează din anii 40 ai secolului XX în contextul interacțiunii cu computerul EDSAC. În ciuda faptului că nu utilizează întotdeauna instrucțiunile interne ale mașinilor înseși (tot este vorba de universalizare), practic nu duce la o pierdere a performanței, dimpotrivă, oferind doar utilizatorului posibilitatea de a folosi macrocomenzi.
Acesta este principalul avantaj: având un set destul de limitat de comenzi și acțiuni, limba de asamblare este un instrument universal dacă doriți să creați codul cel mai rapid executabil și să urmăriți, de asemenea, procesele efectuate de mașină pas cu pas.
Plecând de la aceasta, permiteți-ne să evidențiem avantajele evidente:
Performanță. Este mai rapid să folosiți doar instrucțiunile directe ale procesorului;
Securitate. Nivelul scăzut practic în acest caz exclude prezența petelor albe în cod;
Eficiența utilizării capabilităților unei anumite platforme. Orientarea spre mașina utilizată permite un avantaj serios în comparație cu limbile de nivel înalt;
Înțelegerea codului executabil de către programator. La acest nivel de programare, codul și acțiunea au o relație cauzală evidentă.
Cu toate acestea, este nechibzuit să negeți că o astfel de limbă veche are deficiențe evidente:
E greu de învățat. Specializarea în platformă, mai multe dialecte - toate acestea nu contribuie la învățarea și înțelegerea rapide;
Scrierea programelor. Unele operații primitive, descrise în limbi de nivel înalt într-o singură linie, pot cauza o adevărată durere de cap pentru programator;
Majoritatea mașinilor utilizate pur și simplu nu au nevoie de o astfel de limbă primitivă ca asamblator;
Prag de intrare ridicat. Aproape orice programator al mâinii medii va fi capabil să reprezinte codul executabil în limba de asamblare. Faceți-o mai eficientă decât compilatorul - doar o mică parte;
Un număr foarte limitat de biblioteci, comunități, susțin resursele prin standarde moderne.
Cine ar trebui să învețe?
Evident, limba de asamblare a fost bună și solicitată în momentele în care computerele nu erau prea puternice, dar de ce a apărut acum o nouă rundă de creștere? Este simplu: lumea vine cu un val imens de IOT. Utilizarea mai multor computere, subordonate aceluiași scop, se justifică numai cu cel mai mic cost posibil și cu viteză mare, ceea ce îi determină pe dezvoltatori să se întoarcă la limbajul de asamblare vechi.
Astfel, dacă specializarea dvs. este dezvoltarea de aplicații mobile, atunci această tendință nu vă privește. Cu toate acestea, dacă instrumentul dvs. este C, iar microcontrolerul este întotdeauna pe desktop, atunci limba de asamblare este ceea ce a prescris medicul. În caz contrar, calea spre profesie va fi scurtă.
Programarea de la Ground Up. Jonathan Bartlett - a doua carte la rând pentru citire are un limbaj de prezentare mai articulat, dar cuprinde sfaturi utile și date tehnice;
Introducere în limbajul de asamblare 64 biți, programare pentru Linux și OS X. Ray Safeart - în această carte, limba de asamblare este considerată ca bază pentru toate sistemele și dispozitivele. Pentru un începător, o astfel de carte poate părea dificil de înțeles, deci este recomandat să ai cel puțin câteva cunoștințe despre programare;
PC Assembly Language. Paul Carter este o carte care învață limba asambloroarelor cu un număr mare de exemple și aplicarea lor concretă din viața reală;
Asamblare și demontare. Pirogov Vladislav - trebuie să existe între această învățătură măreție și o carte în limba rusă. Exemple de cod, descrierea instrumentelor și răspunsuri la întrebările reale ale începătorilor - totul este atașat;
Assembler? Este ușor! Învățați să programați. Kalashnikov Oleg - al doilea nivel de cunoaștere a limbajului de asamblare. Este mai bine să impuneți informațiile descrise în acesta cu privire la cunoștințele cel puțin minime deja dobândite;
Asamblor de exemplu, Marek Rudolph - dar această carte, deși nu este de producție rusă (totuși, în original, probabil că nu o puteți citi), este ideală ca bază. Totul este accesibil și ușor de înțeles.