Imperatīvas valodas un to atšķirības

Last modified by superadmin on 2018-01-12 20:38

Imperatīvas valodas un to atšķirības

Imperatīvā programmēšana nozīmē, ka programmētājs apzināti veido programmu kā priekšrakstu virkni, kuru noteiktā secībā izpildot, viņš tiešā veidā maina mašīnas atmiņas reģistru un ārējo iekārtu stāvokli, tādējādi no ieejas datiem iegūstot rezultātu. Imperatīvajai programmēšanai ir raksturīgi divi lieli novirzieni - stipri tipizētas un vāji tipizētas valodas. Bieži vien programmētāji dod priekšroku vienam no šiem novirzieniem, lai gan dzīves laikā gaumes mēdz dažkārt arī mainīties.

Stiprā tipizācija nozīmē to, ka mainīgie programmā ir jādeklarē, t.i. to tips ir precīzi zināms jau kompilēšanas laikā (objektorientētās valodās kompilācijas tipa informāciju papildina ar polimorfismu, kurš pieļauj mainīgā tipu precizēt arī izpildes laikā, bet valoda tādēļ nepārstāj būt stipri tipizēta). Stiprā tipizācija parasti piemīt kompilētām valodām, kurās no izejas teksta jāiegūst efektīvs izpildāmais kods. Tās ir labi piemērotas atkalizmantojamu programmas fragmentu veidošanai, lai gan nepieciešamība visu deklarēt un nemitīgi rūpēties par tipu pārveidošanu var prasīt no programmētāja papildu sagatavotību un samazināt produktivitāti. 

Pie stipri tipizētām valodām pieder lielais vairums tradicionālo, ne-skriptu programmēšanas valodu - Fortran, Algol, PL-1, Pascal, ADA. To sintakse mēdz atšķirties, bet šo valodu pamatkonstrukcijas ir diezgan līdzīgas. Sintakses un semantikas teorētiskie aspekti bija īpaši labi izstrādāti valodās Algol un Pascal, un ir ietekmējuši arī visu turpmāko valodu standartizāciju (sk. [Pascal]). Lielu iespaidu uz mūsdienu imperatīvo valodu sintaksi atstāja valodu C un C++ elegantais un īsais programmu pieraksts, sk. [Cpp]. Arī valoda Java ir stipri tipizēta un sintaktiski ļoti atgādina C un C++.

Vāji tipizētas valodas ir tās, kur mainīgos var nedeklarēt, un to tipi tiek noskaidroti tikai programmas izpildes laikā. Tā kā šīs valodas bieži darbojas vidē ar interpretatoru, tad tajās mēdz būt ērti rakstīt nelielus prototipus. Web programmēšanā, gan klienta, gan servera pusē šāda veida valodas ir izplatītas. Tipiskākie pārstāvji ir Perl (sk. [Perl]), PHP (sk. [PHP]), Visual Basic un tā variants VBScript, kuru lieto arī ASP programmēšanā (sk. [VBScript]). Šādās scenāriju valodās var izstrādāt arī lielus projektus, tomēr pastāv risks, ka šādu kodu būs grūti uzturēt, it īpaši tad, ja izstrādātāji stingri neievēro noteiktus programmēšanas standartus.

Valoda JavaScript, kuru Netscape sākotnēji izveidoja, dažiem speciāliem mērķiem (HTML formu apstrādei un Javas apletu mijiedarbībai ar HTML dokumentu) kļuvusi par klienta puses Web lapās ļoti izplatītu valodu. Tās lietošanu stipri apgrūtina dialekti un atšķirības starp dažādām pārlūkprogrammām. Lai gan JavaScript sintaktiski un semantiski ir stipri ietekmējusies no valodas Java, JavaScript (atšķirībā no Java) ir interpretējama, vāji tipizēta valoda. Tādēļ Java un JavaScript patiesībā ir ļoti atšķirīgas valodas un tās izmanto dažādiem mērķiem. 

Tags:
Created by Kalvis Apsītis on 2008-05-03 13:47
    
This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 6.4 - Documentation