Zdroj obrázku: pixabay.com
Tento blog jsem napsal s ohledem na lidi, kteří si ho přečtou, jsou absolutní začátečníci. Lidé, kteří mají takové zázemí, myslím, že ne přesně technologické zázemí, by ve skutečnosti bylo pro začátek programování obtížné, když není nikdo, kdo by je vedl. Proto jsem tento blog napsal jako zdvořilost pro ně. Takže, co se týká jazyků, co je přesně jazyk na vysoké úrovni a jazyk na nízké úrovni? Proč se tomu říká? A do jaké míry se od sebe liší?
Netřeba dodávat, že jsem je všechny zahrnoval v tomto blogu.
Vysoká úroveň vs Nízká úroveň jazyků Infografika
Co jsou jazyky na vysoké úrovni?
Musíte být věc Co je to jazyk na vysoké úrovni? ale řekněte mi, že jsou snáze pochopitelné a uživatelsky přívětivé. S pomocí těchto jazyků lze psát aplikace, které jsou přenosné napříč různými platformami (jako je Linux nebo Windows) a jsou nezávislé na jakékoli architektuře (jako je non-intel ARM nebo nechvalně známý Intel). Jazyk na vysoké úrovni Příklad: napsat program v pythonu, který ve výchozím nastavení funguje v jakémkoli systému Linux, poté jej jednoduše zkompilovat do libovolného exe pomocí py2exe a poté jej spustit na Windows.
Podobné příklady jsou Python, C, Fortran nebo Pascal. Tyto jazyky jsou považovány za jazyk na vysoké úrovni, protože jsou blíže lidským jazykům a mnohem dále od strojních jazyků. Když říkám lidský jazyk, nemyslím tím, co mluvíme v našem každodenním životě. Znamená to, že kód je něco, čemu můžeme rozumět, protože známe základy programování. Napsaný kód je téměř čitelný lidmi, něco, co lze číst a vyslovovat.
Následuje několik příkladů strojového jazyka pro tisk jednoduchého programu na obrazovce ve Fortranu a C.
In Fortran:
program NewProgramF90
write(*, *) "This is a printed program"
end program NewProgramF90
Nyní můžete kompilovat pomocí:
gfortran newprogram.f90 -o newprogram -f90-gcc
A pak to prostě spusťte.
Podobné programy v C:
#include
main()
(
printf("This is a printed program");
)
Pro čistě začátečníky je to nejjednodušší, jaké může získat.
Ale protože mluvíme o počítačích, je to pro počítač těžké pochopit. Aby to bylo pro počítače smysluplné a aby se spustil program vytvořený pomocí jazyka vysoké úrovně, musí být kompilován do strojového jazyka.
Zdroj obrázku: github.com
A tady mezi nimi přichází nízkoúrovňový jazyk. Na rozdíl od dříve, kde existovalo jen několik jazyků na vysoké úrovni, dnes existuje n počet jazyků na vysoké úrovni, jako jsou C, Cobol, FORTRAN, Pascal, Java, Perl, Python, PHP, Ruby, C ++, BASIC a Visual Basic .
Co jsou jazyky nízké úrovně?
Jazyky nízké úrovně jsou jazyky, které jsou velmi blízké jazyku stroje. Oni jsou také známí jako Assembly jazyky. Nejbližší jazyky po jazyce Assembly to Machine jsou C a C ++. Někteří lidé dokonce nazývají C a C ++ jako jazyky nízké úrovně. Strojový kód je známý jako nízká úroveň, protože na rozdíl od programovacích jazyků na vysoké úrovni nepotřebuje nic jiného, než kompilátory nebo něco. Běží přímo na procesoru a jsou velmi specifické pro architekturu.
Jazyky nízké úrovně jsou vhodnější pro vývoj nových operačních systémů nebo pro psaní firmwarových kódů pro mikrokontroléry. Mohou dělat cokoli s trochou tvrdé práce (ve skutečnosti hodně tvrdé práce, aby byla konkrétní), ale zřejmě nebudete chtít psát nějaké hlavní aplikace v něm. Podobný je případ C (vlastně nazývaný jako Cee). C je vlastně velmi rozsáhlý jazyk, který začíná. To vám umožní přímou registraci a okamžitý přístup k různým paměťovým místům.
Zároveň však má mnoho konstrukcí, které umožňují hardwaru načíst abstrakci. Upřímně řečeno, C a C ++ dvojím způsobem reprezentují různé jazyky, protože většina jazyků z nich vzala své knihovny. V praxi jsou jak C, tak C ++ nízká úroveň, jak jsem vám již řekl, protože psaní aplikací na podnikové úrovni je docela obtížné. Teoreticky jsou však oba jazyky jazyky vysoké úrovně.
Doporučené kurzy
- Profesionální kurz IT bezpečnosti
- Svazek školení Ruby on Rails
- Profesionální kurz CSS
- Online kurz HTML5 a CSS3
Charakteristika jazyků na vysoké a nízké úrovni:
Nyní jde o to, že jsem byl jednou za čas dotázán na různých pohovorech a na jiných místech, která se mi líbí programování na nejnižší nebo vysoké úrovni. Zdá se mi, že neexistuje nic takového jako nejlepší. Odpověď zní, že oba mají svou vlastní specialitu a vy nemůžete jednoho nahradit za druhého. Ve skutečnosti se mi tedy oba líbí.
Programování na nízké úrovni je náročné a vyžaduje velké množství zkušeností a znalostí. Funkce jazyků na vysoké úrovni je místo, kde se odehrávají všechny kreativní věci, tj. Aplikace, které lidé používají ve svém každodenním životě, a lze je ladit mnohem snadnějším způsobem než na nízké úrovni. A zde se můžete dostat do práce s extrémně novými technologiemi, protože mnoho z těchto jazyků je neustále podporováno komunitní podporou.
Pokud to položíte na jakékoli jazykové kodéry na vysoké úrovni ohledně toho, co se jim líbí, odpověď, kterou dostanete, by nebyla zdaleka to, co požadujete. Neřeknou vám, co je lepší.
Pravděpodobně řeknou, že jsou nadšeni konkrétním jazykem na vysoké úrovni a ne všichni. Nevím, že se to stane. Nejznámějšími příklady jsou Python a Ruby, a pokud jim ukážete některé programy napsané v sestavě, pravděpodobně půjde hasta-la-vista.
Zdroj obrázku: mathworks.com
Ve skutečnosti je mnoho vynikajících jazyků na vysoké úrovni v tom, že spadají do hybridní kategorie. Například python je extrémně objektově orientovaný, ale současně také podporuje uzávěry a prvotřídní funkce. Ačkoli to není tak silné jako Scala, ale má schopnost reprezentovat více či méně věcí jako čistě jazyk.
Jazyky na vysoké úrovni jsou ve srovnání s jazyky na nízké úrovni obvykle pomalé. Důvodem je, že jazyky vysoké úrovně mají hodně abstrakcí a vrstev kódu před tím, než se dostanou k samotnému hardwaru, zatímco protože strojový kód je blíž, je ve skutečnosti rychle zpracovatelný a vrací výstup. Jeden kus kódu v Pythonu je pravděpodobně přeložen do tisíců řádků strojních slov.
Jazyky na vysoké úrovni jsou samozřejmě na stejné úrovni, kde není nutný hrubý výkon, protože nemůžete vyvíjet tak stabilní a velké aplikace na nízké úrovni, jako na vysoké úrovni. To je jedna věc, kterou stojí za zapamatování.
Programování v C - Zmatek nízké úrovně / vysoké úrovně
Ačkoli C má mnoho charakteristik podobných Pascal Language, někdy je stále považován za jazyk nízké úrovně, protože podporuje operace bitů, ukazatelů a přímý přístup k paměti. C je ve skutečnosti jazyk na vysoké úrovni s prvky nízké úrovně včetně. To je hlavní důvod, proč programátoři kvůli svým nepřekonatelným vlastnostem závisejí na C na čemkoli.
Může se zdát divné, že C je považováno za jazyk nízké úrovně, je však extrémně přenosný. Fanaticky řečeno, C je ve skutečnosti rozšířen tak, aby používal hardware na svých extrémních limitech, jak je to možné.
Shromáždění jazyk, na druhé straně je stěží přenosný. Snaha o dosažení přenositelnosti je však velká v případě nízké úrovně, zejména v případě Java, která běží na JVM, tj. Virtuálním stroji. C nebo Assembly běžící ve VM nikdy nebudou mít čistý přístup k hardwaru.
Abychom byli přesnější, jazyk se stává nízkou úrovní, pokud je specificky strukturován tak, aby běžel přímo na hardwaru. Jazyky nízké úrovně mají velmi menší syntaxi, na rozdíl od jazyků vysoké úrovně, které mají spoustu kódů.
Jazyky nízké úrovně, které umožňují plný přístup k hardwaru, by ve skutečnosti byly špatnou volbou pro psaní projektů.
Kdy použít nízkou úroveň?
Strojový kód vypadá takto, což běží velmi rychle, protože je velmi blízko hardwaru.
8B542408 83FA0077 06B80000 0000C383
FA027706 B8010000 00C353BB 01000000
B9010000 008D0419 83FA0376 078BD98B
C84AEBF1 5BC3
Nahoře je zapsána funkce pro 32bitovou architekturu, tj. Strojový kód x86 pro výpočet Fibonacciho čísla.
Psaní strojového kódu je nesporně docela dráždivé, protože vyžaduje kontrolu číselných kódů každou chvíli a poté pro každou další spuštěnou instrukci. Kdo sakra má na to čas? A to je důvod, proč se zrodilo programování na nízké úrovni.
Ale pokud se zeptáte na nízkoúrovňové programování pro programátory na vysoké úrovni, dostanete odpověď:
Zdroj obrázku: pixabay.com
Závěr
Jazyky nízké úrovně mají další výhodu spočívající v tom, že ztratí kontrolu nad procesorem, ale jejich kódy jsou velmi obtížně srozumitelné a laditelné ostatními programátory. Každá jiná rodina architektur má svůj vlastní jazyk sestavovacího jazyka, což znamená, že kód napsaný pro jeden nelze spustit na druhém. Což zkrátka znamená, že kód není přenosný.
Výhodou jazyka na vysoké úrovni je to, že jazyky na vysoké úrovni jsou na druhé straně extrémně přenosné a většinou se používají k psaní softwaru, který může běžet na více platformách a architekturách. Ani jeden z nich se nemůže nahradit, protože jsou dvě strany téže mince.
Doporučené články
Zde je několik článků, které vám pomohou získat více podrobností o jazycích na vysoké úrovni vs jazyky na nízké úrovni, takže stačí projít odkaz.
- Nejdůležitější tipy Programovací jazyk Haskell
- HTML5 a Flash - najděte rozdíly
- Těžba textu vs zpracování přirozeného jazyka - 5 nejlepších srovnání
- 12 nejlepších kroků k instalaci programovacího jazyka R (Stručný průvodce)
- 8 Nejlepší programovací jazyk pro mobilní aplikace, který byste měli znát
- Důležité informace o programovacím jazyce Haskell