Turinys

·         1 Programavimo kalbų tipai

o    1.1 Aukšto ir žemo lygio

o    1.2 Deklaratyvinis ir imperatyvinis programavimas

o    1.3 Funkcinis ir procedūrinis

o    1.4.

o    1.5 Objektinis

o    1.6 Į srautą orientuotas

·         2 taisyklės

·         3 Objektinis programavimas

·         4 pavyzdžiai

o    4.1 "Visual Basic" pavyzdys

o    4.2 "Python" pavyzdys

o    4.3 C# pavyzdys

o    4.4 "Haskell" pavyzdys

·         5 Susiję puslapiai

Programavimo kalba - tai tam tikra rašytinė kalba, kuria kompiuteriams nurodoma, ką daryti, kad jie veiktų. Programavimo kalbos naudojamos visoms kompiuterių programoms ir kompiuterių programinei įrangai kurti. Programavimo kalba - tai tarsi instrukcijų rinkinys, kuriuo kompiuteris vadovaujasi, norėdamas ką nors padaryti.

Programuotojas programavimo kalba rašo pirminio kodo tekstą, kad sukurtų programas. Paprastai programavimo kalboje kai kurioms komandoms pavadinti naudojami tikri žodžiai, kad žmogui būtų lengviau skaityti. Daugelyje programavimo kalbų, kaip ir įprastoje kalboje, naudojami skyrybos ženklai. Daugelis programų dabar yra "sukompiliuotos". Tai reiškia, kad kompiuteris pirminį kodą išverčia į kitą kalbą (pvz., asemblerio kalbą arba mašinų kalbą), kuri yra daug greitesnė ir lengvesnė kompiuteriui, bet daug sunkiau suprantama žmogui.

Kompiuterių programas reikia rašyti labai kruopščiai. Jei programuotojas padaro klaidų arba programa bando daryti tai, ko programuotojas nesuplanavo, programa gali "sugesti" arba nustoti veikti. Kai programoje kyla problemų dėl to, kaip buvo parašytas kodas, tai vadinama "klaida". Labai maža klaida gali sukelti labai didelę problemą.

Programavimo kalbų tipai

Programavimo kalbos skirstomos pagal įvairius požymius: abstrakcijos lygį, paradigmas (kaip sprendžiamos užduotys), vykdymo modelį ir pan. Žemiau pateikiami pagrindiniai tipai ir trumpi paaiškinimai.

Aukšto ir žemo lygio

Aukšto lygio kalbos (pvz., Python, Java, C#) yra artimesnės žmonių kalbai. Jos suteikia daug abstrakcijų (automatinius atminties valdymus, bibliotekas, aukšto lygio duomenų struktūras), todėl programavimas vyksta greičiau ir lengviau. Tačiau aukšto lygio kalbos gali turėti papildomą sąnaudų sluoksnį vykdymo greičiui.

Žemo lygio kalbos (pvz., asemblerio kalba, mašinų kalba) dirba arti aparatūros. Jos leidžia tiksliai kontroliuoti atmintį ir procesoriaus instrukcijas, todėl naudojamos ten, kur reikalingas didžiausias efektyvumas arba prieiga prie aparatinės įrangos.

Deklaratyvinis ir imperatyvinis programavimas

Imperatyvinis programavimas nurodo kompiuteriui veiksmų seką: kaip pasiekti rezultatą (pvz., C, Java, Python naudojant procedūras). Tai tarsi duoti žingsnis po žingsnio receptą.

Deklaratyvinis programavimas aprašo, ką norima gauti, neįvardijant visų vykdymo žingsnių (pvz., SQL duomenų užklausos, kai kurios funkcijos logikos programavimo kalbos). Nagų programavimo pavyzdys — funkcinės arba loginės kalbos, kuriose akcentuojama, ką reikia išreikšti, o ne kaip.

Funkcinis ir procedūrinis

Funkcinis programavimas (pvz., Haskell, dalis Scala ar Elixir) remiasi matematinėmis funkcijomis, vengia pokyčių ir šalutinių efektų. Tai palengvina kodo testavimą ir lygiagrečiavimą.

Procedūrinis programavimas (pvz., C, senesnis Pascal) organizuoja kodą į procedūras arba funkcijas, kurios vykdo veiksmus ir modifikuoja duomenis. Tai yra paprasta ir intuityvu daugeliui užduočių.

Objektinis

Objektinis programavimas (OOP) pabrėžia duomenų (objektų) ir juos valdančių metodų jungimą. Pagrindinės idėjos: klasės, objektai, įpėdinystė, inkapsuliacija ir polimorfizmas. OOP padeda modeliuoti sudėtingas sistemas ir dalintis funkcionalumu tarp skirtingų programos dalių. Tipiniai OOP pavyzdžiai: Java, C#, C++.

Į srautą orientuotas

Šis tipas apima paradigmas, kuriose programa apdorojama kaip duomenų srautų grandinė arba kaip reakcija į įvykius. Tai gali būti reaktyvus / srautinis programavimas (pvz., Rx bibliotekos, duomenų srautai), arba įvykių valdomas modelis (event-driven) GUI ir serverinėse programose. Tokios sistemos pritaikytos asinchroniškam, nuolatiniam duomenų apdorojimui.

Taisyklės (sintaksė ir semantika)

Kiekviena kalba turi savo sintaksę (taisykles, kaip rašyti kodą) ir semantiką (ką tas kodas reiškia). Sintaksės klaidos (pvz., pamirštas taškas, neatidaryta skliaustelė) paprastai užkerta kelią programos kompiliavimui ar vykdymui. Semantinės klaidos reiškia, kad kodas vyksta, bet elgiasi neteisingai (pvz., neteisinga formulė). Taip pat svarbios yra stiliaus taisyklės – aiškus, nuoseklus kodas mažina klaidų tikimybę ir palengvina priežiūrą.

Objektinis programavimas – pagrindinės idėjos

Objektinis dizainas padeda struktūrizuoti programas taip, kad komponentai būtų nepriklausomi ir pakartotinai naudojami. Pagrindiniai bruožai:

  • Klases apibrėžia objektų tipą ir jų elgseną.
  • Objektai yra klasių egzemplioriai su savo būsena.
  • Inkapsuliacija slėpia vidinę būseną ir leidžia ją keisti tik per viešus metodus.
  • Įpėdinystė leidžia kurti konkretesnius tipus iš bendresnių.
  • Polimorfizmas leidžia skirtingiems objektams reaguoti skirtingai į tą patį metodą.

Teisingas OOP naudojimas gerina projekto aiškumą ir leidžia paprasčiau plėsti bei testuoti programinę įrangą.

Pavyzdžiai

Žemiau – paprasti kodo pavyzdžiai, iliustruojantys skirtingas kalbas ir paradigmas.

Visual Basic pavyzdys

Sub SayHello()     MsgBox "Sveikas, pasauli!" End Sub

Tai paprastas Visual Basic (VB) pavyzdys, dažnai naudojamas Windows formų programose. VB yra glaudžiai susijusi su įvykių valdymu ir greitu GUI kūrimu.

Python pavyzdys

def sveikinti(vardas):     print(f"Sveikas, {vardas}!")  sveikinti("Jonai")

Python yra aukšto lygio, interpretuojama kalba, tinkama greitam prototipavimui, duomenų analizei ir daugeliui kitų užduočių. Kodo sintaksė yra aiški ir trumpa.

C# pavyzdys

using System;  class Program {     static void Main() {         Console.WriteLine("Sveikas, pasauli!");     } }

C# dažnai naudojama kuriant verslo programas, žaidimus su Unity ir .NET ekosistemoje. Tai objektinė, tipinė kalba su stipria integracija į Microsoft platformas.

Haskell pavyzdys

main :: IO () main = putStrLn "Sveikas, pasauli!"

Haskell yra gryna funkcinė kalba, kuri skatina nekintamumą ir funkcijų suderinamumą. Ji puikiai tinka akademinėms užduotims, algoritmų raiškai ir kai kuriems pramoniniams sprendimams, ypač ten, kur svarbu formalus patikimumas.

Pastabos apie kompiliavimą ir vykdymą

Kalbos gali būti kompiliuojamos (išverčiamos į mašininį kodą arba tarpinius formatus) arba interpretuojamos (vykdomos eilutė po eilutės). Kai kurios kalbos naudoja mišrų modelį (pvz., pirmiausia kompiliuojamos į tarpinį kodą, kuris potem interpretuojamas arba vykdomas virtualioje mašinoje).

Baigiamieji patarimai

  • Renkantis kalbą, pagalvokite apie problemos sritį: sistemų programavimui dažnai tinka C/C++, interneto paslaugoms – Python, JavaScript ar C#, duomenų apdorojimui – Python ar R.
  • Mokykitės geros programavimo praktikos: aiškus kodas, testai ir versijų valdymas (pvz., Git) ženkliai sumažina klaidų.
  • Susipažinkite su bibliotekų ir priemonių ekosistema – ji dažnai lemia produktyvumą ir kokybišką sprendimą.

Jei norite gilintis toliau, rekomenduojama praktikuotis su mažais projektais, skaityti oficialią pasirinktų kalbų dokumentaciją ir analizuoti atvirus (open-source) projektus.