Par statisko programmēšanas valodu

13.3.2023

Par statisko programmēšanas valodu

Statiski tipizēta valoda ir programmēšanas valoda, kura kompilēšanas (koda rakstīšanas laikā, kad tas tiek pārvērsts datoram lasāmā valodā) laikā jau zin mainīgo tipus. Lielākajā daļā šo valodu, tipiem ir jābūt skaidri deklarētiem.

Ja tips nav pareizi piešķirts, programmu nebūs iespējams palaist vai arī kompilācijas process tiks apturēts, pirms šī kļūda nebūs izlabota. Kods būs jāizlabo, jāpiešķir pareizs tips, tad kompilācijas process tiks veiksmīgi veikts un varēs notikt koda izpildes process (run time). To, ka tips nav pareizs, var atpazīst šādi.

Dotajā piemērā kļūda ir pasvītrota ar sarkanu krāsu un uzbraucot ar pelīti uz pasvītrojuma, var izlasīt kāda ir problēma.

Statiskajās programmēšanas valodās mainīgā tipu nevar mainīt. Ja tas ir deklarēts kā bool (iespējamā vērtība ir true vai false, bez pēdiņām), tad arī pēc tam mainot tā vērtības, tas var būt tikai bool. Ja tiks piešķirta vērtība, kas atbilst citam tipam, tā tiks atzīmēta kā kļūda. Šajā piemērā, otrajā rindiņā tiek piešķirta string vērtība. Par to, ka tas ir string, liecina pēdiņas.

Statisko valodu piemēri ir TypeScript, Rust, C#, Java, Swift, Scala, VisualBasic, Go, C++, Kotlin, Pascal un C.

Galvenās statiskās programmēšanas valodas īpašības

Tipu problēmas tiek novērstas pirms izpildes laika.

Kods tiek uzskatīts par labāk optimizētu un ātrāku attiecībā uz mainīgajiem.

Daži no statiskās programmēšanas valodas mīnusiem

Mainīgā tipam ir jābūt uzreiz norādītām un tipu pēc tam nevar mainīt. Cilvēkiem, kuri nepārzin tipus šis var būt nedaudz mulsinoši.

Vēl citi fakti par statiskajām programmēšanas valodām

Ja programmēšanas valoda tiek uzskatīta par statisku, tas nenozīmē, ka nav ieviesta iespēja kā šo valodu padarīt dinamisku. Kā arī ja pašlaik kādai valodai nav dinamisku tipu iespējas, tas nenozīmē, ka tās tas būs vienmēr. Piemēram, C# ir tips - dynamic. Šis tips gan nebija pieejams kopš valodas pirmsākumiem. Tas tika pievienots ar vēlāku versiju (C# 4.0).

Ir gadījumi, kad nav jānorāda mainīgā tips to deklarējot. Piemēram, nav vienmēr jāraksta string vai int. Pietiek, ja uzraksta var un tips tiks atpazīts. Šajā gadījumā mainīgais tik un tā tiek uzskatīts par statisku, jo tips tiek uzreiz atpazīts.

Salīdzinot programmēšanas valodas pēc tipiem, runā ne tikai par tām kā statiskām vai dinamiskām, bet arī kā stiprām vai vājām.