Programmanas valodu klasifikcija un lietojumsfra Programmanas valodas Lekt

  • Slides: 39
Download presentation
Programmēšanas valodu klasifikācija un lietojumsfēra Programmēšanas valodas Lekt. M. Lukjanska 14. 12. 2011

Programmēšanas valodu klasifikācija un lietojumsfēra Programmēšanas valodas Lekt. M. Lukjanska 14. 12. 2011

Programmēšanas valodu klasifikācija un lietojumsfēra Kopsavilkums l Atkārtojums l l l l 14. 12.

Programmēšanas valodu klasifikācija un lietojumsfēra Kopsavilkums l Atkārtojums l l l l 14. 12. 2011 2 Kas ir programmēšanas valoda? Semantikas uzdošana Kāpēc tik daudz programmēšanas valodu un to versiju? Raksturīgās īpašības Klasifikācija Populārakā programmēšanas valoda šobrīd Programmēšanas valodu nākotne? Nakošajā semestrī. . . Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Programmēšanas valoda - definīcija l Formālā valoda - kalpo

Programmēšanas valodu klasifikācija un lietojumsfēra Programmēšanas valoda - definīcija l Formālā valoda - kalpo datora programmu aprakstam l l 3 Formālā valoda ir simbolu secību kopa, ko apraksta ar precīzi formulētu sintakses likumu kopu…) Zīmju sistēma - nodrošina lietotāja saskarsmi ar datoru dažādu problēmu risināšanā Simbolu secība kādam alfabētam, kas apmierina sintakses likumus un uzdod izskaitļojumu secību ar semantikas likumiem Algoritmiska valoda uzdevumu risināšanas procesu formalizētam pierakstam programmu veidā No: J. Bule, RTK kursa “Programmēšanas valodas" lekciju materiāli, RTK, 2010. 14. 12. 2011 Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Semantikas uzdošana 4 Programmēšanas valoda Darbību apraksta līdzekļi Datu

Programmēšanas valodu klasifikācija un lietojumsfēra Semantikas uzdošana 4 Programmēšanas valoda Darbību apraksta līdzekļi Datu apraksta pamatlīdzekļi Papildus iespējas Darbību apraksta pamatlīdzekļi Datu abstraktie tipi 14. 12. 2011 Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Kāpēc tik daudz programmēšanas valodu un to versiju? l

Programmēšanas valodu klasifikācija un lietojumsfēra Kāpēc tik daudz programmēšanas valodu un to versiju? l l 14. 12. 2011 5 Vēlme uzlabot valodu Nepieciešamība izlabot kļūdas Vēlme pielāgot valodu noteikta uzdevuma tipa risināšanai Nespēja realizēt valodu pilnībā noteikta tipa datoram Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Programmēšanas valodu izstrāde Pamata prasības – 6 (1) iespēja

Programmēšanas valodu klasifikācija un lietojumsfēra Programmēšanas valodu izstrāde Pamata prasības – 6 (1) iespēja (efektīvi) izpildīt uz datora un (2) lasāmība cilvēkam ir savā starpā konfliktējošas. Mūsdienu programmēšanas valodu izstrāde akcentē lasāmību cilvēkam, piemērotu (ērtu) abstrakciju sistēmu, veidus, kā pārvaldīt sarežģītību. Laba vai ne tik laba valoda: to nosaka ne tikai valoda pati. Ļoti dažādi faktori: C : ieguva popularitāti UNIX sistēmas dēļ COBOL : tiek uzturēts tādēļ, ka tajā uzrakstīts daudz koda ADA : ieguva ietekmi caur ASV Aizsardzības Departamentu JAVA : ieguva popularitāti Internet straujās izplatības iespaidā. No: [3] Dažādām PV: dažādas pašu valodu īpašības, kas nosaka (noteica) to popularitāti: FORTRAN: efektivitāte COBOL: programmu teksti angļu valodai līdzīgā valodā ALGOL: valoda ar bloku struktūru PASCAL: vienkārša valoda C++: lielāka abstrakcijas iespēja, saglabājot C efektivitāti un savietojamību ar C. 14. 12. 2011 Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Raksturīgās īpašības l l l l l 14. 12.

Programmēšanas valodu klasifikācija un lietojumsfēra Raksturīgās īpašības l l l l l 14. 12. 2011 7 Efektivitāte Jauda Līmenis Drošums Lasāmība Pilnība Elastīgums Vienkāršums Pārnesamība Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Klasifikācija l l 14. 12. 2011 8 Piesaiste datora

Programmēšanas valodu klasifikācija un lietojumsfēra Klasifikācija l l 14. 12. 2011 8 Piesaiste datora struktūrai Lietojumsfēra vai programmēšanas paradigmas Programmēšanas valodas

Klasifikācija Atkarībā no piesaistes datora struktūrai 9 Programmēšanas valodas Mašīnneatkarīgas valodas Mašīnatkarīgas valodas Augsta

Klasifikācija Atkarībā no piesaistes datora struktūrai 9 Programmēšanas valodas Mašīnneatkarīgas valodas Mašīnatkarīgas valodas Augsta līmeņa valodas Zema līmeņa valodas Fundamentālās valodas Strukturētās valodas Fortran, Cobol Algol, Basic PL/1, Ada Pascal, C 14. 12. 2011 Mašīnkodi Asambleri Specializētās valodas APL, Forth Lisp, Snobol Programmēšanas valodas

Atkarībā no piesaistes datora struktūrai Mašīnatkarīgas valodas l Mašīnatkarīga valoda ir programmēšanas valoda, kas

Atkarībā no piesaistes datora struktūrai Mašīnatkarīgas valodas l Mašīnatkarīga valoda ir programmēšanas valoda, kas atkarīga no konkrēta datora īpatnībām l Mašīnvaloda (Mašīnkods) l l programmēšanas valoda, kuras komandas tieši sakrīt ar datora izpildāmajām operācijām Asamblervaloda l 14. 12. 2011 10 programmēšanas valoda, kuras komandu struktūru nosaka mašīnvalodas komandu un datu formāti, kā arī datora arhitektūra Programmēšanas valodas 10

Atkarībā no piesaistes datora struktūrai Mašīnatkarīgas valodas 11 Mašīnvalodas (Mašīnkoda) piemērs Operāciju specificēšana: Saskaitīt

Atkarībā no piesaistes datora struktūrai Mašīnatkarīgas valodas 11 Mašīnvalodas (Mašīnkoda) piemērs Operāciju specificēšana: Saskaitīt reģistrus 1 un 2 un ierkstīt rezultātu reģistrā 6: Asemblervalodas piemērs 14. 12. 2011 Programmēšanas valodas

Klasifikācija Atkarībā no piesaistes datora struktūrai 12 Programmēšanas valodas Mašīnneatkarīgas valodas Mašīnatkarīgas valodas Augsta

Klasifikācija Atkarībā no piesaistes datora struktūrai 12 Programmēšanas valodas Mašīnneatkarīgas valodas Mašīnatkarīgas valodas Augsta līmeņa valodas Zema līmeņa valodas Fundamentālās valodas Strukturētās valodas Fortran, Cobol Algol, Basic PL/1, Ada Pascal, C 14. 12. 2011 Mašīnkodi Asambleri Specializētās valodas APL, Forth Lisp, Snobol Programmēšanas valodas

Atkarībā no piesaistes datora struktūrai Mašīnneatkarīgas valodas l Mašīnneatkarīga valoda ir programmēšanas valoda, kuras

Atkarībā no piesaistes datora struktūrai Mašīnneatkarīgas valodas l Mašīnneatkarīga valoda ir programmēšanas valoda, kuras struktūra un izmantojamie līdzekļi nav saistīti ar vienu konkrētu datoru l Augsta līmeņa valoda ir datorneatkarīga programmēšanas valoda, kas ir tuva dabīgai valodai l Fundamentālās valodas § l l lielas programmu bibliotēkas, plašs pielietojums Strukturētās valodas § strukturētās loģiskas konstrukcijas, stingras procedurālās un datu struktūru prasības Specializētās valodas § 14. 12. 2011 13 neparastas sintakses formas, ierobežots pielietojums Programmēšanas valodas 13

Atkarībā no piesaistes datora struktūrai Mašīnneatkarīgas valodas l 14 Dažādas sintakses, vienāda semantika: Java

Atkarībā no piesaistes datora struktūrai Mašīnneatkarīgas valodas l 14 Dažādas sintakses, vienāda semantika: Java ADA Visual Basic Pascal Izvadā: Hello world! 14. 12. 2011 Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Klasifikācija l l 14. 12. 2011 15 Piesaiste datora

Programmēšanas valodu klasifikācija un lietojumsfēra Klasifikācija l l 14. 12. 2011 15 Piesaiste datora struktūrai Lietojumsfēra vai programmēšanas paradigmas Programmēšanas valodas

Klasifikācija Atkarībā no lietojumsfēras 16 Programmēšanas valodas Universālās* Zinātniskie un inženiertehniskie aprēķini Problēmorientētās Teksta

Klasifikācija Atkarībā no lietojumsfēras 16 Programmēšanas valodas Universālās* Zinātniskie un inženiertehniskie aprēķini Problēmorientētās Teksta informācijas apstrāde *ALGOL, *SNOBOL, C, *FORTRAN, C++, *PL/1, *PASCAL, *MODULA, *C, Modula C++ 14. 12. 2011 Ekonomiskie aprēķini Iesācējiem un datorizētās apmācības sistēmas *COBOL, FACT, GECOM, BASIC, PILOT, RĪGA, KONTAKT, COMAL, LOGO, RAPIRA Programmēšanas valodas

Klasifikācija Atkarībā no lietojumsfēras (turpinājums) 17 Problēmorientētās 14. 12. 2011 Darbs ar DBVS Modelēšana

Klasifikācija Atkarībā no lietojumsfēras (turpinājums) 17 Problēmorientētās 14. 12. 2011 Darbs ar DBVS Modelēšana Specifikācijas valoda d. Base, Fox. Pro, PAL, ACCESS, ORACLE, My. SQL SIMULA, CSL, GPSS, SIMKOM, SIMPAK, BOSS ESTELLE, LOTOS, Clear, GRAPE/Plus Mākslīgā intelekta uzdevumi PROLOG, POP-2, LISP, PLANER Programmēšanas valodas 17

Klasifikācija Atkarībā no lietojumsfēras (turpinājums) 18 Problēmorientētās Objektorientētās C++, PASCAL, Simula, Quest, Objective C

Klasifikācija Atkarībā no lietojumsfēras (turpinājums) 18 Problēmorientētās Objektorientētās C++, PASCAL, Simula, Quest, Objective C 14. 12. 2011 Sistēmprogrammēšana Reālā laika sistēmas PL/1, PL/M, C, C++, FORTH, CPL, BCPL, Modula, ADA CHILL, PL/M, ADA, C, C++ Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Klasifikācija l l 14. 12. 2011 19 Piesaiste datora

Programmēšanas valodu klasifikācija un lietojumsfēra Klasifikācija l l 14. 12. 2011 19 Piesaiste datora struktūrai Lietojumsfēra vai programmēšanas paradigmas Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Atkarībā programmēšanas paradigmas Imperatīvā programmēšana Objektorientētā programmēšana Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Atkarībā programmēšanas paradigmas Imperatīvā programmēšana Objektorientētā programmēšana Programmēšanas valodas Funkcionālā programmēšana Vizuālā programmēšana Skriptu programmēšana 20 Loģiskā programmēšana Paralēlā programmēšana Marķējuma valodas No: K. Čerāns, LU bakalaura programmas kursa “Programmēšanas valodas" lekciju materiāli, LU, 2006. 14. 12. 2011 Programmēšanas valodas 20

Programmēšanas valodu klasifikācija un lietojumsfēra Imperatīvā programmēšana 21 Valodas: PASCAL, BASIC, C, FORTRAN, PL/I,

Programmēšanas valodu klasifikācija un lietojumsfēra Imperatīvā programmēšana 21 Valodas: PASCAL, BASIC, C, FORTRAN, PL/I, u. c. l vēsturiski veidojies kā pirmais no programmēšanas veidiem l l imitē datorā pieejamās operācijas atbilst datora arhitektoniskajai organizācijai: l viens centrālais procesors pēc kārtas izpilda instrukcijas ar datiem, kas glabājas atmiņā (sk. von Neumann mašīna) l programmas modelis: apgabals datora atmiņā datu glabāšanai l vārdi mainīgajiem (datu apgabala komponentēm) l piešķiršana: darba gaitā maina “vērtību” mainīgajam l vadības plūsma: if-then-else, while, go to, . . . l ievada / izvada operācijas kopējā operāciju secībā l apakšprogrammas, parametri l Strikta secība instrukciju izpildei l l No: [3] 14. 12. 2011 Īsumā: Valoda nodrošina operatorus (piemēram, piešķires operatorus), kuri tieši maina datora atmiņas stāvokli. ierobežo iespējas norādīt, ka kādas darbības būtu veicamas paralēli (vienlaicīgi attiecībā uz vairākām datu komponentēm), vai arī kādu darbību izpildei secība nav svarīga. Iespēja mainīt “mainīgā” vērtību neļauj izmantot intuīciju par mainīgo, kas nāk no matemātikas, kur mainīgais apzīmē patvaļīgu, bet vienu un fiksētu vērtību. Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Atkarībā programmēšanas paradigmas Imperatīvā programmēšana Objektorientētā programmēšana Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Atkarībā programmēšanas paradigmas Imperatīvā programmēšana Objektorientētā programmēšana Programmēšanas valodas Funkcionālā programmēšana Vizuālā programmēšana Skriptu programmēšana 22 Loģiskā programmēšana Paralēlā programmēšana Marķējuma valodas No: K. Čerāns, LU bakalaura programmas kursa “Programmēšanas valodas" lekciju materiāli, LU, 2006. 14. 12. 2011 Programmēšanas valodas 22

Programmēšanas valodu klasifikācija un lietojumsfēra Funkcionālā programmēšana 23 Valodas: ML, LISP, SCHEME, HASKELL, MIRANDA,

Programmēšanas valodu klasifikācija un lietojumsfēra Funkcionālā programmēšana 23 Valodas: ML, LISP, SCHEME, HASKELL, MIRANDA, u. c. l programma ir funkcija, izeja = f ( ieeja ); l programmas izpilde - dotas funkcijas pielietošana zināmai vērtībai; funkcionālas valodas – aplikatīvas valodas (angl. application) l valodas galvenais mehānisms - funkcijas izsaukums: parametru nodošana funkcijai, funkcijas vērtības aprēķināšana, rezultāta iegūšana no funkcijas l mainīgie (kā matemātikā), konstantes, operācijas l funkciju kompozīcija – pamata strukturizācijas mehānisms l zarošanās iespējas funkcijas izpildē, rekursija fun fac n = if n = 0 then 1 else n * fac (n-1) l augstākas kārtas funkcijas (funkcija, kuras arguments arī ir funkcija), funkcijas kā “pirmās šķiras objekti” programmēšanas valodā. l “blakus efekti” funkcijām (piemēram ievads / izvads) Īsumā: Skaitļošana tiek veikta matemātisko funkciju aprēķināšanas veidā. Funkcionālā programmēšana (tīrā veidā): nav piešķiršanas operatora, nav ciklu, utt. Pastāv iespējas programmēt funkcionālā stilā arī atsevišķās imperatīvās programmēšanas valodās. No: [3] 14. 12. 2011 Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Atkarībā programmēšanas paradigmas Imperatīvā programmēšana Objektorientētā programmēšana Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Atkarībā programmēšanas paradigmas Imperatīvā programmēšana Objektorientētā programmēšana Programmēšanas valodas Funkcionālā programmēšana Vizuālā programmēšana Skriptu programmēšana 24 Loģiskā programmēšana Paralēlā programmēšana Marķējuma valodas No: K. Čerāns, LU bakalaura programmas kursa “Programmēšanas valodas" lekciju materiāli, LU, 2006. 14. 12. 2011 Programmēšanas valodas 24

Programmēšanas valodu klasifikācija un lietojumsfēra Loģiskā programmēšana 25 Valodas: PROLOG, arī CLP, OBJ 3,

Programmēšanas valodu klasifikācija un lietojumsfēra Loģiskā programmēšana 25 Valodas: PROLOG, arī CLP, OBJ 3, u. c. ): • • No: [3] 14. 12. 2011 Programma – zināšanu bāze, apgalvojumi par to, kas ir zināms par iegūstamo rezultātu (par problēmu apgabalu, kas ietver sevī ziņas par šo rezultātu). tēvs(jānis, māris) “Jānis ir tēvs Mārim” tēvs(māris, juris) vectēvs(A, B) : - tēvs(A, C), tēvs(C, B) “A ir vectēvs B, ja A ir tēvs C un C ir tēvs B” ? - vectēvs(jānis, X) “Kam Jānis ir vectēvs? ” ? - vectēvs(X, juris) “Kas ir vectēvs Jurim? ” PROLOG programma - zināšanu bāze (p 1, p 2, …, pn) un mērķa predikāts ~q PROLOG programmas uzdevums: atrast X vērtību (vērtības), ar kurām q(X) ir patiess iespējama vienas programmas izpilde “dažādos virzienos” PROLOG programmas izpilde: loģisko seku meklēšana no zināšanām dotajā bāzē, plus iespējas organizēt / ierobežot meklēšanas procesu, konstrukcijas, kas izskaidrojamas tikai meklēšanas stratēģijas terminos; PROLOG interpretatora pamata mehānismi: termu salīdzināšana / unifikācija, rezolūciju metode Izmantota mākslīgā intelekta (AI) aplikācijās un prototipēšanā, kopumā ierobežoti lietojumi Īsumā: Skaitļošana tiek izteikta, izmantojot matemātisko loģiku. Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Atkarībā programmēšanas paradigmas Imperatīvā programmēšana Objektorientētā programmēšana Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Atkarībā programmēšanas paradigmas Imperatīvā programmēšana Objektorientētā programmēšana Programmēšanas valodas Funkcionālā programmēšana Vizuālā programmēšana Skriptu programmēšana 26 Loģiskā programmēšana Paralēlā programmēšana Marķējuma valodas No: K. Čerāns, LU bakalaura programmas kursa “Programmēšanas valodas" lekciju materiāli, LU, 2006. 14. 12. 2011 Programmēšanas valodas 26

Programmēšanas valodu klasifikācija un lietojumsfēra Objektorientēta programmēšana 27 Valodas: C++, Eiffel, Smalltalk, JAVA, u.

Programmēšanas valodu klasifikācija un lietojumsfēra Objektorientēta programmēšana 27 Valodas: C++, Eiffel, Smalltalk, JAVA, u. c. • Mūsdienās viena no visnozīmīgākajām, plašāk lietotajām programmēšanas paradigmām • Objekta jēdziens: datu (atmiņas šūnu) kopums strukturizēts kopā ar operācijām, kas var mainīt vērtības šajās šūnās • Klases jēdziens: • objekti ar vienāda veida īpašībām tiek grupēti klasēs; • īpašības: atribūti, metodes • Objekts – klases instance, iespēja dinamiski radīt objektu programmas izpildes gaitā • Klašu hierarhija: Mantošana, virtuālās funkcijas, u. c. ; veicina programmatūras koda atkārtotas izmantošanas iespēju • Papildina iepriekš aplūkotās paradigmas Īsumā: Ar datu struktūrām, kas tiek sauktas par objektiem, tiek asociēta konkrēta 14. 12. 2011 uzvedība, objekti pieder klasēm, kas parasti ir struktūrētas hierarhijās. Programmēšanas valodas No: [3]

Programmēšanas valodu klasifikācija un lietojumsfēra Atkarībā programmēšanas paradigmas Imperatīvā programmēšana Objektorientētā programmēšana Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Atkarībā programmēšanas paradigmas Imperatīvā programmēšana Objektorientētā programmēšana Programmēšanas valodas Funkcionālā programmēšana Vizuālā programmēšana Skriptu programmēšana 28 Loģiskā programmēšana Paralēlā programmēšana Marķējuma valodas No: K. Čerāns, LU bakalaura programmas kursa “Programmēšanas valodas" lekciju materiāli, LU, 2006. 14. 12. 2011 Programmēšanas valodas 28

Programmēšanas valodu klasifikācija un lietojumsfēra Paralēlā programmēšana 29 Valodas: ADA, JAVA, Concurrent ML u.

Programmēšanas valodu klasifikācija un lietojumsfēra Paralēlā programmēšana 29 Valodas: ADA, JAVA, Concurrent ML u. c. ; principi: CCS, CSP, LOTOS l process – atsevišķa programmas (sistēmas) komponente ar savu vadības (darbību izpildes, aktivitāšu, u. taml. ) plūsmu l paralēla programma – programma, kurā vienlaicīgi (paralēli) darbojas vairāki procesi (pavedieni): l vienā programmā vairāki procesi l procesu (programmas daļu) paralēla izpilde l informācijas apmaiņa (kopējs atmiņas apgabals / kopēji mainīgie, sinhronizācija, ziņojumu apmaiņa) l fiziskais un / vai loģiskais paralēlisms l ADA: Task-i, JAVA: pavedieni (threads) No: [3] 14. 12. 2011 Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Atkarībā programmēšanas paradigmas Imperatīvā programmēšana Objektorientētā programmēšana Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Atkarībā programmēšanas paradigmas Imperatīvā programmēšana Objektorientētā programmēšana Programmēšanas valodas Funkcionālā programmēšana Vizuālā programmēšana Skriptu programmēšana 30 Loģiskā programmēšana Paralēlā programmēšana Marķējuma valodas No: K. Čerāns, LU bakalaura programmas kursa “Programmēšanas valodas" lekciju materiāli, LU, 2006. 14. 12. 2011 Programmēšanas valodas 30

Programmēšanas valodu klasifikācija un lietojumsfēra Citas paradigmas 31 Vizuālā programmēšana: Visual BASIC, Visual C++,

Programmēšanas valodu klasifikācija un lietojumsfēra Citas paradigmas 31 Vizuālā programmēšana: Visual BASIC, Visual C++, C# u. c. l vizuālie objekti un to klases l lietotāja saskarne un datu ievads caur formām un vizuālām kontrolēm l procedūru izpilde, reaģējot uz notikumiem l saistītas ar konkrētām programmatūras izstrādes vidēm Skriptu programmēšana: Perl, Java. Script, Tcl, PHP, u. c. l iekļauj programmās utilītas, bibliotēkas, operāciju sistēmas komandas l plaši lietotas tīmekļa aplikācijās Marķējuma valodas: HTML, XML, SGML, CSS u. c. l plaši lietotas tīmekļa lappušu nodrošināšanā l pieaugoši citi lietojumi No: [3] 14. 12. 2011 Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Populārākās programmēšanas valodas šobrīd 32 No: [4] 14. 12.

Programmēšanas valodu klasifikācija un lietojumsfēra Populārākās programmēšanas valodas šobrīd 32 No: [4] 14. 12. 2011 Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Programmēšanas valodu nākotne? 33 1960. gadu programmētāju sapnis -

Programmēšanas valodu klasifikācija un lietojumsfēra Programmēšanas valodu nākotne? 33 1960. gadu programmētāju sapnis - “universāla” programmēšanas valoda visiem dzīves gadījumiem. Mēģinājums to uzbūvēt: PL/1, cieta neveiksmi. Sapnis 1970. /80. gados - izveidot specifikāciju valodu, aprakstīt tajā vēlamo rezultātu, lai sistēma pati atrod veidu, kā izveidot implementāciju un sasniegt risinājumu. Programmēšanas automatizācijas (t. sk. automātiska koda ģenerēšanas) jomā ir sasniegumi, bet tie ir ļoti tāli no tā, lai programmēšanu padarītu nevajadzīgu. Programmēšanas nepieciešamība mūsdienās: ļoti plaša, no asemblera valodas, līdz pat specifikāciju valodām. Arī attīstoties datoriem, prasības uz programmām arvien pieaug, t. sk. vajadzīgs nodrošināt koda portēšanas un atkārtotas lietošanas iespējas, vajadzīgas sistēmas, kas uzlabo programmētāja darba produktivitāti. Tehnoloģijas attīstās, un programmēšanas valodām jāattīstās līdzi. … … 14. 12. 2011 Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Programmēšanas valodu nākotne? (turpinājums) l Vizuālā programmēšana un vizuālās

Programmēšanas valodu klasifikācija un lietojumsfēra Programmēšanas valodu nākotne? (turpinājums) l Vizuālā programmēšana un vizuālās programmēšanas valoda l l ļauj izstrādāt programmu, strādājot ar programmas elementiem nevis teksta veidā, bet - grafiski Modernās un tīmekļa tehnoloģijas: l 14. 12. 2011 34 Planšetdatori, viedtālruņi u. c. Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Programmēšanas valodu nākotne? (turpinājums) l Piemēri vizuālajām programmēšanas valodu

Programmēšanas valodu klasifikācija un lietojumsfēra Programmēšanas valodu nākotne? (turpinājums) l Piemēri vizuālajām programmēšanas valodu izstrādes vidēm: l l 14. 12. 2011 35 Illumination Software Creator [saite] Max – darbam ar multimēdiju informāciju Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Programmēšanas valodu nākotne? (turpinājums) l Piemēri vizuālajām programmēšanas valodu

Programmēšanas valodu klasifikācija un lietojumsfēra Programmēšanas valodu nākotne? (turpinājums) l Piemēri vizuālajām programmēšanas valodu izstrādes vidēm: l l Scratch – MIT projekts [saite] Kodu – Xbox spēļu izstrādei Scratch 14. 12. 2011 36 Kodu Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Nākošajā semestrī l l 14. 12. 2011 37 C

Programmēšanas valodu klasifikācija un lietojumsfēra Nākošajā semestrī l l 14. 12. 2011 37 C Asamblers Prolog Lisp Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra 38 l l 14. 12. 2011 Paldies par uzmanību!

Programmēšanas valodu klasifikācija un lietojumsfēra 38 l l 14. 12. 2011 Paldies par uzmanību! Jautājumi? Programmēšanas valodas

Programmēšanas valodu klasifikācija un lietojumsfēra Izmantotie resursi 39 1. R. Zaks, Introduction to Pascal:

Programmēšanas valodu klasifikācija un lietojumsfēra Izmantotie resursi 39 1. R. Zaks, Introduction to Pascal: Including Turbo Pascal, 2 nd ed. , Sybex, 1986, p. 464. 2. J. Bule, RTK kursa “Programmēšanas valodas" lekciju materiāli, RTK, 2010. 3. K. Čerāns, LU bakalaura programmas kursa “Programmēšanas valodas" lekciju materiāli, LU, 2006. 4. TIOBE software indekss: saite 14. 12. 2011 Programmēšanas valodas