Zdroj obrázka: pixabay.com
Tento blog som napísal s ohľadom na ľudí, ktorí si ho prečítajú, sú úplní začiatočníci. Ľudia, ktorí majú také zázemie, myslím, že nie presne technologické zázemie, by bolo pre nich ťažké začať sa učiť programovať, keď nie je nikto, kto by ich vedel. Preto som tento blog napísal ako zdvorilostnú láskavosť. Takže, čo hovoríme o jazykoch, čo je presne jazyk na vysokej a nízkej úrovni? Prečo sa im to dokonca hovorí? A koľko sa navzájom líšia?
Netreba dodávať, že som ich všetky uviedol v tomto blogu.
Vysoká úroveň verzus jazyky nízkej úrovne Infografika
Čo sú to jazyky na vysokej úrovni?
Musíte byť vecou Čo je to jazyk na vysokej úrovni? ale povedzte mi, že sú ľahšie pochopiteľné a užívateľsky prívetivé. S pomocou týchto jazykov je možné písať aplikácie, ktoré sú prenosné na rôznych platformách (napríklad Linux alebo Windows) a sú nezávislé od akejkoľvek architektúry (ako je napríklad inteligencia ARM alebo neslávny Intel). Jazyk na vysokej úrovni Príklad: napísanie programu v pythone, ktorý štandardne funguje v akomkoľvek systéme Linux, potom ho jednoducho skompilujete do exe pomocou py2exe a potom ho spustíte na Windows.
Podobné príklady sú Python, C, Fortran alebo Pascal. Takéto jazyky sa považujú za jazyky na vysokej úrovni, pretože sú bližšie k ľudským jazykom a oveľa ďalej od strojových jazykov. Keď hovorím ľudským jazykom, nemyslím tým, čo hovoríme v našom každodennom živote. Znamená to, že kód je niečo, čomu rozumieme, keď poznáme niektoré základy programovania. Napísaný kód je takmer čitateľný pre človeka, niečo, čo je možné prečítať a vysloviť.
Nasleduje niekoľko príkladov strojového jazyka na vytlačenie jednoduchého programu na obrazovke vo formátoch Fortran a C.
In Fortran:
program NewProgramF90
write(*, *) "This is a printed program"
end program NewProgramF90
Teraz môžete kompilovať pomocou:
gfortran newprogram.f90 -o newprogram -f90-gcc
A potom to jednoducho spustite.
Podobné programy v C:
#include
main()
(
printf("This is a printed program");
)
Pre čistých začiatočníkov je to najjednoduchšie, ako sa dá.
Keďže však hovoríme o počítačoch, pre počítač je to ťažké pochopiť. Aby to bolo pre počítače rozumné a aby sa spustil program vytvorený pomocou jazyka vysokej úrovne, musí sa kompilovať do strojového jazyka.
Zdroj obrázka: github.com
A tu medzi tým prichádza jazyk nízkej úrovne. Na rozdiel od predtým, kde existovalo len niekoľko jazykov vysokej úrovne, dnes existuje n počet jazykov vysokej úrovne, ako sú C, Cobol, FORTRAN, Pascal, Java, Perl, Python, PHP, Ruby, C ++, BASIC a Visual Basic.,
Čo sú jazyky nízkej úrovne?
Jazyky nízkej úrovne sú jazyky, ktoré sú veľmi blízko strojovému jazyku. Sú známe aj ako jazyky zhromaždenia. Najbližšie jazyky po jazyku Assembly to Machine sú C a C ++. Niektorí ľudia dokonca nazývajú C a C ++ ako jazyky nízkej úrovne. Strojový kód je známy ako nízka úroveň, pretože na rozdiel od programovacích jazykov vysokej úrovne nepotrebuje nič iné ako kompilátory alebo niečo podobné. Beží priamo na procesore a sú mimoriadne špecifické pre architektúru.
Jazyky nízkej úrovne sú vhodnejšie na vývoj nových operačných systémov alebo na písanie kódov firmvéru pre mikrokontroléry. Môžu robiť čokoľvek s trochou tvrdej práce (vlastne veľa tvrdej práce, aby boli konkrétni), ale zrejme nebudete chcieť do nej napísať nejakú významnú aplikáciu. Podobný je prípad C (v skutočnosti nazývaný Cee). C je vlastne veľmi rozsiahly jazyk, ktorý treba začať. Umožňuje vám priamo sa zaregistrovať a okamžite získať prístup k rôznym miestam v pamäti.
Zároveň však má veľa konštruktov, ktoré umožňujú hardvéru načítať abstrakciu. Úprimne povedané, C a C ++ duálne predstavujú rôzne jazyky, pretože väčšina jazykov z nich prevzala knižnice. V praxi sú C a C ++ nízka úroveň, ako som už povedal, pretože písanie aplikácií na podnikovej úrovni je dosť ťažké. Teoreticky sú však oba jazykmi vysokej úrovne.
Odporúčané kurzy
- Profesionálny kurz IT bezpečnosti
- Tréningový balík Ruby on Rails
- Profesionálny kurz CSS
- Online kurz HTML5 a CSS3
Charakteristika jazykov na vysokej a nízkej úrovni:
Teraz ide o to, že sa ma raz za čas pýtali na rôznych rozhovoroch a na iných miestach, ktoré sa mi páčia programovanie na najvyššej alebo vysokej úrovni. Zdá sa mi, že neexistuje nič také ako najlepšie. Odpoveď je, že obaja majú svoju špecialitu a vy nemôžete nahradiť jedného za druhého. Takže sa mi obidve skutočne páčia.
Programovanie na nízkej úrovni je náročné a vyžaduje si veľa skúseností a znalostí. Funkcie jazykov na vysokej úrovni sú miesta, kde sa odohrávajú všetky tvorivé veci, tj aplikácie, ktoré ľudia používajú v každodennom živote, a je ich možné ladiť oveľa ľahšie ako v prípade nízkej úrovne. A tu sa môžete pustiť do práce s extrémne novými technológiami, pretože mnoho z týchto jazykov sa vďaka podpore komunity neustále inovuje.
Ak by ste túto otázku položili niektorým kódovacím jazykom na vysokej úrovni, čo sa im páči, odpoveď, ktorú dostanete, by bola ďaleko od toho, čo požadujete. Nepovedia vám, čo je lepšie.
Pravdepodobne povedia, že sú nadšení pre konkrétny jazyk na vysokej úrovni a nie všetky z nich. Neviem, že sa to stane. Najznámejšie príklady sú Python a Ruby. Ak im ukážete niektoré programy napísané v zostave, pravdepodobne pôjdu hasta-la-vista.
Zdroj obrázka: mathworks.com
O mnohých jazykoch na vysokej úrovni je skutočne vynikajúce to, že patria do hybridnej kategórie. Napríklad python je extrémne objektovo orientovaný, ale súčasne podporuje aj uzávery a prvotriedne funkcie. Aj keď to nie je také silné ako Scala, má schopnosť reprezentovať viac či menej vecí ako čisto jazyk.
Jazyky vysokej úrovne sú zvyčajne pomalé v porovnaní s jazykmi nízkej úrovne. Je to preto, že jazyky vysokej úrovne majú veľa abstrakcií a vrstiev kódu predtým, ako sa dostanú k samotnému hardvéru, zatiaľ čo keďže strojový kód je bližší, jeho spracovanie a vrátenie výstupu je skutočne rýchle. Jeden kus kódu v Pythone sa pravdepodobne preloží do tisícov riadkov strojových slov.
Jazyky na vysokej úrovni sú samozrejme na rovnakej úrovni, kde nie je potrebný surový výkon, pretože sa nemôžete vyvíjať ako stabilné a veľké aplikácie na nízkej úrovni ako na vysokej úrovni. To je jedna vec, ktorú treba pripomenúť.
Programovanie v C - Zmätok s nízkou alebo vysokou úrovňou
Aj keď má C veľa vlastností podobných Pascalovmu jazyku, niekedy sa stále považuje za jazyk nízkej úrovne, pretože podporuje operácie bitov, ukazovateľov a priamy prístup k pamäti. C je v skutočnosti jazyk na vysokej úrovni so zahrnutými vlastnosťami nízkej úrovne. To je hlavný dôvod, prečo programátori závisia od C od všetkého kvôli svojim bezkonkurenčným vlastnostiam.
Môže sa zdať čudné, že C, aj keď sa s ním zaobchádza ako s jazykom nízkej úrovne, je mimoriadne prenosný. Fanaticky povedané, C je v skutočnosti rozšírený na používanie hardvéru v jeho krajných medziach, ako je to možné.
Zostavovací jazyk je naopak ťažko prenosný. Snaha o dosiahnutie prenosnosti je však veľká v prípade nízkej úrovne, najmä v prípade Java, ktorá beží na JVM, tj virtuálnom stroji. C alebo zostava bežiaca vo VM nikdy nebudú mať čistý prístup k hardvéru.
Presnejšie povedané, jazyk sa stáva nízkou úrovňou, ak je špecificky štruktúrovaný tak, aby bežal priamo na hardvéri. Jazyky nízkej úrovne majú veľmi menšiu syntax, na rozdiel od jazykov vysokej úrovne, ktoré majú veľa kódov.
Jazyky nízkej úrovne, ktoré umožňujú plný prístup k hardvéru, by boli v skutočnosti zlá voľba pri písaní projektov.
Kedy použiť nízku úroveň?
Strojový kód vyzerá niečo také, čo beží veľmi rýchlo, pretože je veľmi blízko hardvéru.
8B542408 83FA0077 06B80000 0000C383
FA027706 B8010000 00C353BB 01000000
B9010000 008D0419 83FA0376 078BD98B
C84AEBF1 5BC3
Hore je napísaná funkcia pre 32-bitovú architektúru, tj strojový kód x86 na výpočet Fibonacciho čísla.
Písanie strojového kódu je nepochybne dosť dráždivé, pretože vyžaduje kontrolu číselných kódov každú chvíľu pre každú ďalšiu spustenú inštrukciu. Kto sakra má na to čas? A to je dôvod, prečo sa zrodilo programovanie na nízkej úrovni.
Ale ak sa pýtate programátorov na nízkej úrovni na programátorov na vysokej úrovni, odpoveď by ste dostali takto:
Zdroj obrázka: pixabay.com
záver
Jazyky nízkej úrovne majú ďalšiu výhodu v tom, že poskytujú stratenú kontrolu nad procesorom, ale ich kódy sú extrémne ťažké pochopiť a ladiť ostatnými programátormi. Každá iná rodina architektúry má svoj vlastný súbor jazyka zostavy, čo znamená, že kód napísaný pre jeden nie je možné spustiť na druhý. Čo v skratke znamená, že kód nie je prenosný.
Výhodou jazyka na vysokej úrovni je to, že jazyky na vysokej úrovni sú na druhej strane extrémne prenosné a väčšinou sa používajú na písanie softvéru, ktorý je možné spustiť na viacerých platformách a architektúrach. Ani jeden z nich sa nemôže navzájom nahradiť, pretože sú dve strany tej istej mince.
Odporúčané články
Tu je niekoľko článkov, ktoré vám pomôžu získať viac podrobností o jazykoch vysokej úrovne verzus jazyky nízkej úrovne, takže stačí prejsť na odkaz.
- Najdôležitejšie tipy Programovací jazyk Haskell
- HTML5 a Flash - nájdite rozdiely
- Ťažba textu vs spracovanie prirodzeného jazyka - 5 najlepších porovnaní
- 12 najlepších krokov na inštaláciu programovacieho jazyka R (Stručný sprievodca)
- 8 najlepších jazykov programovania mobilných aplikácií, ktoré by ste mali poznať
- Dôležité informácie o programovacom jazyku Haskell