Magas szintű nyelvek vs alacsony szintű nyelvek (Infographics) - eduCBA

Tartalomjegyzék:

Anonim

Képforrás: pixabay.com

Azért írtam ezt a blogot, figyelembe véve, hogy az emberek abszolút kezdők. Olyan embereknek, akiknek háttere van, úgy értem, hogy nem pontosan a technológiai háttér miatt nehéz lenne elkezdeni a programozás elsajátítását, ha nincs senki, aki irányítaná őket. Így ezt a blogot udvariasságként írtam nekik. Tehát a nyelvekről beszélve mi pontosan a magas szintű és az alacsony szintű nyelv? Miért hívják őket? És mennyit különböznek egymástól?

Mondanom sem kell, hogy mindet felsoroltam ebben a blogban.

Magas szintű vagy alacsony szintű nyelvek infographics

Mi az a magas szintű nyelv?

Önnek kell lennie, mi a magas szintű nyelv? de mondd meg neked, hogy könnyebben érthetők és felhasználóbarátak. Ezeknek a nyelveknek a segítségével olyan programokat lehet írni, amelyek különböző platformon (például Linuxon vagy Windowson) hordozhatók, és függetlenek bármilyen architektúrától (például a nem intel ARM vagy a hírhedt Intel). Magas szintű nyelv Példa: a Python programjának írása, amely alapértelmezés szerint bármelyik Linux rendszerben működik, majd a py2exe használatával bármilyen exe fájlba fordítja, majd Windowson futtatja.

Hasonló példák a Python, C, Fortran vagy Pascal. Az ilyen nyelveket magas szintű nyelvnek kell tekinteni, mert közelebb állnak az emberi nyelvekhez és sokkal távolabb a gépi nyelvektől. Amikor emberi nyelvet mondok, nem értem, mit beszélünk a mindennapi életünkben. Ez azt jelenti, hogy a kód valamit megérthetünk, ha megismerjük a programozás néhány alapját. Az írott kódot az emberek szinte olvashatják, olyasmi, ami olvasható és kiejthető.

Az alábbiakban bemutatunk néhány példát a gépi nyelvre, hogy kinyomtasson egy egyszerű programot a képernyőn Fortranban és C-ben.

Fortranban:

program NewProgramF90

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

end program NewProgramF90

Most összeállíthatja a következő felhasználással:

gfortran newprogram.f90 -o newprogram -f90-gcc

És akkor csak futtassa le.

Hasonló program C-ben:

#include

main()

(

printf("This is a printed program");

)

A tiszta kezdők számára ez a legkönnyebb.

De mivel számítógépekről beszélünk, egy számítógép számára ezt nehéz megérteni. Tehát annak érdekében, hogy ez a számítógépek számára ésszerű legyen, és egy magas szintû nyelven létrehozott programot futtassunk, azt gépi nyelvre kell fordítani.

Képforrás: github.com

És itt jön be az alacsony szintű nyelv. Korábban ellentétben, ahol csak néhány magas szintű nyelv létezett, manapság n van olyan magas szintű nyelv, mint például C, Cobol, FORTRAN, Pascal, Java, Perl, Python, PHP, Ruby, C ++, BASIC és Visual Basic .

Mik az alacsony szintű nyelvek?

Alacsony szintű nyelvek azok a nyelvek, amelyek rendkívül közel állnak a gépi nyelvhez. Közgyűlés nyelveiként is ismertek. Az összeszerelés után a géphez legközelebbi nyelvek a C és a C ++. Néhányan C és C ++ nyelveket is alacsony szintű nyelveknek hívnak. A gépi kód alacsony szintű néven ismert, mert a magas szintű programozási nyelvekkel ellentétben nincs szüksége másra, mint fordítók vagy valami. Közvetlenül a processzoron fut, és rendkívül építészet-specifikusak.

Az alacsony szintű nyelvek alkalmasabbak új operációs rendszerek fejlesztésére vagy firmware kódok írására a mikrovezérlők számára. Egy kicsit kemény munkával bármit meg tudnak csinálni (valójában sok kemény munka, hogy konkrét legyen), de nyilvánvalóan nem akarja írni valami nagyobb alkalmazást benne. Hasonló a helyzet C-vel (valójában Cee néven). A C valójában egy nagyon hatalmas nyelv, amivel el kell kezdeni. Ez lehetővé teszi a közvetlen regisztrálást és azonnali hozzáférést biztosít a memória különböző helyeihez.

De ugyanakkor rengeteg konstrukcióval is rendelkezik, amelyek lehetővé teszik a hardver számára az absztrakció betöltését. Őszintén szólva, a C és a C ++ kettős nyelvet képviselnek, mivel a legtöbb nyelv tőlük veszi a könyvtárakat. A gyakorlatban mind a C, mind a C ++ alacsony szintű, amint azt már korábban mondtam, mert a vállalkozási szintű pályázatok megírása meglehetősen nehéz. De elméletileg mindkettő valóban magas szintű nyelv.

Ajánlott tanfolyamok

  • Professzionális informatikai biztonsági tanfolyam
  • Ruby on Rails edzőcsomag
  • Professzionális CSS tanfolyam
  • Online HTML5 és CSS3 tanfolyam

A magas és alacsony szintű nyelvek jellemzői:

A helyzet az, hogy időnként különféle interjúkon és más helyeken kérdeznek tőlem, hogy szeretem a legjobban - alacsony vagy magas szintű programozást. Számomra úgy tűnik, hogy nincs a legjobb. A válasz az, hogy mindkettőnek megvan a saját specialitása, és nem helyettesítheted egymást. Tehát valóban mindkettőt szeretem.

Az alacsony szintű programozás kihívást jelent, és sok tapasztalatot és ismereteket igényel. A magas szintű nyelvek jellemzői az, ahol minden kreatív dolog zajlik, azaz olyan alkalmazások, amelyeket az emberek használnak mindennapi életükben, és sokkal könnyebben hibakereshetők, mint az alacsony szintű nyelveken. És itt rendkívül új technológiákkal dolgozhat, mivel ezeknek a nyelveknek a fejlesztését a közösségi támogatás miatt folyamatosan fejlesztik.

Ha bármilyen magas szintű nyelvi kódolónak megkérdezi, hogy mi tetszik, a kapott válasz messze nem felel meg a kértnek. Nem fogják mondani, melyik a jobb.

Valószínűleg azt fogják mondani, hogy szenvedélyesebbek egy adott magas szintű nyelv iránt, és nem mindegyiküket. Nem tudom, hogy ez történik. A legismertebb példák a Python és a Ruby, és ha megmutatnak nekik néhány programot, amelyek összeszerelésben készültek, akkor valószínűleg hasta-la-vista lesz.

Képforrás: mathworks.com

Ami sok magas szintű nyelvet illeti, az az, hogy hibrid kategóriába tartoznak. Például a python rendkívül objektum-orientált, ugyanakkor támogatja a bezárásokat és az első osztályú funkciókat is. Bár nem olyan erős, mint a Scala, de képes megmutatni többé-kevésbé a cuccot, mint a tisztán nyelvé.

A magas szintű nyelvek általában alacsonyak az alacsony szintű nyelvekhez képest. Ennek oka az, hogy a magas szintű nyelveken sok absztrakció és kódréteg található, még mielőtt elérnék magukat a hardvert, míg mivel a gépi kód közelebb van, valójában gyorsan feldolgozza és visszaadja a kimenetet. Az egyik kódkód a Python-ban valószínűleg a gépi szavak több ezer sorában fordul le.

A magas szintű nyelvek természetesen olyanok, ahol a nyers teljesítmény nem szükséges, mivel alacsony szintű, mint magas szintű alkalmazások nem fejleszthetők ki olyan stabil és nagy alkalmazásokként. Ez egy olyan dolog, amelyet érdemes emlékezni.

C programozás - Az alacsony / magas szintű zavar

Bár a C sok olyan tulajdonsággal rendelkezik, amely hasonló a Pascal Language nyelvéhez, néha még mindig alacsony szintű nyelvnek tekintik, mert támogatja a bitek, mutatók mûveleteit és a közvetlen hozzáférést a memóriához. A C valójában magas szintű nyelv, az alacsony szintű jellemzőivel. Ez a fő oka annak, hogy a programozók verhetetlen tulajdonságaik miatt a C-től függetlenek a C-től.

Furcsanak tűnhet, hogy bár a C-t alacsony szintű nyelvként kezelik, rendkívül hordozható. Fantasztikusan szólva, a C valójában kiterjed a hardver használatára a lehető legszélsőségesebb ponton.

Ugyanakkor az összeszerelési nyelv alig hordozható. Ugyanakkor a hordozhatóság elérésének megkísérelése nagyon alacsony az alacsony szint esetén, különösen a Java esetében, amely JVM-en, azaz virtuális gépen fut. A virtuális gépen futó C vagy az Assembly soha nem lesz tiszta hozzáférés a hardverhez.

Pontosabban fogalmazva, egy nyelv alacsony szintűvé válik, ha kifejezetten annak felépítésére irányul, hogy közvetlenül a hardveren működjön. Az alacsony szintű nyelveknek nagyon kevés a szintaxisa, ellentétben a magas szintű nyelvekkel, amelyek rengeteg kódot tartalmaznak.

Az alacsony szintű nyelvek, amelyek lehetővé teszik a hardver teljes hozzáférését, valójában gyenge választás projektek írására.

Mikor kell használni az alacsony szintet?

A gépi kód hasonlóképpen néz ki, amely rendkívül gyorsan fut, mivel nagyon közel van a hardverhez.

8B542408 83FA0077 06B80000 0000C383

FA027706 B8010000 00C353BB 01000000

B9010000 008D0419 83FA0376 078BD98B

C84AEBF1 5BC3

Fent fent egy 32 bites architektúrára írt függvény, azaz x86 gépi kódhoz a Fibonacci szám kiszámításához.

A gépi kód írása vitathatatlanul nagyon bosszantó, mivel minden időben ellenőrizni kell a numerikus kódokat minden futtatott utasításnál. Ki a fenenek van ideje erre? Ez az oka az alacsony szintű programozás születésének.

De ha az alacsony szintű programozást kérdezi a magas szintű programozókról, akkor a következő választ kapja:

Képforrás: pixabay.com

Következtetés

Az alacsony szintű nyelveknek további előnye van, hogy elveszítik a vezérlést a CPU-n, ám kódjaikat rendkívül nehéz megérteni, és a programozókatársaik hibakeresést végeznek. Minden más építészcsaládnak megvan a saját szerelési nyelve, ami azt jelenti, hogy az egyiknek írt kódot a másikkal nem lehet futtatni. Röviden: a kód nem hordozható.

A magas szintű nyelv előnye, hogy a magas szintű nyelvek rendkívül hordozhatóak, és többnyire szoftvereket írnak, amelyek több platformon és architektúrán is futtathatók. Egyikük sem helyettesítheti egymást, mivel ketten ugyanazon érme két oldala.

Ajánlott cikkek

Íme néhány cikk, amely segít részletesebben megismerni a magas szintű és alacsony szintű nyelveket, tehát csak keresse meg a linket.

  1. A legfontosabb tippek a Haskell programozási nyelv
  2. HTML5 és Flash - keresse meg a különbségeket
  3. Szövegbányászat és természetes nyelvfeldolgozás - Öt összehasonlító elem
  4. 12 legjobb lépés az R programozási nyelv telepítéséhez (Gyors útmutató)
  5. 8 legjobb mobil alkalmazás-programozási nyelv, amelyet tudnia kell
  6. Fontos tudnivalók a Haskell programozási nyelvről