Jezici visoke razine vs jezici niske razine (Infographics) - eduCBA

Sadržaj:

Anonim

Izvor slike: pixabay.com

Napisao sam ovaj blog s obzirom da su ljudi koji će ovo čitati apsolutni početnici. Ljudi koji imaju pozadinu, mislim, ne baš tehnološka pozadina, zapravo bi bilo teško početi učiti programiranje kad nema nikoga tko bi ih vodio. Stoga sam ovaj blog napisao kao uslugu prema njima. Dakle, govoreći o jezicima, što su točno jezik visoke razine i jezik niske razine? Zašto se tako uopće nazivaju? I koliko se oni međusobno razlikuju?

Nepotrebno je reći da sam sve njih objavila na ovom blogu.

Infografika na visokoj razini u odnosu na jezike niske razine

Što su jezici na visokoj razini?

Morate biti stvar Što je jezik visoke razine? ali reci mi da ih je lakše razumjeti i vrlo su razumljivi. Pomoću ovih jezika možete pisati aplikacije koje su prenosive na različitim platformama (kao što su Linux ili Windows) i neovisne su o bilo kojoj arhitekturi (kao što su ne-Intel ARM ili zloglasni Intel). Primjer jezika na visokoj razini, pisanje programa na pythonu koji prema zadanim postavkama radi u bilo kojem Linux sustavu, a zatim samo sastavljanje u bilo koji exe pomoću py2exe, a zatim pokretanje na Windowsima.

Slični primjeri su Python, C, Fortran ili Pascal. Takvi se jezici smatraju jezikom visoke razine jer su bliži ljudskim jezicima i puno dalje od strojnih jezika. Kad kažem ljudski jezik, ne mislim na ono što pričamo u svom svakodnevnom životu. To znači da je kôd nešto što možemo razumjeti poznavanjem nekih osnova u programiranju. Napisani kod ljudi ljudi mogu gotovo pročitati, što se može pročitati i izgovoriti.

Slijedi nekoliko primjera strojnog jezika za ispis jednostavnog programa na ekranu u Fortranu i C.

U Fortranu:

program NewProgramF90

write(*, *) "This is a printed program"

end program NewProgramF90

Sada to možete sastaviti koristeći:

gfortran newprogram.f90 -o newprogram -f90-gcc

A onda ga jednostavno pokrenite.

Sličan program na C-u:

#include

main()

(

printf("This is a printed program");

)

Za čiste početnike ovo je najlakše što mogu dobiti.

No, budući da govorimo o računalima, za računalo je to teško razumjeti. Kako bi se ovo učinilo razumnim računalima i pokrenuo program stvoren jezikom visoke razine, mora biti sastavljen u strojni jezik.

Izvor slike: github.com

A ovdje dolazi između jezika niske razine. Za razliku od prije, gdje je postojalo samo nekoliko jezika visoke razine, danas postoji n broj jezika visoke razine poput C, Cobol, FORTRAN, Pascal, Java, Perl, Python, PHP, Ruby, C ++, BASIC i Visual Basic,

Što su jezici niske razine?

Jezici na niskoj razini su oni jezici koji su izrazito bliski strojnom jeziku. Poznati su i kao skupštinski jezici. Najbliži jezici nakon sklapanja jeziku stroja su C i C ++. Neki čak nazivaju C i C ++ jezikom niske razine. Strojni je kôd poznat kao niska razina jer za razliku od programskih jezika visoke razine, ne treba ništa drugo poput pregovarača ili slično. Radi izravno na procesoru i oni su izuzetno specifični za arhitekturu.

Jezici niske razine prikladniji su za razvoj novih operativnih sustava ili pisanje kodova firmvera za mikrokontrolere. Oni mogu učiniti bilo što s malo napornog rada (zapravo puno napornog rada da bude specifičan), ali očito nećete htjeti napisati neku veliku aplikaciju u njemu. Slično je i sa C (zapravo se naziva Cee). C je zapravo vrlo opsežni jezik za početak. Omogućuje vam registraciju izravno i trenutni pristup raznim memorijskim mjestima.

Ali istovremeno ima puno konstrukcija koje omogućuju hardveru da učita apstrakciju. Iskreno govoreći, C i C ++ dvojno predstavljaju različite jezike, jer je većina jezika uzela svoje biblioteke. U praksi su i C i C ++ na niskoj razini kao što sam vam već rekao, jer je pisanje prijava na razini poduzeća prilično teško. Ali teoretski, obojica su zapravo jezici na visokoj razini.

Preporučeni tečajevi

  • Profesionalni tečaj IT sigurnosti
  • Paket za treniranje Ruby on Rails
  • Stručni CSS tečaj
  • Online tečaj HTML5 i CSS3

Karakteristike jezika visoke i niske razine:

Sada, stvar je u tome što su me povremeno pitali u raznim intervjuima i na drugim mjestima za koja volim programiranje na najvišoj ili visokoj razini. Čini mi se da ne postoji nešto najbolje. Odgovor je da oboje imaju svoju posebnost i ne možete je zamijeniti drugom. Dakle, zapravo mi se oboje sviđaju.

Programiranje na niskim razinama je izazovno i zahtijeva puno iskustva i znanja. Značajke jezika visoke razine su gdje se odvijaju sve kreativne stvari, tj. Aplikacije koje ljudi koriste u svakodnevnom životu i to se može ispraviti na mnogo lakši način nego na niskoj razini. I ovdje možete započeti raditi s izuzetno novim tehnologijama s obzirom na to da se mnogi od tih jezika kontinuirano nadograđuju zahvaljujući podršci zajednice.

Ako ovo dovedete u pitanje kod bilo kojeg jezika na visokoj razini o tome što im se sviđa, odgovor koji ćete dobiti je daleko od onoga što tražite. Neće vam reći što je bolje.

Vjerojatno će reći da su strastveniji za određeni jezik na visokoj razini i ne za sve njih. Ne znam da se to događa. Najpoznatiji primjeri su Python i Ruby, a ako im pokažete neke programe napisane u sastavu, vjerojatno će postati hasta-la-vista.

Izvor slike: mathworks.com

Ono što je zapravo sjajno kod mnogih jezika na visokoj razini jest da oni spadaju u hibridne kategorije. Na primjer, python je izrazito objektno orijentiran, ali istovremeno podržava i funkcije zatvaranja i prvoklasne funkcije. Iako nije tako moćan kao Scala, ali ima sposobnost predstavljanja manje ili više stvari kao što je jezik čistog jezika.

Jezici na visokoj razini obično su spori u odnosu na jezike niske razine. To je zato što jezici na visokoj razini imaju puno apstrakcija i slojeva koda prije nego što dođu do samog hardvera, dok je, budući da je strojni kod bliži, zapravo brzo obraditi i vratiti izlaz. Jedan dio koda u Pythonu najvjerojatnije se prevodi u tisućama redaka strojnih riječi.

Naravno, jezici na visokoj razini su u paru gdje su sirove performanse nepotrebne, jer ne možete razviti stabilne i velike aplikacije na niskoj razini kao na visokoj razini. To je jedna stvar koju vrijedi zapamtiti.

C Programiranje - Konfuzija na niskoj / visokoj razini

Iako C ima mnoštvo karakteristika sličnih jeziku Pascal, ponekad se još uvijek smatra jezikom niske razine, zbog toga što podržava rad bitova, pokazivača i izravan pristup memoriji. C zapravo je jezik visoke razine s inkluzivnim značajkama niske razine. To je glavni razlog zašto programeri ovise o C od ičega zbog njegovih nenadmašnih kvaliteta.

Možda se čini čudnim da je C, iako se tretira kao jezik niske razine, izuzetno prenosiv. Fanatično gledano, C se zapravo proširio na korištenje hardvera u krajnjim granicama koliko je to moguće.

S druge strane, skupštinski jezik je teško prenosiv. Iako je pokušaj postizanja prenosivosti velik u slučaju niske razine, posebno u slučaju Jave koja radi na JVM-u, tj. Virtualnom stroju. C ili sklop koji radi u VM-u nikada neće imati čisti pristup hardveru.

Da budemo precizniji, jezik postaje niskog nivoa ako je posebno strukturiran da se izvodi izravno na hardveru. Jezici niske razine imaju vrlo manje sintakse, za razliku od jezika visoke razine koji imaju mnoštvo kodova.

Jezici na niskoj razini koji omogućuju potpuni pristup hardveru zapravo bi bili loš izbor za pisanje projekata.

Kada koristiti Low-level?

Strojni kod izgleda ovako, ali radi vrlo brzo jer je vrlo blizu hardveru.

8B542408 83FA0077 06B80000 0000C383

FA027706 B8010000 00C353BB 01000000

B9010000 008D0419 83FA0376 078BD98B

C84AEBF1 5BC3

Ovdje je funkcija napisana za 32-bitnu arhitekturu, tj. X86 mašinski kod za izračunavanje Fibonaccijevog broja.

Pisanje strojne šifre neosporno je prilično iritantno jer zahtijeva neprestano provjeravanje brojčanih kodova za svaku drugu uputu koja se izvodi. Tko za vraga ima vremena za to? To je razlog zbog kojeg se rodilo Programiranje na niskoj razini.

Ali ako pitate o programiranju niske razine programerima visoke razine, odgovor koji biste dobili je sljedeći:

Izvor slike: pixabay.com

Zaključak

Jezici na niskoj razini imaju dodatnu prednost u gubitku nadzora nad CPU-om, ali njihovi su kodovi vrlo teško razumjeti i ukloniti pogrešku od strane ostalih programera. Svaka druga arhitektonska obitelj ima svoj skup jezika sklapanja, što znači da je kod napisan za jedan nemoguće pokrenuti na drugom. Što ukratko znači, kod nije prenosiv.

Prednosti jezika visoke razine je u tome što su s druge strane jezici visoke razine izuzetno prenosivi i najčešće se koriste za pisanje softvera koji se mogu izvoditi na više platformi i arhitektura. Nijedan od njih ne može zamijeniti jedni druge jer su dvije strane iste kovanice.

Preporučeni članci

Evo nekoliko članaka koji će vam pomoći da dobijete više detalja o jezicima na visokoj razini u odnosu na jezike niske razine, tako da samo prođite vezu.

  1. Najvažniji savjeti Haskell programski jezik
  2. HTML5 i Flash - pronađite razlike
  3. Obrada teksta u odnosu na obradu prirodnog jezika - top 5 usporedbi
  4. 12 najboljih koraka za instaliranje R programskog jezika (brzi vodič)
  5. 8 najboljih jezika za programiranje mobilnih aplikacija koje biste trebali znati
  6. Važne stvari koje treba znati o Haskell Programming Language