Metodologija programiranja: osnovni pojmovi i definicije

Izvorno je bilo mnogo programskih jezika. Preživjeli "pravo". Ali ne možemo reći da se Fortran, Algol, C /C ++ i Pascal kvalitativno razlikuju od Lisp ili Prolog ili drugih jezika: postavljene su različite ideje, dobivaju se ekvivalentni rezultati. U biti, nije važno kako nazvati programiranje, funkcionalno ili proceduralno. Zadatak programa, koji može sam stvoriti ili barem čitati, nije toliko zanimljiv. Ali u dalekim osamdesetima sve je bilo živo, relevantno i vrlo važno.

Omjer početka i sadašnjosti

Stvaranje kompilatora u prošlom stoljeću - rad prilično velikog broja programera u određenim tehnikama, matematičkim algoritmima, uzimajući u obzir akumulirano iskustvo za prilično dugo vrijeme. Tijekom rada tim je rastao u broju, stalno se ažurirao, a rad je bio sve. Metodologija programiranja u svakoj je tvrtki bila različita, jer se mentalitet svakog programera u starim dobrim vremenima radikalno razlikovao.


Suvremeni svijet programiranja nije se bitno promijenio, ali je javna svijest u tom području postala osnova za razumijevanje što učiniti, kako raditi, kako pratiti, ažurirati i kamo ići. Danas napravite svoj kompilator - par dana rada. Nosite čak i početničkog programera. U biti, ništa se nije promijenilo, ali su intelektualne sposobnosti programera postale produktivnije, kompetentnije i postale su "jednako" misliti. U osnovi nema ništa novo u ovome. svakinova generacija (djeca) nadilazi mentalne sposobnosti prethodnih (roditelja). U programiranju je znanje sadržano u programima iznimno važno.

Suština jezika i metode rada

Metodologija programiranja evoluirala je dinamički, agresivno u međusobnom odnosu i učinkovito za akumulirano znanje. Tehnologije razvoja instrumentalnog softvera - kompilatori, tumači, ljuske za razvoj.


Tehnologije primijenjenog programiranja znatno su se razlikovale i odgovorne su za sljedeće koncepte:
  • programski paket;
  • knjižnica matematičkih funkcija;
  • modul;
  • komponenta i drugi.
  • Sustav i Applied su nastojali da se ne presijecaju, svaki smjer ima svoju filozofiju, opseg i metodologiju programiranja. Međutim, pojam "modul" jednako je prikladan za upotrebu u kompilatorima i grafičkim urednicima. Knjižnica matematičkih funkcija nema nikakve veze s funkcionalnim programiranjem. Softverski paket s istim uspjehom može se primijeniti na razvoj pod androidom, iako je popularniji izraz "add-on".
    Sve je bilo uzburkano i stoga sistematizirano. Doista, ne postoji razlika između C # kompajlera i HTML koda koji je napisan u istom C #. U oba slučaja radi se o obradi informacija. Glavna stvar je kvalitativni algoritam, a ne način na koji je napravljen. Karakteristično obilježje razvojnog procesa programiranja: sve sintaktičke konstrukcije, identificirane u spontanom stupnju razvoja, ostale su u suvremenim programskim jezicima. Funkcionalno programiranjetrebala bi biti zahvalna Lispu i Prologu za njihove ideje i vrtoglave sintaktičke dizajne. Ali danas je važnija ideja o funkcijama kao objektnim metodama.

    Sintaksa programskog jezika

    S jedne strane, sve što se koristi prikladno je. Svi suvremeni programski jezici nude ekvivalentne sintaktičke dizajne, ali filozofija svakog jezika je različita. To je upravo slučaj kada je upotreba metodologije programiranja od velikog značaja. Sjajan primjer: javascript je jezik preglednika. Ovo je sastavni dio stranice DOM (stablo objekata) koja se učitava u pregledniku. Potražnja iz sličnosti PHP-a nema smisla. Ovo je jezik poslužitelja. Njegova briga je raditi sa stranicom kako bi je stvorio. javascript animira stranicu, ispunjava je stvarnom funkcionalnošću u pregledniku, pod utjecajem djelovanja određenog posjetitelja. Svaki programer može formirati vlastitu metodologiju programiranja. Kombinirajući kvalitetu JavaScripta i PHP-a, možete se okretati pomoću JSON-a i AJAX-a, ali možete napraviti razmjenu stranica sa poslužiteljem na svoj način. Ovo je još jedna filozofija koja nema nikakve veze s idejama programera tih alata.
    Na najnižoj, logičkoj razini, može se odabrati imperativno programiranje. Kada je ova paradigma formulirana, bilo je važno razumjeti što je takvo programiranje uopće. Tekst:
  • izvorni kod - upute;
  • upute se izvode sekvencijalno;
  • podaci se mogu pisati /čitati u /iz memorije. Glavne značajke imperativnih jezika mogu se naći u bilo kojem suvremenom programskom jeziku. U tom kontekstu, idejemnoge metodologije programiranja raspršile su se u obilju novih ideja.

    Faze razvoja programiranja

    Sjetiti se kako je programiranje evoluiralo - počast pamćenju, svaki tečaj u specijalnosti počinje s poštovanjem: 29) spontano;
  • imperativ;
  • Strukturna;
  • proceduralni;
  • funkcionalni;
  • objektno orijentirana;
  • CASE-tehnologije, itd.
  • Svaki autor na svoj način razumije razvojni put i vrijeme nastanka različitih metoda i metoda, ali u činjenici da se suština metodologije programiranja osnovnih pojmova i definicija radikalno promijenila. , nitko ne sumnja. Kao i prije, to je skup metoda, filozofije i faza života softverskog proizvoda. Ali danas pojam softverskog proizvoda - to je daleko od programa.
    Radovi s inteligentnim i ekspertnim sustavima su se smanjili, svi su se složili da programeri jednostavno rade, kreiraju programe, algoritme, obrađuju informacije, povremeno zovu nešto znanja. Stvar nije u ovome. Važna sintaksa i semantika jezika, koji programeru omogućuje stvaranje svoje metodologije programiranja. To je značajno, jer programer, a posebno tim programera tijekom vremena akumuliraju arsenal modula, knjižnica, algoritama. Razmjena znanja, vještina i iskustava omogućuje nam da formuliramo vlastitu filozofiju i dinamički prilagođavamo naš razvoj tijeku općih trendova razvoja.

    Osnovni pojmovi polja

    Softverski proizvod, programski paket ili samo program - ti su koncepti odigrali svoju uloguali i danas. Dodatak je moderan koncept. Oblak ili virtualno okruženje znak su značajki softverskog proizvoda. Rad na fizičkom računalu ili u spremniku virtualnog stroja razlikuje se, ali ovdje postoji posebna filozofija metodologije programiranja. Vrste programa (usluge) stekle su svojstven status. U prošlosti ste jednostavno kupili program, instalirali ga i koristili. Pristup licenciranju, kupnja pretplate za određeni termin ili broj upotreba programa nije poznat gdje i kako je ustanovljen, što u prošlosti nije ni bilo predviđeno. U biti, programiranje ostaje u svom izvornom obliku, ali u suvremenom izvršenju. Programiranje je dobilo drugačiji status zahvaljujući oblaku i virtualnim tehnologijama. Problemi sigurnosti, osiguravanje rada velikih poduzeća doveli su do stvaranja stvarne potrebe za metodologijom programiranja od strane zaposlenika (korisnika i kupaca). Društveni čimbenik i iskustvo u borbi protiv cyber napada je priznati skup potrebnih metoda i tehnologija. Međutim, to nije programiranje u klasičnom smislu koncepta.

    Ekspertni sustavi i baze znanja

    Karakteristična značajka nekih jezika (poput Prologa) je pokušaj stvaranja logičkih programa programiranja. Što se te ideje tiče, pokazuje dinamiku filozofije projektiranja i programiranja infrastrukture velikih tvrtki. Usvajanje odgovornih odluka, manipulacija ogromnim količinama informacija postalo je aktualno upravljanje putem dostupnih usluga trećih strana. U biti, programiranje kaone postoji takva stvar, ali bez programera zadatak nije riješen. Upotreba logičkih jezika nije oglašena, stoga se logička paradigma, diskretna matematika i metodologija programiranja u ograničenjima nisu pokazale na najboljoj strani. Svaka metoda ima svoju sferu primjene.
    Ovdje logika i filozofija metodologije programiranja - konceptualne predstave pojedinog društva o tome što i kako postupati. Znanje o dostupnim uslugama i njihovoj funkcionalnosti sažeto je u algoritmu manipuliranja redoslijedom njihove uporabe, ovisno o složenoj informacijskoj slici. To nisu ekspertni sustavi i baze znanja, već su to stvarno znanje, funkcije i algoritmi koji omogućuju objektivne odluke. Znanje velikog broja kvalificiranih profesionalaca postalo je, u suštini, predmet stvaranja metodologija programiranja na poslovnoj razini. Neki filozofski problemi
    Razvoj metodologija programiranja, svaki iskusni programer razumije na svoj način. Klasično programiranje značajno se razlikuje od, primjerice, od:
  • programiranja virtualnog okruženja;
  • kontrola pristupa vanjskoj aplikaciji;
  • postupaka administratora sigurnosti.
  • ​​U svakom slučaju, njegova filozofija, njezine metode, tehnologije, metode rada. Ako pristupamo povijesti razvoja "ogledala inteligencije" sa stajališta zdravog razuma, onda to nije bit, nego pisati nešto, važno je, kako je to zgodno. Žalosno je da je moderno programiranje stalno prisiljavalo programere na ponovno pisanje starog koda.
    Karakteristika:značajke "starih" programskih jezika - kompatibilnost odozdo prema gore (ponekad od vrha prema dnu) ušla je u povijest. Pokazala je svoju ideju preživljavanja o netipiranim podacima. Doista, zašto na jednom mjestu algoritam treba reći da je "X" broj, a "Y" je niz, a zatim zadržati tu ideju kroz cijeli algoritam. Metodologija programiranja došla je do nužnosti radikalno novog rješenja: program mora biti neovisan od autora i oblikovan tako da ga autor može razviti kao skup relevantnog znanja.

    Statika i dinamika

    Suvremeno programiranje je statička, dinamička metoda i tehnologija koju razvijaju programeri. Prije toga svi su navikli i ne raspravljaju se. Ali koliko je zgodno imati takvu metodologiju programiranja, u kojoj svaki novi proizvod, bez obzira kako ga nazvati (program, biblioteka, modul, komponenta, usluga, kontrola pristupa), razvija i nadopunjuje te ga ne mijenja već stoti put prilikom promjene računala , konfiguracija mreže, alat ili drugi događaj.
    Dinamika je sljedeća faza u razvoju metodologija programiranja, ali ne i dinamika misli u glavi programera i dinamika koda koji je on napisao.

    Povezane publikacije