Programme - PowerPoint PPT Presentation

About This Presentation
Title:

Programme

Description:

Title: Programm anas valodas Author: Karlis Cerans Last modified by: Karlis Cerans Created Date: 2/4/2002 9:34:06 AM Document presentation format – PowerPoint PPT presentation

Number of Views:57
Avg rating:3.0/5.0
Slides: 24
Provided by: Karlis2
Category:

less

Transcript and Presenter's Notes

Title: Programme


1
Programmešanas valodas vesture, izstrades
principi
  • Programmešanas valodas

2
Programmešanas valodas ieskats vesture
  • Programmešanas valodas orientejoši vesturiskie
    periodi
  • Priekšvesture (agrina vesture) pirms 1950.g
    Ada Lavleisa (1830), datoru veidošanas posms
    (no 1930.g)
  • Pirmas augsta limena programmešanas valodas
    (1950-tie gadi), FORTRAN, COBOL, ALGOL, LISP
  • 1960-tie gadi programmešanas valodu eksplozija
  • 1970-tie gadi vienkaršiba, abstrakcija,
    petnieciba
  • 1980-tie gadi Objektorientacijas eras aizsakums,
    citi jauni virzieni
  • 1990-tie gadi nedaudzas jaunas plaša profila
    valodas, cina par ietekmi Internets, valodu
    biblioteku attistiba
  • Tagadne un nakotne - ?
  • Iespejams tikai ieskats, jo programmešanas valodu
    klasts arkartigi plašs un bagatigs.

3
Programmešanas valodas Agrina vesture
  • 1830 Carlza Bebidža (Charles Babbage)
    analitiska mašina programmas sastaveja no
    kartinam, uz kuram kodeti dati un operacijas-
    Mašina fiziski netika pabeigta, bet ir
    parlieciba, ka, ja ta butu pabeigta, tad ta butu
    stradajusi.- Ada Lavleisa (Lovelace)
    rakstijusi programmas Analitiskajai mašinai,
    pasaule pirma programmetaja
  • 1936 Tjuringa mašinas (galigs automats,
    bezgaliga lenta) - Cerca teze visi algoritmi
    realizejami ar TM, - iespejams pieradit teoremas
    par algoritmu neiespejamibu- Universala Tjuringa
    mašina ideja par programmas koda glabašanu
    datora (mašinas) atmina
  • 1936 ?-rekini (x, ?x.M, M N, redukcija)
    Tjuringa mašinu analogs funkcionala stila
  • 1948 von Neumann mašina, mašinu kodi ar absoluto
    adresaciju, reali uzbuveta mašina, iespejams
    programmetSakas reala programmešanas valodu
    vesture.
  • 1949 Kodešanas valodas Short Code, Speedcoding,
    UNIVAC A-0, A-1, A-2

4
Pirmas augsta limena PV (1950-tie gadi)
  • 1956 FORTRAN revolucija augsta limena
    programmešanas valodu attistiba, orienteta uz
    konkretu datoru IBM 704
  • simboliski vardi mainigajiem (mainiga varda
    pirmais burts nosaka mainiga tipu).
  • zarošanas operators IF a-exp N1, N2, N3
  • cikla operators DO N1, xn1,n2
  • FORTRAN II (1958) - neatkariga kompilacija,
    noverstas kludas
  • FORTRAN talaka attistiba FORTRAN 77 - simbolu
    virknes, IF-THEN-ELSE FORTRAN 90 - f-jas
    masiviem, pointeri, dinamiska atmina, rekursija,
  • ALGOL 58 datu tipi, deklaracijas, gari mainigo
    vardi, , ieklautie IF, FOR
  • ALGOL 60 begin-end ar lokalajiem mainigajiem,
    rekursija, dinamiskie masiviTeoretiska valoda,
    pamats ALGOL 68, BASIC, PL/I, C, PASCAL, ADA, C
  • 1960 COBOL, Computerizing Business Records ADD
    X Y GIVING Z
  • 1960 LISP, AI aplikacijas, programma un dati -
    viss ir saraksts, iekavu izteiksme (A (B C) D
    (E (F G))) velak SCHEME, COMMON LISP

5
Programmešanas valodas 1960-tie gadi
  • Daudzas valodas konkretiem merkiem
  • Universalitates ideja PL/I (1965) domata
    jaunajiem IBM 360 sistemas datoriem, iecere
    piedavat visu labako no FORTRAN, COBOL, ALGOL,
    plus paralelisma konstrukcijas un iznemuma
    situaciju apstradi, projekts neveiksmigs
    kompilatorus gruti uzrakstit, tie leni, valodu
    gruti lietot
  • ALGOL 68 valoda ar attistitu un konceptuali
    pilnigu strukturu, tipu sistemu, u.c. Diemžel
    ari nelietojama lietota jauna, citiem
    nesaprotama, terminologija, lai šis valodas
    dizainu aprakstitu.
  • SNOBOL virknu apstrades valoda, specigi šablonu
    atbilstibas lidzekli (SNOBOL4)
  • SIMULA - 67 K.Nygaard, O.-J. Dahl, ieklauj ALGOL
    60, bagatina to ar klases ideju (sapakoti dati
    operacijas). Izstradata ar merki aprakstit
    simulacijas uzdevumus. Pirma objektorienteta
    programmešanas valoda 1967.g.
  • BASIC (1964) iesacejiem draudziga. Radita ka
    vienkarša valoda ta laika uzdevumu risinašanai,
    pec tam adapteta personalajos datoros, plaši
    izmantota izglitiba (skolas). BASIC valodu
    saime ANSI BASIC minimalais BASIC. QuickBASIC
    (1989), Visual BASIC(1991), u.c.

6
Programmešanas valodas 1970-tie gadi
  • PASCAL (1971) neliela, vienkarša, efektiva
    struktureta valoda, balstita uz ALGOL 60.
    value-result parametri, CASE, lietotaja datu
    tipi, RECORD. Nav mainiga garuma masivi ka
    parametri, atseviška kompilacijaDialekti
    TurboPASCAL. 90-jos gados popularitate samazinas
  • C (1972) videji augsta limena valoda (augsta
    limena vadibas konstrukcijas plus pieeja datu
    reprezentacijai), viegli uztveramas
    konstrukcijas, UNIX sistemas valoda. Atvieglota
    tipu kontrole. C popularitati veicinaja UNIX
    sistemas liela popularitate.
  • PASCAL un C neievieš daudz jaunus programmešanas
    valodu jedzienus. To veiksme vienkaršiba,
    konsistence, ertums lietošana.
  • CLU klasteru (cluster) mehanisms abstrakto
    datu tipu uzdošanai.
  • PROLOG Logiska programmešana. Rezoluciju metode
    1965.g, interpretators 1974, AI, dažas datu bazu
    sistemas, idejas loti interesantas, kopuma tomer
    samera ierobežoti lietojumi.

7
Programmešanas valodas 1980-tie gadi (1)
  • Valodas ar abstrakto datu tipu mehanismiem ADA,
    MODULA-2.
  • ADA ASV Aizsardzibas Departamenta pasutijums
    (ADA-83, velak ADA-95).- abstrakto datu tipu
    mehanisms (pakotnes)- paralelas izpildes
    apraksta mehanisms (task-i)- loti rupigs
    dizains, bet ASV Aizsardzibas Departamenta velme
    paturet kontroli par to, ka ari valodas apjoms un
    sarežgitiba lieguši tai loti plašu izplatibu
  • MODULA-2 balstita uz PASCAL, ietver modulu
    mehanismu. Vienkarša valoda, bet ierobežots ADT
    atbalsts, nav iznemuma situaciju mehanismu
    popularitate samazinajusies.
  • Objekt-orienteta programmešana Smalltalk, C.
  • Smalltalk tira objektorienteta valoda, veidota
    kopa ar pilnigu datora lietotaja saskarni
    specializeta uz noteiktam operaciju sistemam.
  • C Veidota, lai nopietnam programmetajam
    programmešanas darbs butu baudamaks, sakuma C
    paplašinašana ar klases ideju no Simula-67. Plaša
    valoda, gruti implementejama, gruti saprotama
    visa pilniba. Daudz biblioteku. ISO standarts
    1998.gada.
  • Citas objektorientetas valodas Objective C,
    Object Pascal, Modula-3, Oberon, Eiffel.

8
Programmešanas valodas 1980-tie gadi (2)
  • 1980.gadi ari funkcionalas programmešanas
    attistiba
  • SCHEME (valodas LISP variants), ML paradijušas
    jau 1970.-to gadu beigas.
  • SCHEME popularitati iegust ar gramatas
    publikaciju 1985.gada. SCHEME LISP variants,
    kas tuvaks ? - rekiniem.
  • ML sintakse daudz tuvaka PASCAL valodai, neka
    citam funkcionalam valodam nopietna tipu
    sistema, daudz specigaka, neka PASCAL (ne tikai
    tipu parbaudes, bet ari tipu konstruešanas
    sistema)
  • Cita funkcionala valoda MIRANDA 1985-86.g.
  • Logiska programmešana
  • Pakapeniski paradas efektivas valodas PROLOG
    implementacijas.
  • 1980.gadu vidu PROLOG tika izvelets ka galvena
    valoda piektas paaudzes sistemam Japana. Pec ši
    projekta beigam interese par valodu mazinajusies.
  • Interesanti paplašinajumi PROLOG IV, PARLOG.

9
Programmešanas valodas 1990-tie gadi (1)
  • Attistibas faktori PC attistiba, Internet
    timekla pieejamiba (Mosaic parlukprogramma
    1993.gada). Milziga tirgus atveršanas.
  • C popularaka objektorienteta valoda 90.gadu
    sakuma.
  • 1995.gads valoda JAVA. Sun Microsystems veica
    plašu kampanu valodas JAVA reklamai. JAVA
    relativi vienkarša, viegli parnesama (portejama),
    plaša biblioteku sistema logu parvaldibai,
    darbibai tikla un paralelai programmu izpildei.
  • JAVA lietojumi auguši loti strauji. Nakotne
    paliek jautajumi
  • JAVA aplikacijas, kas izpildamas uz viena datora,
    ir butiski lenakas, neka tas, kas veidotas ar C
  • SUN Microsystems pastav uz savam ipašuma tiesibam
    uz JAVA, maz ticams, ka nakotne varetu paradities
    neatkarigi ISO vai ANSI standarti
  • Tomer škiet, ka JAVA nakotne tikla aplikacijas
    un izglitiba jau ir nodrošinata.
  • Citas valodas

10
Programmešanas valodas 1990-tie gadi (2)
  • C un JAVA nav divas vienigas programmešanas
    valodas 1990-tajos gados.
  • HASKELL tiri funkcionala valoda, lidziga ML un
    MIRANDA, ar jaunam ipašibam (aizturetas izpildes
    paradigma, monades ka I/O mehanisms, u.c.), labu
    realizaciju un augošam biblioteku iespejam.
  • Vienkaršakas lidzigas valodas GOFER un HUGS tiek
    plaši lietotas izglitiba un mazakam aplikacijam.
  • ADA 95 ADA 83 papildinajums, ieklaujot papildus
    iespejas, t.sk. jaunas iespejas objektorientetai
    programmešanai un paralelai programmu izpildei.
    ADA 95 izstrade ir nemta vera ADA 83 lietošanas
    pieredze, ka ari notikusi OOP revolucija.
  • Biblioteku attistiba programmešanas valodas.
    Vesturiski bibliotekam pakartota nozime (PASCAL
    vispar nebija biblioteku). Musdienas
    nepieciešama plaša biblioteku sistema, kas
    neatkariga no platformas, labi integreta valoda.
    JAVA panakumiem butiska JAVA API (Application
    Program Interface), kas butiba ir biblioteku
    sistema. HASKELL, ADA95 labas biblioteku
    sistemas.
  • Skriptešanas valodu attistiba AWK, Perl,
    JavaScript, Rexx, Python, u.c.

11
Programmešanas valodas nakotne?
  • 1960.gadu programmetaju sapnis universala
    programmešanas valoda visiem dzives gadijumiem.
    Meginajums to uzbuvet PL/1, cieta neveiksmi.
  • Sapnis 1970./80. gados izveidot specifikaciju
    valodu, aprakstit taja velamo rezultatu, lai
    sistema pati atrod veidu, ka izveidot
    implementaciju un sasniegt risinajumu.
  • Programmešanas automatizacijas (t.sk. automatiska
    koda generešanas) joma ir sasniegumi, bet tie ir
    loti tali no ta, lai programmešanu padaritu
    nevajadzigu.
  • Programmešanas nepieciešamiba musdienas loti
    plaša, no asemblera valodas, lidz pat
    specifikaciju valodam.
  • Ari attistoties datoriem, prasibas uz programmam
    arvien pieaug, t.sk. vajadzigs nodrošinat koda
    portešanas un atkartotas lietošanas iespejas,
    vajadzigas sistemas, kas uzlabo programmetaja
    darba produktivitati.
  • Tehnologijas attistas, un programmešanas valodam
    jaattistas lidzi.

12
PV izstrades principi ievads
  • Pamata prasibas (1) iespeja (efektivi)
    izpildit uz datora un (2) lasamiba cilvekam
  • ir sava starpa konfliktejošas.
  • Musdienu programmešanas valodu izstrade akcente
    lasamibu cilvekam, piemerotu (ertu) abstrakciju
    sistemu, veidus, ka parvaldit sarežgitibu.
  • Laba vai ne tik laba valoda to nosaka ne tikai
    valoda pati. Loti dažadi faktoriC ieguva
    popularitati UNIX sistemas delCOBOL tiek
    uzturets tadel, ka taja uzrakstits daudz kodaADA
    ieguva ietekmi caur ASV Aizsardzibas
    DepartamentuJAVA ieguva popularitati Internet
    straujas izplatibas iespaida.
  • Dažadam PV dažadas pašu valodu ipašibas, kas
    nosaka (noteica) to popularitatiFORTRAN
    efektivitateCOBOL programmu teksti anglu
    valodai lidziga valodaALGOL valoda ar bloku
    strukturuPASCAL vienkarša valodaC lielaka
    abstrakcijas iespeja, saglabajot C efektivitati
    un savietojamibu ar C.
  • Svarigi sekot izveletajai dizaina filozofijai.
  • Programmešanas valodas dizains ari maksla,
    tapat, ka jebkurš cits dizains.

13
PV izstrades principi vesturiska skatijuma (1)
  • Programmešanas valodu attistibas sakuma
    galvenais kriterijs programmu izpildes
    efektivitate(Datori bija loti leni, tadel
    programmu atrdarbiba bija nepieciešamiba bez
    tam pastaveja ari izplatits uzskats, ka valodu
    translatori nespej radit efektivu kodu).
  • FORTRAN tieši šads pirmais merkis izpildes
    efektivitate. FORTRAN koda daudz lidzibas ar
    mašinas kodu, kuru nepieciešams generet.
  • Otrs merkis (merkis jebkurai augsta limena
    programmešanas valodai) iespeja erti (skaidri,
    precizi, isi) uzrakstit programmas, sakuma bija
    pakartots.
  • Nepieciešamiba programmas ari lasit cilvekam
    maz tika nemta vera.
  • COBOL, ALGOL 60 jau plašaki kriteriji, neka
    tikai efektivitate. ALGOL 60 bloku struktura
    atvieglo programmu rakstišanas uzdevumu.
  • Bez tam ALGOL 60 nem vera programmu lasamibu
    saprotot, ka programmešanas valoda ir ari
    lidzeklis komunikacijai starp cilvekiem.
  • COBOL meginaja uzlabot lasamibu, veidojot
    programmas tekstu lidzigu anglu valodas tekstam
    (šaja zina gan COBOL nevar uzskatit 100 par
    veiksmi).
  • 1960-tie gadi talaka izpratne par prasibam uz
    programmešanas valodam

14
PV izstrades principi vesturiska skatijuma (2)
  • 1960.-tie gadi
  • 1) Nepieciešamiba piedavat specigakus
    abstrakcijas mehanismus
  • 2) Nepieciešamiba samazinat likumu un
    ierobežojumu apjomu, kas programmetajam
    jaiemacas.
  • Abi šie principi izriet no nepieciešamibas
    atvieglot programmešanas darbu.
  • SIMULA 67 klases mehanisms
  • ALGOL 68 konstrukciju ortogonalitate
    iespejami maz ierobežojumu, kas rodas no dažadu
    valodas konstrukciju kompozicijas (mazak
    veiksmiga valoda). Problema valodas
    visparigums parak sarežgits, gruti apgustamas
    konstrukcijas.
  • 1970-tie un 1980-tie gadi vienkaršibas un
    abstrakcijas princips PASCAL, C, EUCLID, CLU,
    MODULA-2, ADA.

15
PV izstrades principi vesturiska skatijuma (3)
  • Meginajumi ari uzlabot programmu drošibu,
    ieviešot matematiskas definicijas valodu
    konstrukcijam un piedavajot valoda mehanismus,
    kas kompilatoram atlautu kompilacijas laika
    pieradit programmas pareizibu.
  • Diemžel pieradijuma sistemam ierobežota veiksme
    galvenokart tas sarežgitibas del, kas ar to
    saistita.
  • Stingra tipu sistema šodien kluvusi par
    standartu daudzas programmešanas valodas.
  • Valodu matematiskas precizitates paaugstinašana
    funkcionalas programmešanas attistiba, valodas
    ML, HASKELL.
  • Objektorientetas valodas izstrades merkis (1)
    abstrakcijas mehanisms, kas atbilst praktiskiem
    programmešanas uzdevumiem, (2) biblioteku
    izmantošana valodu izteiksmes spejas
    paplašinašanai, (3) objektorientetas metodes
    koda elastibas un atkartotas izmantošanas
    nodrošinašanai.
  • OO valodas visveiksmigakas pedejos 15 gados.

16
PV izstrades principi efektivitate
  • Programmešanas valodas efektivitate dažadi
    efektivitates veidi, nozime pavisam dažadas
    lietas
  • A. Efektivs izpildamais kods (saukts ari par
    optimizejamibu)Piemeri mainigie, kuru tipi
    nosakami pirms izpildes C klases konstrukcija,
    neprasa vairak resursus, ka C struct
  • B. Translacijas efektivitatePiemeram, vai
    valodai var uzrakstit translatoru, kas tekstu
    caurskata tikai vienreiz (C un PASCAL tas ir
    iespejams, jo visi mainigie jadeklare pirms
    lietošanas, C ši prasiba ir atcelta)Vai valoda
    nav prasibu, kuras ir kompilacijas laika loti
    gruti parbaudit?
  • C. Vai valodai viegli uzrakstit kompilatoru? Cik
    vienkarša ir pati valodas definicija?
  • D. Cik efektivs ir programmu izstrades process
    šaja valoda. Efektivitate šaja nozime klust
    sinonims izteiksmes spejai.Efektiva kodešana
    vieglak kodet, ja mainigos nav jadeklare. Tomer
    šada situacija cieš citas butiskas prasibas uz
    valodas dizainu.
  • E. Vel viens efektivitates veids programmešanas
    valodas drošiba (uzticamiba). Ja valoda nav
    droša, tad var but jatere daudz lidzekli, lai
    cinitos ar kludam programmas. Nav efektivitates
    no programmbuves izmaksu viedokla.

17
PV izstrades principi Regularitate (1)
  • Regularitate cik labi dažadas valodas ipašibas
    ir integretas.
  • Bieži regularitates prasibas grupe konkretakas
    prasibu kopas (1) visparigums, (2)
    ortogonalitate, (3) uniformitate.
  • Visparigums
  • Valoda ir vispariga, ja ta izvairas no specialiem
    gadijumiem konstrukciju pieejamibai
  • Piemeri (vispariguma nav/visparigums ir)
  • PASCAL ir ieklautas funkcijas un proceduras, tas
    var tikt nodotas ka parametri citam proceduram,
    bet PASCAL-a nav proceduru tipa mainigo
  • C nav iespejams definet ieklautas proceduras vai
    funkcijas (C toties pielauj proceduras ka
    parametrus, ka mainigos vai rezultejošas
    vertibas pointeri uz funkcijam).
  • PASCAL-a nav mainiga garuma masivu. C un ADA ir
    mainiga garuma masivi. FORTRAN ir iespejas nodot
    mainiga garuma masivus ka parametrus, bet nav
    iespejas definet datu tipu, kas atbilst mainiga
    garuma masivam.
  • C divas strukturas vai masivus nevar salidzinat,
    izmatojot vienadibu . C šis ierobežojums ir
    noversts.
  • Daudzam valodam nav iespeju paplašinat iebuveto
    operatoru (piemeram vai ) darbibu uz
    jauniem, lietotaja definetiem datu tipiem. Ir
    valodas (piemeram, Haskell), kuras lietotajs var
    pat definet jaunus operatorus.

18
PV izstrades principi Regularitate (2)
  • Ortogonalitate
  • Valodas konstrukcijas nedrikst uzvesties
    atškirigi dažados kontekstos
  • Masivus nevar salidzinat ar vienadibu (C) to
    var uzskatit ari par ortogonalitates problemu
  • PASCAL funkcijas rezultats var but tikai skalars
    tips
  • C, C funkcijas rezultats var but ar jebkuru
    tipu, iznemot masivu (masivi valodas C, C ir
    ipaša statusa) ADA, funkcionalas valodas šis
    problemas ir pamata noverstas
  • Parametru nodošana valoda C visi mainigie tiek
    nodoti apakšprogrammam pec vertibas, iznemot
    masivus, kas tiek nodoti pec adreses
  • Uniformitate
  • Valodas konstrukciju izskata koherence no
    lidziga izskata konstrukcijam tiek sagaidita
    lidziga uzvediba.
  • C semikolam jabut pec klases definicijas, bet
    semikols nedrikst but pec funkcijas definicijas.
  • Vertibu atgriešana funkcijas valoda PASCAL
    atgadina pieškiršanu f TRUE.

19
Neregularitates iemesli
  • Iemesli bieži vien vesturiski un citu dizaina
    apsverumu dikteti.
  • Semikola problema C velešanas atškirties no C
    tik maz, cik iespejams
  • Ierobežojumi uz funkcijam C un PASCAL
    vienkaršibas un implementacijas jautajums.
  • Regularitate ka merkis pats par sevi, pari visiem
    citiem merkiem ari var but bistams (piemers
    ALGOL 68 regularitate perfekti sasniegta, bet
    valoda nav lietojama).
  • Ari lasamibas un drošibas prasibas var tikt
    kompromitetas, ja uz dažam valodas konstrukcijam
    netiek uzlikti ierobežojumi. Piemers pointeri
    valoda C.
  • JAVA pointeri netiek piedavati, bet lidz ar to
    programmu izpildes vides kluvusi komplicetaka,
    mainigo vertibu maina var notikt nepatikamos
    veidos.

20
Talaki PV izstrades principi
  • Vienkaršiba PASCAL, C, u.c.
  • LISP, PROLOG tikai dažas valodas konstrukcijas,
    bet valodas nav vienkaršas
  • BASIC škietami vienkarša valoda, bet dažu
    konstrukciju trukums (deklaracijas, bloki) padara
    to gruti lietojami lielakos projektos
  • PASCAL parak vienkaršs nav labas simbolu virknu
    apstrades, atseviškas kompilacijas, labu i/o
    mehanismu
  • C labaks, bet vaja darbiba ar simbolu virknem,
    neskaidra tipu un operatoru sintakse, neparasta
    masivu apstrade, vaja tipu parbaude
  • Izteiksmes speja
  • Vieglums, ar kadu valoda var izteikt sarežgitus
    procesus un strukturas.
  • Izteiksmes speja konflikte ar vienkaršibu (LISP,
    PROLOG, u.c.)
  • Objekt-orienteta programmešana butiski uzlabo
    programmetaja speju rakstit kodu, kas atbilst
    vina dizainam.
  • Izteiksmes speja laba nozime uzlabo lasamibu.
  • Izteiksmes speja var but ari konflikta ar
    lasamibu while (s t) programma, kas
    kope vienu simbolu virkni uz otru.

21
Talaki PV izstrades principi (2)
  • Paplašinamiba
  • Iespeja lietotajam pievienot jaunas ipašibas
    valodai
  • Tipiska situacija neliels kodols iespeja
    lietotajam definet paplašinajumus
  • Daudzas valodas atlauj definet jaunus datu tipus,
    jaunas bibliotekas funkcijas
  • Imperativas valodas (ADA, u.c.) atlauj definet
    jaunus tipus un paplašinat uz tiem iebuvetos
    operatorus
  • ML, HASKELL iespeja lietotajam definet ari
    pašam savus operatorus.
  • Vienkaršiba bez paplašinamibas (vismaz biblioteku
    pievienošana, sadarbiba ar citu valodu
    programmam) valoda musdienas nevar but veiksmiga
  • Ierobežojamiba
  • Iespeja definet un izmantot valodas apakškopas.
  • Apakškopas vieglak izmantojamas, var but
    iespejas veidot efektivakas programmas.
  • Saskanotiba ar visparpienemtam notacijam
  • Svarigi izmantot jedzienus, kas ir de facto
    standarti.
  • Piemers if-then-else terminologija.
  • ALGOL 68 varda type vieta lietoja mode
  • FORTRAN DO 99 I 1.10 - ko dara ši
    programma?
  • Pieškir vertibu 1.1 mainigajam DO99I.

22
Talaki PV izstrades principi (3)
  • Precizitate
  • Vajadziga preciza valodas definicija. Garants ne
    tikai programmu drošibai un uzticamibai, bet ari
    valodas translatoru drošibai un uzticamibai.
  • Valodas definicija valodas izstradataja veidota
    rokasgramatavisparatzits standarts (ISO, ANSI),
    pastav valodam LISP, FORTRAN, ADA, PASCAL, COBOL,
    C, C
  • Neatkariba no konkreta datora
  • Veidot iebuvetos datu tipus, kas nav atkarigi no
    reprezentacijas uz konkreta datora. Reali
    fizikali ierobežojumi pastav. C standarta
    bibliotekas limits.h un float.h satur lokalizetas
    no datora reprezentacijas atkarigas definicijas.
  • ADA katram skaitliskam tipam tiek programma
    uzradita ari precizitate.
  • Drošiba
  • Veicina programmu izstrades veidu, kura kludas
    maz iespejamas, atlauj kludu identifikaciju
    iespejami agri.
  • Statiskas (pirms izpildes) tipu kontroles,
    mainigo deklaracijas prasiba.
  • Drošibas princips konflikte ar vienkaršibu un
    izteiksmes speju. Ka risinat?
  • Funkcionalas valodas, ML un HASKELL atlauj
    nedeklaret mainigos, bet spej veikt statisku tipu
    parbaudi.

23
Prasibas programmešanas valodai cits skatijums
  • Lasit, rakstit, izpildit, modificet, analizet,
    izmantot programmas
  • Bieži nosauktas vienkarša, viennozimiga,
    robusta, dabiska lietošana, laba izteiksmes
    speja, precizi defineta, piedava datu tipus,
    lietotaja datu strukturas, modulara,
    paplašinama, labs ievads un izvads, parnesamiba,
    efektivitate (izstrade, izpilde), kompakta,
    viegli apgustama, piemerota dažadam problemam,
    dokumenteta, laba izstrades vide, struktureta,
    objekt-orienteta, specialas bibliotekas, u.c.
  • Abstrakcija (iespeja apvienot lidzigas darbibas
    viena)
  • Automatizacija (vienmulam darbibam, kuras viegli
    kludities)
  • Strukturizacijas limeni
  • Informacijas paslepšana
  • Iezimes, kas atlauj informaciju pierakstit dažada
    seciba
  • Ortogonalitate (neatkarigas funkcijas realizetas
    neatkarigi)
  • Regularitate (neliels daudzums likumu)
  • Drošiba (ja programma neatbilst valodai, tas tiek
    konstatets)
  • Konsistence (lidzigas lietas attelotas lidziga
    veida)
  • Visu vai neko (iespeja realizeta pilniba, vai tas
    nav vispar) cf. R.Cezzar, 20-22
Write a Comment
User Comments (0)
About PowerShow.com