Системи програмирања: примери, описи, карактеристике

12. 3. 2019.

Системи за програмирање пружају платформу за развој апликативног софтвера и за директну интеракцију са компјутерском опремом како би добили потребне перформансе приликом извршавања корисничких задатака. Платформа се може користити за програмирање иПхоне, иПад апликација и Андроид оперативних система користећи Јава програмски језик. Андроид Студио и Орацле Јава СДК интерфејс, у комбинацији са неопходним основним знањима, омогућују вам да креирате широк спектар апликација.

Елементи софтверских система

За почетак, откривајмо концепт програмских система. Оне које сада користимо припадају трећој генерацији компјутера. Системско програмирање је креирање софтвера. Може обављати много различитих задатака. Без тога, већина хардвера не би извршавала своје функције. Да бисте их учинили корисним, користите софтвер. Корисник мора изабрати жељени програм за сваки задатак.

Елементи класичног програмског система:

  1. Оперативни систем је интерфејс између апликативног софтвера и рачунара.
  2. Услужни програми су мали али моћни програми са ограниченим могућностима за одређене задатке. Обично се користе од стране корисника како би осигурали несметан рад компјутерског система.
  3. Библиотечки програми су компајлирани скуп рутина, на пример, библиотеке. Обезбедите многе функције и процедуре које су доступне приликом писања програма.
  4. Софтвер за превођење: асемблер, компајлер, преводилац.
  5. Интерпретер анализира и извршава програмски језик високог нивоа једну по једну линију.
  6. Апликативни софтвер дизајниран да помогне кориснику у обављању одређених задатака, као што је ГИМП - за уређивање фотографија.

Пример модерног програмског система је сервис и основни софтвер.

Концепт програмског система

Структура програма

Општи облик програма посвећује посебну пажњу појединим компонентама и односу између њих. Програми су добри или слабо структурирани. Са добро структурираним програмом, подела компоненти прати принципе, као што је скривање информација, на пример, а интерфејси између компоненти су јасни и једноставни. На суптилнијем нивоу, она користи одговарајуће структуре података и софтверске јединице са једном тачком уласка и једном излазном тачком.

Са лоше структуираним програмом, подела на компоненте је углавном произвољна, а интерфејси су имплицитни и комплексни. Поред тога, такав програм има произвољне структуре података и ток контроле. Готово сви структурирани програми имају општи карактер акција:

  1. Захтев за почетак програма.
  2. Декларација варијабле
  3. Програмске изјаве (кодни блокови).

Поздрав Светским поздравним примјерима

Системи програмирања и Хелло Ворлд поздрав у различитим програмским језицима јасно показују основне разлике.

Поздрав светом

Да би користио променљиву унутар програма, компајлер мора унапред да зна тип података који ће бити смештени у њему. Из тог разлога, варијабле се декларишу на почетку програма.

Декларација променљиве се састоји од специфицирања новог имена и типа података за променљиву. То се обично ради на самом почетку.

Декларација варијабле

На следећој слици је приказан пример програмског система за структуру петље која активира скуп изјава све док услов није истинит.

Сет оператора

Бесконачна петља

Ово је онај који нема функционалну излазну процедуру. Као резултат, циклус се понавља непрекидно док га оперативни систем не осети и заустави програм са грешком или док се не догоди неки други догађај, на пример, програм се аутоматски зауставља након одређеног времена.

Системи програмирања и примјери Ц програма за програм сортирања низова у рјечнику приказани су у наставку. Овај програм узима 10 речи (редова) од корисника и сортира их у лексикографском редоследу. На пример, 10 програмских језика:

  1. Ц.
  2. Ц ++.
  3. Јава
  4. ПХП
  5. Питхон.
  6. Перл.
  7. Цобол.
  8. Руби
  9. Р.
  10. Јавасцрипт
Ц примјери програма

Резултат:

  1. Ц.
  2. Ц ++.
  3. Цобол.
  4. Јава
  5. Јавасцрипт
  6. ПХП
  7. Перл.
  8. Питхон.
  9. Р.
  10. Руби

Басиц тоолс

Басиц тоолс

За програмирање је потребно неколико алата. Шема класичног програмског система:

  1. Уредник текста - алати за уређивање. Овај алат вам омогућава да пишете изворни код. Ово је уобичајена алатка за програмирање на било ком језику. Заиста, приликом програмирања, они цијене присуство функција као што су: аутоматско довршавање, истицање синтаксе, претраживање, уређивање, замјена дијела кода и уређивање увлаке.
  2. Компајлер или преводилац. Овај алат је директно повезан са програмским језиком.
  3. Дебуггер Девелопери, као и сви људи, могу бити у криву. Проналажење и исправљање грешака захтева време. Програм за отклањање грешака је алат који им помаже да их пратите. Омогућава вам да покренете програм корак по корак, да видите његов статус у било ком тренутку, као и да проверите да ли се део кода извршава или не.
  4. Библиотечке рутине
  5. Пратећа документација.

Десигн Паттернс

Употреба шаблона дизајна је да се структурира програм или да се користе језички алати и што је могуће јасније како би се осигурао системски приступ програмирању, као и повезивање са базом предложака, креирајући страницу која ће приказати прилагођени изглед. Опћенитије, дизајн узорак је мултитаскинг и напредно рјешење.

Структура софтвера (или оквир) је посебна врста библиотеке софтвера. Његов први циљ је да повеже програмирање, пружајући што је више могуће алатима које су вам потребне. На пример, Дјанго 2 је структура у Питхон дизајниран да олакша креирање реактивних веб страница. Он креира структуру и нуди уобичајене алате којима су потребне све локације (административни интерфејс, услуге аутентификације, метод превођења сајта на неколико језика итд.).

Други пример је присуство неколико оквира у ЈаваСцрипт-у (јКуери или ангулар.јс) са једним циљем - исте радње треба писати другачије у зависности од типа претраживача који користи посетилац на веб сајту. Они имају јединствени интерфејс који га претвара у код који сваки претраживач разуме. На слици је пример програмског система у ЈаваСцрипту за задатак отварања новог прозора након клика на дугме.

Пример програмског система у ЈаваСцрипту

Цомпилед лангуагес

Програмски језик је скуп споразума и апстракција који вам омогућују да напишете оно што је потребно кориснику да би рачунар произвео резултат у разумљивијој форми. Компилација је конвертовање изворног кода у извршну датотеку. Ову конверзију врши компајлер. Разлика у брзини извршења је огромна. У принципу, ако су све остале једнаке, програм на компилираном језику ће радити десет пута брже од интерпретираног. У наставку је дат пример система за програмирање Ц. Он демонстрира програм који користи такозване функције вишег реда и чисте функције.

Функције вишег реда

У случају тумачених језика, изворни код се даје интерпретеру, који извршава програм директно. Нема потребе да бринете о оперативном систему или типу процесора, јер он мора бити инсталиран на корисниковом рачунару. Штавише, пошто изворни код мора бити “преведен” у машински код са сваким извршавањем, тумачени језици су често спори у поређењу са еквивалентним компилираним језицима. У исто време, преводиоци не оптимизују генерисани машински код, што их чини споријим, али процес генерисања машинског кода је бржи од процеса компајлера.

Језици виртуалне машине

Често се скраћују, називају се "ВМ језици" (у складу са аналогијама енглеског назива виртуелне машине). Принцип рада и сврха програмског система је да изворни код није преведен у машински код, разумљив одређеном процесору, већ у „думми“ (бајт-код), који ће сам по себи бити протумачен језиком виртуалне машине. Такав језик има предности и недостатке.

Као и на интерпретираним језицима, програм састављен у бајт-код може се изводити на било којем оперативном систему и процесору, под увјетом да је виртуална машина доступна за ову комбинацију. С друге стране, пошто је постојала компилација узводно, програм ради брже од еквивалентног интерпретираног језика. Често достигне брзину сличну оној „правог“ језика стројног кода. Међутим, ово се изједначава са чињеницом да виртуална машина може бити прилично интензивна у погледу ресурса, посебно у меморији.

Коначно, можете креирати нове језике који ће бити компајлирани у исти бајт код као други постојећи језик, што поједностављује њихову интеракцију. То је један од задатака програмског система. Пример је Цлојуре и Фреге језици компајлирани за Јава бајткоде. Они су функционални и радикално различити од Јаве у свом дизајну. У овом случају, можете написати различите делове програма са једним од најприкладнијих језика и учинити их да раде заједно на виртуелној машини. Јава је језик који је најбоље компајлиран у виртуелну машину. Али вам је потребна апликација која се састоји од скупа Јава класа. На почетку било које класе постоји специфична структура, као што је ЈаваЦлассФилеФормат.

Програмски системи, Јава Пример

Примери језика и програмских система

Представљамо најпознатије програмске језике:

  • Ассемблер. Она није нова, али ће научити кориснике многим стварима скривеним на другим језицима.
  • Ц. Највише се користи на свету. Овај језик даје потпуну контролу над машином. Користи се за кодирање оперативних система. Његова пристојна скоро пола века и велики број библиотека које су погодне за било шта, постају неопходне и за почетнике и за напредне кориснике.
  • Цобол. Ово је стари језик. Обично је теже користити од других. Међутим, из историјских разлога, и даље се широко користи у банкарству, финансијама и осигурању.
  • Фортран. Она је још увек тражена у области научног рачунарства, за коју је развијена. Иако се синтакса овог језика редовно ажурира, осећа се његова старост. Поред тога, неке софтверске библиотеке у Фортрану никада нису биле упоређене у смислу ефикасности.
  • Јава Има карактеристику компајлирања у бајт-код, који се затим интерпретира помоћу виртуалне машине. Ово увелико поједностављује креирање програма за употребу на више платформи оперативних система. На пример, Јава је гатеваи за кодирање апликације за Андроид.
  • Перл. То је језик који се највише цијени у свијету Линука и Уникоида. Ефикасан је за креирање малих али веома моћних апликација командне линије. Међутим, Перл није баш погодан за креирање графичких интерфејса.
  • ПХП Доминантна у свету веб програмирања.
  • Питхон. Овај језик се препоручује за почетнике.
  • Руби Повезан са Питхоном, редовно позајмљује иновације. У принципу, они су веома слични. Можемо рећи да Руби нуди више синтактичке слободе и више инсистира на свом објектно оријентисаном карактеру, а Питхон је лакши и подржан од стране веће заједнице.
  • Свифт. То је прилично млад језик, подложан променама и прилагођавањима, погодан за Аппле производе. У наредним годинама, може постати главни производ програмских апликација за иОС и ОСКС.

Апплицатион

Представљамо пример машинског кода:

110101010010001000111001001 010101001000100001011101001 000111001101110001101101010 001111010010010101011001010 001010101111110100101010001.

Као што можете видјети, у овој врсти кода постоји врло мало препознатљиве структуре. У програмским језицима, семантички јаз је разлика између језика који се користи за програмирање хардвера (машински код) и језика који треба да се користи за програмирање рачунара као система. Пример система за програмирање: клијентска страна ЈаваСцрипт-а ће захтевати употребу два језика, осим оног који генерише ЈаваСцрипт (ЦоффеСцрипт или Елм).

За серверску страну, ПХП држи највише позиције, али Питхон и Руби се такође активно користе. ЈаваСцрипт се такође користи на страни сервера, захваљујући НодеЈС-у. За видео игре на Виндовсима, користе се Ц ++, Питхон и Ц #. Међутим, они нису једини. Сваки језик који олакшава креирање графичког интерфејса може бити прикладан (Ц, Јава, Руби или Тцл / Тк).

За велике апликације, Ц ++ и Јава доминирају тржиштем, иако Ц # такође добија на замаху. За мале утилитарне апликације, посебно у командној линији, лако је пронаћи Ц, Перл, Питхон или Руби. У области научног рачунања, Фортран остаје краљ. Све се више такмичи са Ц ++, Питхон или специјализованим језицима као што су Матлаб и Р.

ПАСЦАЛ програмирање

Кроз историју рачунарства, стотине покушаја су направљени да би језици за програмирање компјутера, као што је писани енглески, били лако читљиви и лако разумљиви. ПАСЦАЛ је резултат једног таквог напора. Творац ПАСЦАЛ-а, Ницхолас Виртх, хтио је ХЛЛ, који се лако може учити, читати и писати. Развио је ПАСЦАЛ на основу сљедећих концепата:

  1. ПАСЦАЛ би требао затворити или значајно смањити семантички јаз.
  2. Свака изјава ПАСЦАЛ-а треба да буде као реченица у енглеском тексту.
  3. ПАСЦАЛ програм се може сматрати понудом на енглеском језику.
  4. Називи процедура, структура података и променљивих у ПАСЦАЛ-у би требало да буду лако препознатљиви.

Пример програмског система у ПАСЦАЛ-у

У наставку је приказан примјер за одређивање броја слова у ријечи.

Пример пасцал система за програмирање

ПАСЦАЛ олакшава модуларно кодирање помоћу:

  1. Употреба енкапсулирајућег кода у процедурама и функцијама.
  2. Користећи БЕГИН и ЕНД операторе да дефинишемо функцијски блок кода.
  3. Строга варијабла (на пример, додељивање типова података, као што је цео број, реалан или стринг) да подржи пролаз параметара између процедура.
  4. Пријатељска синтакса која сужава семантички јаз.
Пасцал програмски системи

У датом примјеру Пасцаловог програмског система, програм показује бинарни избор (постоје само два случаја: АцтуалМарк> = 50 или АцтуалМарк <50).

Уобичајене грешке у програмирању

Треба избегавати уобичајене грешке кодирања. Тако ће корисник уштедети време и избећи проблеме. Врсте грешака:

  1. Неисправно форматирање кода. Требало би да буде јасно. Требало би да садржи коментаре на врху програма.
  2. Лоше тестирање и провера грешака. Обрада грешака има два облика: руковање структурираним изузецима и функционалну проверу грешака.
  3. Лоша пракса коментирања.
  4. Наведите непоуздане варијабле. Врло је тешко радити на коду када су многа имена варијабли кратка, а не описна.
  5. Избор погрешне структуре података.

Синтаксни стилови и стилови увлачења често се користе како би помогли програмерима да препознају елементе изворног кода.

Цолор цодинг

Истовремено, важно је да се кодирање боја истакне у фрагменту кода као пример програмског система написаног у Питхону.