Renkamės programavimo kalbą

Norint sukurti žaidimą, reikia mokėti bent kokią nors vieną programavimo kalbą. Jų yra daugybė, todėl kuriant pirmą savo žaidimą gali iškilti klausimų kokią kalbą verta būtų pasirinkti. Atsakymas į šį klausimą nėra vienareikšmis – viskas priklauso, kokį žaidimą norima sukurti. Žinoma, tai nereiškia, kad kuriant kiekvieną žaidimą verta ieškoti vis kitos programavimo kalbos. Iš tiesų beveik su bet kokia programavimo kalba galima sukurti norimą žaidimą, bet kiekviena kalba dažniausiai būna orientuota į tam tikrą uždavinių grupę, todėl su vienomis kalbomis norima programa gali būti parašoma greičiau, o su kitomis – lėčiau (kitaip tariant – tie patys uždaviniai naudojant skirtingas programavimo priemones gali būti išspręsti greičiau arba lėčiau).

Subjektyvus kalbų pasirinkimas pagal Mek 🙂

Programos rašymo greitis, žinoma, yra labai svarbus, tačiau nemažiau svarbus dalykas besirenkant programavimo kalbą yra jos panaudojimas – ar ji pateisintų keliamų norimų gauti rezultatų lūkesčius (pvz. ar su pasirinkta programavimo kalba galima sukurti kelių kilobaitų žaidimą?). Šis klausimas yra iš tiesų labai „suktas“, nes variantų yra daugybė, todėl į jį galima atsakyti tik turint tikros programavimo patirties. O jei jos nėra? Tuomet belieka eksperimentuoti. Taip, tai gali skambėti labai žiauriai pradedančiajam (juk žaidimas turi būti kuo greičiau sukurtas), tačiau mokymasis programuoti ir dažnai pats programavimas – tai ne kas kita kaip krūva eksperimentų savo mintims, idėjoms išreikšti, kurie užrašomi tam tikromis tekstinėmis komandomis. Dėl šios priežasties priklausomai nuo matomų rezultatų verta „peršokti“ nuo vienos programavimo kalbos prie kitos. Visgi, labai daug taip „šokinėti“ nereikėtų – kažin ar bus tuomet išvis kokių nors pageidaujamų rezultatų…

Dažniausiai pradedantys programuoti bijo „peršokti“ nuo vienos kalbos prie kitos, nes jie galvoja, kad reiktų iš naujo vėl viską mokytis. Iš dalies tokia baimė yra pagrįsta. Iš dalies – ne. Dauguma kalbų naudoja angliškas komandas, kurios sutampa su kitose kalbose naudojamomis komandomis. Todėl mokantis naują kalbą dažniausiai reikia išmokti tik sintaksės skirtumus tarp jų.

Kaip su skirtingomis programavimo kalbomis išvedamas tekstas „Labas“ į ekraną

Besirenkant programavimo kalbą verta pasiskaityti internete esančius apie ją straipsnius. Verta žvilgtelėti tiek į Wikipedia ar panašaus pobūdžio portalus, tiek į visokius tinklaraščius (liaudiškai dar vadinamais blog’ais) . Tai padės susidaryti geresnį vaizdą apie vieną ar kitą programavimo kalbą. Reikės mažiau „šokinėti su eksperimentais“.

Jei norite sužinoti daugiau apie programavimo kalbos pasirinkimą, verta perskaityti Vytauto Šaltenio (dar žinomo internete kaip rtfb) parašytą straipsnį Programavimo kalbos arba kaip pasistatyti nuosavą Babelio bokštą.

Kokių žinių dar reikės?

Priklausomai nuo programuojamo uždavinio gali reikėti ir kitų dalykų žinių. Pavyzdžiui: jei norite žaidime padaryti taip, kad automobiliai realistiškai vienas į kitą atsitrenktų, reikės tam tikrų fizikos žinių. Taip yra todėl, kad programavime norint ką nors padaryti veikiančio, reikia suprasti kaip tai veikia.

Dauguma žmonių, nemokančių programuoti, galvoja, kad programavimas yra LABAI SUDËTINGAS dalykas – reikia labai daug žinoti įvairių programavimo komandų ir turėti kitokių žinių norint parašyti norimą programą, žaidimą. Bet tiesa iš tiesų yra šiek tiek kitokia. Dauguma programuotojų atmintinai labai gerai žino gal tik kokių 10 dalykų. Apie visus kitus, kai prireikia informacijos, kaip jais pasinaudoti, jos ieškoma žinyne, kokioje nors knygoje arba kažkur internete. Vadinasi, pats programavimas iš esmės yra ne kas kita kaip tų dešimties komandų kaitaliojimas vietomis norint gauti norimą rezultatą! Visa kita – tai sugebėjimas rasti ir pritaikyti reikalingą informaciją konkrečiam uždaviniui spręsti. Šis sugebėjimas tikrai nėra įgimtas. Jį gali įgyti kiekvienas. Tereikia, iškilus problemoms, nepasiduoti ir siekti norimų rezultatų.

1 dalykas, kurį vertą žinoti: sintaksė

Kad ir koks nuobodus dalykas tai būtų, visgi nuo to ir reikėtų pradėti besimokant naują programavimo kalbą. Šio dalyko nežinojimas užkerta visas galimybes toliau kažką norimo padaryti.

Nors programavimo kalbų yra daugybė, tačiau daugumos jų sintaksė yra panaši. Tai gerai tuo, kad nebūtina mokytis visas pasaulyje esančias programavimo kalbas, todėl užtenka mokėti kelias, kad galėtum kažką daryti ir su kitomis. Dėl šios priežasties taip pat dažniausiai įmanoma iš vienos kalbos į kitą perkelti didžiulius programos kodus (o tai savo ruožtu gali labai sutaupyti programavimo laiką).

Vienose programavimo kalbose yra labai svarbu ar rašoma didžiosiomis raidėmis, ar mažosiomis. Kitose – tai visiškai nesvarbu. Pavyzdžiui, C++ kalboje komandos printf(‘kazkas’), printF(‘kazkas’), PrintF(‘kazkas’) duos skirtingus rezultatus, o FreeBasic kalboje tarp šių komandų nebus jokio skirtumo. Pradedančiuosius toks C++ elgesys labai dažnai erzina, nes tarp daugybę sunkiai suprantamų kodo eilučių reikia ieškoti ne vien loginių klaidų, bet ir tokių sintaksės. Dėl šios priežasties dirbant prie savo pirmo žaidimo verta geriau rinktis kokią nors programavimo kalbą, kuriai raidžių dydžiai nėra svarbūs ir skirtingos komandos užrašytos skirtingo dydžio raidėmis gražina tuos pačius rezultatus.

Kiekvienoje programavimo kalboje skirtingos komandos kaip nors atskiriamos. Dažniausiai naudojami du atskyrimo būdai:[li]komandos pradedamos iš naujos eilutės (JavaScript, FreeBasic, DarkBasic, Logo…);[/li][li]komandos atskiriamos kabliataškiais (C++, PHP, JavaScript, C#…).[/li]Sužinoti, kaip galima atskirti komandas, galima žvilgtelėjus į programavimo kalbos žinyną, perskaičius kokią nors knygą arba tiesiog žvilgtelėjus į kokį nors internete ta kalba parašytos programos kodo fragmentą (pagal tai, kuo baigiasi kiekviena eilutė, galima spręsti apie tai, kaip atskiriamos komandos).

Java „Hello World“ programos pavyzdys iš Wikipedia. Kabliataškis eilutės pabaigoje įrodo, kad šioje kalboje komandos yra atskiriamos kabliataškiais (vadinasi, kelias komandas galima rašyti toje pačioje eilutėje)
DarkBasic „Hello World“ programos pavyzdys iš Wikipedia. Kabliataškio nebuvimas eilutės pabaigoje įrodo, kad šioje kalboje komandos yra atskiriamos naujomis eilutėmis (vadinasi, kelių komandų negalima rašyti toje pačioje eilutėje)

Žvilgtelėjus į aukščiau pateiktus pavyzdžius, galima pastebėti, kad skiriasi ne tik kaip baigiasi eilutės, bet ir dar kažkokiu papildomu tekstu, kuris reikalingas, norint parašyti bazinę programą. Tai priklauso nuo programavimo kalbos tipo. Dažniausiai sutinkami šie tipai:[li]komandinė kalba (Windows BAT, Rexx, DarkBasic…), kurioje galima iškart rašyti komandas be jokio papildomo teksto;[/li][li]funkcinė (C, C++, Visual Basic…), kurioje komandos rašomos tam tikroje funkcijoje arba procedūroje;[/li][li]objektinė (Java, C#, VB.NET…), kurioje komandos rašomos tam tikroje klasėje;[/li][li]struktūrinė (Pascal, ALGOL…), kurioje komandos rašomos tam tikroje struktūroje.[/li][li]sąrašinė (Common Lisp, Python…), kurioje komandos rašomos sąrašais (iš pirmo žvilgsnio atrodo labai panašu į komandinį tipą).[/li]Kai kurios programavimo kalbos turi kelių prieš tai išvardintų tipų savybių.

Komandinės kalbos bazinis pavyzdys (kalba – Dark Basic; žalia spalva komentaras)
Funkcinės kalbos bazinis pavyzdys (kalba – C++; žalia spalva komentaras)
Objektinės kalbos bazinis pavyzdys (kalba – C#; žalia spalva komentaras)
Struktūrinės kalbos bazinis pavyzdys (kalba – Pascal; žalia spalva komentaras)

Kiekvienoje programavimo kalboje savo programose galima palikti kokių nors komentarų, kurie padėtų lengviau suprasti lengviau, kas gero tame programos kode parašyta. Komentarai yra matomi tik tiems, kurie žiūri į programos kodus. Skirtingose kalbose jie gali būti rašomi vis kitaip, tačiau dažniausiai komentarams žymėti yra naudojamos tam tikros komandos arba tam tikra simbolių seka (dažniausiai tai du pasvirę kairėn brūkšniai eilutės pradžioje).

Daugumoje programavimo kalbų yra komandų, tarp kurių rašomos kitos komandos (pvz. komandos žyminčios procedūros pradžią ir pabaigą). Kai kuriose kalbose kitos komandos tiesiog rašomos tarp motininių komandų, pradedant kiekvieną vis iš naujos eilutės (pvz. Visual Basic…). Kitose jos rašomos specialiose struktūrose (pvz. Pascal…), įsiterpusių tarp dviejų komandų. Dar kitose tarp dviejų simbolių, įsiterpusių tarp dviejų komandų (C++, Java…).

Dar vienas svarbus dalykas – tai komandos ir jos parametrų užrašymo stilius. Skirtingos programavimo kalbose stiliai šiek tiek dažniausiai skiriasi, tačiau beveik visada pirmiausia yra rašoma komanda, o jei reikia, šalia jos ir reikalingi parametrai. Parametrai nuo komandos dažniausiai atskiriami tarpu arba kokiais nors skliausteliais. Tarpusavyje parametrai dažniausiai atskiriami arba tarpais arba kableliais. Dažniausiai visi parametrai rašomi taip kokie jie yra, tačiau būna viena išimtis – tekstai. Daugumoje programavimo kalbų jie rašomi tarp dvigubų arba viengubų kabučių.

Paskutinis dalykas, kurį būtų verta žinoti, kalbant apie pasirinktos programavimo kalbos sintaksę, greičiausiai, būtų loginės ir matematinės operacijos. Dauguma programavimo kalbų naudoja labai panašią sintaksę, todėl mokytis tenka mažai mokant bent vieną kalbą.

Dažniausiai naudojama loginių ir matematinių operacijų sintaksė

Prieš tai buvusi dalis:
Kita dalis: programavimo pagrindai (2 dalis)