Од 1950-их, рачунарски научници осмислили су хиљаде програмских језика. Многи су нејасни, можда створени за доктора наука. теза и од тада се није чуло. Други су неко време постали популарни, а затим избледели због недостатка подршке или зато што су били ограничени на одређени рачунарски систем. Неке су варијанте постојећих језика, додајући нове карактеристике попут паралелизма - могућност паралелног покретања многих делова програма на различитим рачунарима.
Прочитајте више о Шта је програмски језик?
Упоређивање језика програмирања
Постоји неколико начина за поређење рачунарских језика, али ради једноставности, упоредићемо их методом компилације и нивоом апстракције.
Склапање са шифром машине
Неки језици захтевају да се програми директно трансформишу у Мацхине Цоде - упутства која ЦПУ разуме директно. Овај процес трансформације се назива компилација. Језик састављања, Ц, Ц ++ и Пасцал су компилирани језици.
Тумачени језици
Други су језици Тумачено као што су Басиц, Ацтионсцрипт и Јавасцрипт, или комбинација оба састављена на средњем језику - то укључује Јава и Ц #.
Тумачени језик се обрађује током извођења. Свака линија се чита, анализира и извршава. Потребно је да сваки пут у петљи поново обрађујете линију оно што интерпретиране језике чини тако спорим. Овај режијски рачун значи да интерпретирани код ради између 5 и 10 пута спорије од компајлираног кода. Тумачени језици као што су Басиц или ЈаваСцрипт су најспорији. Њихова предност је што не морају да се прекомпонују након промена, а то је прикладно када учите да програмирате.
Зато што је састављен програми готово увек трче брже него што се тумаче, језици попут Ц и Ц ++ најчешће су најпопуларнији за писање игара. Јава и Ц # састављају се на интерпретираном језику који је врло ефикасан. Пошто је виртуелни строј који тумачи Јава и .НЕТ оквир који изводи Ц # увелико оптимизовани, тврди се да су апликације на тим језицима брже, али не и брже од компајлираног Ц ++.
Ниво апстракције
Други начин упоређивања језика је ниво апстракције. Ово указује колико је одређени језик близак хардверу. Машински код је најнижи ниво, а језик монтаже је тик изнад њега. Ц ++ је виши од Ц јер Ц ++ нуди већу апстракцију. Јава и Ц # су виши од Ц ++, јер се преводе на средњи језик који се зове бајт код.
Како се језици упоређују
Брзи састављени језици
- Језик скупштине
- Ц
- Ц ++
- Пасцал
- Ц #
- Јава
Разумно брзо тумачи
- Перл
- ПХП
Слов Интерпретед
- ЈаваСцрипт
- АцтионСцрипт
- Основни
Машински код су упутства која извршава ЦПУ. То је једино што ЦПУ може да разуме и изврши. Тумачени језици требају апликацију која се зове ан Преводилац који чита сваки ред изворног кода програма и затим га „покреће“.
Тумачење је лакше
Врло је лако зауставити, променити и поново покренути апликације написане на интерпретираном језику и зато су популарне за учење програмирања. Није потребна фаза компилације. Компилација може бити прилично спор процес. Великој Висуал Ц ++ апликацији може бити потребно од минута до сата да се компилирају, овисно о томе колико кода мора бити обновљено и брзини меморије и ЦПУ-а.
Када су се рачунари први пут појавили
Када су рачунари први пут постали популарни 1950-их, програми су писани у машинском коду јер није било другог начина. Програмери су морали физички да укључе прекидаче да би унели вредности. Ово је тако мучан и спор начин креирања апликације да су морали да се створе рачунарски језици вишег нивоа.
Ассемблер: Брзо трчање - споро писање!
Језик монтаже је читљива верзија Машинског кода и изгледа овако
Мов А, 45 УСД
Будући да је везан за одређени ЦПУ или породицу повезаних ЦПУ-а, језик монтаже није превише преносив и захтева много времена за учење и писање. Језици попут Ц смањили су потребу за програмирањем језика скупштине осим ако је РАМ ограничен или је потребан временски критичан код. То је обично у коду кернел-а у срцу оперативног система или у управљачком програму за видео картице.
Језик монтаже је најнижи ниво кода
Језик монтаже је веома низак ниво; већина кода само помера вредности између регистра ЦПУ-а и меморије. Ако пишете пакет за плату, желите да размишљате о платама и пореским олакшицама, а не да региструјете локацију А на меморију КСИЗ. Због тога су језици вишег нивоа попут Ц ++, Ц # или Јава су продуктивнији. Програмер може размишљати у погледу проблематичне домене (плате, одбитци и обрачуна), а не хардверске домене (регистри, меморија и упутства).
Програмирање система са Ц
Ц је осмислио почетком 1970-их Деннис Ритцхие. То се може сматрати алатом опште намене - врло користан и моћан, али врло једноставан пропуст кроз грешке који може учинити системе несигурним. Ц је језик ниског нивоа и описан је као преносни скупштински језик. Синтакса многих скриптних језика заснива се на Ц, на пример, ЈаваСцрипт, ПХП и АцтионСцрипт.
Перл: Веб странице и услужни програми
Врло популаран у свету Линука, Перл је био један од првих веб језика и данас је веома популаран. Ради брзог и прљавог програмирања на вебу остаје без премца и покреће многе веб странице. То је, међутим, помало помрачено ПХП као језик веб скрипта.
Кодирање веб локација помоћу ПХП-а
ПХП дизајниран је као језик за веб сервере и веома је популаран у комбинацији са Линуком, Апацхеом, МиСкл-ом, а укратко и ПХП-ом или ЛАМП-ом. Тумачи се, али је унапред састављен тако да се код извршава брзо. Може се изводити на десктоп рачунарима, али се не користи тако широко за развој десктоп апликација. На основу Ц синтаксе, такође укључује Објекти и часови.
Пасцал је замишљен као наставни језик неколико година пре Ц, али био је веома ограничен са лошим руковањем стринговима и датотекама. Неколико произвођача је продужило језик, али свеукупни лидер није био све док се нису појавили Борландов Турбо Пасцал (за Дос) и Делпхи (за Виндовс). То су биле снажне имплементације које су додале довољно функционалности да би биле погодне за комерцијални развој. Међутим, Борланд је био против много већег Мицрософта и изгубио битку.
Ц ++: Одличан језик!
Ц ++ или Ц плус класе као што је првобитно познато настали су десетак година након Ц и успешно су увели објектно оријентисано програмирање на Ц, као и функције попут изузетака и образаца. Учење свих Ц ++ је велики задатак - далеко је компликованији од програмских језика овде, али кад га савладате, нећете имати проблема са било којим другим језиком.
Ц #: Мицрософтова велика понуда
Ц # је створио Делпхиархитекта Андерс Хејлсберг након преласка на Мицрософт и Делпхи програмере осећаће се као код куће са функцијама као што су Виндовс обрасци.
Ц # синтакса је врло слична Јави, што и не чуди јер је Хејлсберг такође радио на Ј ++ након што је прешао у Мицрософт. Научите Ц # и добро сте на путу ка познавању Јаве. Оба језика су полу-компајлирана, тако да уместо компилације за машински код, они се компајлирају у бајт код (Ц # компајлира у ЦИЛ, али су и Битецоде слични), а затим се интерпретирају.
Јавасцрипт: Програми у вашем прегледачу
Јавасцрипт није ништа као Јава, уместо тога, његов скриптни језик заснован на Ц синтакси, али са додатком Објекти и користи се углавном у прегледачима. ЈаваСцрипт се тумачи и много спорије од састављено кода, али добро функционише у прегледачу.
Нетсцапе је измислио да се показао врло успешним и након неколико година проведених у искушењу ужива у новом закупу живота због АЈАКС; Асинхрони Јавасцрипт и КСМЛ. Ово омогућава да се делови веб страница ажурирају са сервера без поновног цртања целе странице.
АцтионСцрипт: Фласхи Лангуаге!
АцтионСцрипт је имплементација ЈаваСцрипта, али постоји искључиво у Мацромедиа Фласх апликацијама. Користећи векторску графику, користи се углавном за игре, репродукцију видео записа и друге визуелне ефекте и за развој софистицираних корисничких интерфејса, а све раде у прегледачу.
Основно за почетнике
Основни је скраћеница за почетни свеобухватни симболички упутски кодекс и креирана је да подучава програмирање у 1960-има. Мицрософт је направио језик свој са много различитих верзија, укључујући ВБСцрипт за веб локације и веома успешну Вижуал бејзик. Најновија верзија тога је ВБ.НЕТ и ради на истој платформи .НЕТ као Ц # и производи исти ЦИЛ бајт код.
Луа је бесплатни скриптни језик написан на Ц који укључује одвоз смећа и кораке. Добро се повезује са Ц / Ц ++ и користи се у индустрији игара (и не-играма) за скрипту логике игара, покретаче догађаја и контролу игре.
Закључак
Иако свако има свој омиљени језик и уложио је време и ресурсе у учење како га програмирати, постоје неки проблеми који су најбоље решити правим језиком.
Е.Г не бисте користили Ц за писање веб апликација и не бисте написали оперативни систем у Јавасцрипт-у. Али који год језик да одаберете, ако је то Ц, Ц ++ или Ц #, барем знате да сте на правом месту да то научите.