20 KiB
Увод у програмске језике и алате за рад
Ова лекција покрива основе програмских језика. Теме које су овде обрађене примењују се на већину савремених програмских језика данас. У делу „Алати за рад“ научићете о корисном софтверу који вам помаже као програмеру.
Скетч од Tomomi Imura
Квиз пре предавања
Увод
У овој лекцији обрадићемо:
- Шта је програмирање?
- Типови програмских језика
- Основни елементи програма
- Корисни софтвер и алати за професионалног програмера
Ову лекцију можете проћи на Microsoft Learn!
Шта је програмирање?
Програмирање (познато и као кодирање) је процес писања упутстава за уређај као што је рачунар или мобилни уређај. Ова упутства пишемо помоћу програмског језика, који уређај затим интерпретира. Овај сет упутстава може се називати различитим именима, али програм, рачунарски програм, апликација (апп) и извршни фајл су нека од популарних имена.
Програм може бити било шта што је написано кодом; веб-сајтови, игре и апликације за телефоне су програми. Иако је могуће направити програм без писања кода, основна логика се интерпретира од стране уређаја, а та логика је највероватније написана кодом. Програм који ради или извршава код спроводи упутства. Уређај на којем читате ову лекцију покреће програм који је приказује на вашем екрану.
✅ Урадите мало истраживање: ко се сматра првим програмером на свету?
Програмски језици
Програмски језици омогућавају програмерима да пишу упутства за уређај. Уређаји могу разумети само бинарни код (1 и 0), а за већину програмера то није ефикасан начин комуникације. Програмски језици су средство комуникације између људи и рачунара.
Програмски језици долазе у различитим форматима и могу служити различитим сврхама. На пример, JavaScript се углавном користи за веб апликације, док се Bash углавном користи за оперативне системе.
Језици ниског нивоа обично захтевају мање корака него језици високог нивоа да би уређај интерпретирао упутства. Међутим, оно што чини језике високог нивоа популарним јесте њихова читљивост и подршка. JavaScript се сматра језиком високог нивоа.
Следећи код илуструје разлику између језика високог нивоа (JavaScript) и језика ниског нивоа (ARM асемблерски код).
let number = 10
let n1 = 0, n2 = 1, nextTerm;
for (let i = 1; i <= number; i++) {
console.log(n1);
nextTerm = n1 + n2;
n1 = n2;
n2 = nextTerm;
}
area ascen,code,readonly
entry
code32
adr r0,thumb+1
bx r0
code16
thumb
mov r0,#00
sub r0,r0,#01
mov r1,#01
mov r4,#10
ldr r2,=0x40000000
back add r0,r1
str r0,[r2]
add r2,#04
mov r3,r0
mov r0,r1
mov r1,r3
sub r4,#01
cmp r4,#00
bne back
end
Веровали или не, оба раде исту ствар: штампају Фибоначијев низ до 10.
✅ Фибоначијев низ је дефинисан као сет бројева где је сваки број збир два претходна, почевши од 0 и 1. Првих 10 бројева у Фибоначијевом низу су 0, 1, 1, 2, 3, 5, 8, 13, 21 и 34.
Елементи програма
Једно упутство у програму назива се изјава и обично има карактер или размак који означава где упутство завршава, или престаје. Начин на који програм престаје варира у зависности од језика.
Изјаве у програму могу се ослањати на податке које пружа корисник или други извор како би извршиле упутства. Подаци могу променити начин на који се програм понаша, па програмски језици долазе са начином да привремено складиште податке како би се касније користили. Ово се назива променљиве. Променљиве су изјаве које упућују уређај да сачува податке у својој меморији. Променљиве у програмима су сличне променљивама у алгебри, где имају јединствено име и њихова вредност може да се мења током времена.
Постоји могућност да неке изјаве не буду извршене од стране уређаја. Ово је обично намерно када их програмер напише или случајно када се догоди неочекивана грешка. Ова врста контроле над апликацијом чини је робуснијом и лакшом за одржавање. Типично, ове промене у контроли се дешавају када су испуњени одређени услови. Уобичајена изјава која се користи у савременом програмирању за контролу начина на који програм ради је if..else
изјава.
✅ О овом типу изјаве ћете више научити у наредним лекцијама.
Алати за рад
🎥 Кликните на слику изнад за видео о алатима
У овом делу научићете о неком софтверу који може бити веома користан док започињете своје професионално програмерско путовање.
Развојно окружење је јединствен сет алата и функција које програмер често користи приликом писања софтвера. Неки од ових алата су прилагођени специфичним потребама програмера и могу се мењати током времена ако програмер промени приоритете у раду, личним пројектима или када користи други програмски језик. Развојна окружења су јединствена као и програмери који их користе.
Уређивачи
Један од најважнијих алата за развој софтвера је уређивач. Уређивачи су место где пишете свој код, а понекад и где га покрећете.
Програмери се ослањају на уређиваче из неколико додатних разлога:
- Дебаговање помаже у откривању грешака и проблема корак по корак кроз код, линију по линију. Неки уређивачи имају могућности дебаговања; могу се прилагодити и додати за специфичне програмске језике.
- Истакнуто синтаксно бојење додаје боје и формат текста у код, чинећи га лакшим за читање. Већина уређивача омогућава прилагођено синтаксно бојење.
- Екстензије и интеграције су специјализовани алати за програмере, од стране програмера. Ови алати нису уграђени у основни уређивач. На пример, многи програмери документују свој код како би објаснили како функционише. Могу инсталирати екстензију за проверу правописа како би пронашли грешке у документацији. Већина екстензија је намењена за употребу унутар специфичног уређивача, а већина уређивача долази са начином претраге доступних екстензија.
- Прилагођавање омогућава програмерима да креирају јединствено развојно окружење које одговара њиховим потребама. Већина уређивача је изузетно прилагодљива и може такође омогућити програмерима да креирају сопствене екстензије.
Популарни уређивачи и екстензије за веб развој
Прегледачи
Још један важан алат је прегледач. Веб програмери се ослањају на прегледач да виде како њихов код ради на вебу. Такође се користи за приказ визуелних елемената веб странице који су написани у уређивачу, као што је HTML.
Многи прегледачи долазе са алатима за програмере (DevTools) који садрже сет корисних функција и информација за помоћ програмерима у прикупљању и хватању важних информација о њиховој апликацији. На пример: Ако веб страница има грешке, понекад је корисно знати када су се догодиле. DevTools у прегледачу може бити конфигурисан да прикупи ове информације.
Популарни прегледачи и DevTools
Алатке командне линије
Неки програмери преферирају мање графички приказ за своје свакодневне задатке и ослањају се на командну линију да то постигну. Писање кода захтева значајну количину куцања, а неки програмери преферирају да не прекидају свој ток рада на тастатури. Они ће користити пречице на тастатури за пребацивање између прозора на радној површини, рад на различитим фајловима и коришћење алата. Већина задатака може се обавити мишем, али једна предност коришћења командне линије је што се много тога може урадити помоћу алатки командне линије без потребе за пребацивањем између миша и тастатуре. Још једна предност командне линије је што је конфигурабилна и можете сачувати прилагођену конфигурацију, променити је касније и увезти је на друге развојне машине. Пошто су развојна окружења тако јединствена за сваког програмера, неки ће избегавати коришћење командне линије, неки ће се у потпуности ослањати на њу, а неки ће преферирати мешавину оба.
Популарне опције командне линије
Опције за командну линију ће се разликовати у зависности од оперативног система који користите.
💻 = долази прединсталирано на оперативном систему.
Windows
- Powershell 💻
- Command Line (познат и као CMD) 💻
- Windows Terminal
- mintty
MacOS
Linux
Популарне алатке командне линије
Документација
Када програмер жели да научи нешто ново, највероватније ће се окренути документацији да научи како да то користи. Програмери се често ослањају на документацију да их води кроз правилно коришћење алата и језика, као и да стекну дубље знање о томе како функционише.
Популарна документација о веб развоју
- Mozilla Developer Network (MDN), од Mozille, издавача Firefox прегледача
- Frontend Masters
- Web.dev, од Google-а, издавача Chrome
- Microsoft-ова документација за програмере, за Microsoft Edge
- W3 Schools
✅ Урадите истраживање: Сада када знате основе окружења веб програмера, упоредите га са окружењем веб дизајнера.
🚀 Изазов
Упоредите неке програмске језике. Које су неке од јединствених карактеристика JavaScript-а у односу на Java? А шта је са COBOL-ом у односу на Go?
Квиз после предавања
Преглед и самостално учење
Проучите различите језике доступне програмеру. Покушајте да напишете једну линију у једном језику, а затим је препишите у два друга. Шта сте научили?
Задатак
Одрицање од одговорности:
Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције Co-op Translator. Иако настојимо да обезбедимо тачност, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални превод од стране људи. Не сносимо одговорност за било каква погрешна тумачења или неспоразуме који могу произаћи из коришћења овог превода.