Извор слике: пикабаи.цом
Написао сам овај блог с обзиром да су људи који ће ово читати апсолутни почетници. Људи који имају позадину, мислим, не баш технолошка позадина, заправо би било тешко почети учити програмирање кад нема никога ко би их водио. Стога сам овај блог написао као услугу према њима. Дакле, говорећи о језицима, шта су тачно језик високог нивоа и језик ниског нивоа? Зашто се то чак и зову? И колико се они међусобно разликују?
Непотребно је рећи да сам све њих описао на овом блогу.
Инфограпхицс високог нивоа вс језицима ниског нивоа
Шта су језици на високом нивоу?
Ви морате бити ствар Шта је језик на високом нивоу? али реци ми да их је лакше разумети и они су једноставни за употребу. Помоћу ових језика можете писати апликације које су преносиве на различитим платформама (као што су Линук или Виндовс) и независно је од било које архитектуре (као што су не-интел АРМ или злогласни Интел). Пример језика на високом нивоу, писање програма на питхон-у који подразумевано ради у било ком Линук систему, затим га само компилирање у било који еке помоћу пи2еке и затим покретање на Виндовс-у.
Слични примери су Питхон, Ц, Фортран или Пасцал. Такви се језици сматрају језиком високог нивоа јер су ближи људским језицима и много даље од машинских језика. Кад кажем људски језик, не мислим на оно што причамо у свом свакодневном животу. То значи да је код нешто што можемо да разумемо знајући неке основе у програмирању. Написани код људи људи готово могу прочитати, што се може прочитати и изговорити.
Следи неколико примера машинског језика за штампање једноставног програма на екрану у Фортрану и Ц.
У Фортрану:
program NewProgramF90
write(*, *) "This is a printed program"
end program NewProgramF90
Сада је можете саставити користећи:
gfortran newprogram.f90 -o newprogram -f90-gcc
А онда је једноставно покрените.
Сличан програм на Ц:
#include
main()
(
printf("This is a printed program");
)
За чисте почетнике ово је најлакше што могу добити.
Али, пошто говоримо о рачунарима, за рачунар је то тешко разумети. Да би се ово учинило разумним рачунарима и покренуо програм креиран језиком високог нивоа, он се мора саставити у машински језик.
Извор слике: гитхуб.цом
И ту долази између језика ниског нивоа. За разлику од раније, где је постојало само неколико језика високог нивоа, данас постоји н број језика високог нивоа као што су Ц, Цобол, ФОРТРАН, Пасцал, Јава, Перл, Питхон, ПХП, Руби, Ц ++, БАСИЦ и Висуал Басиц .
Шта су језици ниског нивоа?
Језици ниског нивоа су они језици који су изузетно блиски машинском језику. Такође су познати и као скупштински језици. Најближи језици након склапања за језик машине су Ц и Ц ++. Неки чак називају Ц и Ц ++ језицима ниског нивоа. Машински код је познат као ниски ниво јер за разлику од програмских језика високог нивоа, не треба му ништа друго попут преводилаца или нешто слично. Ради директно на процесору и они су изузетно специфични за архитектуру.
Језици ниског нивоа су погоднији за развој нових оперативних система или писање кодова фирмвера за микроконтролере. Они могу учинити било шта уз мало напорног рада (заправо пуно напорног рада да буде специфичан), али очигледно нећете желети да напишете неку велику апликацију у њему. Сличан је случај са Ц (У ствари се зове и Цее). Ц је заправо врло огроман језик за почетак. Омогућава вам да се директно региструјете и дајете тренутни приступ разним меморијским локацијама.
Али истовремено има пуно конструкција које омогућавају хардверу да учита апстракцију. Искрено говорећи, Ц и Ц ++ двојно представљају различите језике, јер је већина језика преузела своје библиотеке. У пракси су и Ц и Ц ++ на ниском нивоу, као што сам вам већ рекао, јер је писање апликација на нивоу предузећа прилично тешко. Али теоретски, обојица су заправо језици на високом нивоу.
Препоручени курсеви
- Професионални курс за ИТ безбедност
- Руби он Раилс Пакет тренинга
- Професионални курс за ЦСС
- Онлине курс ХТМЛ5 и ЦСС3
Карактеристике језика високог и ниског нивоа:
Ствар је у томе што су ме повремено питали у разним интервјуима и на другим местима која ми се свиђају програмима најбољег или ниског нивоа или високог нивоа. Чини ми се да не постоји нешто најбоље. Одговор је да обоје имају своју посебност и не можете заменити једну за другу. Стога ми се обоје заправо свиђају.
Програмирање на ниском нивоу је изазовно и захтева велико искуства и знања. Карактеристике језика високог нивоа су тамо где се одвијају све креативне ствари, тј. Апликације које људи користе у свакодневном животу и то се може исправити на много лакши начин него на ниском нивоу. И овде, можете да радите са изузетно новим технологијама, јер се многи од ових језика континуирано надограђују захваљујући подршци заједнице.
Ако ово доведете у питање код било којег језика на високом нивоу о томе шта им се свиђа, одговор који ћете добити је далеко од онога што тражите. Неће вам рећи шта је боље.
Вероватно ће рећи да су више страствени за одређени језик на високом нивоу, а не за све њих. Не знам да се то дешава. Најпознатији примери су Питхон и Руби, и ако им покажете неке програме написане у монтажи, вероватно ће проћи хаста-ла-виста.
Извор слике: матхворкс.цом
Оно што је у ствари сјајно код многих језика на високом нивоу је да они спадају у хибридне категорије. На пример, питхон је екстремно објектно оријентисан, али истовремено подржава и функције затварања и првокласне функције. Иако није тако моћан као Сцала, али има способност представљања мање или више ствари као што је језик чистог језика.
Језици на високом нивоу обично су спори у поређењу са језицима ниског нивоа. То је зато што језици на високом нивоу имају пуно апстракција и слојева кода пре него што дођу до самог хардвера, док је, пошто је машински код ближи, заправо брзо обрадити и вратити излаз. Један део кода у Питхону највероватније се преводи у хиљадама редова машинских речи.
Наравно, језици на високом нивоу су у рангу где су непотребне перформансе непотребне, јер не можете да развијете стабилне и велике апликације на ниском нивоу као на високом нивоу. То је једна ствар коју вреди запамтити.
Ц Програмирање - Конфузија ниског нивоа / високог нивоа
Иако Ц има пуно карактеристика сличних језику Пасцал, понекад се још увек сматра језиком ниског нивоа, због тога што подржава рад битова, показивача и директан приступ меморији. Ц је заправо језик високог нивоа са инклузивним карактеристикама ниског нивоа. То је главни разлог зашто програмери зависе од Ц од ичега због његових непоновљивих квалитета.
Можда се чини чудним да је Ц, иако третиран као језик ниског нивоа, изузетно преносив. Фанатично посматрано, Ц је заправо проширена за употребу хардвера у крајњим границама могуће.
С друге стране, језик монтаже је тешко преносив. Иако је покушај постизања преносивости велика ствар у случају ниског нивоа, посебно у случају Јаве, која ради на ЈВМ-у, односно виртуелној машини. Ц или склоп који ради у ВМ-у никада неће имати чисти приступ хардверу.
Да будемо прецизнији, језик постаје низак ниво ако је посебно структуриран да се покреће директно на хардверу. Језици ниског нивоа имају врло мање синтаксе, за разлику од језика високог нивоа који имају мноштво кодова.
Језици ниског нивоа који омогућавају потпуни приступ хардверу заправо би били лош избор за писање пројеката.
Када користити Лов-левел?
Машински код изгледа овако, али ради изузетно брзо, јер је врло близу хардверу.
8B542408 83FA0077 06B80000 0000C383
FA027706 B8010000 00C353BB 01000000
B9010000 008D0419 83FA0376 078BD98B
C84AEBF1 5BC3
Овдје је функција написана за 32-битну архитектуру, тј. Кс86 машински код за израчунавање Фибонаццијевог броја.
Писање машинског кода неоспорно је прилично иритантно јер захтева с времена на време проверу бројчаних кодова и за сваку другу упуту која се покреће. Ко за врага има времена за то? И то је разлог што се родило Програмирање на ниском нивоу.
Али ако питате о програмирању на ниском нивоу програмерима високог нивоа, одговор који бисте добили је следећи:
Извор слике: пикабаи.цом
Закључак
Језици на ниском нивоу имају додатну предност у томе што губе контролу над ЦПУ-ом, али су кодови изузетно тешки за разумевање и уклањање погрешака од стране осталих програмера. Свака друга породица архитектуре има свој језик монтаже, што значи да је код који је написан за једно немогуће покренути на другом. Што укратко значи, код није преносив.
Предности језика високог нивоа су у томе што су с друге стране језици високог нивоа изузетно преносиви и углавном се користе за писање софтвера који се може изводити на више платформи и архитектура. Ниједан од њих не може заменити једни друге јер су две стране исте кованице.
Препоручени чланци
Ево неколико чланака који ће вам помоћи да сазнате више детаља о језицима на високом нивоу у односу на језике ниског нивоа, зато само прођите кроз линк.
- Најважнији савети Хаскелл програмски језик
- ХТМЛ5 и Фласх - пронађите разлике
- Обрада текста вс обрада природног језика - топ 5 упоређивања
- 12 најбољих корака за инсталирање Р Программинг Лангуаге (Брзи водич)
- 8 Најбољи језик за програмирање мобилних апликација који бисте требали знати
- Важне ствари које треба знати о Хаскелл Программинг Лангуаге