Saturs

·         1 Programmēšanas valodu veidi

o    1.1. Augsta un zema līmeņa

o    1.2 Deklaratīvā un imperatīvā programmēšana

o    1.3. Funkcionālais un procesuālais

o    1.4 Uz kaudzes balstīts

o    1.5 Objektorientēts

o    1.6 Uz plūsmu orientēts

·         2 Noteikumi

·         3 Objektorientētā programmēšana

·         4 Piemēri

o    4.1 Visual Basic piemērs

o    4.2 Python piemērs

o    4.3 C# piemērs

o    4.4 Haskell piemērs

·         5 Saistītās lapas

Programmēšanas valoda ir rakstītas valodas veids, kas datoriem norāda, kas jādara, lai tie darbotos. Programmēšanas valodas tiek izmantotas, lai izveidotu visas datorprogrammas un datoru programmatūru. Programmēšanas valoda ir kā instrukciju kopums, pēc kura dators rīkojas, lai kaut ko izdarītu.

Programmētājs raksta pirmkoda tekstu programmēšanas valodā, lai izveidotu programmas. Parasti programmēšanas valodā dažām komandām tiek izmantoti īsti vārdi, lai cilvēkam būtu vieglāk lasīt šo valodu. Daudzās programmēšanas valodās tāpat kā parastās valodās tiek lietota interpunkcija. Daudzas programmas tagad ir "kompilētas". Tas nozīmē, ka dators avota kodu pārtulko citā valodā (piemēram, asemblervalodā vai mašīnvalodā), kas datoram ir daudz ātrāka un vieglāk lasāma, bet cilvēkam daudz grūtāk lasāma.

Datorprogrammas ir jāraksta ļoti rūpīgi. Ja programmētājs kļūdās vai programma mēģina darīt kaut ko tādu, ko programmētājs nav paredzējis, programma var "sabojāties" vai pārtraukt darboties. Ja programmai rodas problēmas, kas saistītas ar to, kā kods ir uzrakstīts, to sauc par kļūdu. Ļoti maza kļūda var radīt ļoti lielu problēmu.

Programmēšanas valodu veidi

  • Augsta līmeņa valodas — tuvāk cilvēku domāšanai un vieglāk lasāmas (piemēram, Python, Java, C#). Tās slēpj daudz zema līmeņa detaļu, piemēram, atmiņas vadību.
  • Zema līmeņa valodas — tuvāk aparatūrai (piemēram, asembleris, mašīnvaloda). Tās dod lielāku kontroli pār aparatūru, bet ir grūtāk rakstāmas un uzturamas.
  • Imperatīvā programmēšana — programmētājs norāda secību darbībām (piemēram, C, Java).
  • Deklaratīvā programmēšana — apraksta, ko vajag panākt, nevis kā tieši to izdarīt (piemēri: SQL, HTML attiecībā uz struktūru, vai funkcionālās un loģikas valodas).
  • Funkcionālā programmēšana — uzsvars uz funkciju izmantošanu, nemainīgām vērtībām un bezblakus efektiem (piemēri: Haskell, Erlang, daļēji Python).
  • Procedurālā (procesoāla) programmēšana — izmanto procedūras vai funkcijas kā pamatvienības (piemēri: C, Pascal).
  • Objektorientētā programmēšana (OOP) — izmanto objektus un klases, lai modelētu datus un uzvedību (piemēri: Java, C#, Python).
  • Notikumu / plūsmu orientētas valodas — piemērotas interaktīvām lietojumprogrammām vai straumēm (piemēram, JavaScript notikumu vadībai, vai datu plūsmas sistēmas).
  • Kaudzes (stack)-bāzētas valodas — valodas, kurās operācijas tiek veiktas uz steka (piemēri: Forth, daži asembleri).

Noteikumi

Katras programmēšanas valodas pamatā ir divas būtiskas lietas: sintakse (kā izskatās derīgs kods) un semantika (ko šis kods nozīmē). Papildus tam svarīgi aspekti:

  • Tipēšana: valodas var būt statiskās (tipi tiek pārbaudīti kompilācijas laikā, piemēram, C#, Java) vai dinamiskas (tipi tiek pārbaudīti izpildes laikā, piemēram, Python, JavaScript).
  • Kompilēšana pret interpretāciju: kompilētā valoda pārtulko avota kodu uz mašīnvalodu vai starpkodu pirms izpildes; interpretētā valoda izpilda kodu rindiņu pa rindiņai. Ir arī hibrīdas pieejas (piemēram, JIT — just-in-time kompilācija).
  • Bibliotēkas un ietvari: valodas bieži papildina plašas bibliotēkas, kas atvieglo standarta uzdevumus (darbs ar failiem, tīkliem, datubāzēm utt.).
  • Rīki: izstrādes vidi, kompilatori, interpretētāji, testēšanas un atkļūdošanas rīki ievērojami ietekmē produktivitāti.

Objektorientētā programmēšana

Objektorientētā programmēšana (OOP) ir paradigmas veids, kurā programmas veido no objektiem — patstāvīgām vienībām, kas satur datus (laukas) un uzvedību (metodes). Galvenie OOP principi:

  • Inkapsulācija — dati un metodes tiek slēpti objektā, piekļuve notiek caur publiskajiem interfeisiem.
  • Abstrakcija — sarežģītību noslēpj, sniedzot vienkāršu interfeisu.
  • Pārmantošana — klases var mantot citām klasēm, atkārtoti izmantojot un paplašinot kodu.
  • Polimorfisms — objekti var uzvesties dažādi, atkarībā no to konkrētā tipa, īpaši, ja tiek izmantotas kopīgas metodes vai interfeisi.

OOP padara koda organizāciju un uzturēšanu ērtāku lielos projektos, taču nav vienīgā pieeja — bieži tiek izmantotas kombinācijas ar funkcionālām vai procedurālām metodēm.

Piemēri

Zemāk ir vienkārši, īsi piemēri dažādās programmēšanas valodās, kas parāda pamata sintaksi un idejas.

Visual Basic (VB.NET) piemērs — vienkārša programma, kas saskaita divus skaitļus:

Module Program     Sub Main()         Dim a As Integer = 2         Dim b As Integer = 3         Console.WriteLine("Summa: " & (a + b))     End Sub End Module

Python piemērs — funkcija, kas saskaita un izdrukā rezultātu:

def add(a, b):     return a + b  print("Summa:", add(2, 3))

C# piemērs — konsoles programma, kas izvada summu:

using System;  class Program {     static void Main()     {         int a = 2;         int b = 3;         Console.WriteLine($"Summa: {a + b}");     } }

Haskell piemērs — funkcionāls piegājiens, funkcija un izsaukums:

add :: Int -> Int -> Int add a b = a + b  main :: IO () main = print (add 2 3)

Padomi iesācējiem

  • Sāciet ar vienkāršu, populāru valodu (piemēram, Python), lai apgūtu pamatus bez sarežģītām sintakses niansēm.
  • Mācieties ne tikai sintaksi, bet arī algoritmisko domāšanu un pamatkoncepcijas (datu struktūras, cikli, nosacījumi).
  • Rakstiet nelielus projektus — tas palīdz saprast, kā valoda tiek izmantota reālos uzdevumos.
  • Iepazīstieties ar izstrādes rīkiem: versiju kontrole (piemēram, Git), atkļūdošana un vienkāršie testēšanas rīki.

Programmēšanas valodas izvēle parasti atkarīga no mērķa: vai veidosiet tīmekļa vietni, mobilo lietotni, datubāzi, sistēmas programmatūru vai zinātniskus aprēķinus — katrai jomai ir valodas un rīki, kas ir piemērotāki. Svarīgākais ir saprast pamatprincipus — kad to apgūsiet, jauns valodas apgūšana kļūs daudz vieglāka.