Documente Academic
Documente Profesional
Documente Cultură
Limbajul main
Reprezint nivelul cel mai elementar al limbajelor de programare. Cnd un computer urmeaz instruciunile unui program se spune c programul este n execuie (running). nainte de a fi executat programul trebuie s fir rezident n memorie.. Adic programul trebuie s ocupe un set de bytes consecutivi n memorie. Totodat programul trebuie scris ntr-un limbaj main intern. Fiecare tip de procesor are propriul limbaj main. Acesta este 1 | IE, an II
March 14, 2013 [MEDII DE PROGRAMARE VIZUAL] conceptul de baz cu privire la modul de execuie a unui program. Faptul c programul ce se execut este stocat (chiar i parial) n memoria principal (RAM) duce la concluzia c numai prin schimbarea programului din memoria RAM computerul poate trece la execuia altui proces (task)/program. Aa cum s-a prezentat mai sus toate computerele au un limbaj main intern (specific tipului de procesor). Acest limbaj este codat ntr-o reprezentare binar i este foarte greoi (plictisitor) de utilizat pentru scrierea unui program. Majoritatea instruciunilor programului vor conine astfel dou pri: o parte care se refer la operaia de codare se vor indica ordinea operaiilor; o parte care se refer la adresa din memorie - indic locaia de memorie ce se va utiliza ca operand al instruciunii. operation address meaning code 00010101 10100001 load c(129) into accumulator 00010111 10100010 add c(130) to accumulator 00010110 10100011 store c(accumulator) in location 131 Astfel programatorii care utilizeaz limbajul main vor trebuie s fie ateni n ce zone de memorie se vor stoca date i n ce zone de memorie se vor executa programele (instruciunile). Astfel pot aprea erori de programare datorate suprapunerii scrierii instruciunilor peste date. Prin urmare programarea n limbaj main presupune o bun capacitate de a interpreta datele i instruciunile la nivel de bit. Totodat aceasta reprezint si posibilitatea de a se genera alte programe i de a le executa. Concluzii: este limbajul pe care computerul l nelege n mod direct; n limbajul main programele se scriu n cod binar: succesiuni de 0 i 1; fiecare instruciune din limbajul main este o combinaie de 4 bits (LOAD-0000; ADD0001); programatorul trebuie s cunoasc detaliat structura hardware a computerului; programatorul trebuie s gestioneze fr greeal alocarea adreselor de memorie pentru un program; pot aprea multe erori datorit: concepiei programului, sintaxei, suprapunerii adreselor de memorie, etc.
Limbajul de asamblare
Permite folosirea codurilor simbolice pentru adrese, date i operaii. Atenia necesar evitrii ocuprii acelorai adrese de memorie este foarte solicitant (greoaie) n programarea n limbaj main. Astfel dac programatorul modific un program i decide s mai introduc ceva atunci toate celelalte adrese de memorie utilizate pn atunci se vor schimba i trebuie s examineze ntregul program din nou i s decid iari cu privire la modul cum va aloca memoria datelor i instruciunilor. Astfel au aprut ncepnd cu 1950 limbajele de asamblare care sunt forme mai prietenoase ale limbajului main. Astfel comenzile limbajului main au fot nlocuite de comenzi mnemonice (gestioneaz memoria!!! nu e foarte ortodox). Astfel limbajul de 2 | IE, an II
March 14, 2013 [MEDII DE PROGRAMARE VIZUAL] asamblare are grij s converteasc comenzile mnemonice n comenzile corespunztoare limbajului main. Programatorul poate folosi adrese simbolice pentru reprezentarea datelor. Acest limbaj va atribui adresele n limbaj main i va verifica dac datele distincte nu se suprapun la stocare. Astfel scurtul program de mai sus se poate scrie n limbaj de asamblare astfel: Operation address code LOAD A ADD B STORE C Evident acest limbaj evit o multitudine de erori de alocare a memoriei. Limbajul de asamblare presupune existena unui program numit assembler (asamblor) care s traduc programele n limbaj main. Asamblorul nlocuiete codarea mnemonica (cum ar fi ADD) cu coduri binare corespunztoare limbajului main i aloc adrese de memorie pentru toate variabilele simbolice utilizate (A, B, C ) i se asigur c aceste adrese sunt distincte. Astfel prin uurarea procesului de programare s-a introdus un nou nivel de procesare pentru computer. Astzi limbajele de asamblare sunt nc utilizate pentru unele programe critice deoarece aceste limbaje confer programatorului un control foarte precis a ceea ce se ntmpl n computer. Limbajele de programare nc necesit ca programatorul s aib foarte bune cunotine cu privire la structura intern a computerului. Limbajele de asamblare sunt i ele specifice computerului pe care ruleaz astfel c programatorul trebuie sa-i rescrie programul pentru un alt tip de computer. Concluzii: programele se scriu n mod text pentru ca apoi sa fie traduse intr-o form binar corespunztoare limbajului main; limbajul de asamblare este tradus n limbaj main de ctre assembler; operaia se numete asamblare; limbajele de asamblare nc solicit programatorului cunoaterea de multe detalii hardware; sunt specifice anumitor tipuri de computere; limbajul de asamblare mpreun cu limbajul main formeaz categoria limbajelor de nivel sczut (low-level languages).
3 | IE, an II
March 14, 2013 [MEDII DE PROGRAMARE VIZUAL] programatorul nu trebuie s cunoasc detalii cu privire la structura intern a unui anumit tip de computer. Aceste limbaje sunt mult mai apropiate de limbajul uman. Primul limbaj evoluat a fost FORTRAN II aprut n 1958. Programul prezentat mai sus se poate scrie n acest limbaj astfel: C=A+B Se observ c spre deosebire de limbajul main i limbajul de asamblare expresia de mai sus este mul mai uor de neles, mai rapid de scris i evit multe erori de scriere. Pentru a putea fi executate, ca i n cazul limbajului de asamblare, computerul nu nelege n mod direct aceste limbaje evolute i de aceea ele trebuie procesate printr-un program specializat care traduce limbajele evolute n limbajul main intern al computerului respectiv. Instruciunile n limbajele evoluate se numesc enunuri i se aseamn mult cu limbajul uman sau cu conveniile de scriere n matematic. Dup modul cum se face aceast transpunere a programelor evoluate exist dou tipuri de astfel de programe specializate: interpretor: traduce succesiv instruciunile de nalt nivel ntr-o form intermediar care este apoi executat. compiler (compilator): traduce instruciunile de nalt nivel direct n limbaj main. Avantajul interpretorului este c poate execut un program imediat. Compilatorul necesit mai mult timp. Programele produse de compilator ruleaz mul mai rapid dect cele produse de interpretor. Majoritatea programelor evolute au la dispoziie att compilator ct i interpretor. De obicei interpretorul se folosete n timpul realizrii unui program pentru testarea unor mici seciuni ale programului. Unele limbaje evoluate sunt concepute s lucreze numai cu interpr etor (BASIC, LISP). Un alt mare avantaj al limbajelor evoluate este acela c dac limbajele sunt standardizate atunci fiecare productor de computere (procesoare) va putea s realizeze compilatorul care s respecte standardele i s traduc programele n limbajul main specific productorului. Astfel devine posibil ca un program, respectndu-se aceste standarde, s poat fi compilat pe diverse computere i apoi executat. Prin scrierea unui program ntr-un limbaj evoluat se face o economie imens de timp. Astfel programatorul pierde mai puin timp pentru scrierea ntr-un limbaj mult mai apropiat de cel uman dect dac acelai program ar fi scris n limbaj main. Timpul de compilare al programului este de ordinul secundelor.
Generatia a 4-a cuprinde limbajele orientate ctre utilizatorii finali. Folosind aceste limbaje,
utilizatorii neinformaticieni pot s-i rezolve singuri propriile probleme, dialognd cu calculatorul. Se elimin etapa de programare i se asigur o implicare i un interes mai mare din partea utilizatorului. Majoritatea specialitilor grupeaz limbajele din generaia a 4-a n urmtoarele produse: limbaje de interogare (SQL) generatoare de rapoarte (Easytrieve Plus, Datatrieve, Mark V. etc) generatoare de aplicaii i/sau proiecte (FOCUS, Mantis, Natural, NOMAD2, IDEAL MAPPER, pachete de aplicaii DeskTop Publishing) generatoare de grafice (independente Tell-al graph, SAS, ADRS/B6 ncorporate n spreadsheet-uri LOTUS, EXCEL, QUATTRO, ncorporate n SGBD - FoxGraph); instrumente de sprijinire a deciziilor (programe de calcul tabelar-Quattro, Lotus, Excel sau pachete program statistice SPSS, SAS etc) 4 | IE, an II
Generatia a 5-a cuprinde limbajele care sunt sau vor fi ndreptate spre exploatarea bazelor de
cunotine, crearea sistemelor expert i mai general spre rezolvarea problemelor legate de inteligen artificial. Un rol deosebit revine limbajelor pentru programarea orientat pe obiecte (Samlltalk, C++, MANDALA, LISP, PROLOG). Folosind alt criteriu de clasificare modalitatea de descriere a problemei de rezolvat, limbajele de programare pot fi grupate n: Limbaje procedurale Limbaje neprocedurale Limbajele procedurale descriu pas cu pas algoritmii de rezolvare a unei probleme. n aceast categorie se nscriu limbaje de nivel nalt ca BASIC, COBOL, FORTRAN, PASCAL, etc. Limbajele neprocedurale sunt limbaje de nivel foarte nalt care definesc scopul urmrit fr a da detalii asupra modului de rezolvare a acestuia. Din aceast categorie fac parte Smalltalk, Prolog, Lisp, Clips etc. J.E. Sammet mparte limbajele n: Limbaje procedurale (LP), de nivel nalt, numite i limbaje algoritmice folosite pentru descrierea algoritmic printr-un set ordonat de instruciuni; Limbaje neprocedurale (LNP), de nivel foarte nalt, n care succesiunea instruciunilor din program nu influeneaz dect n foarte mic msur succesiunea execuiei; Limbaje specializate orientate pe problem/aplicaie, limbaje cu caracter neprocedural, bazate pe o mulime de funcii ce pot fi referite explicit; Limbaje conversaionale, care asigur dialogul utilizator-sistem pe parcursul execuiei unui program.
March 14, 2013 [MEDII DE PROGRAMARE VIZUAL] Pe piaa programelor informatice sunt profilate dou tendine: Cumprarea de ctre utilizatorii finali, direct de la furnizori, a programelor la cheie, ce folosesc limbaje conversaionale i naturale i care pot fi folosite pe o gam larg de calculatoare; Abandonarea, n activitatea de programare, a limbajelor tehnice i a limbajelor procedurale, n favoarea limbajelor neprocedurale i a celor naturale, care se apropie de limbajul uman. Exist mai multe metode de elaborare a produselor program. Caracteristicile principale ale acestor metode se regsesc n metodele i tehnicile utilizate i n prezent.
Grama, A., Filip, M., Medii de programare in economie, Editura Sedcom Libris, Iai, 2000
6 | IE, an II
March 14, 2013 [MEDII DE PROGRAMARE VIZUAL] Programarea modular este o metod de concepere a programelor care presupune descompunerea problemei de rezolvat n mai multe subprobleme mai simple, conform preceptelor gndirii carteziene: orice problem, orict de complex ar fi, poate fi descompus n subprobleme rezolvabile mai uor dect problema iniial. n acest mod, programatorii se pot concentra numai asupra unei subprobleme, considernd-o ca o problem de sine stttoare, dar care este mai simpl i mai uor de rezolvat. Trebuie remarcat deja interesul pentru instituirea de reguli n conceperea programelor i nu doar pentru scrierea programelor, precum i considerarea lor ca activiti independente; proiectarea modulelor programului se face independent de limbajul de programare ales , doar la scrierea programelor inndu-se cont de specificul fiecrui limbaj. Fiecrei subprobleme i va corespunde, n principiu, un modul de program, iar produsul-program va fi constituit prin integrarea modulelor componente, dezvoltate separat. De aici deriv i numele metodei programarea modular. Modulul este considerat o unitate structural de sine stttoare, fie program, fie subprogram, fie o unitate de program2. Un modul poate fi format, la rndul su, din mai multe module. Modulele sunt relativ independente, ceea ce nseamn c modificarea unui modul nu implic neaprat modificarea celorlalte module. Astfel, n cazul modificrii structurii unui program, dac funcia pe care o realizeaz un modul nu este afectat, atunci acel modul va fi utilizat n continuare fr modificri. n fapt, obiectivul principal urmrit la proiectarea modulelor const n identificarea unor module ct mai generale i mai independente ntre ele, care s permit reutilizarea lor n cazul modificrii programelor. De asemenea, modulele pot comunica ntre ele prin transmiterea de date. Fiecare modul are rolul su bine precizat i realizeaz o funcie n cadrul ntregului program, n conformitate cu rezultatele descompunerii funcionale a problemei de rezolvat, realizat prin aplicarea strategiei descendente (top-down). De fapt, din abordarea modular s-a desprins coala descompunerii funcionale3. Metoda presupune identificarea funciilor pe care le va realiza programul n vederea rezolvrii problemei, asocierea unui modul pentru una sau mai multe din funciile identificate, stabilirea legturilor dintre module, obinndu-se astfel structura programului. Dup ce structura programului este clar definit, se trece la transpunerea modulelor n construcii sintactice specifice limbajului de programare ales (scrierea programelor -surs), compilarea acestora i realizarea celorlalte faze necesare obinerii programelor executabile. Avantajele programrii modulare sunt multiple, printre cele mai importante se numr: creterea calitii programelor obinute; ele conin mai puine erori, sunt mai uor de neles i de modificat. Sporirea productivitii i eficienei n activitatea de programare, prin facilitarea lucrului n echip i utilizarea bibliotecilor de subprograme. Uurarea testrii programului prin efectuarea unei testri la nivelul modulelor. Obinerea unor produse-program extensibile, ceea ce permite adugarea unor noi module n programul existent dac ulterior se dorete realizarea unei noi funcii.
2 3
Freniu, M., Prv, B., Elaborarea programelor. Metode i tehnici moderne, Editura Promedia, 1994 Oprea, D., Analiza i proiectarea sistemelor informaionale economice, Editura Polirom, Iai, 1999
7 | IE, an II
8 | IE, an II
March 14, 2013 [MEDII DE PROGRAMARE VIZUAL] utilizarea structurilor de control fundamentale. Avantajele oferite de metoda programrii structurate sunt numeroase, reinnd n continuare doar cteva dintre acestea: creterea calitii programelor; sporirea flexibilitii programelor, ceea ce uureaz ntreinerea lor; organizarea raional a ntregului proces de dezvoltare a programelor; creterea productivitii n dezvoltarea programelor de aplicaie prin specializarea activitilor.
9 | IE, an II
March 14, 2013 [MEDII DE PROGRAMARE VIZUAL] Preceptele abordrii orientat-obiect au fost aplicate cu succes mai nti n domeniul programrii, iar de la nceputul anilor 90, ca i n cazul tehnicilor structurate, s -au accentuat preocuprile specialitilor pentru implementarea lor i n celelalte faze ale elaborrii programelor. n consecin, au aprut mai multe metode orientate-obiect de realizare a produselor-program. n vederea simplificrii procesului de dezvoltare a programelor prin abordarea orientatobiect, s-au nregistrat numeroase preocupri de integrare a diferitelor metode orientate-obiect existente. Dintre aceste ncercri, cea mai cunoscut i mai reuit s-a concretizat n standardul UML (Unified Modeling Language). UML a rezultat prin integrarea a trei din cele mai cunoscute metode orientate-obiect: OOD (Object Oriented Design) propus de Booch, OMT (Object Modelling Technique) propus de Rambaugh i OOSE (Object-Oriented Software Engineering) propus de Jacobson. n 1996, OMG Object Management Group i-a manifestat interesul pentru rezultatele muncii celor trei autori, n vederea adoptrii UML ca standard n modelarea orientat obiect. n urma colaborrii i cu ali specialiti din domeniu, UML a fost adoptat ca standard OMG n septembrie 1997, fiind astfel utilizat de majoritatea productorilor de instrumente de dezvoltare a sistemelor informatice i specialiti n domeniu. OMG i-a asumat responsabilitatea dezvoltrii ulterioare a standardului UML.
Programarea vizual
Complexitatea mediilor de dezvoltare a aplicaiilor i bariera artificial ce se interpune ntre programator i aplicaii sunt doar dou impedimente pe care le elimin programarea vizual. n plus, uurina de nvare i exploatare a limbajelor constituie un argument hotrtor n favoarea programrii vizuale. Obiectivul declarat al acesteia este ca programarea s devin mai uoar pentru programatori i mai accesibil nespecialitilor, indiferent de destinaia limbajului: proiectarea rapid a aplicaiilor, prototipizare, simulri etc. n oricare domeniu, limbajele vizuale trebuie s permit utilizatorului s se concentreze asupra problemei ce o are de rezolvat i mai puin asupra limbajului de programare propriu-zis Notaiile vizuale au fost utilizate, practic, de la apariia programrii, ele devenind treptat tot mai complexe. Programatorii au neles facilitile i puterea pe care le confer notaiile vizuale, mai ales n contextul tehnologiilor tot mai sofisticate. n mod natural, oamenii se raporteaz la lumea real n mod grafic, iar imaginile se constituie ca i component principal a gndirii creative. n aceste condiii, limbajele de programare textuale s-au dovedit destul de dificil de nvat pentru oameni de altfel creativi i inteligeni. Prin reducerea sau eliminarea complet a necesitii de a traduce ideile vizuale n reprezentri textuale, uneori artificiale, devine posibil atenuarea curbei de nvare a unui limbaj de programare. Programarea vizual mbrac mai multe forme i acoper o arie larg de aplicaii, de unde i diversitatea opiniilor i a punctelor de vedere. Astfel, unii specialiti consider c acest concept a aprut odat cu mediile de programare precum Visual Basic sau Visual C++. Pentru alii, Visual Basic este nereprezentativ pentru domeniul vast al tehnologiilor care poart eticheta vizual. Ei consider c programare vizual nseamn Prograph (Pictorius), Visual AppBuilder (Novell) sau Parts (Digitalk). Nu exist o definiie unanim acceptat pentru programarea vizual, dar majoritatea specialitilor sunt de acord c este limbaj de programare vizual acela care -i realizeaz toate 10 | IE, an II
March 14, 2013 [MEDII DE PROGRAMARE VIZUAL] sarcinile de programare ntr-o manier vizual, fr a face uz de reprezentarea textual. O definiie frecvent citat consider c programarea vizual nseamn utilizarea de expresii vizuale (grafice, icon-uri, desene) n procesul de programare5. Mai este ntlnit n literatura de specialitate termenul de programare vizual pur care are n vedere modul de proiectare al unui program, prin operare direct asupra unui set de elemente grafice. Operarea direct se realizeaz prin intermediul unor tehnici de interaciune, iar programul se dezvolt fr a scrie instruciuni sub form de text. Pentru Visual Basic i altele asemenea exist noiunea de limbaje de programare transformate vizual, care au implementate anumite tehnici de reprezentare vizual a informaiilor, ce se suprapun unor limbaje textuale6. Un alt concept este cel al mediilor de programare vizual, definite de unii autori ca i mediile n care sunt implementate limbajele de programare vizual. n alte opinii, mediile de programare vizual (Visual Programming Environment) asigur dezvoltarea rapid a aplicaiilor (RAD Rapid Application Development). Ele se caracterizeaz printr-un grad ridicat de utilizare a elementelor grafice i sunt utilizate n scopul accelerrii dezvoltrii i distribuiei aplicaiilor, motiv pentru care sunt denumite i medii de dezvoltare vizual a aplicaiilor. Ar fi poate util o separare ntre aceste dou concepte limbaje de programare vizual i medii de programare vizual. Primul are n vedere limbajele care se sprijin pe tehnicile vizuale pe ntreg parcursul procesului de programare: proiectarea, testarea, depanarea i execuia se realizeaz n acelai mediu vizual. Mediul de programare vizual lucreaz adesea cu reprezentri vizuale suprapuse elementelor textuale. Cele mai des ntlnite n practic sunt limbajele de proiectare a interfeelor grafice care, combinate cu elemente textuale sunt utilizate n proiectarea de aplicaii. Caracteristicile programrii vizuale, care se concretizeaz n simplificarea i optimizarea procesului de programare din punct de vedere al timpului necesar construirii aplicaiei au transformat mediul de programare vizual ntr-un mediu RAD. n categoria mediilor RAD se ncadreaz: Visual Basic, Visual FoxPro i Visual C + + (Microsoft), Delphi (Borland), Visual Objects (Computer Associates), PowerObjects (Oracle), Power Builder (Power Software), SQL Windows (Gupta), VisualAge (IBM). Liderul pieei RAD este Visual Basic, produs de Microsoft. Cei de la Microsoft au observat la timp apariia unei noi categorii de utilizatori, numit generic power users. Aceasta a derivat din cea a utilizatorilor finali i poate fi numit utilizatori finali avansai care, fr a fi profesioniti, au acumulat suficiente cunotine i i pot rezolva singuri o bun parte din problemele curente folosind aceste medii de programare. ntr-un mediu de dezvoltare vizual se cuprind7: mediul de lucru integrat, care asigur dezvoltarea aplicaiei i permite accesul la toate componentele unei aplicaii; instrumente vizuale de descriere a interfeei, folosite pentru a defini form-uri, ferestre de dialog, machete de rapoarte etc. Plasarea controalelor se face prin drag&drop, iar definirea proprietilor printr-un inspector de obiecte;
Shu, N.C., Visual Programming Languages: A Perspective and Dimensional Analysis, International Symposium on New Directions in Computing, Norway, 1985 6 Menzies, T., Evaluation Issues for Visual Programming Languages, www.cse.unsw.edu.au 7 Srbu, M., Dezvoltarea rapid a aplicaiilor, n Byte, nr. 10/1995, pp. 75 -77
11 | IE, an II
March 14, 2013 [MEDII DE PROGRAMARE VIZUAL] limbajul de programare, care este n continuare necesar, n ciuda tuturor facilitilor vizuale oferite de aceste medii de lucru. Acesta este mai mult sau mai puin orientat obiect (exemple: diverse variante de Basic, Pascal, limbaje xBase, SmallTalk); suportul pentru conectarea la diferite surse de date - conectivitatea prin ODBC (Open DataBase Connectivity) este cea mai frecvent ntlnit; componentele vizeaz obinerea unui spor de productivitate n dezvoltarea aplicaiilor i se refer la dou aspecte: utilizarea de componente prefabricate i reutilizarea codului de la o aplicaie la alta; suportul pentru activitile specifice distribuiei (compilarea aplicaiei, realizarea discurilor de instalare, a documentaiei etc.).
Figura de mai jos ilustreaz o parte dintr-o aplicaie scris n Visual Basic. Se observ c este vorba despre o fereastr intitulat CALCUL AMORTIZARE, ceea ce indic scopul utilizrii ei. Ea poart numele de form, termen ntlnit la noi i ca formular sau chiar form. Form-ul reprezint zona principal de lucru, o aplicaie constnd de regul din mai multe form-uri, legate ntre ele n funcie de logica ei. Practic, ntreaga aplicaie se desfoar n limitele form-urilor, pe care sunt plasate diverse componente ce au ataate secvene de cod. Aa cum se observ n figur, astfel de componente sunt: casetele de text (text box), etichete (label), butoane de comand (command button). Ele sunt denumite generic controale (n engl. controls) i sunt de fapt obiecte, descrise printr-o parte static (descriptiv) i una dinamic. Numrul lor este extrem de mare, n fiecare mediu de dezvoltare existnd posibilitatea de a lucra i cu controale externe (numite third-party components, deoarece pot fi create de alte firme i nglobate n aplicaii). n fine, trebuie precizat aici c nsi form-ul este tratat ca un obiect, avnd toate caracteristicile care sunt descrise n continuare. Ca i obiect programabil, un control este definit n primul rnd printr-un ansamblu de proprieti. O proprietate poate fi definit ca un atribut nominalizat al unui obiect programabil. Proprietile definesc att caracteristicile unui obiect (dimensiune, culoare, poziie pe ecran), ct i modul n care se comport un obiect (de exemplu, un obiect poate fi la un moment dat, activ sau inactiv, sau poate fi afiat pe form sau ascuns). Orice proprietate a unui obiect are o valoare care se poate modifica la proiectare i/sau execuie.
12 | IE, an II
casete de text
butoane de comand
Orict de multe proprieti ar avea, un obiect este complet descris cu ajutorul metodelor, pentru c acestea indic ce face obiectul. Deci, proprietile descriu un obiect, n timp ce metodele permit unui obiect s fac ceva. Proprietile sunt date, metodele sunt secvene de instruciuni. O metod reprezint o procedur asociat sau incorporat, un bloc de cod care poate fi invocat pentru a asocia o anumit aciune unui obiect. n Visual Basic, o metod nu se poate modifica. Exist totui o clas special de metode care se pot modifica, nu mite proceduri eveniment. Procedura eveniment este un subprogram ataat unui obiect care conine rspunsul obiectului la proceducerea unui eveniment. Procedurile eveniment sunt cele care particularizeaz comportamentul unui obiect ntr-o aplicaie. n varianta Visual Basic - ca i a celorlalte medii vizuale de dezvoltare - programul const dintr-un ansamblu de rutine, cele mai multe avnd dimensiuni reduse. Acestea se numesc proceduri eveniment i fiecare trateaz un eveniment individual. O astfel de procedur se execut dac i numai dac se produce evenimentul pentru care ea a fost scris. Altfel spus, un program va rspunde unui eveniment care se produce la rulare numai dac a fost scris o procedur pentru evenimentul respectiv, altfel acesta va fi ignorat. Fiecare control plasat pe un form suport mai multe evenimente. De exemplu, o caset de text poate rspunde la unul din urmtoarele evenimente: clic, dublu clic, introducerea unui text. Dac pentru evenimentul clic este scris o procedur, atunci cnd ruleaz aplicaia i se execut clic pe caseta de text (se produce n acest fel evenimentul) se va lansa automat n execuie procedura definit. Cele prezentate mai sus ne ndreptesc s considerm mediile de dezvoltare vizual a aplicaiilor mai mult drept limbaje/medii multiparadigm, ele reunind principii ale: programrii vizuale (manipularea de reprezentri vizuale); programrii OO (lucrul cu obiecte, principiile ncapsulrii i reutilizrii); programrii dirijate de evenimente; programrii structurate (utilizarea structurilor de control fundamentale n cadrul procedurilor). 13 | IE, an II