Documente Academic
Documente Profesional
Documente Cultură
Autorii articolelor din acest volum pot valorifica parțial sau integral
propriile contribuții, fără a cere acordul editorului, doar prin indicarea
corectă a sursei.
ISTORIA ADEVĂRATĂ ȘI RELEVANTĂ ESTE DESCRISĂ DE CEI CARE AU TRĂIT-O
Comitetul Român de Istoria şi Filosofia Ştiinţei şi Tehnicii
A c a d e m i a R o m â nă
MARIN VLADA
(editor coordonator)
VOLUMUL I
Capitolul 1
Contextul internațional la apariția și evoluția calculatoarelor
Prof. Dr. Eufrosina Otlăcan, Vicepreşedinte Divizia Istoria Ştiinţei (DIS) - Comitetul
Român de Istoria şi Filosofia Ştiinţei şi Tehnicii (CRIFST), Academia Română
004
MOTTO
Mediile din natură sunt guvernate de Limbaje. Omul a inventat calculatorul, limbajele şi
ştiinţele pentru cunoaştere. Prin intermediul calculatorului se prelucrează informaţiile şi
cunoştinţele. Pentru reprezentarea şi prelucrarea informaţiilor calculatorul utilizează limbajele
artificiale. Acest fapt dovedeşte că limbajele au fost inventate nu numai pentru comunicarea
informaţiilor, ci mai ales pentru prelucrarea lor. Prin urmare, Limbajele sunt instrumente ale
gândirii, iar ştiințele sunt modele şi reprezentări virtuale ale cunoaşterii.
Informatica a devenit o ştiinţă deoarece utilizează metode, tehnici şi instrumente proprii pentru
investigarea obiectelor şi proceselor pe care le defineşte şi cu care operează. Tezaurul ştiinţific al
Informaticii este rezultatul unor simbioze de cunoştinţe şi cercetări provenite şi de la alte ştiinţe
(matematică, cibernetică, microelectronică, fizică, chimie etc.), şi care prin metode şi tehnici
proprii, şi utilizînd echipamente speciale (sisteme de calcul, dispozitive input/output) prelucrează
informaţii şi cunoştinţe pe care trebuie să le interpreteze, să le transforme şi să le comunice.
C U P R I N S G E N E R A L
SECȚIUNI ȘI AUTORI
CAPITOLUL 1
PARTEA I
PARTEA a II-a
Aceasta se prezintă ca o lucrare amplă, o carte în două volume: primul volum este
intitulat “Contextul internaţional la apariţia şi evoluţia calculatoarelor”, al doilea referindu-
se la “Contextul naţional privind fondarea și evoluția informaticii româneşti”. Vom găsi aici:
o istorie a ştiinţei calculatoarelor în lume; o istorie a introducerii informaticii în şcoala
românească; mărturisirile celor care au creat istoria domeniului, prin implicarea în
dezvoltarea informaticii româneşti, a celei teoretice, dar şi a construcţiei de calculatoare.
În decursul anului 2018, un seminar de Istoria Matematicii şi Informaticii, dedicat
Centenarului Marii Uniri, organizat de Divizia de Istoria Ştiinţei a Comitetului Român
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 15
PARTEA a III-a
Este un efort lăudabil din partea prietenului Marin Vlada, un fost student și
doctorand eminent al meu, de a întreprinde această muncă notabilă și serioasă, de a colecta
date și a le intrepreta, despre Istoria Informaticii în România, care cuprinde o perioadă de
peste 60 ani. Sunt date despre instituții, unități de cercetare, constructori de calculatoare
românești, conferințe, colocvii și simpozioane, și ce este mai important, despre oameni
(oameni de știință, profesori, cercetători, ingineri, economiști etc.) care și-au dăruit multă
energie pentru dezvoltarea informaticii și a învățământului de informatică în România. În
acest sens, figura centrală este Acad. Prof. Grigore C. Moisil, un adevărat vizionar, căruia
volumul de față îi dedică multe pagini și aprecieri binemeritate. În anii '50 Gr. C. Moisil a
ținut primele conferințe legate de apariția și dezvoltarea calculatoarelor, a adunat în jurul
său specialiști, ca ing. Victor Toma (primul constructor al calculatoarelor românești din
seria CIFA de la Institutul de Fizică Atomică – IFA), profesori din București și din țară, care
au devenit ulterior pionieri în învățământul superior de calculatoare, sau cercetători în
domeniul informaticii.
Printre realizările lui Moisil, care au demarat începuturile informaticii la noi,
remarcăm ca deosebite: contribuția românească în teoria algebrică a automatelor (inițial
prin logica matematică: 1933/1934, apoi prin teoria algebrică a automatelor: 1949),
înființarea Secției de Mașini de Calcul la Facultatea de Matematică și Fizică din București
(în anul 1959) și înființarea Centrului de Calcul al Universității din București (CCUB), în anul
1962. În cadrul Catedrei de Algebră și Logică de la Facultate și la Centrul de Calcul, ce
funcționa în facultate, au crescut și s-au format primele cadre didactice care au predat
primele cunoștințe despre mașinile de calcul, din care menționăm pe Prof. Leon Livovschi,
Prof. Constantin Popovici, Prof. Paul Constantinescu (primul Director adjunct al CCUB),
apoi asistenții (deveniți ulterior profesori) ca: Octavian Bâscă, Horia Georgescu,
Adrian Atanasiu, Nicolae Țăndăreanu, Virgil Cazănescu, Luminița State, precum și primii
cercetători ai CCUB ca: Stelian Niculescu, Maria Lovin, Sofonea Liviu,
Petre Preoteasa, Matei Bogdan și alții, pe care nu-i mai amintesc și care sunt bine
menționați în volumul de față.
Către sfârșitul anilor '60 s-au realizat progrese importante privind dezvoltarea
informaticii în țară prin dotarea cu tehnică modernă de calcul (calculatoare SUA din seria
IBM 360/30, la CCUB, la Întreprinderea „Tractorul Brașov”, la ASE București,) și un
calculator englez ICT (International Computers and Tabulators, devenit ulterior ICL -
International Computers Limited) la Direcția Centrală de Statistică, pentru prelucrarea
Recensământului General, din anul 1966.
În iulie 1969, datorită unor neînțelegeri cu Comisia Guvernamentală de informatică
(dominată exclusiv de ingineri!), Acad. Gr. C. Moisil a demisionat de la conducerea CCUB.
Întrucât eu mă întorsesem din Anglia cu o diplomă de Master of Science (by Research in
1
Prof. Dr. Ion Văduva, promoția 1960, Facultatea de Matematică-Fizică, Universitatea din București,
succesorul acad. Gr. C. Moisil la conducerea Centrului de Calcul al Universității din București (CCUB), cu
doctorat la acad. Gheorghe Mihoc și Master of Science în Automatic Computation la Institute of Science and
Technology, Universitatea din Manchester din Marea Britanie.
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 17
deoarece absolvenții acestei secții erau cei mai căutați pe piața muncii, la Centrele de
Calcul, Institutele de Cercetări etc. În perioada 1972-1992 s-au elaborat cursuri consistente
pentru disciplina „Bazele informaticii” de către toți titularii, din care se remarcă manualele
publicate în edituri de prestigiu, de către Prof. Leon Livovschi și Horia Georgescu, cursul lui
Nicolae Țăndăreanu, precum și manualele de exerciții scrise de O. Bâscă și Petre Preoteasa.
Pentru disciplinele predate în anii III și IV, titularii cursurilor au elaborat manuale
consistente pentru toate disciplinele de informatică. Situația aceasta s-a menținut până
după anii '90. Până la urmă, Consiliului Facultății (format majoritar din matematicieni
puri), a ajuns la o concluzie, și în anul 1992 a schimbat denumirea Facultății în „Facultatea
de Matematică și Informatică”.
Azi, în facultate s-a micșorat mult volumul Secției de Matematică. Secția de
Informatică are un plan de învățământ modern și, în plus, funcționează și o Secție de
Tehnologia Informației (domeniul de licență Calculatoare și Tehnologia Informației –
inginerie de 4 ani), înființată de departamentul CREDIS-IDD (învățământ deschis la
distanță) al Universității, în anul 2005. În anul 2011 această secție a fost transferată la
Facultatea de Matematică și Informatică, ca urmare a noii Legi a Educației Naționale –
apărută în anul 2011, și prin pensionarea conducătorului acesteia, Prof. Dr. Marin Popa.
Prin urmare, astăzi funcționează în facultate cele 2 secții cu profil de Informatică,
foarte căutate de studenți și anume: Secția de Informatică (Licență Informatică – 3 ani) și
Secția de Tehnologia Informației (Licență Calculatoare și Tehnologia Informației – inginerie
de 4 ani). Cea de-a treia Secție este cea de Matematică-Informatică, mai puțin căutată,
deoarece în cei 3 ani de studii, nu se poate asigura o pregătire solidă, iar la modulele de
MASTER (de 1-2 ani), cifrele de școlarizare sunt mult reduse.
Fiind onorat de participarea ca autor la acest proiect național, alături de alți pioneri
ai informaticii românești, mulțumim tuturor autorilor ce au raspuns inițiativei prof. Marin
Vlada privind elaborarea unei Istorii a informaticii românești.
PARTEA a IV-a
2
Prof. Dr. Stelian Niculescu, promoția 1962, secția „Mașini de calcul”, Facultatea de Matematică-Fizică,
Universitatea din București, student al acad. Gr. C. Moisil și cu doctorat la acad. Solomon Marcus.
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 19
de astăzi, sunt calculatoarele electronice. Iată de ce m-ai găsit astăzi aici” (lângă calculatorul
IBM 360/30)” spunea profesorul Gr. C. Moisil.
Anul trecut, în primăvara anului 2018, când am aflat de la prof. Marin Vlada, că a
demarat proiectul ROINFO (Romanian Informatics) privind „Istoria informaticii
românești”, imediat mi-am amintit de activitatea mea de la Centrul de Calcul al
Universității din București (CCUB) și că, am avut șansa vieții mele de a fi în preajma acad.
Gr. C. Moisil, chiar în perioada de pionierat a informaticii românești. De asemenea, i-am
mulțumit prof. M. Vlada pentru inițiativa sa, deoarece era mare nevoie să se descrie și să se
explice „fenomenul informaticii românești” așa cum îi place lui să definească această
perioadă de pionierat în domeniul informaticii din România.
Proiectul național ROINFO (2018-2020) „Realizări românești în domeniul
Informaticii” – un proiect complex și ambițios, își propune să elaboreze studii și cercetări
pentru a descrie și explica „fenomenul” apariției, evoluției și dezvoltării informaticii în
România. Personal, ne-am întâlnit de mai multe ori pentru a discuta despre obictivele
volumelor „Istoria informaticii românești. Apariție, dezvoltare și impact. Oameni,
organizații, evenimente, rezultate și tehnologii”. A reușit, în urma apelului de pe pagina
Web a proiectului ROINFO (http://c3.cniv.ro/?q=2018/ro-info), să organizeze „Intâlnirea
generațiilor de informaticieni”, în ziua de 23 august 2018, la o locație din apropierea Casei
Universitarilor. De asemenea, pe 9 ianuarie 2019, cu ocazia zilei de naștere a lui Gr. C.
Moisil, la Facultatea de Matematică și Informatică din Bucuresti – amf. S. Haret, a reușit să
organizeze „Omagierea lui Gr. C. Moisil” (http://www.c3.cniv.ro/?q=2018/gen-info) prin
evidențierea contribuțiilor acad. Grigore C. Moisil la construirea primului calculator
românesc CIFA 1 – de la Institutul de Fizică Atomică (IFA) – Măgurele, București, și la
apariția și dezvoltarea informaticii în România. Cu această ocazie, mulțumim prof. M.
Vlada pentru că, în prezența unui numeros public – profesori, cercetători, matematicieni,
informaticieni, fizicieni, chimiști, economiști, sociologi etc. (unii cunoscându-l direct pe
profesorul Moisil), miercuri 9 ianuarie 2019, în Amfiteatrul „Spiru Haret” al Facultății de
Matematică și Informatică, s-a organizat o conferință de omagiere a academicianului
Grigore C. Moisil.
La acea conferință, am relatat ca la începutul anului II (1958), am remarcat un afiș
la avizierul din holul facultății care anunța reluarea Seminarului „Teoria algebrica a
mecanismelor automate”, coordonat de Profesorul Gr. C. Moisil. În cadrul Seminarului se
dezbăteau teme precum elemente logice ale calculatoarelor, dispozitive de memorie,
echipamente periferice etc. La seminarii a fost prezentat Proiectul CIFA (Calculator al
Institutului de Fizică Atomică București) Ing. Victor Toma. Proiectul a fost prezentat de
Profesor la Congresul matematicienilor de la Dresda în 1957. A fost bine apreciat și în plan
internațional (G. R. Stibiz: Toma Victor, «Proiectul calculatorului CIFA»), Math. Review,
Junne, 1958, pag, 698). Mi-a făcut o mare plăcere sa întâlnesc colegi cu care am lucrat în
anii de pionierat în informatica din România.
România a fost prima țară din Europa de Est (după fosta URSS) și în primele 10 din
lume care și-a construit cu forțe proprii un calculator electronic, primul calculator fiind
CIFA 1, în anul 1957 (anul acesta – 2019 se aniversează 70 de ani - crearea IFA, la Institutul
de Fizică Atomică (IFA) – Măgurele, București). Menționăm că, recent, a apărut articolul
20 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
3
M. Vlada, Proiectul ROINFO 2018/2019 – 60 de ani de informatică românească, STUDII ŞI
COMUNICĂRI / DIS, vol. XI, 2018, Academia Romănă.
În încheiere, remarcăm structura volumelor I-II: cap. 1. „Contextul internațional la
apariția și evoluția calculatoarelor”, cap. 2 „Contextul național privind fondarea informaticii
românești”. De menționat este faptul că autorul, încă de la început, a declarat că abordează
subiectele din punctul de vedere al conceptului de Computing - istoric și evoluție
(hardware și software).
Lucrare este dedicată Centenarului Marii Uniri din anul 1918 și este elaborată în
memoria acad. Grigore C. Moisil, fondatorul informaticii românești. Sloganul proiectului
RONFO: „Istoria adevărată și relevantă este descrisă de cei care au trăit-o”.
Fiind onorat de participarea ca autor la acest proiect național, alături de alți pioneri
ai informaticii românești, mulțumim prof. M. Vlada pentru inițiativa elaborării unei Istorii a
informaticii românești, și pentru utilizarea diverselor metode și evenimente în a atrage câți
mai mulți autori, care să descrie evenimente, oameni, apariția unor instituții de
informatică, rezultate obținute în utilizarea calculatorului, schimbări și progrese în
instituțiile de învățământ, introducerea utilizării calculatoarelor în toate domeniile
economice etc.
Toate aceste descrieri și explicații sub sloganul „fenomenul informaticii românești”
vor fi, în viitor, un reper important pentru generațiile viitoare privind înțelegerea apariției
și dezvoltării informaticii din România.
***
3
M. Vlada, http://studii.crifst.ro/doc/2018/2018_04_05.pdf, http://studii.crifst.ro/2018.php
PREFAŢĂ ȘI ARGUMENTE
„Analfabetul viitorului nu va mai fi cel care nu ştie să citească, ci cel care nu ştie să înţeleagă”
Alvin Toffler
„Ne naştem cu nevoia de a învăţa şi cu ea trăim pe tot parcursul vieţii. Este pentru fiinţa
umană ceea ce este respiraţia pentru corpul uman."
Acad. Solomon Marcus
din USA. În anul 1954, România a făcut un salt semnificativ ocupând locul
III în lume.
3. Anul 1954 - Seminarul de „Teoria algebrică a mecanismelor automate”
condus de Gr. C. Moisil (din anul 1954). „În 1949 logica matematică în țara
noastră avea un trecut. Aceasta a făcut posibilă abordarea aplicațiilor ei în
studiul circuitelor de comutație. Publicasem în 1949 un articol în care arătam
cum nu se poate separa cercetarea matematică în două, unele capitole
prezentând interes pentru întrebuințarea lor în fizică și tehnică, altele nu.
Puțin timp după apariția acestui articol un tânăr inginer, Leon Livovschi 4, a
venit să-mi arate câteva articole din revista sovietică <Electicestvo> și să mă
întrebe dacă instrumentul matematic utilizat în acele articole nu era tocmai
algebra logicii. Astfel, am venit în contact cu cercetările sovietice asupra
utilizării logicii matematice în studiul circuitelor de comutație. Matematica
românească era pregatită să abordeze această problemă” – Gr. C. Moisil.
4. Anul 1957, când la Institutul de Fizică Atomică (IFA) București - Măgurele,
un colectiv coordonat de ing.
Victor Toma a construit primul
calculator românesc CIFA-1
(Institutul de Fizică Atomică
de la Măgurele a fost înfiinţat
în anul 1956 din Institutul de
Fizică al Academiei, fondat în
anul 1949 sub conducerea
savantului Horia Hulubei, care
a fost şi primul director IFA. În
anul 2019 se aniversează 70 de
ani de la înființare).
5. Acad. Grigore C. Moisil este
singurul om de știință român
care a primit o recunoaștere
internațională în domeniul
Computer Science, prin
medalia „Computer Pioneer
Award” of IEEE Computer
Society (1996) pentru „For
polyvalent logic switching
circuits”. Medalia i-a fost
înmânată doamnei Viorica
Moisil, soția lui Mosil, la 15
aprilie 1998, cu ocazia
4
Ulterior, a devenit profesor de informatică la Facultatea de Matematică, Universitatea din București, Ref.:
M. Vlada, „Leon Livovschi, un pionier al informaticii românești”, http://www.c3.cniv.ro/?q=2015/leon, 2015
24 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
6. Anul univ. 1959/1960 (update: 4.04.2019, inițial – în unele surse, era anul
1960), când la Facultatea de Matematică și Fizică – Universitatea din
București, acad. Grigore C. Moisil a înființat secția „Mașini de Calcul”, ce era
urmată de studenți în ultimii doi ani de studii (în acea vreme studiilor la
matematică durau 5 ani).
Despre începutul informaticii românești, vom aminti următorul eveniment,
unde s-au menționat „izvoarele” informaticii românești. Recent, în anul
2013, în amf. Spiru Haret de la Facultatea de Matematică și Informatică, la
întâlnirea aniversară a promoției 1978 - Informatică, acad. Solomon Marcus
(1925-2016) a făcut observația că Informatica în Romania își are izvoarele,
mai înainte, prin anul 1954, când s-au pus bazele secției de „Mașini de
Calcul”, prin cursul liber „Teoria algebrică a mecanismelor automate” ținut
de acad. Grigore C. Moisil. De asemenea, a amintit că, în anul 1956 Grigore
C. Moisil devine președintele Comisiei de Automatizări a Academiei
Române, iar ulterior, în anul 1965 devine președintele Comisiei de
Cibernetică a Academiei Române. Prin urmare, după opinia noastră acestea
sunt momentele și evenimente de început ale apariție și dezvoltării
Informaticii românești. În imaginea-document de mai jos, de la întâlnirea
promoției 1978 - Informatică, acad. Solomon Marcus se află în rândul 1, al
doilea, de la stânga la dreapta.
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 25
Turing5, în anul 1937, când au aparut ideile precursoare ale Computing și ale
proiectării și dezvoltării calculatoarelor electronice (Computer System). Acesta este
considerat fondatorul Informaticii și al Inteligenței Artificiale introducând
fundamentele conceptului de calculabilitate pentru o mașină de calcul (computing
machine, mașina Turing/Universal Turing machine-UTM) (conceptele de Proces de
calcul și de Algoritm pentru o mașină de calcul). Mașina Turing este capabilă să
proceseze o gramatică nerestricționată, ceea ce implică și faptul că este capabilă să
evalueze expresii din logica de ordinul I într-un număr infinit de moduri. Acest
lucru este demonstrat prin intermediul calculului lambda (λ-calculus). Aceste idei
ale lui Turing l-au influențat pe matematicianul american John von Neumann
pentru elaborarea așa-numitei „arhitecturi von Neumann” a calculatorului modern,
în anul 1945. De altfel, știm că cele mai importante proiecte pentru construirea
calculatoarelor electronice, în perioada 1940-1970, erau proiecte militare secrete.
Domeniile Informatică și Tehnologia Informației (IT) (dezvoltarea de
software și dezvoltarea de calculatoare) sunt rezultatul preocupărilor oamenilor
pentru Computing și care includ proiectarea și construirea de sisteme hardware și
software, pentru o gamă largă de scopuri (adaptare după The Association for
Computing Machinery (ACM), Computing Curricula 2005, Computer Science
6
Curricula (ACM, IEEE)-2013 ):
1. procesarea, structurarea și gestionarea diverselor tipuri de informații
(dezvoltarea și prelucrarea bazelor de date) și cunoștințe (prelucrarea
cunoștințelor oferite de Inteligența artificială),
2. efectuarea de studii științifice cu ajutorul calculatoarelor,
3. crearea de calculatoare inteligente (sisteme inteligente, sisteme expert),
4. crearea și utilizarea mijloacelor de comunicație și de divertisment
(dispozitive electronice), stocarea, găsirea și strângerea de informații
relevante pentru un anumit scop uman etc.
În prezent, conform ACM 2012, Computing cuprinde 12 domenii majore: 1.
Hardware; 2. Computer systems organization; 3. Networks; 4. Software and its
engineering; 5. Theory of computation; 6. Mathematics of computing; 7. Information
systems; 8. Security and privacy; 9. Human-centered computing; 10. Computing
methodologies; 11. Applied computing; 12. Social and professional topics.
Mai recent, conform ACM & IEEE 2013 privind Curriculum Guidelines for
Undergraduate Programs in Computer Science7 există 18 domenii de cunoștințe
(CS2013): The Knowledge Areas are: 1. AL - Algorithms and Complexity, 2. AR -
Architecture and Organization, 3. CN - Computational Science, 4. DS - Discrete
Structures, 5. GV - Graphics and Visualization, 6. HCI - Human-Computer
Interaction, 7. IAS - Information Assurance and Security, 8. IM - Information
5
1937–1970: The "digital computer", the birth of "computer science": In 1937, while at Princeton working on
his PhD thesis, Turing built a digital (Boolean-logic) multiplier from scratch, making his own
electromechanical relays (Hodges p. 138). "Alan's task was to embody the logical design of a Turing machine
in a network of relay-operated switches ..." (Hodges p. 138).
6
Computer Science Curricula, https://www.acm.org/binaries/content/assets/education/cs2013_web_final.pdf
7
Computer Science Curricula, https://www.acm.org/binaries/content/assets/education/cs2013_web_final.pdf
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 27
anul 1956. Specializarea „Mașini de calcul” era organizată în ultimii 2 ani din
cei 5 ani de studii; Ex. 2: Anul 1971/72: se înfiinţează secţii de Informatică8 la
Bucureşti, Cluj, Iași, Timişoara (profil universitar); profil tehnic:
Calculatoare şi automatică, profil economic: Informatică economică
(„revoluţia informatică”); Ex. 3: Perioada 1962-1975: la Facultatea de
Matematică, Universitatea „Babeş-Bolyai“ din Cluj-Napoca s-a înființat
secţia de „Maşini de Calcul”, unde s-au predat primele cursuri în domeniu,
unul în anul IV, „Maşini de calcul” de conf. Kiss Ernest şi „Programare în
limbajul FORTRAN” de profesorul D. D. Stancu; în anul 1975 s-a înfiinţat
Centrul de calcul al Universităţii, având ca director pe profesorul Grigor
Moldovan).
5. Organizarea manifestărilor științifice și editarea de publicații de profil
pentru schimbul de idei științifice și pentru promovarea metodelor și
tehnicilor de cercetare în domeniile de profil (Ex. 1: Anul 1967: Colocviul
Internaţional „Tehnici de calcul şi Calculatoare”, cu participare
internațională, organizat de Universitatea din București - la CCUB, ASE şi
Institutul Politehnic din Bucureşti, sub egida Consiliului Național pentru
Știință și Tehnologie, în colaborare cu Academia Română și Asociația
Oamenilor de Știință, cu sprijinul financiar din partea Guvernului
României; Ex.2: Anul 1968: Prima carte românească în acest domeniu a fost
„Calculatoare Universale şi Teoria programării”, publicată de profesorul
Costică Cazacu de la Iași, apoi, în anul 1971 apare cartea „Calculatoare cu
program si teoria programarii” la Ed. Științifică și Enciclopedică; Ex. 3: Anul
1979: prof. Călin Ignat, fost rector la Universitatea „Al. I. Cuza” din Iași, ca
director al Centrului de Calcul al Universităţii, iniţiază INFO Iaşi (cu această
denumire până în anul 1991), primul Simpozion naţional de Informatică şi
introduce noi direcţii de cercetare precum: Metode formale, Procesarea
limbajului natural etc. De asemenea, prof. Călin Ignat introduce pentru
prima dată în facultatea de la Iași cursurile de Inteligenţă artificială și
Inginerie software).
6. Colaborarea științifică și tehnică la nivel internațional pentru dezvoltarea
învățământului, cercetării și a pieței de muncă (Ex. 1: în anul 1967 s-a
înființat CEPECA (Centrul pentru perfecționarea cadrelor de conducere din
întreprinderi din București), înființat pe baza unui acord tripartit dintre
Guvernul român și două Agenții specializate ale ONU, Programul Națiunilor
Unite pentru Dezvoltare (PNUD) și Biroul Internațional al Muncii (BIM); Ex.
2: Perioada 1975-1982, colaborare cu UNESCO la Cursul Postuniversitar
Internațional „Informatică şi Matematici Aplicate în Cercetarea Ştiintifică”,
desfășurat anual la CCUB, Facultatea de Matematică – Universiatea din
Bucureşti, și la care s-au instruit persoane din țară și din străinatate).
8
Din mărturiile prof. dr. Ion Văduva, ce i-a urmat lui Gr. C. Moisil la conducerea CCUB, aflăm că a elaborat
planul de învățământ pentru secția de Informatică, și l-a supus aprobării Consiliului Facultății de Matematică,
de mai multe ori, deoarece nu întrunea numărul de voturi necesare. În final, chiar cu lipsa unui vot, planul de
învățământ a fost prezentat ministrului Mircea Malița, care l-a și aprobat (nota ed.).
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 29
Irlanda de Nord (anul 2000). Evident că, după anul 1990, este vorba și de apariția și
de aplicațiile sistemului Internet și ale tehnologiilor Web.
În vederea aderării la Uniunea Europeană, începând cu anul 2005, în
România s-a implementat procesul Bologna în învățământul superior, studiile de
formare incluzând domeniile Informatică (3 ani Licență, 2 ani Master, 3 ani
Doctorat), precum și Calculatoare și Tehnologia Informației (4 ani Licență, 2 ani
Master, 3 ani Doctorat), unde specializarea Tehnologia Informației este inclusă
pentru profilul inginerie (4 ani licență). Astăzi, în Europa, termenul de Informatică
reprezinta atât Informatica teoretică (Computer Science), cât și Informatica
aplicată (Informatics). Astăzi, există în America domeniul Computer Science apărut
în perioada 1950-1960, dar și domeniul Informatics, care a apărut mai târziu ca
urmare a utilizării calculatoarelor cu aplicații pentru toate domeniile de activitate
(Exemplu: The B.Sc. in Informatics Analysis, training, software, and data
management services for Harvard Faculty of Arts and Sciences, Harvard
Informatics, https://informatics.fas.harvard.edu/).
În istoria dezvoltării științelor au existat și confruntări, competiții,
provocări, atât între oamenii de știință, între diverse organizații și instituții, cât și
între diverse țări sau regiuni. Ca știință, Informatica (Computer Science) nu a fost
scutită de astfel de aspecte. Spre exemplificare este de menționat evenimentul din
ziua de 4 octombrie 1957, când în URSS a fost lansat în spaţiu cosmic, satelitul
Sputnik (83.6 kg), primul satelit artificial al pamântului, şi când liderii SUA erau
îngrijoraţi de un prim atac sovietic, ce ar putea fi un atac preventiv. A fost
momentul când, la Departamentul Militar al Apărării SUA au început mai multe
proiecte de cercetare secrete. Ca o reacție, în SUA, la 31 ianuarie 1958 a fost lansat
Explorer 1 (14 kg), primul satelit artificial lansat de SUA, fiind al treilea după sateliţii
URSS Sputnik 1 şi 2. Astfel, au fost urgentate activitățile pentru construirea
calculatoarelor electronice în vederea cuceririi spațiului cosmic.
De asemenea, în anul 1944 - pentru scopuri militare și de aparare, în secret
a început proiectarea calculatorului EDVAC (Electronic Discrete Variable
Automatic Computer), la Laboratorul de cercetare balistică (Ballistics Research
Laboratory), folosind raportul de cercetare coordonat de matematicianul maghiar
John von Neumann, raport ce va deveni baza arhitecturii calculatorului modern –
arhitectura von Neumann (a se vedea The von Neumann Architecture of Computer
Systems, First Draft of a Report on the EDVAC, John von Neumann's 1945, publicat
în anul 1981). Calculatorul a fost livrat în anul 1949, dar cu toate acestea, din cauza
unor probleme, a început să funcționeze după doi ani, fiind păstrat în serviciu până
în anul 1961.
Și în Romania, în procesul de apariție și de dezvoltare privind calculatoarele
și Informatica - în perioada interbelică, în perioada comunistă, în perioada de după
revoluția din anul 1989, au existat diverse evenimente, confruntări și conflicte,
competiții și schimb de idei, între diverși oameni de știință, între instituții, între
diverse proiecte sau strategii de dezvoltare. România acelor ani, înainte și după cel
de-al II-lea Război Mondial, era conectată la activitatea științifică și tehnică privind
apariția noilor științe Cibernetica și Informatica, prin eforturile științifice ale
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 31
9
„Știinta calculatoarelor, în țara noastră își are originile în anume preocupări ale matematicienilor. ...
Matematicienii din țara noastră au înțeles că dintre diferitele tipuri de automate finite, calculatoarele sunt fără
îndoială cele mai importante” Gr. C. Moisil, Activitatea Centrului de Calcul al Universității din București
(CCUB), AMC nr. 13-14, 1970
32 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
acad. Gr. C. Moisil – după unii, fiind o inițiativă chiar nefericită). Până în
anul 1993, CCUB a rezistat financiar printr-o sponzorizare.
5. Din analiza unor referințe, inclusiv din mărturiile profesorilor Ion Văduva și
Constantin P. Popovici, aflăm de eforturile și obstacolele acad. Grigore C.
Moisil în demersurile lui pentru apariția și dezvoltarea informaticii în
România. În anul 1972, s-a transferat la Facultatea de Filosofie10 (unde a
ținut cursuri de Logica Propoziţiilor, Fundamentele Matematicii şi Cercetări
Operaţionale), deoarece Decanul de atunci și Consilul profesoral al
Facultății de Matematică, nu au fost de acord cu inițiativa sa de a invita
diverși specialiști din industrie și din cercetare pentru a ține unele cursuri
de informatică la Facultate de Matematică. Gr. C. Moisil începe un şir de
lecţii cu tema "Matematică pentru Ştiinţele umaniste", în cadrul
Laboratorului de Semiotică al Facultăţii de Filologie din cadrul Universităţii
din Bucureşti. Gr. C. Moisil introduce în România studiul traducerii
automate. Publică lucrări despre ceea ce el denumeşte gramatica mecanică.
6. Dezbateri şi clarificări pentru elaborarea programului strategic de
informatizare a României (primul program de dotare a economiei cu
tehnică de calcul), hotărâre a CC al PCR (aprilie 1972) „Perfecţionarea
sistemului informaţional economico-social, introducerea sistemelor de
conducere cu mijloace de prelucrare automată a datelor şi dotarea economiei
naţionale cu tehnică de calcul în perioada 1971–1980”.
7. În perioada în care a fost Ministrul Învățământului (februarie 1970–
octombrie 1972) Mircea Malița (1927-2018), profesor la Facultatea de
Matematică-Mecanică, a înființat la Universitatea din Bucureşti
„Laboratorul de Cercetări Prospective”. Matematicianul Mihai Botez va scrie
un apreciat curs de metodologie a studiilor de prognoză şi va fi numit
director. Mihai Botez, ulterior, devine un cunoscut dizident al regimului
comunist (în anul 1988 primește azil politic în SUA). În anul 1974, la
propunerea Federației Internaționale a Studiilor asupra Viitorului,
Laboratorul de Cercetări Prospective, coord. de Mihai Botez, devine
„Centrul Internațional de Metodologie a Studiilor asupra Viitorului și
Dezvoltării”, afiliat Universităţii din Bucureşti. Ca urmare a unor decizii
adoptate după cutemurul din anul 1977, influențate politic, Centrul condus
de Mihai Botez a fost desființat, iar Mihai Botez a fost angajat programator
la CCUB, în perioada 1978-1981, apoi matematician la secția „Studiul
Sistemelor” coordonată de Solomon Marcus.
8. Cu sprijinul prof. Mircea Malița, Solomon Marcus înființează secția „Studiul
Sistemelor” la Facultatea de Matematică-Mecanică, ce inițial a funcționat pe
strada Mihai Moxa (într-o casă boierească), iar apoi, imediat după
10
„În anul 1971 părăseşte Catedra de Teoria Algebrică a Mecanismelor Automate pe care o deţinea din 1967
în cadrul Facultăţii de Matematică şi trece la Facultatea de Filosofie şi Drept, unde va preda cursuri de Logica
Propoziţiilor, Fundamentele Matematicii şi Cercetare Operaţională", Oana‑Lucia N. DIMITRIU,
Academicianul Grigore C. Moisil, întemeietorul şcolii de matematicieni, STUDII ŞI COMUNICĂRI / DIS,
vol. VII, 2014, pag. 327-345. (Notă. Prof. A. Atanasiu declară că acest lucru se întamplă în anul 1972)
34 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
11
Andonie George Șt., Istoria matematicii în România, vol. II, 1966, pag. 394 (se pare că este greșit acest
lucru, după declarațiile mai multor profesori. Nota red.).
12
Notă. Ce apare la nota 4 pare în contradicție cu ce scrie Moisil: „Catedra care îngrijea de activitatea
Facultații în domeniul calculatoarelor era catedra de algebră, care în 1967 s-a scindat într-o catedra de algebră
(șef de catedră Gh. Galbura) și o alta de teoria algebrică a mecanismelor automate (șef de catedră G. C.
Moisil)” în Activitatea Centrului de Calcul al Universității din București (CCUB), 1970, AMC nr. 13-14.
38 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
Web semantic și date deschise (open data) – (anul 2004, prima teză de
doctorat din România cu această tematică, S. Buraga); prima
monografie disponibilă.
grupul român de suport pentru educație cu Open Source – ROSedu
(Răzvan Deaconescu etc.).
dezvoltarea și utilizarea programele Open Source - Școala de Vară
„Informatica la Castel” (GNU/Linux, inițiată în anul 2003, de
Universitatea de Vest „Vasile Goldiș” din Arad în colaborare cu
Facultatea de Informatică din Iași; S. Buraga, M. Jalobeanu etc.).
sisteme încorporate (embedded systems), dezvoltare de Open Source
Internet of Things – de exemplu, proiectul Wyliodrin inițiat de
Alexandru Radovici, Școala de vară IP (Ideas&Projecs) Workshop,
ințiată în anul 2005 (http://www.ipworkshop.ro/).
securitatea informatică (contribuții teoretice ale prof. Țiplea; sistemul
românesc Bitdefender; evenimente și conferințe recente Defcamp,
inițiate în anul 2011, https://def.camp/; organizații de profil: Centrului
Naţional de Răspuns la Incidente de Securitate Cibernetică (CERT-RO),
înființat în anul 2011, https://cert.ro/; Asociația Națională pentru
Securitatea Sistemelor Informatice (ANSSI), http://anssi.ro/; concursul
european „European Cyber Security Challenge”, http://www.
cybersecuritychallenge.ro/).
Bioinformatică, biomedicină, informatică medicală (G. Ciobanu , V.
Mitrana, A. Păun, A. Ștefănescu, M. Mărușteri etc.)
În anul Centenarului Marii Uniri din anul 1918, organizațiile publice din
România au ințiat diverse acțiuni de celebrare a evenimentului istoric realizat de
români în anul de grație 1918. Aceste acțiuni se doresc a fi un omagiu pentru
eforturile deosebite realizate de națiunea română în toate domeniile vieții
economice, sociale, științifice, tehnice etc. Inițiativele și eforturile, de-alungul
anilor, au fost realizate de mulți înaintași în toate activitățile lor, de aceea, astăzi,
avem o datorie patriotică pentru ca aceste modele, succese și realizări românești să
fie transmise ca „tezaur” generațiilor actuale și celor ce vor veni, să fie cunoscute și
pe plan mondial.
Proiectul ROINFO „Informatica în România” (Romanian Informatics) își
propune să elaboreze studii și cercetări pentru a descrie și explica „fenomenul”
apariției, evoluției și dezvoltării informaticii în România. Fiind un început, acest
demers nu poate fi complet și cuprinzător decât dacă avem în vedere diversitatea
de variabile în timp și spațiu. Suntem conștienți de faptul că studiile vor fi
caracterizate de subiectivism, fiind vorba de oameni, evenimente, instituții, procese,
teorii și aplicații, metode și tehnologii, evoluții și schimbări etc.
De asemenea, demersul nostru este cu atât mai oportun și major, având în
vedere faptul că încă mai există în viață oameni de știință, profesori, cercetători,
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 41
13
IFAC is the global organization for the accountancy profession dedicated to serving the public interest by
strengthening the profession and contributing to the development of strong international economies. IFAC is
comprised of over 175 members and associates in more than 130 countries and jurisdictions, representing
almost 3 million accountants in public practice, education, government service, industry, and commerce.
42 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
Inteligența artificială; România acelor ani, înainte și după cel de-al II-lea
Război Mondial, era conectată la activitatea științifică și tehnică privind
apariția noilor științe: Cibernetica și Informatica, prin eforturile științifice
ale comunității mondiale, la construirea sistemelor de calcul (computer
systems). În deceniul ‘60 România era considerată între primele țări din
lume (după SUA, Anglia, URSS, Germania, Franţa, Japonia, Austria, Olanda,
Italia, Danemarca) privind cercetările și eforturile pentru construirea
calculatorului electronic.
3. „Campania Moisil” de informatizare a României anilor ’60-’70 – Grigore
Moisil a gândit un proiect transformat într-o acţiune naţională privind
„matematizarea României” și utilizarea calculatoarelor, Moisil fiind cel care
a avut ideea introducerii liceelor și facultăţilor de informatică în România,
și o iniţiativă foarte importantă – de a crea un Centru de Calcul la
Universitatea din Bucureşti. În felul acesta, la acea vreme, România era una
dintre cele 10 universităţi din lume care aveau un Centru de calcul.
4. Deceniile '70-'80 - apariția microprocesorului și trecerea de la sistemele de
calcul de tip batch (tehnologia cartelelor perforate, cartele Hollerith) la
sistemele de calcul interactive (generațiile IV-V); apariția limbajelor de
programare pentru baze de date, grafică pe calculator, inteligența artificială;
apariția sistemelor de operare pentru rețele de calculatoare; apariția
primelor sisteme expert (inteligente); desfășurarea proiectului japonez
pentru construirea calculatorului inteligent de generația a V-a; Apariția
primelor mari aplicații de sisteme informatice, apariția primelor sisteme
expert în diverse domenii: medicină, chimie etc. Performanțe deosebite ale
sistemelor de operare destinate sistemelor de calcul (PC și rețele de
calculatoare): sistemele de operare Windows, RSX 11M, Novell etc. Perioada
de consolidare a gândirii algoritmice și dezvoltarea gândirii obiectuale
(Object-oriented Programming – OOP.
5. Deceniile '90-2000 – apariția rețelei mondiale de calculatoare (sistemul
Internet) și a tehnologiilor Web 1.0 și 2.0; apariția sistemului de operare
Linux, apariția motoarelor de căutare Google; apariția limbajelor de
programare HTML, Java etc., apariția tehnologiilor ASP, PHP, MySQL etc, a
platformelor Content Management Systems (CMS), Learning Management
Systems (LMS, e-Learning) etc. Apariția telefoanelor mobile: mobile device
(handheld computer)- LCD flatscreen sau touchscreen.
6. Deceniile 2010-2020 – apariția primei generații de iPhone (mobile phone) cu
sistemul de operare iOS – anul 2010, apariția primul smartphone (handheld
personal computer) cu mobile operating system (Android), apariția
tehnologiilor de imprimare 3D, apariția tehnologiilor Touchscreen – Tablet
computer (portable personal computer) și iPad, apariția tehnologiilor de
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 43
Date comparative privind evoluția procesului de admitere: anul 1987 vs. 2018.
OBSERVAȚII
MOTTO: Istoria adevărată și relevantă este cea descrisă de cei care au trăit-o.
Nevoia unei istorii a Informaticii românești.
biologia, chimia sau fizica, de exemplu (a se vedea „At the intersection of computer
science with biology, chemistry and physics - in memory of Solomon Marcus”, eds.
Gh. Păun, I. Petre, G. Rozenberg, A. Salomaa, Theoretical Computer Science, 701,
2017 și „100 Romanian Authors in Theoretical Computer Science”, eds. S. Cojocaru,
Gh. Păun, D. Vaida, Ed. Academiei Române, 2018)” Dragoș Vaida, august 2018 –
mesaj e-mail.
O istorie pentru un proces, eveniment, concept etc. poate fi o descriere mai
simplă și care să ofere coerență, unele legături și explicații cu diverse concepte și
termeni. În schimb, „Istoria informaticii românești” nu poate fi tratată matematic
în termeni de teoremă sau teorii ce necesită definirea de ipoteze și concluzii. Se
poate porni de la definirea sau de la ideea că, ISTORIA este reprezentarea
cunoștințelor pe care o persoană le are prin diverse căi și metode pentru a explica:
evenimente, decizii, procese, evoluții etc. Astfel, Istoria este la fel ca ÎNVĂȚAREA.
Învățarea este evoluția în timp a cunoașterii spune Roger Bohn. Istoria despre ceva
este evoluția cunoașterii despre acel ceva. În final, cititorul prezentului volumul va
trebui să facă legături, să-și explice unele aspecte descrise, să înțeleagă unele
decizii descrise în carte, să compare unele rezultate cu altele, să caute modele de
urmat, să tragă concluzii și să-și elaboreze unele obiective viitoare. Să caute greșeli
în decizii, să înțeleagă unele măsuri și programe urmate la un moment dat prin
desfășurarea de evenimente și evoluții. E posibil ca, uneori, cititorul să caute
ipoteze și să obțină concluzii din studiul celor descrise. Istoria este cu oameni, prin
urmare istoria este ca omul, cu bune și cu rele, cu urcușuri și cu coborâșuri. Doar
unii oameni au curajul să înfrunte aceste adevăruri.
Am putea să ne imaginăm cum s-ar scrie ISTORIA INFORMATICII
ROMÂNEȘTI peste 50 sau 100 de ani? Ce s-ar întâmpla dacă nu am face acest efort
astăzi? MULTE CUNOȘTINȚE S-AR PIERDE PE DRUM! De aceea am pornit de la
un Motto: Istoria adevărată și relevantă este cea descrisă de cei care au trăit-o!
CONCLUZII
al Universitatii din București (CCUB). Viziunea, crezul și spiritul lui Gr. C. Moisil au
influențat gândirea celor ce i-au urmat ideile în anii în care în România au apărut
calculatoarele și au fost utilizare la rezolvarea de probleme ale societății, așa cum
prevedea Moisil.
Așa cum domeniul Computing cuprinde aspectele hardware și software, tot
așa și domeniul Informaticii cuprinde dezvoltarea aspectelor teoretice de Computer
Science (știința calculatoarelor/informatică teoretică), în cooperare cu aspectele de
software pentru rezolvarea problemelor complexe din toate domeniile vieții
societății. Acad. Mihai Drăgănescu definea Ştiinţa şi tehnologia informaţiei ca fiind
„domeniul multidisciplinar al ştiinţei și tehnologiei care stă la baza societăţii
informaţionale şi care cuprinde substratul fizic al informaţiei, telecomunicaţiile,
calculatoarele, software, sistemele informatice, informatica teoretică și teoria
informaţiei, Internetul, tehnologia Web, automatica și teoria sistemelor, precum și
aplicaţiile specifice în cele mai diverse domenii: economie, sociologie, medicina
electronică, biologie informaţională, filosofia informaţiei etc.”, Adunarea Generală a
Academiei Române din 24 noiembrie 1998.
În volumul coord. de acad. Florin Gheorghe Filip, Civilizaţia Românească
(coord. Victor Spinei) - Ştiinţa şi tehnologia informaţiei în România, Editura
Academiei Române Bucureşti, 2018, acad. Gheorghe Păun realizează următoarea
abordare privind pagini din istoria informaticii teoretice românești: „va rememora
totuşi o serie de momente semnificative din evoluţia domeniului în ţara noastră.
Vom merge în trecut până în „preistoria” informaticii (teoretice), chiar înainte de
constituirea „ştiinţei calculatoarelor” în lume (preiau sintagma curentă, computer
science, folosită în limba engleză), invocându-l pe Gabriel Sudan, cel care, în 1927,
producea – fără a avea această intenţie, pentru că nici terminologia nu exista pe
atunci – primul exemplu de funcţie recursivă care nu este primitiv recursivă,
insistând apoi asupra celor doi fondatori ai informaticii (teoretice) româneşti,
Grigore C. Moisil şi Solomon Marcus, ajungând în zilele noastre, la multitudinea de
contribuţii ale informaticienilor români la cele mai diverse direcţii de cercetare active
internaţional”.
În anul 2013, cu ocazia celor 110 ani de la nașterea lui Gr. C. Moisil, Prof. Dr.
Cristian Calude concluziona: „Moisil a fost un remarcabil cercetător, care a excelat
în introducerea unor noi idei, metode şi direcţii de cercetare, un profesor
neconvenţional, care a inspirat, motivat şi încurajat un număr mare de tineri care au
devenit la rândul lor matematicieni de valoare, creatorul unor şcoli româneşti de
matematică, în special în mecanica solidelor, logica matematică şi informatică,
susţinătorul aplicaţiilor matematicii în alte domenii, promotorul relaţiei privilegiate
dintre matematică şi informatică şi, ca o consecinţă naturală, cel care a contribuit
cel mai mult la introducerea informaticii în România (în viziunea profesorului
Marcus, campania de alfabetizare computaţională a lui Moisil a fost analoagă cu cea
de alfabetizare dusă de Spiru Haret)”.
Astăzi, Grigore C. Moisil este cunoscut prin activitatea sa științifică
transdisciplinară, contribuțiile sale la fondarea și dezvoltarea unor școli pentru
dezvoltarea științelor, promovarea teoriilor și metodelor matematice în rezolvarea
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 53
problemelor pentru societate și, mai ales promovarea apariției unei noi științe -
Informatica, prin utilizarea calculatorului în multe domenii ale științei, tehnicii și
societății, încurajarea elevilor, studenților și tinerilor cercetători pentru a milita și
a înțelege că „matematica face parte integrantă din cultură, iar valorile umaniste
sunt indispensabile oricărui om”.
Ca exemplu personal, din experiența noastră, evidențiem faptul că formula
ariei unui domeniu simplu conex (aria unui poligon oarecare – azi este cunoscută
chiar de elevii olimpici la informatică și apare în geometria computațională), nu am
aflat-o de la cursurile de matematică sau de informatică, ci de la un inginer topo-
geodez, în anii 1980, în cadrul colaborării la un proiect (contract) în care se
realizau calcule inginerești și reprezentări grafice pentru desene tehnice și unde se
utiliza calculatorul și masa germană de desen automat Digigraf (perioada 1981-
1983, Contract ROMPROIECT pentru lucrări de amenajare a desecărilor în unele
zone agricole din Irak).
Dacă Matematica nu ar fi fost, „nimic nu ar fi fost”: nici zero şi nici fizica,
chimia sau arhitectura, nici roata şi nici calculatorul, nici tiparul şi nici telefonul,
nici Informatica şi nici Cibernetica. Dar, faţă de toate aceste entităţi materiale
inventate de om, Matematica îl ajută pe om să gândească toată viaţa, să creeze şi
să‑şi imagineze, să iubească natura şi pe semenii săi, să fie emotiv şi curajos, să fie
consecvent şi ordonat, să viseze şi să fie fericit.
Vom încheia cu vorbele rostite și scrise de acad. Grigore C. Moisil „Eu nu vă
conving, eu demostrez” şi „Omul, când nu înţelege, e contra”, iar aceste ziceri le
folosea şi acad. Solomon Marcus: „Universalitatea gândirii matematice a fost
interpretată de unii autori ca o pretenţie a matematicienilor de a institui o
hegemonie a matematicii faţă de celelalte domenii ale cunoaşterii. În fapt însă,
universalitatea matematicii este complet echilibrată de aservirea ei faţă de celelalte
discipline”.
„Matematica îşi extrage probleme de peste tot. Am putea chiar spune că cele mai
interesante aspecte sunt cele care apar la interfaţa matematicii cu restul
lumii. Spre această zonă mi-am orientat o bună parte din cercetări” acad.
Solomon Marcus, Discursul de Recepție la Academia Româna.
„Noi învăţăm în general o matematică făcută din rezultate disparate, dar fără
a cunoaşte contextul lor istoric. De foarte multe ori, învăţăm teoreme, fără a
afla la ce întrebări s-au constituit ele ca răspuns. Cred că era bine să realizăm
un echilibru între cele două stiluri, să demonstrăm şi capacităţile tehnice ale
matematicii, dar şi capacităţile ei identice şi culturale. Din păcate,
matematica pe care noi o cultivăm şi în predare şi în cercetare, de prea multe
ori ascunde ideile, dacă ele există, şi uneori, stai şi te întrebi, dacă ele există.”
S. Marcus, Dimitrie Pompeiu, personificarea matematicii de finețe (A
mathematician of the fineness: Dimitrie Pompeiu), RPSS serie nouă, vol. 3,
nr. 3, 2014, p. 232-238.
54 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
MULȚUMIRI
Dezvoltarea ştiinţei:
„Dezvoltarea ştiinţei se bazează pe două mari realizări:
invenţia sistemului de logică formală (în geometria euclidiană)
de către filosofii greci, şi posibilitatea de a descoperi relaţii cauzale
prin experiment sistematic (în timpul Renaşterii).”
Albert Einstein.
CUPRINS
Pioneers of Computing
60 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
Nevoia de calculator (computer) nu a fost visul doar al unui om de știință sau doar
al unui inventator, deși unii istorici, profesori sau oameni de știință ne pot contrazice cu
diverse argumente din istorie, ce aparent sunt cazuri particulare. Complexitatea
problemelor practice de rezolvat, volumul mare de calcule ce erau necesare de executat,
au condus – din vremuri străbune, la nevoia omului de a construi o „mașina de calcul”.
Calculatorul fost mijlocul (produsul) prin care se combinau și se utilizau o varietate de
soluții eficiente oferite de știință și tehnică, în scopul rezolvării problemelor practice cu
care se confruntau în perioada 1940-1960 națiunile puternice ale lumii: USA, URSS și
UK. Principalele probleme ce erau majore și chiar urgente au fost: militare – de apărare și
de cucerire a spașiului cosmic, ultima problemă fiind tot o problemă majoră de apărare.
Factorii ce au influenţat conceperea, proiectarea şi dezvoltarea sistemelor de
calcul sunt factori ştiinţifici, tehnologici, sociali, culturali, economici, politici,
militari etc. Un exemplu este ziua de 4 octombrie 1957, când în URSS a fost
lansat în spaţiu cosmic satelitul Sputnik (83.6 kg), primul satelit artificial al
pamântului, şi când liderii SUA erau îngrijoraţi de un prim atac sovietic ce ar
putea fi un atac preventiv; a fost momentul când la Departamentul Militar al
Apărării SUA au început mai multe proiecte de cercetare; drept urmare, la 31
ianuarie 1958 a fost lansat Explorer 1 (14 kg), primul satelit artificial lansat de
SUA, fiind al treilea după sateliţii URSS Sputnik 1 şi 2 (detalii: M. Vlada,
http://www.elearning.ro/idei-inovatoare-si-pionierii-internetului).
La nivelul indivizilor unei societăți, se poate spune că destinul și viața acestora
sunt influențate de factorii precizați mai sus. Nu este nevoie să venim cu
argumente sau să exemplificăm, simpla studiere a unor biografii ale unor
oameni de știință, de artă etc., ce au trăit în diverse perioade ale istoriei, vor fi
edificatoare pentru oricine.
„Toată cunoaşterea noastră îşi are originea în percepţiile noastre”, Leonardo da Vinci.
„Nu se pot prevedea limitele cunoaşterii şi previziunile ştiinţifice”, Dimitri Mendeleev.
„Ştiinţa reprezintă cunoaşterea organizată. Înţelepciunea reprezintă viaţa organizată”, Kant.
LIMBAJE REPREZENTARE
COMPUTING
noastră se schimbă mereu, profesiile şi locurile de muncă ale oamenilor sunt într-o
continuă schimbare, se schimbă mentalităţi, religii şi filosofii, se schimbă mijloacele de
transport şi de comunicaţii, se schimbă infrastructura şi natura, se schimbă OMUL. E bine
sau e rău? Marin Vlada, http://prof.unibuc.ro/prof/vlada/
DEFINIȚII
DEFINIȚIA 1. „Informatica a evoluat ca o știință de sine stătătoare, care face legătura
între Matematică și Știința calculatoarelor, acoperind un spectru care pleacă de la
elaborarea de teorii și modele, utilizând instrumente matematice, până la implementarea
de soluții computaționale performante și sigure.” Informatica Universitaria,
www.informatica-universitaria.ro/.
DENUMIRI
Termenul de Informatică – Computer Science (America); Europa: Informatique (Fr),
Informatics (Eng), Informatik (Danish, German, Swedish), Informatica (Naderland,
Italian); Informatics: (computing) a branch of information science, and of computer
science, that focuses on the study of information.
SISTEME DE
CALCUL ALGORITMICĂ
PROGRAMARE
„Matematica este cel mai puternic instrument pe care oamenii l-au dezvoltat pentru a investiga lumea din
jurul nostru. Dar ea este predată în aşa fel încât elevii nu realizează acest lucru."
Juraj Hromkovic, 2014.
16
Articol adaptat din Revista Curtea de la Argeş, Anul V, Nr. 8 (45), August 2014 -
http://www.curteadelaarges.ro/arhiva/V_8_45/V_8_45.pdf, http://c3.cniv.ro/?q=2014/juraj
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 71
***
înlocui cele peste 450 de limbaje de programare utilizate de DoD în acel moment.
Contribuția importantă a englezului George Boole
(1815-1864) în domeniul informaticii (computer science):
expresii; Boole a lucrat la identificarea operațiilor
fundamentale, a variabilelor și a reprezentărilor simbolice
ale ambelor; a introdus și studiat expresii care au avut
doar două valori logice: 1 pentru adevărat, 0 pentru fals;
ideile lui Boole au devenit fundamentele logicii
matematice; conceptele de Logică matematică sunt baza
pentru proiectarea circuitelor aritmetico-logice la
calculatoarele digitale.
Înainte și după anul 1900 – inventatorul american Herman
Hollerith (1860 – 1929), fondator al calculului automat
modern (automatic computation, electromechanical
punched card tabulator); a lucrat la recensământul din
1880 al Statelor Unite și a înțeles nevoia de mecanizare a
procesului de înregistrare și de tabelație, pe măsură ce
imigrația a crescut în USA; a câștigat concursul de
proiectare pentru recensământul din 1890, inventând
echipamente pentru a tabula/tabela și a sorta cartele
perforate similare cu cele folosite pe războiul de țesut
Jacquard; a fondat compania Computing-Tabulating-
Recording (CTR), ulterior numele schimbat în IBM, în
anul 1924; Hollerith despre sistemul de prelucrare („Un sistem electric de
tabele”, „An Electric Tabulating System”, 1889): „Puțini, care nu au venit direct
în contact cu un birou de recensământ, pot forma orice idee adecvată a muncii
implicate în compilarea unui recensământ de 50.000.000 de persoane, așa cum s-
a întâmplat în ultimul recensământ sau de peste 62.000.000, să fie cazul în
recensământul care urma să fie făcut în iunie 1890. Deși populația noastră crește
în mod constant și, deși la fiecare recensământ sunt necesare mai multe
combinații, mai complicate și mai multe detalii, în diferitele prelucrări; Trebuie
să fie concepută o mașină care să faciliteze astfel de tabele”. În imaginea de mai
jos este replica mașinii cu tabla Hollerith, cu cutie de sortare, anul 1890; „Cutia
de sortare” (sorting box) a fost adăugată și a fost controlată de tabel (tabulator).
„Sorterul” (The sorter), o mașină independentă, a fost o realizare ulterioară.
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 77
este învârtit, pinionul se rotește și se angajează cu o altă roată, care apoi rotește
numărul de pași ales. Pinwheel pare să fi fost patentat mai întâi de David Isaac
Wetheimber în 1843 (GB184309616), dar a fost adaptat de Willgodt Odhner care
a venit cu o proiectare standard a mașinii pinwheel (ref.: https://www.jaapsch.net/
mechcalc/walther.htm). De remarcat, în Romania s-au utilizat astfel de mașini
mecanice de calcul în geodezie, topografie, în armată etc., chiar în anii 1960-1970.
MEMORY INPUT
ALU OUTPUT
CONTROL
Transfer date
Control
Perioada de după anul 1950: generații de software: Mașini timpurii - limbaj cod
mașina (cod binar, ex: 10100101); limbajele de asamblare din anii 1950
(simbolice); după anul 1950 și începutul anilor 1960: limbaje de programare de
nivel înalt (ex: FORTRAN (traducător de formule), John Backus, 1954; COBOL
(limbaj obișnuit de afaceri), Grace Murray Harper și alții, 1960; Pascal (Nicklaus
Wirth, 1970); trecerea de la limbajele procedurale la limbajele orientate pe
obiecte (OOP): limbajele C → C++; limbajul C++ dezvoltat la Bell Labs
începând cu 1979 (numit în 1983), „C cu clase”; limbajele inteligenței artificiale
– LISP (un limbaj functional – un program este o compunere de funcții, inventat
de John McCarthy în 1958, la Institutul de Tehnologie din Massachusetts (MIT)
– anul 1960 și Prolog (limbajul a fost inițial conceput de un grup în jurul lui Alain
Colmerauer din Marsilia, Franța, la începutul anilor 1970, iar primul sistem
Prolog a fost dezvoltat-scris în limbajul FORTRAN) în anul 1972 de către
Colmerauer cu Philippe Roussel); limbajul declarativ Prolog își are rădăcinile în
logica de ordinul I, o logică formală și, spre deosebire de multe alte limbaje de
programare, logica programului este exprimată prin relații (clauze Horn),
reprezentate ca fapte și reguli; un program este inițiat prin rularea unei interogări
asupra acestor relații; limbajul Java (James Gosling și alții de la Sun
Microsystems) dezvoltat la începutul anilor 1990, lansat în anul 1995; (OOP)
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 83
„Computer Pioneer Award” a fost înființat în anul 1981 de către Consiliul Societății de
Calculatoare (IEEE) pentru a recunoaște și a onora viziunea acelor oameni ale căror
eforturi au dus la crearea și continuarea vitalității industriei computerelor. Premiul este
prezentat persoanelor fizice remarcabile, a căror contribuție principală la conceptele și
dezvoltarea domeniului informaticii/computing a fost făcută cu cel puțin cincisprezece
ani mai devreme (Ref.: https://www.computer.org/web/awards/pioneer).
1. 2016: E. Grady Booch – For pioneering work in Object Modeling that led to the creation of the
Unified Modeling Language (UML).
2. 2015: Michael J. Flynn – For more than 50 years of leadership, which includes the creation of
TCCA and SIGARCH, basic contributions to computer arithmetic, microarchitecture and
multiprocessing, and quantitative analysis of microarchitectures.
…
41. 1996: Sergey A. Lebedev – For the first computer in the Soviet Union.
42. 1996: Alexey A. Lyapunov – For Soviet cybernetics and programming.
43. 1996: Romuald W. Marczynski – For pioneering work in the construction of the first Polish
digital computers and contributions to fundamental research in computer architecture.
44. 1996: Grigore C. Moisil – For polyvalent logic switching circuits.
84 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
Medalia „Computer Pioneer Award” (IEEE, 1996): primită de Gr. C. Moisil (Sursa: Ioana Moisil, ICCCC
2016, http://dzitac.ro/files/icccc/PreprintProcICCCC2016.pdf )
…
45. 1996: Ivan Plander – For the introduction of computer hardware technology into Slovakia and
the development of the first control computer.
46. 1996: Arnols Reitsakas – For contributions to Estonia's computer age.
47. 1996: Antonin Svoboda – For the pioneering work leading to the development of computer
research in Czechoslovakis and the design and construction of the SAPO and EPOS computers.
48. 1995: Gerald Estrin – For significant developments on early computers.
49. 1995: David Evans – For seminal work on computer graphics.
50. 1995: Butler Lampson – For early concepts and developments of the PC.
…
91. 1984: Jerrier A. Haddad – For his part in the lead IBM 701 design team.
92. 1984: Nicholas C. Metropolis – For the first solved atomic energy problems on ENIAC.
93. 1984: Nathaniel Rochester – For the architecture of IBM 702 electronic data processing
machines.
94. 1984: Willem L. van der Poel – For the serial computer ZEBRA.
95. 1982: Harry D. Huskey – For the first parallel computer SWAC.
96. 1982: Arthur Burks – For his early work in electronic computer logic design.
97. 1981: Jeffrey Chuan Chu – For his early work in electronic computer logic design
1.2 Cronologia tehnicii de calcul – istoric și evoluție
Marin Vlada,
Universitatea din București
Preistorie – antichitate
c. 19.000 î.Hr. – Oasele Ishango pot indica faptul că, chiar și obiectele materiale
atât de timpurii, au fost folosite pentru operații aritmetice simple și pot dovedi
unele cunoștințe despre numerele prime (deși acest lucru este în discuție).
c. 2500 î.H. – Abacul (abacul), primul calculator cunoscut, în această perioadă de
timp, a fost probabil inventat de babilonieni ca un ajutor pentru aritmetica
simplă. A pus bazele notației de poziție și dezvoltărilor de calcul ulterioare.
c. 1770 î.H. – Prima, din câte se știe, utilizare a cifrei zero (0) de către egipteni
vechi în textele contabile.
c. 910 î.Hr. – A fost inventat carul (the chariot, caruța) – îndreptată spre sud, în
China antică. A fost primul mecanism cunoscut pentru a folosi un mecanism
diferențial. Chariotul era un vehicul cu două roți, pe care se afla o figură
indicatoare conectată la roți, prin intermediul unui angrenaj diferențial. Prin
selectarea atentă a dimensiunilor roților, a șenilelor și a raporturilor de transmisie,
figura deasupra carului indica întotdeauna în aceeași direcție.
c. 500 î.Hr. – Învățătorul indian Pāṇini a formulat gramatica sanscrită (cu 3959
reguli) cunoscută sub numele de Ashtadhyayi, care a fost extrem de sistematizată
și tehnică. Pāṇini a folosit metareguli, transformări și recursiuni cu o sofisticare
complexă, încât gramatica sa avea puterea de calcul echivalentă cu o mașină
Turing. Lucrarea lui Pāṇini a fost precursorul teoriei limbajelor formale moderne
și un precursor al utilizării sale în calculul modern. Forma Panini-Backus folosită
pentru a descrie cele mai moderne limbaje de programare este semnificativ
similară regulilor de gramatică ale lui Pāṇini.
c. 200 î.Hr. – Matematicianul indian / cărturarul / muzicianul Pingala a descris
mai întâi sistemul numeric binar, care este utilizat în proiectarea tuturor
echipamentelor moderne de calcul. El a conceput și noțiunea de cod binar similar
codului Morse.
c. 125 î.H. – Mecanismul Antikythera: un ceas, un calculator analogic, se crede
că a fost proiectat și construit în colonia Corintul din Syracuse. Mecanismul
1
https://en.wikipedia.org/wiki/Timeline_of_computing_hardware_before_1950.
86 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
Medieval – 1640
să scadă numere. Un model de lucru inspirat de acest plan a fost construit în anul
1968, dar rămâne controversat, dacă Leonardo a avut cu adevărat un calculator în
minte. Da Vinci a făcut planuri pentru un om mecanic: un design timpuriu pentru
un robot.
1614 – Scoțianul John Napier a reinventat o formă de logaritmi și un sistem
ingenios de tije mobile (1617, numit tijele lui Napier). Aceste tije s-au bazat pe
algoritmul de înjumătățire și care au permis operatorului să înmulțească, să
împartă și să calculeze rădăcinile pătrate și cuburi, prin deplasarea tijelor în jurul
lor și plasarea lor în plăci special construite.
1622 – William Oughtred a elaborat reguli de diapozitive bazate pe logaritmii
dezvoltate de John Napier.
1623 – Matematicianul german Wilhelm Schickard a desenat un dispozitiv pe
care l-a numit un ceas de calcul pe două scrisori, pe care le-a trimis lui Johannes
Kepler, unul în 1623 și celălalt în 1624. Un incendiu a distrus ulterior mașina în
timp ce a fost construită, în 1624, și a decis să renunțe la proiectul său. Această
mașină a devenit cunoscută lumii abia în anul 1957, când au fost descoperite cele
două scrisori. Unele replici au fost construite în anul 1961. Această mașină nu a
avut niciun impact asupra dezvoltării calculatoarelor mecanice.
2
https://en.wikipedia.org/wiki/Timeline_of_computing_1950%E2%80%9379
94 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
1976 – Compania americană Zilog a lansat chip Z80. A fost o superset al cipului
8080 cu regiștri și instrucțiuni suplimentare, folosind doar o singură tensiune de
alimentare. Inițial, sistemul de operare CP/M a fost scris pentru 8080, însă multe
implementări au folosit modelul Z80. Microprocesorul Z80 a fost procesorul
pentru computerele de casă, cum ar fi Tandy TRS-80 din 1977, Sinclair ZX
Spectrum din 1982 și multe altele.
1976 – În USA, compania Commodore cumpără compania MOS Technology, Inc.
printr-un comerț cu acțiuni. Compania MOS era evaluată la 12 milioane USD.
Chuck Peddle se alătură Commodore ca inginer șef. Odată cu achiziționarea
MOS, Commodore începe să lucreze la Commodore PET.
1976 – Sunt introduse discuri de dischetă (floppy disks) de 5,25 inch. Atunci când
acest produs ajunge pe piața PC-urilor, acesta provoacă o creștere explozivă în
stocarea informațiilor digitale.
1977 – 5 iunie, în SUA a fost introdus computerul Apple II pe baza unui
microprocesor MOS 6502 cu 8 biți MOS care rula la 1 MHz cu 4 KB de memorie
RAM. Avea o arhitectură deschisă, o grafică colorată și o interfață pentru casete
audio pentru încărcarea programelor și stocarea datelor. Mai târziu, în iulie 1978,
a fost pusă la dispoziție o unitate de dischetă cu o interfață elegant proiectată.
Pentru acesta, a fost lansat unul dintre primele exemple de „aplicație pentru
ucigaș” (killer app) (lumea afacerilor) - programul de calcul tabelar VisiCalc - în
anul 1979.
1978 – 8 iunie, în USA apare microprocesorul Intel 8086 pe 16 biți, primul
microprocesor x86. Frecvențele de ceas disponibile au fost de 5, 8 și 10 MHz, cu
un set de instrucțiuni de aproximativ 300 de operații. La lansarea sa, cea mai
rapidă versiune 8086 disponibilă a fost versiunea de 8 MHz, care a atins 0,8
MIPS și cuprindea 29000 de tranzistoare. Peste trei decenii mai târziu, x86
rămâne cea mai populară și de succes arhitectură de seturi de instrucțiuni
comerciale din istoria calculatoarelor personale (PC).
1979 – În SUA, Jean Ichbiah și echipa de la compania Honeywell International
Inc. – pentru Departamentul Apărării al SUA (US Department of Defense),
dezvolta limbajul de programare Ada.
1979 – În Olanda și Japonia a fost inventat discul optic (compact disc).
1979 – În USA a fost lansat programul VisiCalc, software de calcul tabelar.
VisiCalc (visible calculator, „calculator vizibil”), care a fost primul program de
calcul tabelar pentru computerele personale (PC), lansat inițial pentru Apple II de
către compania VisiCorp.
1979 – În SUA a fost lansat programul WordStar, software-ul de procesare texte.
Perioada 2013-20173
Anul 2013
11 iunie – Apple lansează primele MacBook Pros Retina Display.
20 septembrie – Apple lansează telefonul mobil iPhone 5S, alimentat de sistemul
Apple A7 pe chip, pe care compania la proclamat a fi primul procesor pe 64 de
biți și care va fi utilizat pe un smartphone.
5 noiembrie – Sony lansează PlayStation 4 în Statele Unite.
22 noiembrie – Microsoft lansează Xbox One.
29 noiembrie – Sony lansează PlayStation 4 în Europa.
Anul 2014
26 August – Primul hard disk de 8 terabyte este lansat de Seagate. Google
lansează Chrome versiunea pe 64 de biți pentru Windows.
29 august – Intel a lansat primul său procesor desktop cu 8 nuclee, Intel Core i7-
5960X.
Anul 2015
29 iulie – compania Microsoft lansează sistemul de operare Windows 10.
Anul 2016
12 ianuarie – Standardul High Bandwidth Memory 2 este lansat de JEDEC.
13 ianuarie – Fixstars Solutions lansează primul SSD de 13 TB din lume.
4 martie – Oamenii de știință de la MIT au creat primul computer cuantic cu cinci
atomi, cu potențialul de a sparge securitatea sistemelor tradiționale de criptare.
19 august – Compania Samsung lansează Nota Galaxy 7.
Anul 2017
3 martie – Compania Nintendo lansează consola hibrid de jocuri Nintendo
Switch.
3
https://en.wikipedia.org/wiki/Timeline_of_computing_2010%E2%80%9319
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 101
Nick Doiron4
Afghanistan (1972) – Afghan airline Ariana supported by the company Sherkate Nasaji
Afghan, an IBM 360/30 was bought in 1972.
Albania (1971) – Considering computers and computer networking, It started in 1971
with creation of the first Center of Mathematical Calculus, firstly as department of
University of Tirana, and latter part of Academy of Sciences. The Center was equipped
with computers of second generation and used for application of mathematical methods in
different areas of human activity.
Angola (possibly 1965) – The first IBM 1401 data processing system in Angola is
installed by the Army.
Antarctica (possibly 1971) – 1983: DEC disk-based computer system supplants HP units
which used paper and mag tape.
Argentina (1961-62) – at the School of Engineering of the University of Buenos Aires,
there was a project, directed by Humberto Ciancaglini, to build a computer, named
CEFIBA (Electronic Computer of the School of Engineering). The computer was built
between 1958 and 19 … the School of Sciences decided to buy a computer. A committee
was formed, whose members were Sadosky, Alberto González Domínguez and Simón
Altman (Altman, who had worked at Oxford University, was the only one that had
experience with computers … the building where the computer would be installed at the
University Campus was under construction, and part of it should be ready when the
computer arrived, that is, in January, 1961.
Armenia (1964) – The first Nairi (Armenian: Նաիրի) computer was developed and
launched into production in 1964, at the Yerevan Research Institute of Mathematical
Machines (Yerevan, Armenia).
Australia (1949) – CSIRAC (Council for Scientific and Industrial Research Automatic
Computer), originally known as CSIR Mk 1, was Australia’s first digital computer, and
the fifth stored program computer in the world.
Austria (1956–58) – Mailüfterl was built from May 1956 to May 1958 at the Vienna
University of Technology by Heinz Zemanek. The first program, computation of the
prime 5 073 548 261, was executed in May 1958.
Bangladesh (1964) – The first computer in Bangladesh (then East Pakistan) was an IBM
mainframe 1620 series, installed in 1964 at the Dhaka center of the Pakistan Atomic
Energy Commission (later the Bangladesh Atomic Energy Commission).
Belarus (1959) – From 1959 to 1975, several types of general-purpose computers were
developed in Belarus. These machines had become a basis for the Soviet fleet of
computers, and their large-scale production was organized.
Belgium (1958) – In 1958 on the Brussels World Exposition [an IBM] RAMAC was
shown. Visitors could give a date using the “manual enquiry station” and the visitor got a
printed paper explained what happened on that date.
Bhutan (early 1980s) – Though the exact date of entry of the first computer in Bhutan
remains unknown, those having long experience in the Bhutanese bureaucracy claim that
Bhutan started using computers only from early.
4
Nick Doiron, First digital computer, by country, 2016 - https://medium.com/@mapmeld/first-computer-by-
country-81fa47963234
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 103
Bolivia (before 1969) – The largest computer in Bolivia is an IBM 1440 system… It is
also, at the present time, one of three computers in the whole country, all located in La
Paz. This computer belongs to the Corporacion Minera de Bolivia.
Brazil (1958) – The National Nuclear Commission and the National Council for Research
and Development.
Bulgaria (1979) – The IMKO-1 (Bulgarian: Индивидуален микро компютър (ИМКО-
1), Individualen Micro KOmputer, Individual micro computer) was the first Bulgarian
personal computer, built in 1979 in Pravetz, Bulgaria.
Canada (1952) – Ferut was an ambitious project... it was one of the world’s first
computers, and the first to be exported three thousand miles. The University, Ferranti and
others managed to get the machine working for the 1952 Toronto Computer Conference,
http://ferut.ca/.
Alan Turing standing at the Mark 1 console at the University of Manchester. Seated are Brian Pollard and
Keith Lonsdale. Copyright Univ of Manchester (Brian-Simon Jeffrey, http://ferut.ca/mark-1/)
Chile (1959–62) – The first digital computer for scientific and engineering applications
was installed in Chile in 1962. It was an ER-56 Standard Elektrik Lorenz (“Lorenzo” by
its Spanish nickname) made in Germany. It was acquired the Faculty of Physical and
Mathematical Sciences of University of Chile.
China (1958) – In April 1957, by the government, China ordered a M-3 computer and
computer design drawings... Led by Zhang Zichang and Mo Gensheng, M-3 (Code 103)
Computer Engineering Group was organized. Through the efforts of all staff, in close
collaboration with Beijing Cable Plant, China’s first digital computer successfully
developed on August 1, 1958.
Colombia (1957) – Colombia se metió temprano en la onda de la sistematización con la
llegada del primer computador en 1957.
104 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
Costa Rica (1968) – La primera computadora del país, una IBM 16–20 llamada
“Matilde”, permanece como una pieza de museo en la entrada del Centro de Informática
de la Universidad de Costa Rica … Fue traída en setiembre de 1968.
Cuba (1958) – Finales de 1958: Se introduce en Cuba la primera computadora electrónica
IBM RAMAC, que se basaba en válvulas y tubos al vacío. En abril de 1970 y luego de
casi dos años de investigación y desarrollo, la Universidad de La Habana, por orden e
iniciativa del presidente y líder cubano Fidel Castro presentó en sociedad la primera
computadora diseñada en la isla, la CID-201.
Czech Republic (1956) – SAPO in Prague.
Denmark (1957) – The DASK was the first computer in Denmark. It was commissioned
in 1955, designed and constructed by Regnecentralen, and began operation in September
1957. DASK is an acronym for Dansk Aritmetisk Sekvens Kalkulator or Danish
Arithmetic Sequence Calculator.
Dominican Republic (1963-64) – Una investigación realizada por Hiddekel Morrison
sobre la historia de la primera computadora en la República Dominicana destaca que fue
una computadora automática universal, mejor conocida como UNIVAC, que llegó al país
a finales de 1963. Morrison dijo que fue instalada en los primeros meses de 1964 en el
Central Romana Corporation.
Ecuador (1967?) – La primera computadora que llegó al Ecuador es una IBM sistema 3
en 1967 para el Banco del Pacífico, que trajo para instalar y capacitar a los usuarios un
equipo de profesionales extranjeros.
El Salvador (1962) – La empresa La Constancia, S.A. fue posiblemente la primera en
traer una computadora a El Salvador, según ha quedado registrado. Fue una IBM 1401.
Estonia (1964) – The first minicomputer called STEM… was designed and built very
early in Estonia — in years 1962–1964 at the Electrotechnical Research Institute in
Tallinn.
Fiji (1967) – 1967 First computer Fiji WAN for many Govt systems
(Immigration/payroll/etc.).
Finland (1960) – ESCO computer 1955–1960.
Germany (1941) – The Z3 was an electromechanical computer designed by Konrad Zuse.
It was the world’s first working programmable, fully automatic digital computer.
Ghana (1963–64) – The first computer in Ghana was installed in 1963. Kwame Nkrumah
University of Science and Technology in Kusami upgrades its basic IBM 1620 into a full-
capacity system with card processing capability. The first IBM 1401 data processing
system is used by the Ghana Housing Corporation in Accra.
Greenland (1959) – IBM delivered computers to a site in Greenland in late 1959, but
“IBM-watchers” claimed that the machines, as delivered, were not finished.
Guatemala (1950–54) – En 1944 con la revolución, se reorganizo la dirección de
estadística y se adquirió por recomendación del ingeniero Arias una computadora IBM
que se uso en el censo de población, vivienda y agricultura de 1950. Despues
adquirienron una IBM 101 electrónica en 1953–1954.
Honduras (1958–60) – Aquí en Honduras el sistema Hollerit fue introducido por la
Dirección General de Presupuesto siendo Ministro Bueso Arias en 1958 se compró el
sistema Hollerit y en 1960 un sistema IBM1440 con 20Kb de Ram y 200Kb en cada disco
con 6 discos, la oficina de IBM estaba en Comayagüela en 1962.
Hungary (1959) – The first Hungarian vacuum tube computer, the M3 was built based on
Soviet documentation. The MTA KKCs started the work in 1957 with many young
engineers and mathematicians.
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 105
Iceland (1964) – At the end of World War II, people considered Iceland an
underdeveloped country. The use of IBM punched card systems started in 1949. The first
computers appeared in 1964.
India (1956) – India bought its first computer in 1956 for a princely sum of Rs 10 lakh. It
was called HEC-2M and was installed at Calcutta’s Indian Statistical Institute.
Indonesia (1962?) – The first IBM 1401 is installed at the Stanvac Refinery in
Palembang, South Sumatra.
Ireland (1957) – A BTM (British Tabulating Machines) ITC 1201 purchased by the Irish
Sugar Company and installed at the Company’s factory in Thurles in 1957.
Israel (1955) – The WEIZAC (Weizmann Automatic Computer) was the first computer
in Israel, and one of the first large-scale, stored-program, electronic computers in the
world.
Italy (1957) – Elea 9001 (Machine Zero) prototype was made with vacuum tubes, but
used germanium transistors for the tape drive system. The system was completed in
spring 1957 and was later sent toIvrea where for six years it controlled the Olivetti
production warehouses.
Ivory Coast (1964) – The first IBM 1440 tape system in the country is installed by the
Social Security agency.
Japan (1954) – In 1954, Fujitsu manufactured Japan’s first computer, the FACOM 100,
and in 1961 launched the transistorized FACOM 222.
Kenya (mid-1950s) – In the mid-1950s, the BTM company set up shop in Nairobi as the
BTM (EA) Ltd. The original office was on the floor above the Boero car dealership
showroom, directly opposite the Donovan Maule Theatre. Some of the first companies to
place orders for these bulky computers were the East African Railways and Harbours
(EAR&H) and East African Power and Light (EAP&L).
Latvia (early 1960s) – The first computer in Latvia was created in the newly-established
Institute of Electronics and Computer Science (IECS) at the beginning of 60-ties.
Lithuania (1957) – Vilniaus skaičiavimo mašinų gamykla was computer and their
component manufacturer (since 1957).
Malawi (1966) – The first computer procured in Malawi was for the National Statistical
Office to conduct a population census in 1966.
Malaysia (1965) – The first to use and introduce computer in Malaysia is believed to be
Lembaga Letrik Negara which is today known as Tenaga Nasional (the national
electricity board). It began to use computer in 1965 to process staff salary payment.
Maldives (1975–1980) – Government’s first computer, a Data General Eclipse
Minicomputer System, was acquired by the MPND. The first computer in the Maldives,
at the National Museum (Data General Eclipse S/120, circa 1975)
Mexico (1958) – Según el sitio de la Universidad Autónoma de México, la IBM 650
adquirida por esta universidad en 1958 e instalada en la Facultad de Ciencias, es
considerada como la primera computadora de México y de América Latina.
Mongolia (1973) – Mongolia first started using computers in 1973. The very first
computer brought to Mongolia was the Minsk-32, after that, the IBM-360 and 370 were
imported.
Morocco (1957) – The first modern computer was introduced in Morocco immediately
after the country acquired its independence in 1957.
Myanmar / Burma (1972–1973) – A mainframe known as the ICL 1902S, produced by
International Computers Limited. The ICL 1902S was delivered in December 1972 and
moved into the computer room, with its air conditioning and cutting-edge power supply,
to start the installation process. Acceptance trials for the ICL 1902S and the
environmental equipment started on February 25, 1973, and were formally completed on
106 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
March 8, 1973. 1979 Jan, The first computer in Myanmar — IBM PDP-11 mainframe at
Universities Computer Center (UCC).
Nepal (1972) – The first computer brought in Nepal was IBM 1401 which was brought by
the government in lease for the population census of 1972.
The Netherlands (1952) – The ARRA (for “Automatische Relais Rekenmachine
Amsterdam”) was the first Dutch computer, and was built from relays for the Dutch
Mathematical Centre… It was designed and built by Carel Scholten and Bram Loopstra,
and was finished in 1952.
New Zealand (1962) – The Census and Statistics Office acquired its first computer in
1962.
Nicaragua (before 1984) – IBM is presently the only computer vendor operating in
Nicaragua.
Nigeria (1962-64) – Compagnie Francaise de l’Afrique Occidentale acquires IBM data
processing (DP) equipment in Lagos. In 1964, the IBM 1401 system became Nigeria’s
first government computer system, speeding payroll preparation, organizing national
education and keeping track of freight cars for the Nigerian Rail Corporation.
Norway (1953–54) – NUSSE (Norsk Universell Siffermaskin, Sekvensstyrt, Elektronisk)
was the first Norwegian electronic computer. It was constructed from 1950 through 1953
and unveiled at the University of Oslo in April 1954.
Oman (late 1970s) – The beginning of the ICT industry in Oman technically dates to the
late 1970s and early 1980s.
Pakistan (1970s) – The first computer in Pakistan, for example, was a 1401 installed at
Pakistan International Airlines.
Paraguay (1970) – En julio de 1970 llegaba al Paraguay la primera computadora
electrónica, un mes después, en agosto, quedaba inaugurada la primera sala de
computación.
Peru (1962) – La primera computadora en llegar a una universidad peruana fue la IBM
1620 (Modelo I), y la universidad que tuvo dicha computadora fue laUNI (Universidad
Nacional de Ingeniería).
Philippines (1960) – 1960: The first computer system in the Philippines — an IBM 650 —
is installed at the Bureau of Lands to handle the country’s land survey computations.
Poland (1955) – The first electronic digital computer to be constructed in Poland was the
EMAL (Electronic Machine Automatically Computing), or the EMAL-1, based on the
British EDSAC machine. Work began on the machine in 1953, and reached its most
complete phase in 1955. ODRA computer was a line of computers manufactured in
Wrocław, Poland. The production started in 1959–1960.
Portugal (1963?) – On instrumental Astronomy, using Applied Mathematics and
Electronics.
Romania (1957) – CIFA is the acronym for “Calculatorul Institutului de Fizică
Atomică”. CIFA-1, the first Romanian computer, was built in 1957 under the guidance of
Victor Toma.
Russia / Soviet Union (1952) – BESM-1, originally referred to as simply the BESM or
BESM AN (“BESM Akademii Nauk”, BESM of the Academy of Sciences), was
completed in 1952.
Saudi Arabia (1947?) – IBM’s presence in the Middle East and Pakistan dates back over
60 years to the installation of the first computer at Saudi Aramco in 1947.
Senegal (1964) – Banque Senegalaise de Development acquires an IBM 1401 data
processing system in its Dakar headquarters.
Serbia (1960) – CER-10 Mihajlo Pupin 1960 First computer designed and produced in
SFRY.
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 107
Sierra Leone (1963) – In Sierra Leone the first computer was installed at the Central
Statistics Office in 1963 to process population census data and coordinate all statistical
activities undertaken by the civil service.
Singapore (1964) – In the government sector, the first computer was installed at the
central provident fund board in 1964. In the same year … Ministry of Finance.
South Korea (1967) – In 1967, Korea’s Economic Planning Board statistics department
implemented the IBM 1401 system to process data collected during the 1966 Korean
National Census ... [It] was the first computer ever implemented in the Republic of
Korea.
Spain (1959) – El Museo de las Ciencias Príncipe Felipe de Valencia expone desde este
lunes en la Calle Menor, una zona de libre acceso al público, el primer ordenador que
llegó a España en el año 1959. Se trata del modelo de IBM 650 Magnetic Drum
Calculator.
Sri Lanka (1967) – The first ever electronic computer in Sri Lanka which was installed at
the State Engineering Corporation, exactly 40 years ago in 1967. IBM World Trade had
been in operation in Sri Lanka since 1962, but for sometime it did not sell any computers.
Instead it offered data processing service. In late 1960s three organisations in Sri Lanka
decided they need computers of their own. State Engineering corporation and Central
Bank of Sri Lanka purchased IBM computers while Petroleum Corporation opted for an
ICL computer. There are unconfirmed reports that a private company (Walkers) used a
computer even before 1967. However this is doubtful. Sir Arthur C. Clarke claims that he
imported the first Personal Computer to Sri Lanka in 1970s.
Sweden (1953) – BESK (Binär Elektronisk SekvensKalkylator) was Sweden’s first
electronic computer, using vacuum tubes instead of relays. It was developed by
Matematikmaskinnämnden (Swedish Board for Computing Machinery) and for a short
time it was the fastest computer in the world. The computer was completed in 1953 and in
use until 1966.
Switzerland (1942–45) – The Z4 was the world’s first commercial digital computer,
designed by German engineer Konrad Zuse and built by his company Zuse Apparatebau
between 1942 and 1945.
Tanzania (1965) – The first computer in Tanzania, an ICT 1500, was installed in the
Ministry of Finance in 1965.
Thailand (1963) – In 1963 Prof. Bundhit Kantabutra brought the first two computers into
Thailand, marking the dawn of the Thai Information Age.
Tunisia (1968) – “The first computer was introduced in Tunisia in 1968,” [S. Karoui]
said.
Turkey (1960) – The first computer came to Turkey in 1960 and it was used in General
Directorate of Highways.
Uganda (1967) – The first computer ever in Uganda was an unwieldy mainframe, which
arrived in 1967. According to Dr Ham-Mukasa Mulira, an IT expert, Independence
resulted in a rise in government workers so the computer was brought in to help with
management of public servant’s payroll.
Ukraine (1950) – The first computer in continental Europe was built in Ukraine under the
supervision of the scholar Sergey Lebedev and well-known scientist V.Hlushkov. It
happened in 1950 in Kyiev.
United Kingdom (1948) – The Manchester Mark 1 was one of the earliest stored-program
computers, developed at the Victoria University of Manchester from the Manchester
Baby (operational in June 1948). It was also called the Manchester Automatic Digital
Machine, or MADM.[1] Work began in August 1948, and the first version was
108 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
operational by April 1949; a program written to search for Mersenne primes ran error-free
for nine hours on the night of 16/17 June 1949.
United States of America (1944-1951) – The UNIVAC I (UNIVersal Automatic
Computer I) was the first commercial computer produced in the United States. It was
designed principally by J. Presper Eckert and John Mauchly, the inventors of the ENIAC.
Design work was started by their company, Eckert–Mauchly Computer Corporation
(EMCC), and was completed after the company had been acquired by Remington Rand
(which later became part of Sperry, now Unisys). In the years before successor models of
the UNIVAC I appeared, the machine was simply known as "the UNIVAC". EDVAC
(Electronic Discrete Variable Automatic Computer) was one of the earliest electronic
computers. Unlike its predecessor the ENIAC, it was binary rather than decimal, and was
designed to be a stored-program computer. ENIAC inventors John Mauchly and J.
Presper Eckert proposed the EDVAC's construction in August 1944. A contract to build
the new computer was signed in April 1946 with an initial budget of US$100,000.
EDVAC was delivered to the Ballistics Research Laboratory in 1949. The Ballistic
Research Laboratory became a part of the US Army Research Laboratory in 1942.
Uruguay (1968) – La Udelar difundió un imperdible video de 1968 que cuenta el
“funcionamiento de la computación”, con motivo de la llegada de la primera computadora
al país.
Venezuela (1957) – Mientras IBM instalaba la primera computadora en aterrizar en
América Latina en 1957, un país revuelto por un plesbicito que aseguraba la permanencia
del dictador Marcos Pérez Jiménez generaba disturbios en universidades y un amplio
rechazo popular. A pesar de esto, el IBM 650 instalado en Venezuela se convertía en un
hito en el continente.
Zambia (1960) – The first computer to be installed in Zambia was at the Ministry of
Finance in early 1960. This machine was mainly used for accounting purposes.
Zimbabwe (1962) – Some comments on the achievements and difficulties of the first
year's operation of an I.C.T. 1202 computer in Government work in Salisbury [now
Harare].
5
by J. Huang, T. Lin, N. Bakalar, E. Hinton, A. Kueneman, M. Allert and C. Allen - The New York Times).
Source : http://archive.nytimes.com/www.nytimes.com/interactive/2011/12/06/science/20111206-technology-
timeline.html?ref=science
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 109
(Ada Lovelace) (The Stanford 1969 – Navigating the first Web browser)
1890 – The Hollerith Research Institute) Moon (The Apollo) 1993 – Graphical Web
Machine 1981 – Robot Kills 1971 – Computer Games Browsers (Mosaic)
1938 – A Programmable Mechanic (Japan) (Nolan Bushnell) 1993 – Smartphones
Computer (Konrad Zuse) 1986 – The 1978 – GPS (Simon)
1943 – Colossus computer Connection Machine 1980 – The 1995 – Dial-Up Internet
1946 – ENIAC (Thinking Machines) Walkman(Sony) 2003 – Internet
computer(University of 1997 – Deep 1981 – Digital Cameras Telephony (Skype)
Pennsylvania) Blue(I.B.M.) (Sony) 2004 – Social Networks
1951 – UNIVAC I (the 2000 – Emotional 1994 – Driverless Cars (facebook, Mark)
universal automatic Robots (MIT) 1996 – HDTV 2007 – E-Readers
computer) 2004 – Honda's Asimo 1999 – Hybrid Vehicles (Amazon)
1958 – Integrated Circuits (Japan) (Honda) 2010 – The iPad (Apple)
1971 – First 2009 – Autonomous 2001 – The iPod (Apple) 2012 – Online Science
Microprocessor Robotics 2002 – The Segway (by 2026, Scott
1973 – The Personal 2011 – Watson Wins 2010 – Driverless Cars Aaronson predicts)
Computer-PC (Xerox, 'Jeopardy!' (IBM) (Google) 2012 – Electronic Ink
Alto) 2012 – Routine Voice 2012 – Self-Driving 2013 – Holographic
1981 – Computer Viruses Interaction (by 2015, Cars (by 2030, Sebastian Displays
2000 – Google Indexes a Georges Nahon Thrun predicts) 2013 – The Mobile Web
Gigapage predicts) 2012 – Mobile Wallet 2016 – Internet
2010 – China's 2025 – Premade (Kai-Fu Lee predicts) Romance
Supercomputer Decisions (by 2019, 2012 – Brain-Powered 2018 – Ubiquitous
2012 – Genetic Data Georges Nahon Prosthesis Tracking
Storage predicts) 2012 – Predictive Pre- 2022 – 'Halo of Data' (by
2012- Computer on a Chip 2034 – Cybernetic Purchasing 2016, Georges Nahon
(predicts David Patterson) Intelligence 2021 – Practical Robot predicts,
2013 – Universal Medical 2048 – Artificial Cars (by 2018, Larry 2024 – Universal
Database Intelligence Smarr predicts) Translator
2013 – Simulated Animal 2052 – Robot Wars 2023 – Curing Cancer 2026 – Voting by Phone
Tests 2067 – Dr. Computer (by 2020, David 2044 – Full Life
2016 – Quantum 2078 – Cyborg Viruses Patterson predicts) Recording
Computing (by 2025, Scott 2081 – Memory 2025 – No Red Lights 2061 – Collective
Aaronson predicts) Backup 2034 – Everyone Learning
2018 – Persistent 2106 – A.I. Awarded Telecommutes 2065 – Understanding
Computer Memory Citizenship 2035 – Life Out There Animal
2021 – Simulated Actors 2146 – A.I. 2038 – To Mars and the
2021 – Very Cheap Government Moon
Computers 2044 – Automated
2024 – The World is Restaurants
Explored (Google Earth 2044 – Smart Clothing
has mapped the 3D) 2045 – Flying Cars
2030 – Programmable 2069 – Post-Scarcity
Organisms (by 2030, Drew World
Endy predicts) 2070 – Consumer 3D
2054 – Digital 'Life' and Printing
Evolution 2074 – Bicentennial
2103 – WiFi to the Brain Man
2098 – Cash is Outlawed
1.3 Raport al „ACM Curriculum Committee on Computer
Science”, USA, 1968
Acad. Grigore C. Moisil1
Universitatea din București
MOTTO:
„Pentru noi, o carte de matematică modernă va conține întotdeauna și surâsul
lui Moisil. Acel surâs de neuitat, a cărui absență e ca o cicatrice a inteligenței.
Una dintre acele cicatrici de pe chipul încercat al inteligenței care ne aduc
aminte că există oameni pe care iubindu-i, ne scutim de tristețea de a orbecăi la
întâmplare. Dragostea pentru ei ne luminează drumul.”
Octavian Paler, România literară, 15 mai 1981
1
Articol preluat din revista AMC, nr. 13-14, Editura Tehnică, 1970 – traducere din literatura americană
(numere apărute la recomandarea lui Moisil; această revistă din anul 1970 poate fi considerată o „istorie a
știintei calculatoarelor” scrisă de Moisil). Scanare și postare online http://c3.cniv.ro/?q=2018/restituiri.
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 111
112 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 113
114 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 115
116 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 117
118 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 119
120 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 121
122 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 123
124 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 125
126 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 127
128 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 129
130 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 131
132 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 133
134 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 135
136 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 137
138 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 139
140 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 141
142 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 143
144 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 145
146 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 147
…………
…………
148 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 149
150 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
…………
…………
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 151
152 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 153
154 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 155
156 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 157
158 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
1.4 Raport „Situația și perspectivele evoluției calculatoarelor”,
Europa, 1966
W. K. de Bruijn1
Raport asupra dezvoltării pieței europene de calculatoare (la nivelul anului 1966) publicat de
Neherlands Automatic Information Processing Research Centre, Stothonderskade 6 – Amsterdam.
Raportul nu cuprinde date referitoare la țările socialiste din Europa, de aceea România nu apare
în raport. Anexa elaborată de Editura Tehnică, completează și permite verificarea estimării
cuprinse în raport asupra dezvoltării calculatoarelor în ultimii ani (Nota ed.).
1
Articol preluat din revista AMC, nr. 13-14, Editura Tehnică, 1970 – traducere din „Neherlands Automatic
Information Processing Research Centre”, Amsterdam, 1966 (numere apărute la recomandarea lui Moisil).
Scanare și postare online http://c3.cniv.ro/?q=2018/restituiri.
160 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 161
162 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 163
164 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 165
166 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 167
168 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 169
170 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 171
172 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 173
174 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 175
176 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 177
178 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 179
180 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 181
182 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 183
Nota ed. În ANEXĂ (mai jos) sunt informații de sinteză din comunicarea E. Block și
R. A. Heule (de la firma IBM, USA) „Dezvoltatea tehnologiei circuitelor electronice și
influențări în echipamentele de calcul”, prezentată la al IV-a Congres IFIP2 (International
Federation for Information Processing – http://www.ifip.org/), defășurat la Edinburgh
(Anglia), în perioada 5-10 august 1968.
Numărul de calculatoare instalate în lume:
Anul 1967 – 60.000
Anul 1968 – 75.000
Anul 1969 – 95.000
Numărul de calculatoare instalate în țările Europei de Vest (Total 15.000, față de
40.100, în USA):
RFG – 4.150
Franța – 2.975
Italia – 1.710
Olanda – 620
Belgia-Luxemburg – 560
Anglia – 3.020
Norvegia, Suedia, Danemarca – 1.040
Elveția – 560
Austria – 210
Portugalia – 35
Alte țări– 260
2
IFIP, ca organizație cu un domeniu de activitate dinamic, trebuie să fie „în mișcare” ca fiind relevant și să
fie proactiv și reactiv la mediul extern și la așteptările membrilor noștri – IFIP’s Presidents –
http://www.ifip.org/secretariat/Presidents.htm.
184 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 185
1.5 Arto Salomaa in the History of the Romanian Theoretical
Computer Science
Dragoș Vaida1,
University of Bucharest, Romania
1
Articol preluat din Juhani Karhumäki, Lila Kari, Hermann Maurer, Gheorghe Paun, Ion Petre, Grzegorz
Rozenberg (Eds.) A Friendly Towering Figure of Theoretical Computer Science. Liber Amicorum: Arto
Salomaa, University of Turku, 2019.
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 187
Dinner in Bucharest, 1992. From left to right: Manuela Sidoroff, Arto Salomaa, Virgil Căzănescu, Adrian
Atanasiu, Marian Gheorghe, Gheorghe Păun, Solomon Marcus, Dragoș Vaida
188 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
References
[1] J. Karhumäki, “A short biography of Arto Salomaa”, Theoretical Computer Science, vol. 226, 1999.
[2] S. Cojocaru, G. Păun, and D. Vaida, eds., One Hundred Romanian Authors in Theoretical Computer
Science. Romanian Academy, The Information Science and Technology Section, Romanian Civilization,
supp. 1, București: Editura Academiei Romăne, 2018.
[3] A. Salomaa, Formal Languages. Academic Press, NY, 1973.
[4] A. Atanasiu anâ C. Calude, eds., Salodays in Theoretical Computer Science, Hyperion XXI Press, 1993.
[5] J. Karhumäki, “A survey of Arto’s achievements” in 18th International Conference on Developments in
Language Theory, 2014.
[6] A. Iorgulescu, S. Marcus, S. Rudeanu, and D. Vaida, eds., Grigore C. Moisil și continuatorii săi în
domeniul Informaticii Teoretice / Grigore C. Moisil and his Followers in the Field of Theoretical Computer
Science. Editura Academiei Romˆane, 2007.
[7] G. Păun, G. Rozenberg, and A. Salomaa, DNA Computing. Springer-Verlag, 1998.
[8] A. Salomaa, “On bases of many-valued truth functions,” in Mathematics Almost Everywhere (A. Bellow,
C. S. Calude, and T. Zamfirescu, eds.), pp. 3–16, World Scientific, Singapore, 2018.
[9] A. Salomaa, “Events and languages,” in People and Ideas in Theoretical Computer Science (C. S. Calude,
ed.), pp. 253–273, Springer, 1999.
[10] A. Salomaa, “The Ehrenfeucht conjecture: a proof for language theorists”, Bull. European Assoc.
Theoret. Comput. Sci., pp. 71–82, 1985.
1.6 Apariția și evoluția sistemelor de calcul
Marin Vlada,
Universitatea din București
costisitoare privind operarea lor; puterea era foarte slabă, iar circuitele generau căldură
care făcea să funcționeze defectuos; utilizarea de intrări pe baza cartelelor perforate, iar
ieșirile erau afișate pe hârtie cu ajutorul imprimantei; programarea se făcea prin utilizarea
limbajului mașinii binar/octal; avea memorie primară limitată. Aceste sisteme erau de
dimensiuni enorme și ocupau camere întregi, în timp ce utilizau multă energie electrică.
Acest lucru le-a făcut să genereze căldură insuportabilă.
O prezentare de computere de primă generație:
ENIAC (Electronic Integrator Numeric și
Calculator, 1946), construit în secret pentru
uz militar, unul dintre primele computere
electronice cu comandă prin supapă, digital,
cu program controlat. Dezvoltarea a început
în anul 1943 la Laboratorul de Cercetare
Balistică din SUA, de către John W.
Mauchly și J. Presper Eckert. Acesta a
cântărit 30 de tone și conțineau 18.000 de
supape electronice, consumând în jur de 160
kW de energie electrică. Putea face 5.000 de
calcule de bază pe secundă. A fost folosit
pentru calcularea traiectoriilor balistice și
pentru testarea teoriilor privind bomba cu
hidrogen.
EDVAC (Electronic Discrete Variable
Automatic Computer, 1949) – În anul 1945, matematicianul american John von
Neumann a redactat un raport care descriea conceptul viitorul computer modern,
construit în cele din urmă ca EDVAC. Primul proiect al unui raport privind
EDVAC include prima descriere publicată a proiectării unui calculator de
programe stocate (stored-program computer), care a dat naștere arhitecturii John
von Neumann. A influențat direct sau indirect aproape toate proiectele ulterioare,
în special EDSAC. Echipa de proiectare a inclus pe John W. Mauchly și pe J.
Presper Eckert; Calculatorul EDVAC a fost livrat Laboratorului de cercetare
balistică (SUA) în anul 1949. După ce au fost descoperite și rezolvate mai multe
probleme, calculatorul a început să funcționeze în anul 1951, deși numai pe o
bază limitată.
EDSAC (The Electronic Delay
Storage Automatic Calculator,
1949) – Calculator britanic
inspirat de primul proiect de
raport al lui John von Neumann
despre calculatorul EDVAC,
mașina a fost construită de
Maurice Wilkes și echipa sa de
la Laboratorul matematic de la
Universitatea din Cambridge din
Anglia (University of
Cambridge Mathematical
192 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
face acest lucru eficient, a fost utilizat sistemul de operare IBM pentru sistemul IBM-
7094 și Fortran Monitor System. Acestea au fost precursorii sistemelor de operare
viitoare. Folosind din nou un sistem de calcul mai mic, de exemplu calculatorul
IBM-1401, datele au fost tipărite pe mai multe seturi de cartele perforate.
IBM 1401 computer with one circuit card access drawer opened, on display
at the Computer History Museum
După plasarea mai multor tranzistori pe un singur cip s-au redus costurile de
fabricatie, viteza și performanța oricărui computer au crescut foarte mult. Astăzi, aproape
toate dispozitivele electronice utilizează o formă de circuite integrate plasate pe plăci cu
circuite imprimate. Interacțiunea cu calculatoarele s-a îmbunătățit: cartelelor perforate au
fost înlocuite cu tastaturi și periferice de intrare/iesire, folosite pentru a introduce date
sau afișare la ieșire, prin intermediul unităților de afișare vizuală. Acum, computerele
folosesc sistemul de operare (software, SO) pentru a gestiona hardware-ul și resursele
calculatorului. Acest lucru a permis sistemelor să ruleze diferite aplicații la un moment
dat, prin intermediul aplicațiilor ce aveau nevoie de organizarea si distribuirea memoriei
în timpul execuției. Computerele au devenit accesibile publicului larg din cauza
dimensiunilor și costurilor corecte. De asemenea, această generație a inaugurat conceptul
de „familie de computere”, care a provocat producătorii să vină cu componente de
calculator compatibile cu alte sisteme.
198 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
În anul 1973, computerul Xerox Alto de la PARC a fost construit fără publicitate.
A fost un adevărat calculator personal (PC) și avea un port Ethernet, un mouse și o
interfață grafică bitmap, prima de acest fel din lume. Calculatorul fost alimentat de un cip
de 16 biți TI SN74S181N ALU de la Texas Instruments. Compania Apple a construit
computere Apple inspirate de calculatorul Xerox Alto de la PARC, dar a fost contestat de
Xerox Alto. La începutul anului 1974, când Intel a venit cu un microprocesor 8808 de 8
biți cu scop general, Gary Kildall-de la Digital Research, a fost solicitat pentru a scrie un
sistem de operare pentru noul computer. Acest lucru a condus la un sistem de operare
bazat pe disc, cunoscut sub numele de program de control pentru microcomputere
(Control Program for Microcomputers, CPM).
200 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
În anul 1984, sub coordonarea lui Steve Jobs, compania Apple a schimbat paradigma
pentru software, când a lansat computerul Apple Macintosh cu o interfață grafică
îmbunătățită (GUI, Graphical User Interface), folosind ideea de interfață învățată de la
Xerox PARC. De remarcat, este faptul ca sistemul de operare CPM (programul de control
pentru microcomputere), cât și sistemul de operare DOS (sistem de operare pe disc) au
fost sisteme de operare bazate pe linii de comandă, pe care utilizatorul le introducea
folosind tastatura.
202 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
Mother Board
26
https://en.wikipedia.org/wiki/List_of_Intel_microprocessors,
https://www.slideshare.net/ArshadQureshi5/generation-of-computer-processors-52195241
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 205
numit browser care a facilitat utilizarea World Wide Web și a fost fondată o companie
pentru tehnologie spin-off numită Netscape Communications Corp. Au urmat apariția și
dezvoltarea domeniilor: motoare de cautare, computer vision și realitate virtuală, e-
commerce, e-Learning și software educațional, social networking etc.
27
http://psystems.disco.unimib.it/download/MembIntro2004.pdf
28
http://www.nextbigfuture.com/2017/03/in-few-years-new-quantum-computers-from.html
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 209
The Sequence of the Human Genome, Science, vol 291, pp.1145-1434, 2001
http://cs. brown.edu/~sorin/pdfs/venter2.pdf
(printre autori românii: Sorin Istrail și Liliana Florea)
29
https://www.genome.gov/12011238/an-overview-of-the-human-genome-project/. Aprilie 2003 - 50 Years
of DNA Celebration, https://www.genome.gov/10005139/50-years-of-dna-celebration/.
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 211
30
https://stirileprotv.ro/stiri/stirileprotv-special/andreea-esca-interviu-cu-robotul-sophia-reactia-la-intrebarea-
ar-trebui-sa-ma-tem-ca-imi-vei-lua-locul.html
1.7 Apariția și evoluția societăţii informaţionale
Cele 4 valuri ale tehnologiei societăţii informaţionale
Marin Vlada,
Universitatea din București
apariţia tehnologiei Java – în anul 1995, este lansat mediul de programare Java, ce
oferă suport dezvoltării de aplicaţii distribuite, independente de platformă; produs
software evoluat al firmei Sun Microsystems moşteneşte conceptele de programare
obiectuală de la limbajele C++, SmallTalk, Lisp [14, 17];
lansarea ca sistem de operare a sistemului Windows – în anul 1995, a apărut
sistemul de operare Windows 95, urmat de versiunile ulterioare 98, 2000; pentru
reţelele de calculatoare a apărut începând cu anul 1992 Windows NT
Workstation/Server; s-au dezvoltat sistemele de operare Netware, OS/2;
perfecţionarea şi utilizarea pe scară largă a pachetului Microsoft Office – mediile
de programe aplicative Word, Excel, Access, Outlook, Power Point;
realizări hardware-software-platforme-aplicaţii – proiectare circuite integrate 3D,
componente optice, arhitecturi paralele pentru prelucrarea inferenţelor, reţele din fibra
optică de mare capacitate, reţele neuronale; sisteme de operare cu interfaţă evoluată cu
utilizatorul, limbaje concurente, programare funcţională, prelucrare simbolică (limbaje
naturale, recunoaşterea formelor: imagini/voce), Baze de date – Dbase, Foxpro,
Oracle, Prolog, baze de cunoştinţe, sisteme expert evoluate, CAD, CAM, CAE,
tehnologii multimedia, Realitate Virtuală, tehnologii Web.
Principii
În domeniul Informaticii privind construirea, programarea şi utilizarea calculatorului, s-
au impus următoarele principii:
principiul secvenţialităţii – principiu enunţat de savantul american John von
Neumann, considerat arhitectul calculatorului modern; sistemele de calcul clasice
funcţionează pe baza principiului execuţiei „step by step” (pas cu pas); acest principiu
a dominat atât concepţia şi elaborarea sistemelor de operare, căt şi concepţia şi
elaborarea limbajelor de programare; în dezvoltarea hardware şi software s-a cercetat şi
căutat tot timpul să se depăşească limitele secvenţialităţii; de altfel, proiectul joponez
[1] a avut ca obiectiv crearea calculatorului din generaţia a V-a de tip non John von
Neumann, care urmau să facă trecerea de la procesarea datelor la procesarea
cunoştinţelor în rezolvarea problemelor; aşa au apărut produsele software care
înglobează comportamentul inteligent al omului în rezolvarea problemelor şi în luarea
deciziilor folosind calculatorul; au fost elaborate şi au început să se utilizeze în diverse
domenii de activitate aşa-numitele sisteme expert care implementează în programe
raţionamentul uman în rezolvarea problemelor la nivel de expert (N. Nillson, Artificial
Intelligence: A New Synthesis, Morgan Kauffman, 1998);
principiul interactivităţii – interacţiunea om-maşină (Human-computer interaction)
este un domeniu care a preocupat mereu cercetările privind proiectarea şi construirea
produselor hardware şi software; scopul urmărit este acela de studiere şi ameliorare a
factorilor care influenţează utilizarea efectivă, comodă şi eficientă a calculatorului;
principiul orientării spre obiecte – object-oriented este un principiul de programare
care s-a impus în proiectarea, elaborarea şi implementarea rezolvării problemelor prin
descrierea acestora în termeni de obiecte, a relaţiilor între obiecte şi a operaţiilor de
procesare a acestor obiecte; tehnologia programării orientate pe obiecte (OOP – Object
Oriented Programming) este singura care satisface cerinţele actuale ale dezvoltării de
produse software; astăzi, limbajele moderne de programare (C++, Java, Visual Basic)
oferă conceptele de programare obiectuală care îşi au rădăcinile în limbajele
SmallTalk, Lisp, Prolog;
principiul client-server – interacţiunea dintre aplicaţiile unei reţele de calculatoare se
realizează conform modelului client-server; prin acest model funcţionarea sistemului
este structurată în grupe de procese cooperante numite servere, ce oferă servicii
utilizatorilor, numiţi clienţi; serverul execută o cerere recepţionată de la client şi poate
realiza un dialog cu procesul client; acest principiu oferă portabilitate faţă de platforma
hardware, execuţie multitasking, execuţie multiprocesoare, execuţie multifilară
(execuţia simultană a mai multor fire de execuţie); aplicaţiile Web respectă modelul
client-server;
principiul HyperText – termenul de hypertext (text non-linear) este propus de Ted
Nelson în anul 1965 şi reprezintă forma de organizare a informaţiilor interconectate
într-o manieră complexă care în mod convenţional nu poate fi reprezentat pe hârtie
[17]; acesta se află la baza celui mai important serviciu al reţelei Internet, şi anume
WWW (World Wide Web) care gestionează documente HTML (HyperText Markyp
Language); în mod normal, indiferent de metoda de stocare, formele principale de
organizare a informaţiilor sunt: organizarea liniară; organizarea ierarhică
(arborescentă); organizarea asociativă (similară celei oferită de memoria umană);
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 217
principiul WYSIWYG – What You See Is What You Get („ceea ce vezi este ceea ce
obţii”); acest lucru este calitatea recunoscută pentru editoarele/procesoarele de text/imagini
sau de conţinut multimedia unde cum arată documentul pe ecran, aşa arată şi forma
finală destinată reprezentării, tipăririi sau publicării (pe Web, CD sau alte media).
Programele aplicative din pachetul Microsoft Office Professional respectă acest principiu.
Erele prin care a trecut şi trece omenirea sunt prezentate de catre James W.
Michaels (James W. Michaels, How New is the New Economy? Forbes, October 11,
1999) astfel: a pietrei; a fierului; a agriculturii; a industriei; a tehnologiei; a cunoaşterii.
„Consideraţiile lui James W. Michaels reprezintă probabil prima încadrare conceptuală
teoretică a societăţii cunoaşterii în mersul istoriei omenirii. Ar putea să surprindă lipsa
erei informaţiei care nu apare explicit, dar ea se împarte probabil între era tehnologiei şi
era cunoaşterii care este partea superioară a erei informaţiei. De fapt, omenirea se
găseşte, după părerea noastră, într-o eră a informaţiei având ca faze succesive societatea
informaţională, societatea cunoaşterii şi societatea conştiinţei. Atât cunoaşterea, după
cum am văzut, este o formă de informaţie, dar şi conştiinţa este informaţie.” (M.
Drăgănescu – www.racai.ro/~dragam). Înainte de a aborda îmbinarea dintre societatea
cunoaşterii şi a conştiinţei, acum de actualitate este îmbinarea dintre societatea
informaţiei şi societatea cunoaşterii.
Dacă în anii 1970 sintagma predominantă era aceea de Societate informatică,
(preocuparea principală fiind realizarea unui Sistem informatic naţional, cu idei şi
218 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
din anul 1995, s-a analizat implementarea unei infrastructuri informaţionale competitive
la nivel mondial;
Comunicaţiile în Societatea Informaţională – Conferinţa desfăşurată în anul 1997 în
Estonia la care au participat 19 ţări;
Proiectele Pilot G8 – În anul 1998, grupul G7 la care s-a alăturat şi Rusia, a lansat
Proiectele Pilot pentru dezvoltarea Societăţii Informaţionale în domeniile educaţiei,
culturii, comerţului, mediului înconjurător, sănătăţii şi administraţiei publice;
EURIDYCE – Technologies de In’formation et de la communication dans les systemes
educatifs en Europe, Paris, 2000 (www.euridyce.org)
eEurope şi eEurope+ – Programe de acţiune lansate în anul 2001 la nivel european
pentru ţările UE, dar şi pentru ţările în curs de aderare la UE (eEurope+)
(www.europa.eu.int);
Global Tera byte Recherche Network (GTREN) – Program de acţiune lansat în 2002
pentru dezvoltarea infrastructurii de comunicaţii şi realizarea unei reţele Internet mai
rapidă, mai sigură şi mai eficientă;
eEurope 2005 – Lansat în anul 2002, programul de acţiune An Information Society for
All are două obiective majore: stimularea serviciilor, aplicaţiilor şi conţinutul
informaţiei electronice, şi dezvoltarea infrastructurii în bandă largă şi creşterea
securităţii informaţiei şi a reţelelor;
Sixth Framework Programme (FP6) – Programul cadru 6 al Uniunii Europene
(www.cordis.lu/fp6/), lansat în anul 2002 este unul dintre cele mai complexe programe
de cercetare, dezvoltare şi inovare; „The objectives of Community action in this field
are to contribute to the creation of a European Research Area (ERA) by stimulating
and supporting programme coordination and joint activities conducted at national or
regional level, as well as among European organisations, and thus help to develop the
common knowledge base necessary for a coherent development of policies”. FP6 lansat
pentru perioada 2002-2006 are direcţia 2 de prioritate: Information Society
Technologies (IST – www.cordis.lu/ist/) [11]. În România, Academia Română a lansat
în anul 2004, Proiectul ROINTERA (www.rointera.ro), „ce este prevăzut a fi
implementat în scopul stimulării, încurajării şi facilitării participării comunităţii
tehnico-ştiinţifice româneşti la programele de cercetare, dezvoltare şi inovare ale
Comisiei Europene, cu focalizare pe Programul Cadru 6, precum şi pentru integrarea
acestei comunităţi româneşti în ERA”. În acest moment, deja este lansat programul FP7
(http://www.cordis.lu/fp7/) pentru perioada 2007-2011 cu un buget de EUR 72 726
million [10, 11].
societatea omenească se află într-un continuu proces de tranziţie către acest globalism
informaţional [8,9]. Astfel, amprenta de modernism devine şi mai evidentă în apropierea
anului 2010, când primul val al simplei informatizări va fi depăşit şi se va face simţit din
ce în ce mai mult cel de-al patrulea val, cel al „Societăţii global informaţionale”. În
primul val, atenţia a fost canalizată către organizaţii ca element cheie în obţinerea de
profit şi de creştere a productivităţii. Astfel, se dorea o micşorare a timpului şi a costului
de obţinere a informatţei, precum şi o reducere a costurilor de producţie. În cel de-al
doilea val, se pune accent în mod deosebit pe performanţele individuale într-un mediu
informatizat. În aceste condiţii, saltul de productivitate este dat de cunoştinţele de care
dispun indivizii şi de gradul de interconectare. Scopul parcurgerii acestui stadiu îl
constituie atingerea calităţii de persoană cunoscătoare interconectată.
Atenţia în cel de-al treilea val se îndreaptă spre realizarea conectivităţii la nivel
global în cadrul societăţii, în care activează «muncitorii cunoaşterii» şi societăţile
informatizate. Derularea activităţilor creatoare de valori în asemenea condiţii va atrage un
plus de eficienţă. Scopul final al acestui val constă în obţinerea societăţii global
interconectate (societăţii reţea).
Bibliografie
[1] T. Moto-Oka (ed.), Fifth Generation Computer Systems, Proceedings of the International Conference on
Fifth Generation Computer Systems, Tokyo, october 19-2, 1981, Amsterdam, North Holland, 1982
[2] Florin G. Filip, portalul ROINTERA, Academia Română, www.rointera.ro, 2004
[3] Mihai Drăgănescu, De la societatea informaţională la societatea cunoaşterii, Editura Tehnică, Bucureşti,
2003, ISBN 973-31-2199-1, www.racai.ro
[4] Robin Mansell and Uta Wehn (Editors) “Knowledge societies. Informationb technology for sustainable
development”, published for and on behalf of the United Nations, Commission on Science and Technology
for Development, Oxford University Press, New York, 1998.
[5] Richard E.S Boulton, Barry D. Libert, Steve M. Samek, Cracking the Value Code. How Successful
Businesses Are Creating Wealth in the New Economy, Harper Business, New York, 2000.
[6] Roger E. Bohn, Measuring and Managing Technological Knowledge, p.295-314 in Dale Neef a.o., Eds,
The Economic Impact of knowledge, Butterworth-Heinemann, Boston, 1998.
[7] O’Brien, J.A., Management Information Systems. Managing Information Technology in the
Internetworked Entreprise, McGraw-Hill, Boston, 1999
[8] Boar, B., H., The Art of Strategic Planning for Information Technologies, 2nd edition, John Wiley &
Sons, Inc., New York, 2001
[9] Tudorel Fătu, Alexandru Ţugui, Ce urmează după societatea global informaţională ?, Studii, Institutul de
Cercetări pentru Inteligenţa Artificială, Academia Română, www.racai.ro
[10] http://fp6.cordis.lu/fp6/home.cfm , http://fp6.cordis.lu/fp7/
[11] http://www.cordis.lu/ist/
[12] http://www.intuition-eunetwork.net
[13] D.M. Popovici, L.D. Şerbănaţi, S. Morvan, “Virtual Aquarium“, CNIV-2004, Noi tehnologii de E-
Learning, Conferinţa Naţională de Învăţământ Virtual, Software Educaţional, Ediţia a II-a, 29-31 octombrie
2004, Editura Universităţii din Bucureşti, (Editori: I. Chiţescu, H. Georgescu, V. Preda, I. Văduva, I.
Tomescu, M. Vlada, G. Pripoae) (ISBN 973-575-947-0) (http://fmi.unibuc.ro/ro/cniv_2004/), pp. 167-174,
2004
[14] M. Vlada, „Supremaţia limbajelor în domeniul procesării informaţiilor şi cunoştinţelor”, Sesiunea de
comunicări ştiinţifice cu participare internaţională, „Provocări la adresa securităţii şi strategiei la începutul
secolului XXI”, Secţiunea E-Learning şi Software Educaţional, UNAP, 14 -15 aprilie 2005, Editura
Universităţii Naţionale de Apărare, Bucureşti, pp. 165-178, 2005.
[15] M. Vlada, „Realitatea Virtuală (Virtual Reality), tehnologie modernă a informaticii aplicate”, CNIV-
2004, Noi tehnologii de E-Learning, Conferinţa Naţională de Învăţământ Virtual, Software Educaţional,
Ediţia a II-a, 29-31 octombrie 2004, Editura Universităţii din Bucureşti, 2004 (Editori: I. Chiţescu, H.
Georgescu, V. Preda, I. Văduva, I. Tomescu, M. Vlada, G. Pripoae) (ISBN 973-575-947-0)
(http://fmi.unibuc.ro/ro/cniv_2004/ ), pp. 11-28 (în colaborare cu M. D. Popovici), 2004
[16] M. Vlada, „Maple and MapleNet-integrated solutions for Web based learning in matematics, Science
and Engineering”, CNIV-2004, Noi tehnologii de E-Learning, Conferinţa Naţională de Învăţământ Virtual,
Software Educaţional, Ediţia a II-a, 29-31 octombrie 2004, Editura Universităţii din Bucureşti, (Editori: I.
Chiţescu, H. Georgescu, V. Preda, I. Văduva, I. Tomescu, M. Vlada, G. Pripoae) (ISBN 973-575-947-0)
(http://fmi.unibuc.ro/ro/cniv_2004/), pp. 121-130, 2004
[17] M. Vlada, Birotică: Tehnologii multimedia, Editura Universităţii din Bucureşti, ISBN 973-575-847-4,
2004
[18] I. Popescu , Al. Alecu, L. Velcescu, G. Florea, Programare avansată în Oracle9i, Editura Tehnică
Bucureşti, ISBN 973-31-2208-4, 2004
1.8 Apariția și evoluția limbajelor de programare
MOTTO: „A Whole New Mind: Why Right-Brainers Will Rule the Future”
Paul Freiberger and Michael Swaine
Marin Vlada,
Universitatea din București
SISTEMUL
HARDWARE LIMBAJE
ALGORITMI
„Machines have so much memory today, saving space using assembly is not important. If you give
someone an inch, they’ll take a mile. Nowhere in programming does this saying have more
application than in program memory use. For the longest time, programmers were quite happy
with 4 Kbytes. Later, machines had 32 or even 64 Kilobytes. The programs filled up memory
accordingly. Today, many machines have 32 or 64 megabytes of memory installed and some
applications use it all. There are lots of technical reasons why programmers should strive to write
shorter programs, though now is not the time to go into that. Let’s just say that space is important
and programmers should strive to write programs as short as possible regardless of how much
main memory they have in their machine31.”
31
The Art of Assembly Language Programming, Spring 2008, Yale University, http://flint.cs.yale.edu/
cs422/doc/art-of-asm/pdf/ (pdf)
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 227
32
https://upload.wikimedia.org/wikipedia/commons/2/25/Genealogical_tree_of_programming_languages.svg
33
R. Pressman, Software Engineering. A Practitioner’s Approach, Mc-Gaw Hill, 1987.
34
I. Jurca, Programarea orientată pe obiecte în limbalul C++, Ed. Eurobit, Timişoara, 1992.
228 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
Relaţiile Modelare-Limbaj-Procesare
Bibliografie
[1] Roger E. Bohn, Measuring and Managing Technological Knowledge, p.295-314 in Dale Neef a.o., Eds,
The Economic Impact of knowledge, Butterworth-Heinemann, Boston, 1998.
[2] O’Brien, J.A., Management Information Systems. Managing Information Technology in the
Internetworked Entreprise, McGraw-Hill, Boston, 1999
[3] Boar, B.,H., The Art of Strategic Planning for Information Technologies, 2nd edition, John Wiley & Sons,
Inc., New York, 2001
[4] Tudorel Fătu, Alexandru Ţugui, Ce urmează după societatea global informaţională ?, Studii, Institutul de
Cercetări pentru Inteligenţa Artificială, Academia Română, www.racai.ro
[5] http://fp6.cordis.lu/fp6/home.cfm , http://fp6.cordis.lu/fp7/ , http://www.cordis.lu/ist/
[6] http://www.intuition-eunetwork.net
[7] M. Vlada, „Supremaţia limbajelor în domeniul procesării informaţiilor şi cunoştinţelor”, Sesiunea de
comunicări ştiinţifice cu participare internaţională, “Provocări la adresa securităţii şi strategiei la începutul
secolului XXI”, Secţiunea E-Learning şi Software Educaţional, UNAP, 14 -15 aprilie 2005, Editura
Universităţii Naţionale de Apărare, Bucureşti, pp. 165-178, 2005.
232 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
[8] M. Vlada, M. D. Popovici, “Realitatea Virtuală (Virtual Reality), tehnologie modernă a informaticii
aplicate”, CNIV-2004, Noi tehnologii de E-Learning, Conferinţa Naţională de Învăţământ Virtual, Software
Educaţional, Ediţia a II-a, 29-31 octombrie 2004, Editura Universităţii din Bucureşti, 2004 (Editori: I.
Chiţescu, H. Georgescu, V. Preda, I. Văduva, I. Tomescu, M. Vlada, G. Pripoae) (ISBN 973-575-947-0)
(http://fmi.unibuc.ro/ro/cniv_2004/), pp. 11-28, 2004
[9] M. Vlada, “Abordarea modernă a conceptului de algoritm”, CNIV-2004, Noi tehnologii de E-Learning,
Conferinţa Naţională de Învăţământ Virtual, Software Educaţional, Ediţia a II-a, 29-31 octombrie 2004,
Editura Universităţii din Bucureşti, (Editori: I. Chiţescu, H. Georgescu, V. Preda, I. Văduva, I. Tomescu, M.
Vlada, G. Pripoae) (ISBN 973-575-947-0) (http://fmi.unibuc.ro/ro/cniv_2004/), pp. 231-240, 2004
[10] M. Vlada, “Complexity of the Unification Algorithms”, Analele Universităţii din Bucureşti, Special
Issue, PROCEEDINGS of the Anual Meeting of the Faculty of Matematics, 28-30 nov. 1996, matematică-
infomatică, vol. 46, anul XLVI/1997, pag. 137-145.
[11] M. Vlada, Rezolvarea problemelor folosind Eureka, software educaţional, www.unibuc.ro/eBooks/
informatica/eureka/, Universitatea din Bucuresti, 2003.
[12] M. Vlada, Birotică: Tehnologii multimedia, Editura Universităţii din Bucureşti, ISBN 973-575-847-4,
2004.
Marin Vlada,
Universitatea din București
MOTTO:
„Cea mai bună modalitate de a prezice viitorul este să îl creezi tu însuţi”
Peter Drucker
dezvoltarea proiectelor şi a managementului acestora s-a realizat după anul 1950 (mijlocul
secolulul XX) când s-a extins utilizarea calculatorului în multe domenii de activitate.
„Michael just happened "to be at the right place at the right time" at the time there was
more computer time than people knew what to do with, and those operators were
encouraged to do whatever they wanted with that fortune in "spare time" in the hopes
they would learn more for their job proficiency”;
Over 33,000 free ebooks to read on your PC, iPad, Kindle, Nook, Sony Reader, iPhone,
iPod Touch, Android or other mobile or cell phone;
Volunteering and The Project Gutenberg Wiki.
Definiţii:
„Un proiect reprezintă un grup de activităţi ce trebuie realizate într-o secvenţă logică,
pentru a atinge un set de obiective prestabilite, formulate de client.” Comisia Europeană.
„Proiectul este un demers specific care permite structurarea metodică şi progresivă a
realităţii ce va veni. Proiectul este definit şi executat pentru a da un răspuns la nevoile
utilizatorului sau ale unui client, şi implică definirea unui obiectiv şi a unor activităţi de
întreprins, folosind resursele date.” Standardul francez X50 – 105.
„Un proiect trebuie să aibă următoarele trăsături: să fie nerepetitiv; să aibă o noutate din
punct de vedere managerial; să implice risc şi incertitudine; să aibă rezultate impuse, o
calitate determinată, parametrii de siguranţă; costurile sunt clar menţionate iar resursele
impuse; realizarea se face printr-o echipă constituită în mod special.” Standardul britanic
BS6079.
„Un proiect este un efort temporar asumat pentru a realiza un produs, un serviciu sau un
rezultat unic.” PMBOK Guide.
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 235
Clasificarea proiectelor
Proiecte revoluţionare
com/Modelare_vlada.pdf).
Este vorba de peste 2500 de limbaje de programare vechi şi noi. (A Chronology of
Influential Languages). Complexitatea si varietatea este dată de schema ce reprezintă evoluția
limbajelor de programare (arborele genealogic). A History of Programming Languages
(Programming paradigm): 1957 FORTRAN • 1958 ALGOL • 1960 LISP • 1960 COBOL • 1962
APL • 1962 SIMULA • 1964 BASIC • 1964 PL/I • 1966 ISWIM • 1970 Prolog • 1972 C • 1975
Pascal • 1975 Scheme • 1977 OPS5 • 1978 CSP • 1978 FP • 1980 dBASE II • 1983 Smalltalk-80 •
1983 Ada • 1983 Parlog • 1984 Standard ML • 1986 C++ • 1986 CLP(R) • 1986 Eiffel • 1988
CLOS • 1988 Mathematica • 1988 Oberon • 1989 HTML • 1990 Haskell • 1994 Perl 5 • 1995 Java,
Delphi • 1997 JavaScript, PHP • 2000 C# ...
Sursa: Maintained by Bill Kinnersley, University of Kansas,
http://people.ku.edu/~nkinners/LangList/Extras/langlist.htm
Arborele genealogic (Limbaje de programare):
http://upload.wikimedia.org/wikipedia/commons/2/25/Genealogical_tree_of_programmin
g_languages.svg.
Observaţii:
Ca rezultat al unui „proiect” de cercetare pentru domeniul militar, savantul John von
Neumann a conceput arhitectura unui calculator electronic (arhitectura von Neumann din
1945, raport de cercetare) ce este valabilă şi astăzi. Cu acest model de arhitectură a
început aventura construirii calculatoarelor moderne:
a) componentele de bază ale unui calculator: memorie, procesor, sisteme input/output;
b) limbaje de programare şi sisteme de operare;
c) algoritmi de calcul şi programe de aplicaţii.
S-a realizat o competiţie între componenta hardware (partea tehnologică) şi componenta
software (partea logică) a calculatoarelor. Această evoluţie şi dezvoltare se poate înţelege
doar dacă se scoate în evidenţă evoluţia conceptului de Algoritm şi inventarea unei noi
abordări privind activitatea de cunoaştere a omului în aventura sa către evoluţie şi
dezvoltare: planificare, organizare, activităţi, control, verificare, toate acestea
reprezentând activitatea omului pe baza de Proiecte. 1950 – se inventează "diagrama
Gantt" concepută de Henry Gantt – întemeietorul managementului de proiect şi
considerat părintele planificării şi al tehnicilor de control.
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 237
Sursa: Vlada, M., Conceptul de algoritm-abordare modernă, Gazeta de informatică, vol. 13/ 2 si
3, 6 si 7 pp. 25-30, pp. 35-39, pag. 43-48, pag. 42-48 Agora, Cluj Napoca, 2003.
http://www.ginfo.ro/revista/13_2/babel.pdf, http://www.ginfo.ro/revista/13_3/babel.pdf
http://www.ginfo.ro/revista/13_6/babel.pdf, http://www.ginfo.ro/revista/13_7/babel.pdf
Proiecte mondiale
Deceniul 9 al secolului XX-lea a fost unul al marilor realizări în domeniul Tehnologiei
informaţiei şi comunicaţiei (IT&C) prin dezvoltarea şi răspândirea tehnologiilor WEB şi reţelei
Internet, perfecţionarea sistemelor de operare şi a mediilor de programare:
apariţia sistemului de operare Linux – În anul 1992 apare primul sistem de operare
„free software” cu facilităţi deosebite pentru reţeaua Internet care utilizează protocoale de
comunicaţii (TC/IP, FTP, IPX etc) pentru serviciile: poşta electronică (E-Mail), zone de
informare (WWW, Gopher, FTP), Newsreader (cititor de ştiri); apariţia şi răspândirea
site-urilor Web;
apariţia tehnologiei Java – În anul 1995 este lansat mediul de programare Java ce oferă
suport dezvoltării de aplicaţii distribuite, independente de platformă; produs software
evoluat al firmei Sun Microsystems moşteneşte conceptele de programare obiectuală de la
limbajele C++, SmallTalk, Lisp;
lansarea ca sistem de operare a sistemului Windows – În anul 1995 a apărut sistemul
de operare Windows 95 urmat de versiunile ulterioare 98, 2000; pentru reţelele de
calculatoare a apărut începând cu anul 1992 Windows NT Workstation/Server; s-au
dezvoltat sistemele de operare Netware, OS/2;
perfecţionarea şi utilizarea pe scară largă a pachetului Microsoft Office, mediile de
programe aplicative Word, Excel, Access, Outlook, Power Point (1998);
realizări hardware-software-platforme-aplicaţii – Proiectare circuite integrate 3D,
componente optice, arhitecturi paralele pentru prelucrarea inferenţelor, reţele din fibra
optică de mare capacitate, reţele neuronale; sisteme de operare cu interfaţă evoluată cu
utilizatorul, limbaje concurente, programare funcţională, prelucrare simbolică (limbaje
238 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
Notă de start: „Linux este un sistem de operare care a fost iniţial creat ca un
hobby de către un tânăr student, Linus Torvalds, la Universitatea din
Helsinki, în Finlanda. Linus a avut un interes în Minix, un mic sistem de
operare derivat din UNIX, şi a decis să dezvolte un sistem care sa depăşeasca
standardele Minix. Şi-a început activitatea sa în 1991, când a lansat versiunea
0.02 şi a lucrat în mod constant până în 1994, când versiunea 1.0 a kernel-
ului Linux a fost lansată. ... îşi continuă călătoria în noul milenium cu acelaşi
entuziasm cu care a început într-o zi frumoasă în 1991”. Comentariu
(www.linux.ro).
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 239
Linus Torvalds: The 100 Most Influential Inventors of All Time as one of the most important
and influential inventors.
1991: studentul Linus Torvalds versus profesor Andrew Tanenbaum + open source.
Alte proiecte – www.apache.org, http://fedoraproject.org, www.ubuntu.com.
Software Projects (The Apache Software Foundation Projects).
Sistemul de operare Linux a apărut din dorinţa unui student finlandez, Linus Torvalds, de a
scrie un sistem de operare multitasking pentru microprocesorul Intel 386. Aceasta se întâmpla în
vara anului 1991 când îşi cumpăse primul său calculator cu microprocesor 386 şi trebuia să
transfere nişte fişiere prin reţea, iar sistemul MS-DOS nu era tocmai mediul nimerit pentru
această operaţie.
La baza elaborării sistemului Linux se află sistemul de operare Unix care oferă multe facilităţi
privind reţelele de calculatoare. Sistemul Linux a preluat aceste facilităţi şi a adăugat altele noi. O
altă idee deosebită în elaborarea sistemului Linux a fost aceea că dezvoltarea sistemului a fost
posibilă prin contribuţiile aduse de mii de programatori din întreaga lume care au utilizat mediul
Internet pentru a dialoga prin grupuri de ştiri (newsgroups) în vederea transmiterii de informaţii şi
rezultate. Aceasta a fost o premieră mondială în elaborarea unui proiect.
Un rol important în dezvoltarea sistemului Linux îl are sistemul Internet, fără de care miracolul
Linux nu era posibil. Comunicarea permanentă şi rapidă a permis cooperarea între programatori
entuziaşti care s-au dedicat proiectului iniţiat de Linus Torvalds.
Planul iniţial (nucleul – Kernel) al proiectului a fost:
scrierea unui driver de disk;
conceperea unui sistem de fişiere pentru a citi şi scrie fişiere în sistemul central Minix
(sistem de tip Unix creat de Andrew Tannenbaum-Olanda);
scrierea de drivere pentru diverse periferice.
Notă 1: „The Apache Software Foundation provides support for the Apache community of open-
source software projects. The Apache projects are characterized by a collaborative, consensus
based development process, an open and pragmatic software license, and a desire to create high
quality software that leads the way in its field”. (www.apache.org).
Notă 2: The Apache HTTP Server Project is a collaborative software development effort aimed at
creating a robust, commercial-grade, featureful, and freely-available source code implementation
of an HTTP (Web) server. In February of 1995, the most popular server software on the Web was
the public domain HTTP daemon developed by Rob McCool at the National Center for
Supercomputing Applications, University of Illinois, Urbana-Champaign. However, development
of that httpd had stalled after Rob left NCSA in mid-1994, and many webmasters had developed
their own extensions and bug fixes that were in need of a common distribution. –
http://httpd.apache.org.
Bibliografie
[1] Bill Kinnersley, University of Kansas:
http://people.ku.edu/~nkinners/LangList/Extras/langlist.htm
[2] Neal Ziring, Dictionary of Programming Languages (Dictionary and script maintained by Neal Ziring):
http://cgibin.erols.com/ziring/cgi-bin/cep/cep.pl
[3] Maureen Sprankle and Jim Hubbard, Ploblem Solving and Programming Concepts, Pearson –
Prentice Hall, 2009, 8th ed.
[4] Google, http://en.wikipedia.org/wiki/Google
[5] Tehnologia PageRank, http://en.wikipedia.org/wiki/PageRank
[6] Proiectul Gutenberg, http://www.gutenberg.org
240 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
Marin Vlada,
Universitatea din București
Program în limbajul Pascal: Problema turnurilor din Hanoi (Metoda Divide et impera)
Enunțul problemei. Se dau n discuri de mărimi diferite, aşezate în ordine într-o stivă pe
tija A, discul cel mai mic fiind vârful, iar cel mai mare fiind baza. Folosind tija C ca tijă
intermediară, să se treacă cele n discuri de pe tija A pe tija B, ţinând seama de
următoarele restricţii:
1. întotdeauna se mută discul din vârful unei stive, deasupra vârfului altei stive;
2. nu se poate aşeza un disc mare peste unul mai mic;
Problema cere să se realizeze, printr-un număr minim de mutări, trecerea discurilor de pe
tija A pe tija B, folosind tija C.
Observație. De regulă, enunțul problemei apare greșit în diverse cărți și pe Internet, prin
faptul că cerința nu include „printr-un număr minim de mutări”.
============= hanoi.pas
Program turnuril_Hanoi;
( metoda: Divide et impera }
var
n:integer;
a,b,c:char;
procedure Hanoi(n:integer;a,b,c:char);
begin
if n=1 then
writeln(a,b)
244 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
else
begin
Hanoi(n-1,a,c,b);
writeln(a,b);
Hanoi(n-1,c,b,a);
end;
end;
begin
write('Dati nr. de discuri n=');
readln(n);
a:='a'; b:='b'; c:='c';
Hanoi(n,a,b,c);
end.
=============
Program în limbajul FORTRAN 77 (utilizare de etichete și instrucțiuni goto): suma de
numere/valori
===========suma.f
Program SUMA-suma primelor 100 de Program SUMA-fara utilizarea
numere verctorului x
integer i integer i
real s, x(100) real s
s=0 s=0
do 1 i=1,100 do 1 i=1,100
x(i)=i s=s+i
s=s+x(i) 1 write(*,*)s
1 write(*,*)s end
end
=============
Program în limbajul FORTRAN 77 (utilizarea instrucțiunii FORMAT)
==========program tabel
! --- creeaza un tabel cu 2 coloane, primele 10 numere si patratele lor,
utilizand FORMAT
!
implicit none
integer n
100 format(1x,a21)
print 100, '*********************'
print*, '| N | N*N |'
print 100, '*********************'
do n=1,10
print 200,'| ',n,' | ',n*n,' |'
print*, '---------------------'
enddo
200 format(1x,a2,i2,a8,i3,a6)
end
==============
Program în limbajul FORTRAN 90 (utilizarea instrucțiunilor structurate), program
care rezolvă un sistem liniar de 2x2.
============program sistem
! --- rezolva un sistem liniar 2x2, de tipul
! ax+by=c
! dx+ey=f
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 245
!
implicit none
real a,b,c,d,e,f
real delta,x,y
print*,'dati a,b,c din prima ecuatie : ax+by=c '
read*,a,b,c
print*,'dati d,e,f din a doua ecuatie : dx+ey=f '
read*,d,e,f
delta=a*e-b*d
if(delta.eq.0) then
if(b*f.eq.c*e) then
print*
print*,'sistemul este compatibil nedeterminat'
else
print*
print*,'sistemul este incompatibil'
endif
else
x=(c*e-b*f)/delta
y=(a*f-c*d)/delta
print*
print*,'sistemul este compatibil determinat'
print*,'x=',x
print*,'y=',y
endif
end
=============
Sursa: Zsongor F. Gobesz, Ciprian Bacoţiu, Inițiere în programare și în limbajul FORTRAN,
Editura U.T. PRES, Cluj-Napoca, 2003, http://users.utcluj.ro/~go/doc/Gobesz,Bacotiu-Fortran.pdf
Observații:
1. Algoritmul pentru calculul sumei valorilor unui vector face parte din ABC-ul
informaticii (algoritmică+programare). Dacă s-ar face un sondaj printre
profesorii de informatică din preuniversitar, probabil că 4-5% dintre aceștia dau o
explicație corectă/matematică elevilor (de vină sunt și profesorii din universitar
ce răspund de formarea lor ca informaticieni). Pentru a calcula suma
n
S X i , cu ajutorul unui algoritm/program, se va defini șirul de valori:
i 1
Write S;
End
===============
(M. Vlada, http://old.unibuc.ro/prof/vlada_m/docs/res/2011maiginfo-babel-4.pdf)
2. Expresia/Relația S = S + X(i), scrisă pe tablă – în perioada 1960-1980, când
matematicieni, ingineri, economiști etc., erau începători și învățau să utilizeze
calculatorul și limbajul FORTRAN, unii dintre aceștia erau contrariați și spuneau
că este absurd să apară relația S = S + X(i), deoarece erau obisnuiți ca semnul
“=” să fie utilizat doar pentru identități și pentru ecuații.
3. Ne întrebăm dacă -în anul 2003, învățarea limbajului FORTRAN (și descrierea
algoritmilor prin scheme logice, ce au fost folosite până la apariția programării
structurate, în anii 1975-1980) a fost utilă pentru studenții, viitori ingineri!. În
anul 2003 erau nu numai și alte limbaje de programare structurată, dar și multe
programe/platforme specializate pentru calcule științificte/tehnice/economice:
MathCAD, MathLab, Excel, Wolfram etc. E adevărat că, până în anul 1980, în
domeniul meteorologiei, modelele matematice erau implementate în limbajul
FORTRAN și, pentru că erau foarte multe programe scrise în acest limbaj, a fost
mai eficient să se modifice limbajul FORTRAN pentru a se adapta la
programarea structurată (20 de ani s-a dus o “luptă” științifică pentru eliminarea
salturile din procesele de calcul – instrucțiunea goto). Astfel, a apărut
standardizarea structurată FORTRAN 90.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT FILEN ASSIGN TO INPUT.
ORGANIZATION IS SEQUENTIAL.
ACCESS IS SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD FILEN
01 NAME PIC A(25).
WORKING-STORAGE SECTION.
01 WS-STUDENT PIC A(30).
01 WS-ID PIC 9(5).
LOCAL-STORAGE SECTION.
01 LS-CLASS PIC 9(3).
LINKAGE SECTION.
01 LS-ID PIC 9(5).
PROCEDURE DIVISION.
DISPLAY 'Executing COBOL program using JCL'.
STOP RUN.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-NAME PIC A(30).
01 WS-ID PIC 9(5) VALUE '12345'.
PROCEDURE DIVISION.
A000-FIRST-PARA.
DISPLAY 'Hello World'.
MOVE 'TutorialsPoint' TO WS-NAME.
DISPLAY "My name is : "WS-NAME.
DISPLAY "My ID is : "WS-ID.
STOP RUN.
=============
Execuție online: https://www.tutorialspoint.com/
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 249
% reguli de derivare
d(X,X,D) :- atomic(X), !, D=1.
d(C,X,D) :- atomic(C), !, D=0.
d(U+V,X,DU+DV) :- d(U,X,DU), d(V,X,DV).
d(U-V,X,DU-DV) :- d(U,X,DU), d(V,X,DV).
d(U*V,X,DU*V+U*DV) :- d(U,X,DU), d(V,X,DV).
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 251
( defmacro mkrand (x y)
" Make a random uniformly distributed number between x and y,
inclusive"
`(+ ,x (random (1+ (- ,y ,x)))))
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Name is required";
} else {
$name = test_input($_POST["name"]);
}
if (empty($_POST["email"])) {
$emailErr = "Email is required";
} else {
$email = test_input($_POST["email"]);
}
if (empty($_POST["website"])) {
$website = "";
} else {
$website = test_input($_POST["website"]);
}
if (empty($_POST["comment"])) {
$comment = "";
} else {
$comment = test_input($_POST["comment"]);
}
if (empty($_POST["gender"])) {
$genderErr = "Gender is required";
} else {
$gender = test_input($_POST["gender"]);
}
}
?>
============
{int m=0;
double u1,u2,u3,u4;
punct o; // originea sistemului XOY
o.x=0;
o.y=0;
v[n+1]=v[1];
// se determina m=nr. intersectiilor seg. [OQ] cu laturile liniei
poligoanale
// daca m=impar, atunci Q este in Int D (interiorul dom. det. de linia
poligonala)
for (int i=1;i<=n;i++)
{ u1=det(v[i],o,q);
u2=det(v[i+1],o,q);
u3=det(o,v[i],v[i+1]);
u4=det(q,v[i],v[i+1]);
if((u1*u2<0)&& (u3*u4 < 0)) m++;
}
if((m==1)||(!(m%2==0))) return 1;//m=impar
else return 0;
}
punct v[100]; punct q;
int n,m;
int temp;
int gd,gm;
int main()
{
gd=DETECT;
initgraph(&gd,&gm,"C:\Dev-Cpp\lib");
setcolor(WHITE); // culoare desen = alba
n=5;
// coordonatele varfurilor
v[1].x = 15; v[1].y = 20;
v[2].x = 400;v[2].y = 15;
v[3].x = 450;v[3].y = 350;
v[4].x = 250;v[4].y = 200;
v[5].x = 100;v[5].y = 230;
Obervație: În urma testării programului prin generarea aleatoare a punctelor, există căteva
cazuri în care algoritmul nu este corect. În activitatea de dezvoltare de programe pot
apărea astfel de cazuri. Se va afla cauza și se vor face corecțiile corespunzătoare.
int main()
{
Event *event;
cin>>i;
================
Notă. Mulțumim Prof. Univ. Dr. Tudor Bălănescu pentru observațiile și sugestiile privind
textul despre OOP.
planul 2D (R2)
Y
P =<a,b> ; v =<a,b>
a = OP cos
b = OP sin
b P
v
O a X
Se consideră:
TYPE
vector = record
x : real;
y : real;
end;
VAR v, w : vector;
atunci v.x și v.y sunt componentele vectorului v, adică v.x = projx(v), v.y = projy(v).
Vectorul origine este origin =< 0, 0 >.
Distanța dintre două puncte v și w:
dist (v,w) = SQRT ( (v.x - w.x)2 + (v.y - w.y)2 ).
Norma unui vector:
norme (v) = dist (origin, v) = SQRT ( (v.x)2 + (v.y)2 ).
O x
Program în limbajul Open GL: reprezentare unui graf complet (sigla CNIV)
Program în limbajul Visual Studio (Visual C++), Visual Studio .NET 2003
Program.cs
=============
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace Bresenham
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 263
Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace Bresenham
{
public partial class Form1 : Form
{
private bool draw = false, pause =false;
public Form1()
{
InitializeComponent();
panel1.Paint += new PaintEventHandler(panel1_Paint);
}
void panel1_Paint(object sender, PaintEventArgs e)
{
Graphics grfx = e.Graphics;
//intializare grila
for (int i = 1; i < 50; i++)
{
grfx.DrawLine(Pens.LightGray, new Point(0, 10 * i), new
Point(500, 10 * i));
grfx.DrawLine(Pens.LightGray, new Point(10 * i, 0), new Point(10
* i, 500));
}
//daca nu trebuie sa dezenez figura, maopresc dupa desenarea grilei
if (!draw) return;
if (rbLine.Checked)
{
//puncte pentru linie
int x1, x2, y1, y2;
//puncte initiale, folosite la desenarea liniei ideale
int x1i, x2i, y1i, y2i;
try
{
//extragere coordonate
//sunt dublate in xxi pentru a putea trasa dreapta ideala
x1i = x1 = Int32.Parse(txtX1.Text);
y1i = y1 = Int32.Parse(txtY1.Text);
x2i = x2 = Int32.Parse(textBox3.Text);
y2i = y2 = Int32.Parse(textBox4.Text);
}
catch (FormatException fe)
{
264 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
draw = false;
MessageBox.Show("Eroare la parsarea parametrilor",
"Eroare", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
//panta
bool steep = (Math.Abs(y2 - y1) > Math.Abs(x2 - x1));
int aux;
if (steep)
{
aux = x1; x1 = y1; y1 = aux;
aux = x2; x2 = y2; y2 = aux;
}
if (x1 > x2)
{
aux = x1; x1 = x2; x2 = aux;
aux = y1; y1 = y2; y2 = aux;
}
...
===============
getCanvas().setGata(true);
buton.setText("Calculeaza aria");
}
else{
JOptionPane.showMessageDialog( this2,
"Aria poligonului este "+getCanvas().getAria()+" pixeli",
"Informatie",JOptionPane.INFORMATION_MESSAGE);
}
}
});
}
return buton;
}
private MenuBar getJMeniuBara()
{
if (meniuBara == null)
{
meniuBara = new MenuBar();
optiuni = new Menu("Optiuni");
itm1 = new MenuItem("Din nou...");
itm1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
getContentPane().remove(suprafata);
suprafata = null;
initialize();
buton.setText("OK");
buton.setEnabled(false);
}
});
itm2 = new MenuItem("Exit");
itm2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
hide();
dispose();
System.exit(0);
}
});
optiuni.add(itm1);
optiuni.add(itm2);
meniuBara.add(optiuni);
}
return meniuBara;
}
private Surface getCanvas(){
if (suprafata == null){
suprafata = new Surface();
}
return suprafata;
}
private void initialize(){
setSize(300,300);
setLocation(200,100);
this.setMenuBar(getJMeniuBara());
this.getContentPane().setLayout(new java.awt.BorderLayout());
this.getContentPane().add(getCanvas(),
266 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
java.awt.BorderLayout.CENTER);
setVisible(true);
new Thread(){
public void run(){
while(getCanvas().getNumarPuncte()<3);
buton.setEnabled(true);
}
}.start();
}
public static void main(String[] args){
new Arie();
}
}
=============
while(vertexNumber > 0)
{
} // end metoda
...
algoritmului lui Dijkstra
public void adjust_sPath()
{
int column = 1;
while(column < vNumber)
{
if( vertices[column].isInTree )
{
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 267
column++;
continue;
}
}
===========
clasa Graph
import java.util.*;
public class Graph{
public Graph() {}
publicGraph(int vertexNumber) {
this.vertexNumber =vertexNumber;
vertices =new Object[vertexNumber];
adjacencies =new Vector[vertexNumber];
}
public Graph(Object[] vertices) {
this(vertices.length);
for (int i=0; i <vertexNumber; i++)
this.vertices[i] =vertices[i];
}
publicObject getVertex(Object vertex, int index) {
vertices[index] =vertex;
}
public boolean isadjacent(Object vertex1, Object vertex2) {
int index1 =indexOf(vertex1);
268 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
return -1;
}
}
==============
Graph: cod pentru a returna ordinea de parcurgere a nodurilor în adâncime.
public Enumeration elementes () {
return new DPFEnumerator () ;
}
public Enumeration elements (Object startingVertex)
{
return new DPFEnumerator (startingVertex) ;
}
class DPFEnumerator implements Enumeration {
boolean[] visited;
Stack vertexStack;
DPFEnumerator () {
visited = new boolean [vertexNumber];
vertexStack = new Stack () ;
vertexStack.push (vertices [0])
visited[0]=true;
}
DPFEnumerator(Object startingVertex) {
visited=new boolean[vertexNumber];
vetexStack=new Stack();
vertexStack.push(startingVertex);
visited[indexOf(startingVertex)]=true;
}
public boolean hasMoreElements() {
if (vertexStack.isEmpty())
return false;
return true;
}
public Object nextElement() {
Object currentVertex=vertexStack.pop();
int index=indexOf(currentVertex);
if(adjacencies[index] !=null)
for (int i= adjacencies[index].size()-1
i>=0; i--)
for (int j=0; j<vertexNumber; j++)
if(adjacencies[index].elementAt(i)
==vertices[j] && !visited[j]) {
vertexStack.push(vertices[j]);
visited[j]=true; }
return currentVertex;
}
}
==============
<head>
<script type="text/javascript" src="wz_jsgraphics.j
s"></script>
</head>
<body>
<script language="JavaScript">
var ob=new jsGraphics();
var n=30; // numar de varfuri
var r=300; // valoare raza
var pi=3.141592; // pi
ob.setColor("#ff0000"); // culoare red
// se genereaza coordonatele varfurilor
for(i=0; i <=n-1; i++)
{
var fi = ( 2 * pi * i ) / n ;
var x = r * Math.cos ( fi ) ; y = r * Math.sin ( fi ) ;
// se genereaza muchiile / laturile
for(j = i+1; j<=n; j++)
{
var fi = ( 2 * pi * j ) / n ;
var xp = r * Math.cos ( fi ) ; yp = r * Math.sin ( fi ) ;
//se traseaza segmentul [(x,y) (xp,yp)]
ob.drawLine ( 400+x, 400+y, 400+xp, 400+yp );
}
}
ob.paint();
</script>
</body>
</html>
==============
============
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 271
interactiv. SVG utilizează standarde XML pentru text, formatele JPEG şi PNG pentru
imagini, DOM (Document Object Model) pentru scripting şi interactivitate, SMIL
(Synchronized Multimedia Integration Language) pentru animaţie şi CSS pentru styling.
Platforma SVG are două părţi: un fişier de bază de tip XML şi programare API
pentru aplicaţiile grafice 2D. „Key features include shapes, text and embedded raster
graphics, with many different painting styles. It supports scripting through languages
such as ECMAScript and has comprehensive support for animation” [12]. Familiarizarea
cu HTML, XML şi programarea orientată spre obiecte (OOP) determină o înţelegere mai
clară a utilizării specificaţiilor SVG [14]. Limbajul XML (eXtensible Markup Language)
este limbajul ce oferă un format pentru stocarea şi transmiterea de date printr-o descriere
declarativă. „Gramatica” XML include XHTML (the XML version of HTML), SVG,
MathML (the Mathematics Markup Language), ChemML (the Chemistry Markup
Language) şi GML (the Geography Markup Language).
Ca limbaj de scripting prin utilizarea lui JavaScript şi SVG Document Object
Model (SVG-DOM), SVG este o extensie a lui HTML DOM level 2 familiar
dezvoltatorilor de Web. Elementele SVG pot fi caracterizate de animaţie prin utilizarea
Synchronized Multimedia Integration Language (SMIL).
Analog XHTML şi MathML, SVG este de tip XML, fişierele sau documentele
SVG au extensia .svg şi sunt editate cu un editor simplu (de exemplu Notepad). Aceste
fişiere nu sunt compilate, ci doar interpretate de către browser (Firefox 1.5+, Opera 9 sau
Internet Explorer cu Adobe SVG Viewer).
Document Type Definition (DTD) reprezintă descrierea elementelor şi atributelor
(svg11.dtd) corespunzătoare delaraţiilor de tip SVG şi care sunt utilizate în aplicaţiile
grafice ("http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"). Elementele „root”
pentru documentele XML sunt acele etichete XML interpretate de browser. De exemplu,
<html> pentru XML şi <svg> pentru SVG. „Namespace” XML sau atribute „xmlns”
realizează o descriere unică de identificare a atributelor SVG cu datele XML. Pentru
aplicaţiile SVG sunt necesare următoarele declaraţii:
xmlns=http://www.w3.org/2000/svg
xmlns:xlink="http://www.w3.org/1999/xlink"
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="560" height="480" >
...
Continut svg
...
</svg>
Programarea în SVG
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="570" height="470" >
<polygon style="stroke:#24a;stroke-width:1.5;fill:#eefefe"
points="10,10,400,10,430,230,10,280,10,10" />
<circle style="stroke:#d33;stroke-width:2;fill:#7ce"
cx="100" cy="80" r="50" />
<rect style="stroke:#2aa;stroke-width:7;fill:#ded;opacity:.8"
x="170" y="80" height="120" width="220" />
<line style="stroke:#eea;stroke-width:6" x1="30" y1="250" x2="340"
y2="60"/>
<path style="fill:#daa;fill-rule:evenodd;stroke:none"
d="M 230,250 C 360,30 10,255 110,140 z "/>
<circle style="stroke:#d33;stroke-width:2;fill:#7ce"
cx="370" cy="140" r="30" />
<text x="270" y="50">Exemplul 1</text>
</svg>
<defs>
<style type="text/css"><![CDATA[
.titlu { font-size:30px; font-weight: bold; font-family: batang;
stroke: none; fill: black; text-anchor: middle}
]]></style>
</defs>
Elementul <text> va fi în acest caz:
<text class="titlu" x="270" y="50">Exemplul 1</text>
<script type="text/ecmascript">
//<![CDATA[
...
Codul javascript
...
// ]]>
</script>
function xFunc(t){
return (a+b)*Math.cos((b/a)*t) -
b*Math.cos(t+(t*b)/a);
}
function yFunc(t){
return (a+b)*Math.sin((b/a)*t) -
b*Math.sin(t+(t*b)/a);
}
Epicicloida
276 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
function xFunc(t){
return a*t*Math.cos(t);
}
function yFunc(t){
return a*t*Math.sin(t);
}
function xFunc(t){
return (a-b)*Math.cos((b/a)*t) +
b*Math.cos(t-(t*b)/a);
}
function yFunc(t){
return (a-b)*Math.sin((b/a)*t) -
b*Math.sin(t-(t*b)/a);
}
Hipocicloida
Bibliografie
[1] Adobe, SVG Viewer, http://www.adobe.com/svg/viewer/install/main.html, 2005
[2] Tim Berners-Lee, inventor of the WWW, Personal Web Page, www.w3.org/People/Berners-Lee
[3] Diana Diaconu, Pagini Web cu JavaScript, Editura EduSoft, 2006
[4] David Lane, Scalable Vector Graphics, Published February 2007; article ID 1381,
http://mathdl.maa.org/mathDL/4/?pa=content&sa=viewDocument&nodeId=1381, 2007
[5] SVGOPEN Organisation, http://www.svgopen.org/2007/aim_en.shtml
[6] SVG Foundation, http://www.svgi.org
[7] SVG Wiki, http://wiki.svg.org/Main_Page/
[8] Marin Vlada, De la teorema lui Green la geometria computaţională, CNIV-2006, Conferinţa Naţională de
Învăţământ Virtual, Software Educaţional, Ediţia a IV-a, 27-29 octombrie 2006, Editura Universităţii din
Bucureşti, http://fmi.unibuc.ro/cniv/2006/, 2006
[9] Marin Vlada, Adrian Posea, Ioan Nistor, Călin Constantinescu, Grafică pe calculator în limbajele Pascal
şi C, vol. I, II, Editura Tehnică, Bucureşti, 1992
[10] Yahoo svg newsgroup, http://tech.groups.yahoo.com/group/svg-developers/
[11] John C. Whelan, Kelly Carey, SVG For Teaching 2D Graphics Standards,
http://www.svgopen.org/2005/papers/TeachingGraphicsStandards/index.html, 2005
[12] W3C, SVG – Scalable Vector Graphics, http://www.w3.org/Graphics/SV/
[13] W3C, Scalable Vector Graphics 1.1 Specification, http://www.w3.org/TR/SVG/SMIL
[14] W3C, XHTML, MathML, http://www.w3.org/markup/, http://www.w3.org/mat/
[15] W3Schools, SVG, http://www.w3schools.com/svg/default.asp
Marin Vlada,
Universitatea din București
Odată cu apariţia display-ului grafic (Graphic Display), în anul 1953, s-a trecut la
o nouă etapă în dezvoltarea şi răspândirea calculatorului. Utilizarea bit-ului prin
organizarea eficientă a memoriei calculatorului, nu oferea nici hardware, nici software
posibilitatea de modelare spaţială a ieşirilor (OUTPUT). Reprezentările grafice folosind
caractere (numerice sau alfanumerice) nu era o soluţie care să realizeze o reprezentare
fidelă a obiectelor reale. Suportul hardware fiind inventat, în perioada 1960-1980 au fost
nevoie de cercetări şi experimente, modele, algoritmi si programe care să foloseacă
278 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
În principal, se consideră L(x,y)= - y/2, M(x,y)= x/2 şi se aplică formula lui Green.
280 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
Dacă D R2 este un domeniu mărginit simplu conex având frontiera FrD = Im dată
de un drum de clasă C1 pe porţiuni, 1 2 ... n
b
1 n
aria( D) ( xdy ydx) ,unde i : [a, b] R 2 , i (t ) ( x(t ), y(t )) , i=1,n
2 i 1 a
Pentru determinarea ariei unui poligon oarecare (convex sau concav), rămâne
doar să modelăm laturile poligonului cu drumuri de clasă C1, lucru ce este posibil
deoarece acestea sunt segmente de dreaptă (curbe de gradul I). Folosind aplicaţia
bijectivă între segmentele reale [0,1] şi [a,b], dată de φ(t) = a + t(b-a), linia poligonlă se
modelează cu reuniunea drumurilor γi reprezentate parametric astfel:
i : [a, b] R 2 , i (t ) ( x(t ), y(t )) , i=1,n,
unde
x(t) = xi + t (xi+1 - xi), y(t) = yi + t (yi+1 - yi), i=1,n-1
cu observaţia că pentru ultimul drum γn ecuaţiile parametrice sunt
x(t) = xn + t (x1 – xn), y(t) = yn + t (y1 – yn).
1 n
Formula 2: S ( xi xi 1) ( yi 1 yi) (suma ariilor „trapezelor”)
2 i 1
ne,v
Formula 3: S ( ni 1) a 2 (Teorema lui PICK, contorizare noduri),
2
când poligonul are vârfurile situate în nodurile unei reţele de pătrate de arie
a2 (coordonatele date în numere întregi), şi
ne,v = numărul nodurilor situate pe laturi şi in vârfurile poligonului
ni = numărul nodurilor situate în interiorul poligonului
a = latura pătratului (lungimea laturii în funcţie de unitatea de măsura a
sistemului de coordonate).
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 281
Observaţii. Dacă se cosideră că toate vârfurile poligonului sunt în cadranul I (dacă nu, se
poate face o translaţie), Formula 1 se poate demonstra şi prin metoda inducţiei matematice. Aria
poligonului este dată de suma ariei triunghiurilor ce au ca vârfuri, originea sistemului de
coordonate şi cele două vârfuri ce reprezintă extremele unei laturi curente ce determină linia
poligonală. Pentru Formula 2, se proiectează fiecare latură pe axa OY şi se obţine un trapez. Suma
ariilor trapezelor obţinute este aria poligonului.
Bibliografie
[1] CGAL - Computational Geometry Algorithms Library, http://www.cgal.org/
[2] Colojoară I., Lecţii de analiză matematică, Facultatea de matematică, Universitatea din Bucureşti,
Tipografia Universităţii, 1979.
[3] Cristea, V., C. Giumale, E, Kalisz, Al. Paunoiu, Limbajul C standard, Ed. Teora, Bucureşti, 1992.
[4] Tom Davis, Practical calculation of Polygonal Areas, Pick’s Theorem, 2006 http://www.geometer.org/
mathcircles/polyarea.pdf,
http://www.geometer.org/mathcircles/pick.pdf
[5] Eppstein D., http://www.ics.uci.edu/~eppstein/index.html
[6] Goodman, J. E. and O'Rourke, J., eds. , Handbook of Discrete and Computational Geometry (2nd Ed.).
CRC Press, 2004.
[7] John Louis von Neumann, http://ei.cs.vt.edu/%7Ehistory/VonNeumann.html
[8] O'Rourke, J., Computational Geometry in C (2nd Ed.). Cambridge University Press., 1998.
[9] Popovici, M. D., Popovici, M. I., C++. Tehnologia orientată spre obiecte. Aplicaţii, Ed. Teora, Bucureşti,
2000.
[10] Pop D., Petcu D., Modelarea lumii tridimensionale, Editura Eubeea, Timişoara, 2004.
[11] Vlada, M., Informatică, Universitatea din Bucureşti, Ed. Ars Docendi, Bucureşti, 1999.
[12] Vlada, M., Poligoane stelate. Problema lui Hopf şi Pannwitz, Gazeta de matematică, nr. 8/1995, pag.
339-348.
[13] Vlada, M., Rezolvarea problemelor folosind Eureka, software educaţional, www.unibuc.ro/eBooks/
informatica/eureka/, Universitatea din Bucuresti, 2003.
[14] Vlada, M., Concepul de algoritm-abordare modernă, Gazeta de informatică, vol. 13/2 şi 3, pp. 25-30, pp.
35-39, Agora, Cluj Napoca, 2003.
[15] M. Vlada, Birotică: Tehnologii multimedia, Editura Universităţii din Bucureşti, 2004.
[16] M. Vlada, D.M. Popovici, Realitatea Virtuala (Virtual Reality), tehnologie moderna a informaticii
aplicate, CNIV-2004, Noi tehnologii de E-Learning, Conferinţa Naţională de Învăţământ Virtual, Software
Educaţional, Ediţia a II-a, 29-31 octombrie 2004, Editura Universităţii din Bucureşti, 2004
[17] WIKIPEDIA, http://ro.wikipedia.org/wiki/Matematica, http://ro.wikipedia.org/wiki/Informatic%C4%83
[18] WIKIPEDIA , The Free Encyclopedia – http://en.wikipedia.org/wiki/Greens_theorem
[19] CNIV 2006 – Conferinţa Naţională de Învăţământ Virtual , edtiţia a IV-a 2006,
http://fmi.unibuc.ro/cniv/2006/centenar-moisil/
282 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
Marin Vlada,
Universitatea din București
Dacă limbile (limbajele naturale ale popoarelor 35) sunt într-o continuă evoluție,
schimbare și se dezvoltă, astfel, o limbă este ca un organism viu, tot așa și științele sunt
într-o continuă evoluție, schimbare și se dezvoltă, fiind considerate limbaje ale
cunoașterii ce oferă teorii, metode, tehnici și instrumente pentru a modela și prelucra
cunoașterea. „Limba latină disciplinează spiritul. Aceasta este la fel ca și matematica, ce
realizează o reprezentare și o ordonare a cunoașterii”, acad. Dan Berindei.
Exemplificăm aceste idei prin apariția și dezvoltarea spectaculoasă a Informaticii care se
datorează rezultatelor și contribuției mai multor științe (matematica, cibernetica,
automatica, electronica etc.).
În primul rând, prin studiul și analiza limbajelor naturale, oamenii de știință –
matematicieni, ingineri, lingvisti, filozofi etc. – au creat și dezvoltat limbajele formale ce
au stat la baza conceptelor de gramatici și automate (în România, în anul 1964, S.
Marcus scrie cartea Gramatici și automate finite, Ed Academiei), în final acestea au
generat limbajele de programare. În al doilea rând, prin construirea de calculatoare din
ce în ce mai performante și, prin apariția de metode și tehnici noi oferite de utilizarea
calculatorului și de dezvoltarea științelor, apar continuu abordări noi în rezolvarea
problemelor. În acest proces de modelare și prelucrare a cunoașterii un rol esențial pentru
adaptarea omului la natură este etapa de rezolvare a problemelor.
În mai toate științele, există exemple în care o problemă după ce a fost enunțată, a
fost rezolvată, după 50 de ani, 100 de ani, sau chiar după sute de ani. Acest lucru
demonstrează continua evoluție, schimbare și dezvoltare a științelor. În matematică, de
exemplu, problema celor 4 culori a fost enunțată de studentul englez Francis Guthner
(rezolvarea i-a fost cerută de un geograf din Edinburgh), în anul 1852: „sunt suficiente 4
culori pentru a colora o hartă ce reprezintă diverse ţări, cu condiţia ca oricare două
ţări vecine (cu frontiera comună) să fie colorate cu culori diferite”. După mai bine de
100 de ani și după mai multe încercări de rezolvare, problema a fost rezolvată, folosind
câteva zile și execuția unui calculator electronic, de la Universitatea Illinois, SUA – care
35
"The web is vast and infinite. Its pages link together in a complex network, containing remarkable
structures and patterns. Some of the clearest patterns relate to language. Most web pages link to other pages
on the same web site, and the few off-site links they have are almost always to other pages in the same
language. It's as if each language has its own web which is loosely linked to the webs of other languages.
However, there are a small but significant number of off-site links between languages. These give tantalizing
hints of the world beyond the virtual." [1]
284 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
a lucrat aproape 1200 ore -, de Appel Kenneth și Haken Wolfgang (October 1977) (Ref.:
„Solution of the Four Color Map36”, Scientific American, 237 (4), pp. 108–121).
Rezolvarea a fost posibilă prin elaborarea unui algoritm de generare a configurațiilor ce
reprezintă soluțiile problemei. Ulterior, peste un an, folosind o procedură de reducere a
configuraţiilor, deci un nou algoritm, F. Allaise de la Universitatea Waterloo, Ontario,
Canada, a reuşit să obţină rezolvarea prin execuția a 50 de ore calculator. Metoda utilizată
atunci, a devenit cunoscuta „metodă Backtraking” ce se predă elevilor și studentilor de la
informatică. Astăzi, pe actualele calculatoare, o astfel de procedură durează câteva
secunde. De asemenea, precizăm că în anul 1972 a fost construit un compilator Prolog –
limbaj al Inteligenței artificiale, ce are motorul de inferență (căutare de soluții) bazat pe
metoda Backtraking.
Un alt exemplu de mare anvergură, un proiect internațional la care au lucrat mii
sau chiar sute de mii de cercetători și oameni de știință, este rezolvarea completă a
secvenței codului genetic ADN – The Human Genome Project Color Map37 (1995-2005).
Evident că această rezolvare istorică a codului genetic a fost posibilă prin contribuția
miilor de oameni de știință, ce s-au folosit de stadiul dezvoltării a mai multor științe,
inclusiv de performanțele spectaculase din domeniul Informaticii și al calculatoarelor.
Problema călugărului
Un călugăr trăiește într-o mănăstire din vârful unui munte. Periodic, dimineața, la o
anumită oră, trebuie să coboare pe un drum, într-o localitate de la poalele muntelui,
unde va înnopta. Dimineața următoare, la aceeași oră din ziua precedentă, acesta se va
întoarce la mănăstire pe același drum. Să se demonstreze că există un loc de pe drumul
parcurs de călugăr, prin care trece la aceeași oră, la ducere și la întoarcere. (© M.
Vlada, 2016)
Rezolvare
Analizând cu atenție enunțul problemei – la școală și în universități, se tratează
cu superficialitate definițiile și enunțurile și, de aici se ajunge la înțelegerea greșită a
problemelor și teoriilor –, se poate întreba dacă problema este o problemă de matematică,
de fizică, de geografie, sau de ce nu, de informatică.
Să trecem direct la explicații despre această problemă. Enunțul îmi apartine, dar
ideea problemei, nu. Mi-am amimtit de această problemă, acum, câțiva ani, când
încercam să găsesc probleme mai deosebite, care să fie din realitate și care să-i poată
atrage pe elevi/studenți în procesul de învățare. De fapt, este vorba de o schimbare de
atitudine a profesorilor față de învățare. Enunțul problemei îl găsisem în timpul liceului,
într-o carte de matematică, la capitolul „proprietatea lui Darboux”. Prin urmare, se poate
spune că este o problemă de matematică. Dar, vom vedea. E mult timp de atunci. Recent,
mi-am propus să găsesc enunțul problemei. Cum era firesc, am apelat la Google – se zice
că acceptă orice întrebare! Fără succes. Planul B a fost să merg la biblioteca Facultății de
Matematică și să caut în 2-3 cărți pe care le bănuiam că ar conține enunțul. Dezamăgire!
Nu am gasit. Nu mai aveam inspirație să concep planul C, D etc. După câteva căutari de
36
https://en.wikipedia.org/wiki/Four_color_theorem
37
http://mvlada.blogspot.ro/2015/03/informatics-and-information-technology.html
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 285
strategie (nu cum face Google), m-am hotărât: voi fi capabil să reinventez enunțul și să
rezolv problema!
Experiența din această activitate mi-a aratat că am ajuns la enunțul problemei, în
același timp în care am terminat rezolvarea ei. De fapt, așa se întâmplă în activitatea de
cercetare. Multe au fost cazurile când credeam că am ajuns să spun că am reușit să
descopăr enunțul. Trebuie să recunosc: am ajuns la două enunțuri ce erau greșite.
S. Marcus spunea: să-i lăsăm pe elevi să caute singuri soluția, chiar dacă fac greșeli,
deoarece prin acest proces de căutare și de corectare a ceea ce s-a greșit, se ajunge la
învățarea adevărată, și nu la o învățare superficială, prin metoda memorării și prin
utilizarea inteligenței altora. E drept că, am citit dintr-un studiu american că „învățăm mai
mult din succese, decât din eșecuri”. Probabil că „eșecul” aici nu are sensul „greșelilor”
din activitatea de căutare a unei rezolvări.
Metoda
Teoretic, trebuie să analizăm evoluția timpului în cele două etape de parcurgere a
distanței, ce trebuie să fie parcursă între cele două puncte ale drumului parcurs. Dacă
notăm cu Y variabila timp, iar cu X notăm variabila distanța parcursă, atunci această
evoluție (depentența) se exprimă matematic printr-o funcție f: R R, y=f(x), unde
aplicația f este necunoscută si trebuie determinată. Aplicația f modelează prima etapă (de
ducere), analog pentru etapa a doua (de întoarcere), vom nota funcția g: R R, y=g(x),
unde aplicația g este necunoscută și trebuie determinată.
Practic, pentru a determina cele două funcții (evoluția timpului în cele două
etape), vom utiliza metoda folosită și în determinarea orbitelor planetelor din sistemul
solar. Orbita unui corp ceresc este traiectoria urmată de acel corp prin spațiul cosmic. În
astronomie, există cele 3 legi ale lui Kepler ce descriu mișcările planetelor în jurul
soarelui.
Se va folosi Metoda celor mai mici pătrate (MCMMP38, Legendre, 1806) pentru
Dependenţa funcţională a unei variabile Y (dependenţă-efect) faţă de altă variabilă X
(independentă-cauză), ce poate fi studiată empiric, pe cale experimentală. Date fiind
valorile observate pentru două variabile aleatoare X şi Y, fie acestea (xi,yi), i = 1,…, n,
prin funcţie de regresie39 se va înţelege acea funcţie Y = f(X) care aproximează cel mai
bine setul de date observate. De regulă, criteriul ales este dat de metoda celor mai mici
pătrate (MCMMP), adică acea funcţie f pentru care se minimizează suma pătratelor
erorilor dintre valorile măsurate şi cele estimate (procedeu de fitare), adică suma [6, 7]:
n
S [ yi f ( xi )]2
i 1
Pentru aceste date experimentale, în cazul nostru, vom simula valori pentru
distanța (variabila x) și timp (variabila y), atât pentru etapa I – dependența y=f(x), cât și
pentru etapa II – dependența y=g(x). Pentru cei care vor să nu aibă nelămuriri în cele ce
urmează, precizăm că dacă la simularea lui f , pentru timp (y), valorile sunt crescătoare,
38
De obicei, metoda celor mai mici pătrate este atribuită lui Carl Friedrich Gauss (1795), dar se ştie că
aceasta a fost publicată pentru prima dată de Adrien Marie Legendre [Ref.: Bretscher, O., 1995].
39
Termenul de „regresie” a fost inventat de către Francis Galton (1822-1911) în secolul al XIX-lea pentru a
descrie un fenomen biologic. De asemenea, a introdus conceptul statistic de corelaţie şi a promovat pe scară
largă regresia folosind conceptul de medie [Ref.: Bulmer M., Francis Galton, 2003].
286 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
în schimb, la simularea lui g, pentru timp (y), valorile sunt descrescătoare. Explicație:
„un loc de pe drumul parcus” trebuie să fie unic determinat față de un reper fix, de
exemplu „mănăstire”, iar în reprezentarea grafică a celor două funcții f și g, să fie originea
sistemului cartezian XOY. Dacă în cazul lui g, valorile pentru timp (y) sunt crescătoare,
ar fi o modelare greșită, deoarece ar însemna ca g să simuleze tot plecarea de la
mănăstire. În tabelul 1 sunt prezentate aceste valori ce simulează evoluțiile f și g.
Rezultate
Determinarea locului din drumul parcus, când călugărul trece la aceeași oră, se
obține prin intersecția graficelor f și g ce sunt reprezentate în fig. 3. Evident, trebuie
găsite rădăcinile ecuației h(x) = 0, unde funcția
5
Fig. 4. Graficele celor două parabole f și g folosind calculatorul științific http://web2.0calc.com
Inițial: x = 50
h(x) = 0,000763387
final: x = 55,57520747
Soluția: distanța = 55,57 față de locul mănăstirii (în această simulare nu am utilizat
unități de măsură pentru valori).
PROGRAMUL JavaScript
==============
<html>
<head>
// Problema calugarului: Evolutia timpului, la ducere si la intoarcere,
f(d) = 0.002d*d + 0.117d + 2.670; g(d)= 0.004d*d - 1.059d + 61.85, d din
[0, 120] (M. Vlada 2016)
<script type="text/javascript" src="wz_jsgraphics.js"> // by Walter Zorn,
2009 </script>
</head>
<body>
<script language="JavaScript"> // M. Vlada 12.09.2016
var ob=new jsGraphics();
var d=120; // distanta
ob.setColor("#000000"); // culoare black
//Axele
ob.drawLine ( 100, 500, 900, 500);
ob.drawLine ( 100, 500, 100, 30);
// se genereaza graficele f si g prin discretizarea intervalului [0,
120], pasul=1.0
var dx=120 ; var dy=80 ; var hx= 800 ; var hy= 470;
var x1 = 0 ; var y1 = 2.67 ;
var x3 = 0 ; var y3 = 61.85 ;
ob.setColor("#ff0000"); // culoare red
for(i=1; i <=d; i++)
{
var x2 = i ; var y2 = 0.002*i*i +0.117*i+2.67;
var x4 = i ; var y4 = 0.004*i*i -1.059*i+61.85;
var x11 = 100 + Math.floor((x1-0)/dx*hx); var y11 = hy - 30 -
Math.floor((y1-0)/dy*hy) ;
290 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
Bibliografie
[1] Daniel Ford and Josh Batson, Languages of the World (Wide Web) , News on Google Research, 2011 ,
https://research.googleblog.com/2011/07/languages-of-world-wide-web.html, accesat 2016
[2] M. Vlada, „Matematica pentru elevi, abstractă sau utilă ?”, În Lucrările celei de-a XI-a Conferință de
Învățământ Virtual, Editura Universității din București, ISSN 1842-4708, 2013, pag. 107-114
[3]M. Vlada, O. Istrate, Concursul „Didactica Nova” – curriculum academic inovativ, În Lucrările celei
de-a XI-a Conferință de Învățământ Virtual, Editura Universității din București, ISSN 1842-4708, 2013, pag.
19-24
[4] M. Vlada, „Structuri şi obiecte matematice cu aplicaţii în chimie şi fizică”, În Lucrările celei de-a XI-a
Conferință de Învățământ Virtual, Editura Universității din București, ISSN 1842-4708, 2013, pag.102-106
[5] M. Vlada, „Matematica pentru elevi, abstractă sau utilă ?”, În Lucrările celei de-a XI-a Conferință de
Învățământ Virtual, Editura Universității din București, ISSN 1842-4708, 2013, pag. 107-114
[6] M. Vlada, „Modele neliniare. Teorie şi aplicaţii”, În Lucrările celei de-a X-a Conferință de Învățământ
Virtual, Editura Universității din București, CNIV 2012, ISSN 1842-4708, 2012, pag. 57-65
[7] ] M. Vlada, Informatică aplicată. Modele de aproximare, software şi aplicaţii, Editura Universităţii din
Bucureşti, print, ISBN 778-606-16-0190-5, 257 pag., 2012
Marin Vlada,
Universitatea din București
În activitatea practică din diverse domenii ştiinţifice, economice, sociale etc. apar
cele mai complexe probleme ce trebuie rezolvate. Ştiinţele şi cercetarea ştiinţifică s-au
dezvoltat influenţate de complexitatea acestor probleme şi de proiectele societăţii umane.
Tezaurul conoaşterii umane este influenţat de ştiinţă şi tehnică, de cultură şi artă, şi în
special de modul de rezolvare a problemelor nerezolvate din societatea umană [1,2].
Astfel de probleme apar în chimie, biologie şi medicină, în fizică şi geologie, în
economie şi sociologie etc. Pentru studierea şi analiza proceselor şi fenomenelor aceste
activităţi reclamă metode şi tehnici valide şi eficiente, astfel că modele utilizate să
elimine căt mai mult incertitudinile şi aproximările.
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 291
Date fiind valorile observate pentru două variabile aleatoare X şi Y, fie acestea
(xi,yi), i=1,…,n, prin funcţie de regresie se va înţelege acea funcţie Y = f(X) care
aproximează cel mai bine setul de date observate. De regulă, criteriul ales este dat de
metoda celor mai mici pătrate (MCMMP), adică acea funcţie f pentru care se
minimizează suma patratelor erorilor între valorile măsurate şi cele estimate (procedeu de
fitare), adică suma
n
S [ yi f ( xi )]2
i 1
Dacă f este o funcţie neliniară, atunci se obţine regresia neliniară, reprezentată
grafic printr-o (curbă de regresie). Dreapta de regresie, împreună cu abaterile standard
ale variabilelor X şi Y, sau cu coeficientul de corelaţie, pot constitui o rezumare
rezonabilă a distribuţiei comune a celor două variabile X si Y. Adecvanţa modelului
neliniar este mai bună atunci când diagrama de împrăştiere are formă de elipsă.
Parametrii a1, a2, ..., ap nu se pot determina exact pe baza valorilor empirice y1,
y2,...,yn ale funcţiei, deoarece acestea din urmă conţin erori aleatoare. Problema
reprezintă obţinerea unei estimări „suficient de bune”.
Formularea problemei
Dacă toate măsurătorile valorilor varabilei Y sunt y1, y2,...,yn, atunci estimaţiile
parametrilor a1, a2,..., ap se determină din condiţia ca suma pătratelor abaterilor valorilor
măsurate yk de la cele calculate f(xk; a1, a2,..., an) să ia valoarea minimă, adică sa fie
minimă expresia
n
S (a1 , a2 ,, a p ) [ y k f ( xk ; a1 , a2 ,...,a p )]2
k 1
Consideraţia formulată se păstrează şi în general, pentru determinarea
parametrilor unei funcţii de mai multe variabile (2, 3 etc.), adica o variabila dependenta
(efect) si mai multe variabile independente (cauze). De exemplu, pentru variabila Z
(efect) ce depinde de două variabile independente (cauze) X şi Y, adică Z=f(X,Y),
estimaţiile parametrilor a0, a1,..., ap se determină din condiţia ca expresia
n
S (a1 , a2 ,, a p ) [ z k f ( xk , y k ; a1 , a2 ,...,a p )]2
k 1
să fie minimă. Determinarea valorilor parametrilor a1, a2,..., ap, se face prin aplicarea
condiţiilor de obţinere a valorii minime în derivatele parţiale ale funcţiei S considerată în
variabilele a1, a2,..., ap , adică funcţia cu p variabile S(a1, a2,..., ap). Obţinerea acestor
valori înseamnă rezolvarea sistemului de p ecuaţii cu p necunoscute:
S
0
a1
S
0
a2
…
S
0
a p
Teorema 2.1 Dacă pentru variabilele X (cauză), Y(efect) se cunosc n probe (măsurări,
observaţii) prin valorile datelor (xi ,yi), i=1,..., n, modelul logaritmic f(x)= a + b ln(x)
este determinat de coeficienţii a și b având următoarele expresii:
n n n n
( y i ) (ln xi ) 2 ( ln xi )( y i ln xi )
a i 1 i 1
n
i 1
n
i 1
n (ln xi ) 2 ( ln xi ) 2
i 1 i 1
n n n
yi ln xi a ln xi y i na
b i 1
n
i 1
sau b
i 1
n
.
(ln x )
i 1
i
2
ln x
i 1
i
Demonstraţie. În urma celor n probe (măsurări, observaţii) se cunosc datele (xi ,yi),
i=1,..., n şi trebuie să se determine coeficienţii a şi b astfel încât suma
n
S (a, b) [ yi (a b ln xi )]2
i 1
să fie minimă.
Vom avea următoarele calcule:
prin urmare
n
S (a, b) [ yi (a bLn xi )]2
i 1
n n n n n
na 2 2ab ln xi 2a y i 2b ( yi ln xi ) b 2 (ln xi ) 2 y i2 .
i 1 i 1 i 1 i 1
S n n
2na 2b ln xi 2 yi
a i 1 i 1
S n n n
2a ln xi 2 ( yi ln xi ) 2b (ln xi ) 2 .
b i 1 i 1 i 1
294 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
n n n n n n
2na (ln xi ) 2 2a( ln xi ) 2 2 ( yi ln xi )( ln xi ) 2( yi ) (ln xi ) 2 0 ,
i 1 i 1 i 1 i 1 i 1 i 1
adică
n n n n
( y i ) (ln xi ) 2 ( ln xi )( y i ln xi )
a i 1 i 1
n
i 1
n
i 1
,
n (ln xi ) ( ln xi ) 2 2
i 1 i 1
şi prin urmare din a doua ecuaţie, respectiv prima ecuaţie avem determinat coeficientul b:
n n n
yi ln xi a ln xi y i na
b i 1
n
i 1
sau b
i 1
n
.
(ln x )
i 1
i
2
ln x
i 1
i
Modelul
logaritmic: f(x)= a +b ln(x)
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 295
X Y Ln X Y ln X lnX^2
0.1 1310 -2.30259 -3016.39 5.301898
0.2 1300 -1.60944 -2092.27 2.59029
0.3 1293 -1.20397 -1556.74 1.449551
0.4 1283 -0.91629 -1175.6 0.839589
0.5 1276 -0.69315 -884.456 0.480453
0.6 1267 -0.51083 -647.216 0.260943
0.7 1260 -0.35667 -449.41 0.127217
0.8 1251 -0.22314 -279.153 0.049793
0.9 1243 -0.10536 -130.963 0.011101
1 1233 0 0 0
Suma 12716 -7.92144 -10232.2 11.11083
Tabelul 1. Calcule directe pentru modelul logaritmic
1330
y = -32.939Ln(x) + 1245.5
1320
R2 = 0.9083
1310
1300
1290
1280 Series1
1270 Log. (Series1)
1260
1250
1240
1230
1220
0 0.2 0.4 0.6 0.8 1 1.2
Teorema 3.1. Dacă pentru variabilele X (cauză), Y(efect) se cunosc n probe (măsurări,
observaţii) prin valorile datelor (xi ,yi), i=1,..., n, modelul exponenţial f(x) = a ebx este
determinat de coeficienţii a şi b având următoarele expresii:
n n n
xi ln yi n ( xi ln yi )
b i 1 i 1
n
i 1
n
şi a= ep , unde
( xi ) 2 n xi
2
i 1 i 1
n n n n
( xi ln yi ) b xi ln yi b xi
2
p i 1
n
i 1
sau p
i 1 i 1
.
x
n
i
i 1
Demonstraţie. În urma celor n probe (măsurări, observţtii) se cunosc datele (xi ,yi),
i=1,..., n şi trebuie să se determine coeficienţii a şi b astfel încât suma
n
S (a, b) [ yi a exp( bxi )]2
i 1
să fie minimă. Analog calculelor de la teorema 3.4 se poate realiza demonstraţia pentru
determinarea coeficienţilor a şi b. Calculul şi rezolvarea sistemului de ecuaţii este mai
laborios. În cele ce urmează vom aplica o altă metodă, şi anume vom face transformările
necesare pentru a aplica modelul liniar. De aceea, datele celor două variabile X şi Y, (xi
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 297
,yi), i=1,..., n, vor fi transformate astfel (xi , lnyi), i=1,..., n, iar modelul exponenţial va fi
transformat într-un model liniar astfel:
prin urmare este vorba de un model liniar g(x) de coeficienţi b (panta) şi lna (termenul
liber) ce trebuie aplicat datelor (xi , lnyi), i=1,..., n. Din acest motiv, în expresiile
coeficienţilor obținuţi pentru modelul liniar se va substitui yi cu lnyi . Să presupunem că
modelul liniar căutat este notat cu h(x) = x + , atunci dacă expresiile pentru coeficienţii
şi sunt determinate, pentru modelul iniţial (exponenţial) avem:
b = şi a = e .
Dacă vom considera un model liniar notat prin h(x) = ax + b (pentru comoditate
a nu se confunda coeficienţii a şi b cu cei de la funcţia g), sistemul de ecuaţii ce rezultă
din anularea derivatelor parţiale ale modeluluil h (dreapta de regresie) conduce la
următoarele:
n n n n
Se notează:
n n n n
xi y i Sxy
i 1
x2i Sxx
i 1
x i Sx
i 1
y
i 1
i Sy
Sx S y nSxy 1 S xy aS xx
a
(Sx ) nSxx
2
şi b
n
S y aSx sau b
Sx
.
Cei doi parametri ai funcţiei model h(x) = ax + b s-au obţinut pentru datele (xi
,yi), i=1,..., n, de aceea prin substituirea yi cu lnyi vom obţine:
298 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
n n n n n
xi ln yi n ( xi ln yi ) ( xi ln yi ) a xi
2
a i 1 i 1
n
i 1
n
, b i 1
n
i 1
sau
( xi ) n xi x
2 2
i
i 1 i 1 i 1
n n
ln yi a xi
b i 1 i 1
n
Concluzie. În cazul modelului exponenţial pentru datele (xi ,yi), i=1,..., n trebuie să se
determine coeficienţii a şi b prin transformări asupra datelor iniţiale şi asupra modelului
exponenţial pentru a se aplica modelul liniar. Se vor urma următoarele etape:
1. datele celor două variabile X si Y, (xi ,yi), i=1,..., n, vor fi transformate astfel:
(xi , lnyi), i=1,..., n;
2. modelul exponenţial va fi transformat într-un model liniar astfel: g(x) = ln(f(x)
= bx + lna;
3. se determină modelul liniar notat cu h(x) = x + ce se aplica datelor
transformate;
4. coeficienţii b şi a sunt determinaţi pentru modelul iniţial (exponenţial),
folosind relaţiile b = şi a = e.
7.19
y = -0.0658x + 7.184
R2 = 0.999
7.18
7.17
7.16
Series1
7.15
Linear (Series1)
7.14
7.13
7.12
7.11
0 0.2 0.4 0.6 0.8 1 1.2
Pentru a argumenta şi compara rezultatele obţinute conform etapelor de mai sus, vom
aplica modelul exponenţial datelor iniţiale (xi ,yi), i=1,..., n cu ajutorul programului Excel
şi astfel se obţine:
y = 1318.2e-0.0658x, coeficientul de determinare R2 = 0.999.
1320
y = 1318.2e-0.0658x
1310
R2 = 0.999
1300
1290
1280
Series1
1270
Expon. (Series1)
1260
1250
1240
1230
1220
0 0.2 0.4 0.6 0.8 1 1.2
X Y Ln Y X^2 XLnY
0.1 1310 7.177782 0.01 0.717778
0.2 1300 7.17012 0.04 1.434024
0.3 1293 7.16472 0.09 2.149416
0.4 1283 7.156956 0.16 2.862783
0.5 1276 7.151485 0.25 3.575743
0.6 1267 7.144407 0.36 4.286644
0.7 1260 7.138867 0.49 4.997207
0.8 1251 7.131699 0.64 5.705359
0.9 1243 7.125283 0.81 6.412755
1 1233 7.117206 1 7.117206
5.5 12716 71.47853 3.85 39.25891
b -0.06579
a 1318.218 1318.218
300 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
Concluzii
Bibliografie
[1] M. Vlada, „Modele neliniare. Teorie şi aplicaţii”, În Lucrările celei de-a X-a Conferință de Învățământ
Virtual, Editura Universității din București, CNIV 2012, ISSN 1842-4708, 2012, pag. 57-65
[2] ] M. Vlada, Informatică aplicată. Modele de aproximare, software şi aplicaţii, Editura Universităţii din
Bucureşti, print, ISBN 778-606-16-0190-5, 257 pag., 2012
Interesul pentru acest limbaj de programare mi-a fost trezit de laudele ce i-au fost
adresate de un fost student. Am găsit pe Internet cărți potrivite (Rick Halterman –
Fundamentals of Python Programming, Fabrizio Romano – Learning Python) și am
pornit la treabă pentru a testa si a cunoaște cum se programează în acest limbaj. Pentru a
evita o lectură superficială, am instalat pe Laptop cea mai nouă versiune de Python și,
după o primă lectură, am început să rezolv diferite probleme, pentru a face o comparație
cu limbajul C++. Este o diferență enormă! În primul rând, m-a surprins simplitatea
sintaxei. Ce deosebire față de barocul încărcat din C++ !
Nu mai există nici un fel de declarație,
recunoașterea tipului variabilelor fiind dedusă din contextul folosirii lor,
au dispărut o serie de delimitatori: punct virgulă după instrucțiuni, în locul
acoladelor, pentru a evidenția blocurile este suficientă indentarea, iteratorii
au primit o semnificație mult mai largă – poți itera pe o listă sau pe un
dicționar.
După ce am rezolvat câteva probleme cu întregi lungi am constatat că acestea nu
mai aveau nici un sens, întrucât întregii pot fi oricât de mari (poți calcula instantaneu
2^100).
A fost limitat sever efectul lateral de modificare a variabilelor globale în
interiorul funcțiilor. Parametrii funcțiilor sunt exclusiv de intrare, iar o funcție poate
calcula mai multe rezultate, pe care le întoarce printr-un tuplu. În corpul funcților pot
apare funcții locale, structura programului nemaifiind liniară.
Tipurile de date s-au simplificat enorm. În afara tipurilor standard: întreg (de
orice lungime), real (în precizie dublă) și șiruri de caractere există lista (eterogenă),
mulțimea și dicționarul.
Limbajul este multiparadigmă, putând fi folosit ca limbaj imperativ, orientat pe
obiecte sau funcțional. În limbajul Python, orice lucru (variabilă, funcție) este un obiect.
La definirea unei clase constructorul este obligatoriu și are un nume unic. Se pot defini
ierarhii de clase, folosind moștenirea simplă și multiplă. Proliferarea numelor a fost
rezolvată prin spațiile de nume și domeniile lor, care sunt evidențiate în mod natural, fără
declarații suplimentare. Căutarea unui nume se face spre exterior, pornind din domeniul
local, trecând apoi succesiv prin domeniile: înconjurător, global și predefinit.
Dezvoltarea unui program se face prin scripturi – fișiere de dimensiune mică,
organizate în module și pachete. Pentru a fi folosit de programul client, un modul, sau
numai unele funcții din el trebuie importate. Modulele sunt grupate în biblioteci.
Limbajul dispune de biblioteci impresionante (de exemplu, biblioteca Django).
Există un singur dezavantaj: limbajul, fiind un interpretor este mai lent decât un limbaj
compilat, dar acest neajuns este estompat de interacțiunea mult mai strânsă cu utilizatorul,
depanarea mult mai rapidă, portabilitatea ridicată. Suportă sistemele de operare Linux,
Windows și Mac, portarea unui program de pe un sistem pe altul fiind făcută cu ușurință.
302 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
Concluzie
Limbajul ajută efectiv la formarea unui stil de programare, încurajând eleganța și
simplitatea. Se evaluează că un program scris în Python are 1/5 la 1/3 din dimensiunea
programului corespondent în Java sau C++. Păcat că l-am descoperit așa de târziu!
Perioada 1983-1989
Între anii 1983 și 1989 s-au organizat Concursuri naționale anuale, la care au participat
universități din București, Timișoara, Cluj-Napoca, Iași, Craiova, etc, care se desfășurau
pe rând în orașele mai sus menționate. Se propuneau 3-4 probleme care trebuiau rezolvate
în 3 ore. La aceste concursuri au participat cadre didactice din facultățile respective,
printre care amintim Mircea Petrescu, Nicolae Țăpuș, Irina Athanasiu, Ștefan Trăușan-
Matu de la Politehnica București, Ion Văduva și Marin Vlada de la Universitatea
București, Jurcă Ioan, Crețu Vladimir de la Timișoara, Nedevschi Sergiu de la Cluj,
Burdescu Dumitru de la Craiova și mulți alții. Corectarea problemelor era un chin: se
făcea de către cadrele didactice de la aceste facultăți și conținea un element de
subiectivism, soluțiile erau greu de descifrat, fiind foarte puțin documentate. Detectarea
erorilor în logica algoritmului era un proces dificil, erorile sintactice ducând, firesc, la
respingerea problemei.
Perioada 1992-2006
În anul 1992, echipa Facultății de Automatică, la care mă voi referi exclusiv în
continuare, a participat la primul Concurs internațional regional ACM (The ACM
SouthEastern European Region – ACM40 (Association for Computing Machinery), care s-
a desfășurat la Varna în Bulgaria.
Apoi, au urmat participări anuale la faza finală (mondială) a concursului ACM,
condiționate de câștigarea fazei regionale Europa de Sud-Est a concursului ACM.
Ce pot spune despre acest concurs ACM? Este cel mai prestigios concurs de algoritmică
la nivel mondial. Este un concurs foarte greu. Evaluarea este de tipul „totul sau nimic”.
Pentru a fi acceptată, o soluție trebuie să satisfacă absolut toate cazurile testate. Evaluarea
este făcută de un program software de evaluare, deci aspectele legate de ingeniozitatea
40
ACM brings together computing educators, researchers, and professionals to inspire dialogue, share
resources, and address the field's challenges. As the world’s largest computing society, ACM strengthens the
profession's collective voice through strong leadership, promotion of the highest standards, and recognition of
technical excellence. ACM supports the professional growth of its members by providing opportunities for
life‑long learning, career development, and professional networking - https://www.acm.org/ .
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 303
soluției, claritate, stil de programare sunt complet ignorate. Complexitatea este luată
totuși în considerare prin restricțiile impuse asupra duratei de execuție. Studenții erau
foarte motivați să participe, deoarece în afara prestigiului pe care îl obțineau, dacă se
clasificau în față, atrăgeau atenția firmelor Google și Microsoft, în vederea unei angajări
ulterioare. Când am vizitat Google Mountain View, am regăsit acolo mulți dintre foștii
mei studenți, care au participat în anii precedenți la concursuri ACM.
Făcând un tur al participărilor echipei Politehnicii din București avându-mă pe
mine ca antrenor la etapa finală a concursului ACM, aș menționa: Nashville 1995, San
Jose 1996, Atlanta 1997, Eindhoven 1999, Vancouver 2002, Hawaii 2003, Shanghai
2005.
Ce rezultate am obținut? În 1995, locul 16 cu 4 probleme rezolvate, în 1997 tot locul 16
cu 4 probleme, în 1999 locul 11 cu 5 probleme, în 2005 locul 10, cu 6 probleme
rezolvate.
Ce studenți s-au remarcat? Menționez câțiva dintre cei mai reprezentativi: Gheorghiță
Ștefan, Gheorghioiu Ovidiu, Stroe Mihai, Andreica Mugurel, Ghinea Dan, Marius
Andrei. Aproape toți sunt în prezent la Google.
Ce pregătire au studenții care participă la concursurile ACM? Aceștia sunt de obicei foști
studenți olimpici, participanți și câștigători ai olimpiadelor internaționale de informatică.
În 2001, la Vancouver, am primit premiul Life Coach Award, pentru participarea
constantă a echipei în etapa finală. Meritul a fost de fiecare dată, al echipei.
În imagine: Mugurel Andreica, student UPB (stg.), prof. univ. dr. Valeriu Iorga (ctr.) și Dan Ghinea (dr.),
student UPB. Echipa studenților de la Universitatea Politehnica din București (UPB) a câștigat medalia de
bronz la Finalele Mondiale ale Concursului Internațional Universitar de Programare ACM, competiție
organizată de IBM (foto Agerpres, https://foto.agerpres.ro/storage/watermark/128425.jpg)
304 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
The ACM SouthEastern European Region. Concursul ACM a fost creat în 1977,
la Computer Science Conference of ACM, având sediul, începând din 1989 la
Universitatea Baylor.
Concursurile ACM se desfășoară pe 3 niveluri:
concursuri locale
concursuri regionale
concursul final
Limbajul Python a fost introdus recent, alături de Java și C++ ca limbaj folosit în
concursurile ACM. Totuși nu sunt prea mulți concurenți care îl folosesc. Mai trebuie timp
pentru a se face afirmat, cunoscut și iubit.
Echipele sunt formate din 3 concurenți și un antrenor. Rolul antrenorului este de a
asigura pregătirea echipei privind algoritmica, limbajul de programare și strategia de
echipă. Echipele câștigătoare în concursurile regionale participă la ”„marea finală”.
Popularitatea concursului a crescut în mod constant. Astfel, dacă în 1977 numărul
participanților era de ordinul sutelor, în 2017 au participat 49,935 studenți din 3078
universități, din 111 țări de pe cele 6 continente. Anul 2018 a înregistrat o participare
record: 53,446 studenți de pe 536 siteuri.
Concursul dezvoltă creativitatea, lucrul în echipă și inovația în creerea de noi
programe software, testând abilitățile concurenților sub presiunea timpului. Numărul
problemelor propuse a crescut de la 6 în primii ani la 13 în 2017.
O echipă, când consideră că a terminat o problemă, o trimite, marcându-se
momentul trimiterii. Dacă aceasta este acceptată, momentul trimiterii reprezintă
penalitatea acumulată la acea problemă. Dacă problema este respinsă se adaugă o
penalitate de timp. In momentul acceptării penalitatea totală acumulată va fi dată de
momentul acceptării, la care se adaugă penalitățile acumulate de respingerile anterioare.
Clasificarea se face după numărul de probleme rezolvate, iar în caz de egalitate se ține
cont de penalizările acumulate.
Problemele sunt formulate ca aplicații din lumea reală, evitându-se formulările
matematice. De asemeni se precizează foarte riguros intrările și forma dorită a ieșirilor.
Tematica problemelor este foarte variată:
probleme care se modelează prin grafuri – componente conexe, drum minim,
colorare
probleme de programare dinamică foarte des
probleme care se rezolvă folosind strategia divide et impera, greedy, mai rar
backtracking
probleme de geometrie computațională
probleme de simulare etc.
Din cele 10 probleme, una sau două sunt foarte ușoare, mai multe sunt de
dificultate medie, iar 2-3 probleme sunt foarte dificile. Strategia (greedy) unei echipe,
pentru a acumula cât mai puține puncte de penalizare este de a sesiza problemele foarte
ușoare, a le rezolva și trimite foarte repede.
Dacă, în primii ani, universitățile americane se situau pe primele locuri, acum
acestea sunt ocupate de Rusia și China. Universitățile americane mai bine clasate au
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 305
echipe formate din studenți chinezi, indieni etc. De altfel, în acest an, am sesizat prezența
unei echipe de la Universitatea din Oxford formată din 3 români.
Dintre echipele cu care ne-am întâlnit în confruntările regionale, echipa
Universității din București a fost o prezență constantă. Uneori au obținut
rezultate mai bune ca noi (de exemplu în 1999 au câștigat locul 4).
În Politehnică, după 2006 s-a constatat o scădere a interesului, o participare
mai redusă a studenților la concursul ACM, concretizată prin numai una sau
două participări la faza finală, în decurs de 12 ani.
Ultimul rezultat: The ACM SEERC 2018 Winners! 1st Place in SEERC 2018: Bucharest, Romania,
Politehnica University of Bucharest and Vinnytsia, Ukraine, Vinnytsia National Technical University,
Date: 19-21 October 2018 (Director: Prof. Dr. Nicolae Țăpuș)
În acest an – 2019, la faza mondială, care va avea loc la Porto, s-a calificat echipa
Universității „Alexandru Ioan Cuza” din Iași.
Referințe
1. Guido van Rossum, Wikipedia, https://en.wikipedia.org/wiki/Guido_van_Rossum
2. Python (programming language), https://en.wikipedia.org/wiki/Python_(programming_language
3. The Python Software Foundation (US), https://docs.python.org/3/tutorial/
4. Universitatea Politehnica București (UPB), Facultatea de Automatică și Calculatoare,
http://acs.pub.ro/
5. ACM (Association for Computing Machinery), https://www.acm.org/
Nota editorului. Lista de cărți publicate de prof. univ. dr. Valeriu Iorga.
1. Valeriu Iorga, Calcul Numeric, Litografie Institutul Politehnic București, 1974
2. C. Giumale, V. Iorga, Programare sistematică în FORTRAN, Litografie Institutul Politehnic
București, 1977
3. L. Șerbănați, C. Giumale, V. Iorga, F. Moldoveanu, Programare sistematică în FORTRAN și
Pascal, Editura Tehnică, 1977
4. V. Cristea, P. Dumitru, C. Giumale, V. Iorga, F. Moldoveanu, T. Popescu, Dicționar de
Informatică, Editura Științifică și Enciclopedică, 1981
5. S. Călin, I. Dumitrache, C. Nitu, F. Munteanu, V. Iorga, S.Dumitriu, Reglarea numerică a
proceselor tehnologice, Editura Tehnică, 1984
6. E. Kalisz, D. Suciu, V. Iorga, Îndrumar de laborator la disciplina Programarea Calculatoarelor,
Litografie Institutul Politehnic București, 1987
306 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
7. Valeriu Iorga, I. Fătu, Programare în Pascal, Litografie Institutul Politehnic București, 1989
8. E. Kalisz, V. Iorga, Recueil de probleme de programmation, Litografie Institutul Politehnic
București, 1991
9. Valeriu Iorga Programare în Turbo Pascal. Culegere de probleme I-V, Editura IVT Total
Serv, 1992
10. Gh. Marian, C. Mușatescu, V. Iorga, Algoritmi, structuri de date și obiecte în Turbo Pascal, Editura
Secolul XXI Craiova, 1995
11. Valeriu Iorga, B. Jora, C. Nicolescu, I. Lopătan, I. Fătu, Programare numerică, Editura Teora,
1996Valeriu Iorga, Eugenia Kalisz, Cristian Țăpuș, Concursuri de Programare. Probleme și soluții,
Editura Teora, 1997
12. V. Cristea, I.Athanasiu, E.Kalisz, V. Iorga, Tehnici de Programare, Editura Teora, 1998
13. Valeriu Iorga, C. Opincaru, C. Stratan, A. Chiriță, Programare în C/C++. Culegere de probleme,
Editura Niculescu, 2003
14. Valeriu Iorga, B. Jora, Metode Numerice, Editura Albastră, 2004
15. Valeriu Iorga, C. Opincaru, C. Stratan, A. Chiriță, Structuri de date și algoritmi. Aplicații în C++
folosind STL, Editura Polirom, 2005
16. Valeriu Iorga, F. Pop, Metode numerice în MATLAB. Ghid de laborator, Editura Bren, 2005
17. Valeriu Iorga, F. Pop, Algoritmi numerici, Editura Bren, 2006
18. F. Pop, V. Iorga, Aplicații de Calcul numeric în MATLAB, Editura Bren, 2006
19. F. Pop, V. Iorga, Metode Numerice. Algoritmi și aplicații, Editura Politehnica Press, 2008
20. Valeriu Iorga , Programare în C, Editura Albastră, 2011
21. Valeriu Iorga., Colecții de Date, Editura Albastră, 2012
1.9 Apariția și evoluția sistemelor de operare
Marin Vlada,
Universitatea din București
MOTTO: - „I’m a bit like an operating system really… „multitasking” between these two
OHPs, „interrupting” you, … „sending you to sleep …”
John Bates
- „It would appear that we have reached the limits of what is possible to achieve with
computer technology, although one should be careful with such statements, as they tend to
sound pretty silly in 5 years.”
John von Neumann, 1949, Wobbe Vegter,
http://wvegter.hivemind.net/abacus/CyberHeroes/Neumann.htm).
Astăzi, un curs universitar care tratează domeniul sistemelor de operare poate avea
următorul conținut (M. Vlada, Sisteme de operare, Universitatea din Bucuresti,
http://prof.unibuc.ro/2018/02/info/):
1. STRUCTURA SISTEMELOR DE OPERARE: Evoluția sistemelor de operare;
Structura și funcțiile generale ale sistemului de operare; Serviciile Sistemului de
Operare; Apeluri Sistem (System Calls); Maşini Virtuale;
2. ADMINISTRAREA UNITĂȚILOR: Organizarea sistemului de I/O, Administrarea
directă a I/O cu testare periodică (polling), Administrarea operaţiilor de I/O
orientată pe întreruperi, Proiecţia în memorie a I/O, Accesul direct la memorie,
Utilizarea zonelor tampon (buffering)
3. GESTIUNEA MEMORIEI: Memoria fizică, memoria virtuală, alocarea statică a
memoriei, alocarea dinamică a memoriei, alocarea paginată a memoriei, alocarea
segmentată a memoriei, algoritmi de paginare; algoritmi de înlocuire a paginii;
gestiunea memoriei în sistemele Unix și Windows;
4. SISTEMUL DE FIȘIERE: Conceptul de fişier, Organizarea fişierelor, conceptual de
director, alocarea spaţiului pentru fişiere pe disc, evidenţa spaţiului liber de pe disc,
operaţii cu fişiere, implementarea sistemului de fişiere, performanţele sitemului de
fişiere, fiabilitatea sistemului de fişiere, gestiunea blocurilor libere, Protecția și
securitatea datelor (sistem de autentificare, sistem de autorizare, protecția
resurselor, protecția memoriei);
5. GESTIUNEA PROCESELOR: Stările unui proces, paralelismul proceselor,
sincronizarea proceselor, comunicarea între procese, probleme clasice de
coordonare a proceselor, Planificarea proceselor, interblocarea proceselor, fire de
execuție, schema generală de planificare; criterii de performanţă (algoritmi de
planificare, algoritmul Round Robin), diagrama stărilor unui proces (procese și
thread-uri, comutarea proceselor, procese Unix și Windows).
308 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
Definition. Operating System (OS): the collection of software that directs a computer’s
operations, controlling and scheduling the execution of other programs, and managing
storage, input/output, and communication resources.
41
https://www.operating-system.org/betriebssystem/_english/os-liste.htm
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 309
memoria RAM și hard disk a fost extinsă. După redenumirea MVS în OS / 390,
suportul TCP / IP a fost adăugat în versiune. Acest sistem de operare se numește
acum z/OS, iar caracterul său special „z” de la începutul „z/OS” reprezintă buna
adecvare a serverelor IBM ale zSerie precum z900. Acum, acesta oferă și
adresarea pe 64 de biți a memoriei.
Sursa: https://www.operating-system.org/betriebssystem/_english/bs-mvs.htm
- Versions Date – Version: 1964 April – IBM System /360 (OS/360); 1967 – IBM
System /360 (OS/MFT); 1968 – IBM System /360 (OS/MVT); 1972 – IBM System
/370 (SVS1 und SVS2); 1974 – IBM System /370 (MVS); 1981 – IBM System /370
(MVS/XA); 1985 – IBM System /370 (MVS/ESA); 1990 – IBM System /390
(MVS/ESA); 1996 – IBM System /390 (OS/390); 2001 March – z/OS 1.0; 2003
Feb. – z/OS 1.4; 2004 March – z/OS 1.5; 2004 Sept. – z/OS 1.6; 2006 Jan. – z/OS
1.7
- Sistemul de operare OS/2 Warp
Principalele caracteristici ale OS/2 (Sistemul de operare 2) sunt, în primul rând,
interfața cu utilizatorul WPS (Workplace Shell), stabilitatea și tehnologia care
conduc în anii anteriori ai OS/2. Interfața cu utilizatorul este construită complet
orientată spre obiect. Sistemul OS/2 al IBM nu trebuie să fie comparat cu
extensiile DOS sau Windows încă de la versiunea 2.0. Această nouă versiune
corespunde unei noi generații de sisteme de operare, care are potențialul de a
utiliza performanța completă a unui procesor pe 32 de biți dezvoltat numai de
IBM. Până la versiunea 1.3, IBM a colaborat la dezvoltarea cu Microsoft.
Versiunea beta a fost testată cu 30.000 voluntari. A fost făcută sub slogan pentru
a crea un succes "mai bun decât DOS". Multe programe pentru DOS și
Windows (3.x, Win32s) sunt executate mai repede în OS/2 decât în mediul de
operare inițial.
Sursa: https://www.operating-system.org/betriebssystem/_english/bs-os2.htm
- Date – Version: 1987 – OS/2 1.0 16-Bit; 1988 – OS/2 1.1 16-Bit, with graphical
user interface Presentation Manager (PM); 1989 – OS/2 1.2 16-bit for the first time
HPFS in, improved Presentation manager; 1991 – OS/2 1.3 16-bit; 992 March –
OS/2 2.0 new design, optimized Presentation Manager, protected memory area, up
to 240 simultaneous DOS Sessions possible, 32-bit, high compatibility to OS/2 1.x
applications, DOS 2.x – 5.x, Windows 2.x – 3.x, "Cut and Paste", new Workplace
Shell (WPS), supports LAN Server 2.0, extended Services 2.0; 1994 Jan. – OS/2 2.1
Graphic subsystem optimized, dual DOS-sessions, APM and PCMCIA support;
1994 Oct. – OS/2 Warp 3.0 networkable, P2P; 1996 – OS/2 Warp Server
Combination of Warp 3.0 aIBM's LAN Server 4.0, server services, remote login;
1996 Oct. – OS/2 Warp 4.0 (merlin) Integration of the pentium III instructions,
improved Plug and Play and multimedia, includes Java and VoiceType technology,
universally network client; 1999 – OS/2 Warp 4.5, bootable cd-rom, new 32-bit
TCP/IP stack, JFS; 2000 – Version 4.51 version which is completely improved and
revised of version 4, "Convenience Pak 1"; 2002 – Version 4.52, "Convenience Pak
2", new functions and bug fixes; 1999 – Warp Server 4.5 (Aurora) for e-Business,
Netfinity Manager, Java 1.1.6 JDK, new 32-bit kernel, SMP for up to 64 CPUs, JFS
(64 bit Journaling File System), optimized TCP/IP protocol.
- Sistemul de operare AIX 4.3
AIX is the first 64-bit UNIX that becames from the NSA in the USA the TCSEC
C2 certificate, with modifications it corresponds also the TCSEC B1. AIX 4.3
can run on 64-Bit CPUs binarily 32-Bit programs and 64-Bit programs. The
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 313
TCP/IP stack and the I/O system were continued to optimize on high efficiency.
Up to 128 non removable disks can be combined into a logical group. OpenGL
GLX 1.3 and graPHICS extensions make an increased application performance
and better handling of large graphic models possible. NIS+, Java support and
numerous system management Tools supplement this AIX release.
- Versions Date – Version: 1986 – AIX 1; 1987 – AIX 2; 1989 – AIX 3; 1990 – AIX
3.1; 1993 Sept. – AIX 3.2.5; 1993 – AIX 4.0; 1994 July – AIX 4.1; 1994 Oct. –
AIX 4.1.1, first use of the CDE desktop as AIX window desktop; 1994 – AIX 4.1.2;
1995, June – AIX 4.1.3, contains in parts of CDE 1.0; 1995, Oct. – AIX 4.1.4, max.
file size up to 2 GByte and 2 GByte RAM, file system up to 64 Gbyte; 1996 – AIX
4.1.5, max. file size up to 2 GByte and 2 GByte RAM, file system up to 64 Gbyte;
1996, Oct. – AIX 4.2, full support of CDE 1.0, max. file size up to 64 GByte and 4
GByte RAM, file system up to 128 Gbyte; 1994 – AIX 4.2.5, BSI E3/F-C2 Security
Certification; 1997, Oct. – AIX 4.3, BSI E3/F-C2 Security Certification; 1998, April
– AIX 4.3.1, Certification B1/EST-X Version 2.0.1, max. file size up to 64 GByte
and 16 GByte RAM, file system up to 1 Tbyte; 1998, Oct. – AIX 4.3.2, max. file
size up to 64 GByte and 32 GByte RAM; 1999, Sept. – AIX 4.3.3, max. file size up
to 64 GByte and 96 GByte RAM, file system up to 1 Tbyte; 2000 – AIX 5L; 2001
May – AIX 5L 5.1, up to 32 processors and 512 GByte RAM; 2002 Oct. – AIX 5L
5.2, up to 32 processors and 1024 GByte RAM; 2004 Aug. – AIX 5L 5.3, up to 64
processors and 2048 GByte RAM; 2007 July – AIX 6 OpenBeta; 2007 Nov – AIX
6.1; 2010 Oct. – AIX 7.1 released; 2015 Dec. – AIX 7.2 released
- Date – Version: 1969 Sept. – UNICS (Firma AT&T); 1971 Nov. – Time-Sharing
System v1; 1972 Dec. – Time-Sharing System v2; 1973 Feb. – Time-Sharing
System v3; 1973 Nov. – Time-Sharing System v4; 1974 June – Time-Sharing
System v5; 1975 May – Time-Sharing System v6; 1979 Jan. – Time-Sharing
System v7; 1985 Feb. – Time-Sharing System v8; 1986 Sept. – Time-Sharing
System v9; 1989 Oct. – Time-Sharing System v10; 1978 – CB UNIX 1; 1978 – CB
UNIX 2; 1979 – CB UNIX 3; 1981 – UNIX System III; 1982 – UNIX System IV;
1983 – UNIX System V Rel. 0; 1984 – UNIX System V Rel. 2; 1986 – UNIX
System V Rel. 3.0 (SVR3); 1987 – UNIX System V Rel. 3.2; 1988 – UNIX System
V Rel. 4 (SVR4),coop. with Sun Microsystems; 1992 – UNIX System V Rel. 4.2
(SVR4.2); 1993 – UNIX System V Rel. 4.2 MP (SVR4.2MP); 1985 – Mach
(Carnegie-Mellon University); 1986 – Mach 2.0; 1988 – Mach 2.5; 1990 – Mach 3
(base for Darwin); 1995 – Mach 4
MS-DOS 7.10, MS-DOS component for Windows 95 B and higher, supports the
first time FAT 32 harddisks; 2000 – MS-DOS 8.0, MS-DOS component for
Windows ME, last MS-DOS version; 2001 Dec. – MS-DOS Support discontinued
- Sistemul de operare Windows® Family
În anul 1981, compania Microsoft a început să dezvolte sisteme de operare
pentru computere (PC), primul fiind MS-DOS 1.0. Cu un an înainte,
Microsoft a lucrat cu sistemul de operare derivat Unix XENIX OS pentru
diferite platforme informatice, dar acest domeniu a fost transferat la SCO în
anul 1984. Cu sistemul de operare Windows 1.0 au fost adăugate, în anul
1985, alături de DOS, o a doua linie OS, pentru job-uri unice pentru
Consumer (ediția Home) și, mai târziu cu suport de rețea adăugat. A treia
linie de produse a fost lansată cu MS OS / 2 1.0 în anul 1987. Ediția
profesională a fost concepută pentru aplicații de servere și clienți de rețea. În
februarie 1989 a început dezvoltarea Windows NT (NT = Noua tehnologie),
prima versiune a fost publicată cu Windows NT 3.1 în iulie 1993. Până la
200 dezvoltatori au programat în același timp, la aprox. 6 milioane de linii
de cod. În timp ce MS-DOS a fost programat aproape complet în limbajul de
asamblare, sistemul de operare Windows NT constă, de asemenea, din codul
sursă al limbajului de programare C. Până la 450 de dezvoltatori au fost
implicați în sistemul de operare Windows NT 3.51, care a fost lansat în mai
1995. Pentru lansarea din iulie 1996 până la 800 dezvoltatori au lucrat la
succesorul Windows NT 4.0. Windows 2000 a fost proiectul ambițios de
sistem de operare care a urmat în această privință. Până la 1.400 dezvoltatori
au lucrat la cele 29 de milioane de linii de cod. Costurile de dezvoltare s-au
ridicat la aproximativ 1 miliard de dolari. În total, 5.000 de dezvoltatori au
lucrat la cele 50 de milioane de linii de coduri de asamblare C și C ++
pentru sistemul de operare Windows Server 2003, lansat în aprilie 2003.
Dezvoltarea versiunilor sistemului de operare pentru arhitectura MIPS,
Power PC și alfa a fost anulată treptat până la lansarea pe piață a sistemului
de operare Windows 2000. Acest lucru a fost, de asemenea, implicat în lipsa
driverului și a suportului software pentru aceste platforme. Cu Windows CE
1.0 a fost creată o nouă linie de produse pentru dispozitive mici (PDA) în
anul 1996. Detalii:
https://www.operating-system.org/betriebssystem/_english/bs-windows.htm
- Date – Version: 1981 Sept. – Interface Manager; 1983 – Windows was announced;
1985 Nov. – Windows 1.0 for 8088 CPUs released; 1987 Dec. – Windows 2.0 for
386 CPUs, up to 16 mbyte RAM adressable; 1988/89 – Windows 2.1 for 286/386;
1990 – Windows 3.0; 1992 April – 3.1 (janus) includes MS-DOS 5.0; 1993 Nov. –
Windows for Workgroups 3.11 (snowball) rudimentarily networkable; 1995 Aug. –
Windows 95 4.0 Codename "Chicago" was released; 1996 Feb. – Windows 95
Version A (OSR1); 1996 Aug. – Windows 95 (detroit) Version B (OSR2) first time
with FAT-32 support; 1997 April – Windows 95 Version B (OSR2.1); 1997 Nov. –
Windows 95 Version C (OSR2.5); 1998 June – Windows 98 (memphis) about 5,000
bugs fixed; 1999 May – Windows 98 SE (Second Edition); 2000 Sept. – Windows
Me (Millenium);
1980 Aug. – XENIX OS cooperation with SCO;1982 Feb. – XENIX 2.3
cooperation with SCO; 1983 April – XENIX 3.0 cooperation with SCO; 1987 – MS
318 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
OS/2 1.0 cooperation with IBM; 1988 – OS/2 1.1 cooperation with IBM; 1991 –
OS/2 1.3 cooperation with IBM; 1992 – OS/2 2.0 cooperation with IBM
1993 July – Windows NT 3.1 & Advanced Server; 3.1 million lines of source code,
supports HPFS; 1994 Sept. – Windows NT 3.5 (daytona), Workstation and Server,
with opengl and Netware client; 9 million lines of source code; 1995 May –
Windows NT 3.51, updae, transparent compression with NTFS file system,
PCMCIA support, for Power-PCs available too; 1996 Aug. – Windows NT 4.0
(cairo) 16 million lines of source code, no support for HPFS anymore; 1996 –
Windows NT Terminal Server Edition (hydra); 1997 – Windows NT Server 4.0
Enterprise Edition; 1998 – Windows NT Server 4.0 Terminal Server Edition; 2000
Feb. – Windows 2000, Windows version 5.0; 30 million lines of source code, about
10,000 bugs fixed;
2000 Sept. – 2000 Data center Server; 2001 Oct. – Windows XP (whistler),
Windows version 5.1; 2002 – Windows XP Media Center Edition, Windows XP
Tablet PC Edition; 2003 April – Windows Server 2003 version 5.2 (whistler server)
2006 – Windows Vista, Windows version 6.0, Codename Longhorn (Client); 2006
June – Windows Compute Cluster Server 2003 (Windows CCS 2003); 2008 Feb. –
Windows Server 2008 (Codename Longhorn); 2007 July – Windows Home Server
1.0’ 2009 Oct. – Windows 7 (Codename Vienna); 2012 Oct. 26 – Windows 8; 2012
Sept. – Windows Server 2012 released; 2013 Oct. – Windows Server 2012 R2
released; 2013 Oct. 18 – Windows 8.1 (Codename Blue); 2015 July 29 – Windows
10 final release, version 10.0.10240; 2016 Oct. – Windows Server 2016, final
release. Detalii:
https://www.operating-system.org/betriebssystem/_english/bs-windows.htm
microkernel) better performance and stability; 1999 March – Mac OS X Server 1.0;
2000 – Mac OS X Server 1.2.3; 2001 March – Mac OS X 10.0 (Cheetah); 2001
Sept. – Mac OS X 10.1 (Puma), improved performance, improved GUI; 2002 Aug.
– Mac OS X 10.2 (Jaguar), new applications and technology; 2003 Oct. – Mac OS
X 10.3 (Panther), new features for improved productivity and security; Mac OS X
Server 10.3; 2005 April – Mac OS X 10.4 (Tiger), new technology; Mac OS X
Server 10.4; 2006 Jan. – Mac OS X 10.4.4, first also available vor intel based
syystems; 2007 Oct. – Mac OS X 10.5 (Leopard); 2009 Sept. – Mac OS X 10.6
(Snow Leopard), only for x86-64 Bit Intel dualcore; 2016 Sept. – macOS 10.12
(Sierra) available, introducing Apple File System (APFS). Detalii:
https://www.operating-system.org/betriebssystem/_english/bs-macos.htm
Etape din dezvoltarea sistemului de operare Linux. În anul 1986, Linus (Benedict)
Torvalds (este creatorul și principalul dezvoltator al kernel-ului Linux, care a
devenit kernel-ul pentru multe distribuții Linux și sisteme de operare precum
Android și Chrome OS; Torvalds este născut în Helsinki, Finland, în anul 1969,
https://en.wikipedia.org/wiki/Linus_Torvalds) și-a programat propriul driver
pentru controlerul floppy disk. A învățat programarea intensivă a hardware-ului și
a devenit mai bine informat despre computerul său Sinclair cu sistemul de
operare Q-DOS. În plus, el a furnizat propriile instrumente de programator. În
anul 1991, când PC-ul 386-Intel a devenit modern, a primit un PC pentru a învăța
despre programarea CPU-ului de la microprocesorul 386-Intel. A fost folosit un
sistem de operare MINIX, derivat al lui Unix. A învățat și a cunoscut sistemul de
operare Unix încă din anul 1990, când era student la universitate. Sistemul de
operare Minix a fost dezvoltat de Andrew Tanenbaum ca sistem de învățare și a
fost folosit în special în universități. Cartea scrisă a lui A. Tanenbaum „Operating
Systems: Design and Implementation” (Sisteme de operare: Proiectare și
implementare) se referă la conceptele sistemului de operare și la Minix. Această
carte a devenit cartea preferată a lui Torvalds. Codul sursă al Minix este Open
Source, iar toate modificările erau legate de condițiile licenței.
Deoarece nu a găsit programul emulator pentru terminale furnizat în Minix
acceptabil, a început proiectul său de a codifica propriul emulator pentru
terminale, mai bun, cu mai multe funcții la nivel hardware. În plus, și-a
programat propriile drivere pentru accesul la mediul de date și sistemul de fișiere,
iar altele în limbajul de asamblare. Cu aceste funcții, software-ul avea abilitatea
de a încărca și descărca fișiere de pe Internet. În linia programului de dezvoltare a
terminalelor a dezvoltat tot mai multe funcții, astfel că a luat decizia de a-l
îmbunătăți într-un sistem de operare. Sistemul său de operare a fost derivat din
concepte de la Minix, dar complet scris de la zero începând de la Kernel. După
serile lungi de programare, la 17 septembrie 1991, sistemul de operare Freax
versiunea 0.01 a fost terminat, deoarece mediul de dezvoltare era folosit încă
MINIX pentru CPU-uri 386. Acesta conținea deja bash-ul GNU Shell și GNC C-
compilatorul GCC de la Richard Stallman, care se număra printre programele
standard, între timp numit sistemul de operare Linux. Deoarece sistemul Linux
profită, în special de software pool GNU, se numește, în general GNU/Linux.
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 321
- Date – Version: 1991 Sept. – Freax 0.01 – still needs Minix and special gcc
compiler,230 kbyte source code, incl. scripts and header files, minimal version, with
floppy, keyboard and serial driver software, ext file system, 386 CPU support,
UNIX-Shell bash; 1991 Sept. – Freax 0.02 – bash and gcc were ported by MINIX,
needs 4 mbyte RAM for compiling software; 1991 Oct. – Freax 0.03 – small user
group, gcc can compile himself on Linux, only needs 2 mbyte RAM for compiling
software; 1991 Nov. – Freax 0.11 – international development team, first fixed disk
driver software, mkfs/fsck/fdisk program, Hercules/MDA/CGA/EGA/VGA graphic,
US/German/French/Finnish Keyboard, console can beep, Linux now has his own
development environment; 1992 Jan. – Freax 0.12 – for the first time page-to-disk
function built-in, Linux is put under the GPL, virtual memory, harddisk caching,
POSIX job-control, more persons programming linux, multi-threading file system;
1992 April – Linux 0.96 – programmer and user group raised up, X Window system
from the MIT is used for the first time; 1994 March – Linux 1.0 – 4,500 kbytes
source code, incl. scripts and header files, more than 170,000 lines of source code,
approx. 100 developers, approx. 100,000 users, first SCSI and sound driver
software, for the first time networkable, ext2 file system; 1995 March – Linux 1.2 –
250,000 lines source code, about 50% are hardware driver, porting to alpha, MIPS,
and SPARC CPUs, extended network functions like IP-Forwarding and NFS, IPX,
AppleTalk; 1996 Juni – Linux 2.0 – 20,300 kbytes source code, incl. scripts and
header files, approx. 800,000 lines of source code, porting to m68k and PowerPC
CPUs, multi-processor capable up to 16 CPUs (experimental), symbol figure "Tux
the penguin" was born; 1997 April – Linux 2.1.32 – after a trademark right dispute
Torvalds lets register Linux as a trademark; 1999 Jan. – Linux 2.2.0 – 269
developers works on linux, approx. 10 million users, improved SMP support, IPv6
support as first operating system, extended software support by companies like
StarOffice, Netscape; 2000 June – Linux 2.2.16 – ; 2001 Jan. – Linux Kernel 2.0.39
Release, contains bug fixes for security holes; 2001 Jan. – Linux 2.4.0 – 375
developers works on linux, approx. 15 million users, runs on altogether 13 hardware
plateforms, improved network support, improved performance for memory
transactions, extended hardware support; 2002 Jan. – Linux Kernel 2.5.2; 2002
April – Linux Kernel 2.5.10; 2002 June – Linux Kernel 2.5.20; 2002 Aug. – Linux
Kernel 2.5.30; 2002 Oct. – Linux Kernel 2.5.40; 2002 Nov. – Linux Kernel 2.5.50;
2003 Feb. – Linux Kernel 2.5.60; 2003 March – Linux Kernel 2.2.25; 2003 May –
Linux Kernel 2.5.70; 2003 June – Linux 2.4.21 – Kernel 2.4.20 to 2.4.21 : 1738
code changes; 2003 Dec. – Linux Kernel 2.6.0 Release, optimized for big file
storage devices and high data transfer rate, TCP/IP optimized, improved memory
access and process scheduler, improvement in the threadings, improved Advanced
Linux Sound Architecture (ALSA), contains Security-Enhanced Linux (SELinux);
2004 Feb. – Linux Kernel 2.0.40 Release; 2004 Feb. – Linux Kernel 2.2.26 Release,
contains bug fixes for security holes, last release of the 2.2 branch; 2004 Dec. –
Linux Kernel 2.6.10; 2007 Feb. – Linux Kernel 2.6.20; 2009 June – Linux Kernel
2.6.30; 2009 Dec. – Linux Kernel 2.6.32 (Longterm release); 2010 May – Linux
Kernel 2.6.34 (Longterm release); 2011 May – Linux Kernel 2.6.39; 2011 July –
Linux Kernel 3.0; 2012 Jan. – Linux Kernel 3.2 (Longterm release); 2012 May –
Linux Kernel 3.4 (Longterm release); 2013 June – Linux Kernel 3.10 (Longterm
release); 2013 Nov. – Linux Kernel 3.12 (Longterm release); 2014 March – Linux
Kernel 3.14 (Longterm release); 2014 Aug. – Linux Kernel 3.16 (Longterm
release); 2014 Dec. – Linux Kernel 3.18 (Longterm release); 2015 Feb. – Linux
Kernel 3.19; 2015 April – Linux Kernel 4.0; 2015 June – Linux Kernel 4.1
322 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
(Longterm release); 2016 Jan. – Linux Kernel 4.4 (Longterm release); 2016 May –
Linux Kernel 4.6; 2016 Aug. – Linux Kernel 4.7.1. Detalii:
https://www.operating-system.org/betriebssystem/_english/bs-linux.htm
Distribuitori Linux (Distributors): Debian, Gentoo, Linspire, Mandriva, Red
Flag, Red Hat, SuSE Linux, Slackware. Un distribuitor este o echipă de
dezvoltatori care avansează de la nucleul sistemului Linux (Kernel) pentru a oferi
un pachet software de instalare. Pe lângă sistemul de adaptare individual, sunt
incluse numeroase aplicații suplimentare, inclusiv driver-ul și asistentul, care pot
fi instalate și configurate confortabil cu instalarea și configurarea proprie. Aceste
distribuții sunt puse la dispoziție pe Internet ca imagine ISO sau pot fi cumpărate
ieftin pe suporturi CD-ROM sau DVD. Banii obținuți sunt necesari pentru
dezvoltare și suport.
Limbajul unui SO
Orice limbaj de operare este astfel conceput şi elaborat, încât să realizeze în mod
optim funcţiile (serviciile) pe care trebuie să le execute, dar în acelaşi timp să ofere o
interfaţă comodă şi eficientă între utilizator şi resursele SC. Tocmai aceste deziderate au
contribuit până în prezent la apariţia diverselor sisteme de operare. Evident, unele SO au
apărut şi au dispărut, iar altele s-au perfecţionat ținând seama de tehnologia hardware,
dar şi de dezvoltarea software. Acelaşi lucru se poate afirma şi despre domeniul
limbajelor de programare. Atât sistemele de operare, cât şi limbajele de programare s-au
perfecţionat pentru a oferi utilizatorului metode şi tehnici moderne în procesarea informaţiei,
în ceea ce se astăzi numeşte tehnologia informaţiei (IT – Information Technologies). Din
acest punct de vedere, un SO trebuie să execute următoarele operaţii de bază:
localizarea informaţiei;
memorarea/stocarea informaţiei;
procesarea/reprezentarea informaţiei;
comunicarea/vizualizarea informaţiei.
Limbajul sistemului de operare trebuie să ofere utilizatorului un mod eficient
pentru ca acesta să poată să acceseze aceste operaţii de bază din domeniul tehnologiei
informației. Aceste cerinţe de bază au determinat ca sistemele de operare care sunt
folosite în prezent să aibă atât asemănări, cât şi deosebiri privind limbajul, utilizarea
resurselor SC, comenzile, serviciile oferite. Evident, structura sistemelor de calcul,
performanţa şi tehnologia hardware au influenţat considerabil concepţia, structura şi
performanţa sistemelor de operare actuale.
Pentru a scoate în evidenţă rolul SO în utilizarea unui SC prezentăm schema
următoare (nivele ale diverselor operaţii în relaţia Utilizator – SC):
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 325
Din schema de mai sus se poate deduce rolul important al sistemului de operare
în întreaga activitate a sistemului de calcul. Resursele gestionate de SO sunt:
fizice ( microprocesoare, memorie internă, dispozitive I/O);
logice (programe utilitare, programe specializate, programe utilizator);
informaţionale (fişiere, baze de date, date de intrare/ieşire).
Realizarea funcţiilor de bază ale sistemului de calcul se face prin intermediul SO
care face legatura Hardware-Software-Utilizator, prin urmare se pot evidenţia diverse
nivele ale interacţiunii Hardware-Software:
„Machines have so much memory today, saving space using assembly is not important. If
you give someone an inch, they’ll take a mile. Nowhere in programming does this saying
have more application than in program memory use. For the longest time, programmers
were quite happy with 4 Kbytes. Later, machines had 32 or even 64 Kilobytes. The
programs filled up memory accordingly. Today, many machines have 32 or 64 megabytes
of memory installed and some applications use it all. There are lots of technical reasons
why programmers should strive to write shorter programs, though now is not the time to
go into that. Let’s just say that space is important and programmers should strive to write
programs as short as possible regardless of how much main memory they have in their
machine.” Source: The Art of Assembly Language Programming, Spring 2008, Yale
University, http://flint.cs.yale.edu/cs422/doc/art-of-asm/pdf/ (pdf)
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 327
SISTEME DE OPERARE.
List of Operating Systems: http://www.operating-system.org/
List of Operatimg Systems: http://en.wikipedia.org/
GNU Operating Systems: http://www.gnu.org/
Operating Systems: http://www.google.com/
Operating Systems Articles: http://www.articlesbase.com/
Bibliografie
1. Silberschatz A., Galvin P.B. and Gagne G., Operating Systems Concepts, 8th edn. John Wiley &
Sons, 2009
2. A. Tanenbaum, Sistemede operare moderne, Ed.Teora, 2004
3. A. Tanenbaum, Goodman, J. R., Organizarea structurata a calculatoarelor, Ed. Byblos, 2004
4. Deitel H., Operating Systems 3/e, Ed. Prentice Hall, 2004
5. Silberschatz A. Operating Systems Concepts.Seventh Edition, Wesley Publishing Company, 2006
6. Tanenbaum A. Modern Operating Systems, Pretince Hall, 2002
7. Gh. Dodescu, A. Vasilescu, B. Oancea, Sisteme de operare, Editura Economica, 2003
8. Sorin Adrian Ciureanu- Sisteme de Operare, Editura Printech.2004
9. D. Acostachioaie, Administrarea si configurarea sistemelor Linux, Ed. Polirom, 2003
10. S. Buraga, G. Ciobanu, Atelier de programare in retele de calculatoare, Ed. Polirom, 2001
11. L. Peterson, B. Davie, Retele de calculatoare: o abordare sistemica, ALL/Teora, Ed. Morgan
Kaufmann, 2001/2004
12. M. Vlada, Sisteme de operare, Universitatea din Bucuresti, http://prof.unibuc.ro/2018/02/info/,
tutorial, curs On line – http://ebooks.unibuc.ro/informatica/Seiso/
13. M. Vlada, Informatica, Ed. Ars Docendi, 1999
14. List of Operating Systems: http://www.operating-system.org/
15. Liste of Operatimg Systems: http://en.wikipedia.org/
16. GNU Operating Systems: http://www.gnu.org/
17. The von Neumann Architecture of Computer Systems, http://www.brown.edu/Research/
Istrail_Lab/von_neumann.php , Istrail si Solomon Marcus: http://www.brown.edu/Research/
Istrail_Lab/papers/Istrail-Marcus012912FINAL.pdf
18. Von Neumann, J. 1981. First draft of a report on the EDVAC.” In Stern, N. From ENIAC to
Univac: An Appraisal of the Eckert-Mauchly Computers. Digital Press, Bedford, Massachusetts,
http://www.csupomona.edu/~hnriley/www/VonN.html
19. John von Neumann’s EDVAC Report 1945 John von Neumann’s 1945 on June 30 by Hungarian
mathematician John von Neumann (1903-1957), http://www.velocityguide.com/computer-
history/john-von-neumann.html, http://www.wps.com/projects/EDVAC/
20. The Virtual von Neumann Architecture and the global computer, http://meta-
artificial.blogspot.com/2005/07/virtual-von-neumann-architecture.html
1.10 Apariția și evoluția bazelor de date
Concepte, tehnologii și evoluția Bazelor de Date
Marin Vlada,
Universitatea din București
O interogare conjunctivă bazată pe reguli (pag. 41, S. Abiteboul, R. Hull, V. Vianu, Foundations of
Databases, 1995)
Definition of A (datalog) rule (pag. 276, S. Abiteboul, R. Hull, V. Vianu, Foundations of Databases, 1995)
1
Principala contribuție a lui Alan Robinson este fundamentarea demonstrarii automate a teoremelor
(automated theorem proving). Algoritmul său de unificare a eliminat o sursă de alegeri combinatorice în
gasirea soluțiilor in procesul de rezoluție; de asemenea, a pregătit terenul pentru paradigma programării
logice, în special pentru limbajul Prolog. Pentru contribuții deosebite la raționamentul automatizat, A.
Robinson a primit premiul Herbrand în anul 1996- https://en.wikipedia.org/wiki/John_Alan_Robinson.
332 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
2
Professor, Computer Science and Engineering, Department of Computer Science and Engineering U.C. San
Diego, La Jolla (USA), https://cseweb.ucsd.edu/~vianu/ (Ph.D. in Computer Science, University of Southern
California, 1983, Undergraduate studies: Mathematics and Informatics Department, University of Bucharest
(1974-1977) - originar din România.
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 333
relațional de date pentru baze mari de date partajate”. În ciuda faptului că nu a respectat
în întregime modelul relațional descris de Codd, limbajul SQL a devenit cel mai utilizat
limbaj de baze de date. Limbajul SQL este proiectat pentru un scop specific: de a interoga
datele conținute într-o bază de date relațională. SQL este un limbaj de programare
declarativ, bazat pe seturi, nu un limbaj de programare imperativ.
Limbajul SQL are următoarele componente:
a. un limbaj de definire a datelor (Data Definition Language – DDL), utilizat la
definirea schemei bazei de date;
b. un limbaj de manipulare a datelor (Data Manipulation Language – DML),
care permite utilizatorului manipularea obiectelor bazei de date şi a relaţiilor
dintre acestea, în contextul schemei bazei de date.
Aceste limbaje pot diferi de la un producător la altul în cadrul modelului pe care
aceştia îl folosesc datorită aspectelor legate de complexitate, funcţionalitate şi uşurinţa în
exploatare (interfaţa utilizator). De multe ori, aceste limbaje sunt subseturi pentru
prelucrarea datelor, deoarece nu includ construcţii și prelucrări pentru toate necesităţile de
calcul, cum sunt cele asigurate de limbajele de nivel înalt.
SGBD
Preprocesorul Procesor de Compilator
DML interogare DDL
Codul programului
Administrator Administrator
obiect
baza de date catalog
Administrator
Metode de
de fişiere
acces
Buffer
Catalogul
sistemului
Baza de date
Administratorul Planificatorul
de tranzacţii
Administratorul
Metode de
de fişiere
acces
Buffer
Catalogul
sistemului
Baza de date
.
.
.
și fizic este un fișier stocat (memorat) pe unități de memorie externă (FD – discheta, HD -
Hard Disk, CD – compact disk), care este identificat printr-un nume și reprezintă o
codificare pe suport memorie a formei logice a BD.
Activități de ANALIZĂ
Activități de PROGRAMARE
Activități de IMPLEMENTARE
Activități de TESTARE
Activități de EXPLOATARE
SQL Online Tutorial (SQL tutorial will teach you how to use SQL in: MySQL,
SQL Server, MS Access, Oracle, Sybase, Informix, Postgres, and other database systems)
- https://www.w3schools.com/sql/.
Lucrare de referință în mediul universitar pentru Programarea avansată în
ORACLE9i: Ileana Popescu, Letiția Velcescu, Alexandra Alecu, Gabriela Florea,
Programare avansată în ORACLE 9i, Editura Tehnică, 2004.
Lucrarea reprezintă caracteristicile si
funcţionalităţile platformei ORACLE9i, marcând
performanţele aduse de această versiune. Facultatea de
Matematică şi Informatică a Universităţii din Bucureşti a
implementat programul ORACLE ACADEMIC
INITIATIVE (OAI), care permite accesul la tehnologia
ORACLE şi integrarea acesteia în curriculumul său
academic. Lucrarea se adresează tuturor celor care doresc
să dezvolte aplicaţii de bază de date utilizând
ORACLE9i.
Arhitectura multi-tier a sistemului Oracle9i.
Arhitectura cu mai multe niveluri (multi-tier)
conţine următoarele elemente:
unul sau mai mulţi clienți care iniţiază operaţii;
unul sau mai multe servere de aplicaţii care
execută părţi ale operaţiilor;
un server de baze de date care stochează datele folosite de operaţii.
Clientul, care poate fi un browser Web sau un proces user, iniţiază o cerere pentru a
executa o operaţie referitoare la informaţiile stocate în baza de date. Conectarea la
serverul bazei de date se face printr-unul sau mai multe servere de aplicaţii. Serverul de
aplicaţii constituie interfaţa dintre clienți şi serverul bazei de date, asigurând accesul la
informaţii. De asemenea, el include un nivel adiţional pentru securitate. Serverul de
aplicaţii îşi asumă identitatea clientului, atunci când execută, pe serverul de baze de date,
operaţiile solicitate de acesta. Arhitectura multi-tier permite folosirea unui server de
aplicaţii pentru acreditarea clientului, conectarea la serverul de baze de date şi execuţia
operaţiilor iniţiate de client. Privilegiile serverului de aplicaţii sunt limitate pentru a
preveni execuţia operaţiilor nedorite sau inutile în timpul unei operaţii client. Serverul de
baze de date pune la dispoziţia serverului de aplicaţii informaţiile necesare pentru
soluţionarea operaţiilor lansate de către client. De asemenea, acesta face distincţia între
operaţiile pe care serverul de aplicaţii le cere în favoarea clientului şi cele pe care le
solicită în nume propriu.
Produsul Oracle9i se utilizează pentru găsirea și depășirea cerințelor stricte în
serviciile de înaltă calitate pe o piață bazată pe servicii. Oracle9i este proiectat pentru a
optimiza aplicațiile tradiționale, pe internet și intranet și pentru a stimula piața on-line a
aplicațiilor găzduite pe internet. De asemenea, Oracle9i s-a bazat pe punctele forte
istorice pentru a oferi prima infrastructură software completă și simplă pentru următoarea
generație de aplicații inteligente, colaborative. Noile caracteristici Oracle9i au accelerat
livrarea performanțelor critice, scalabilității și disponibilității esențiale pentru furnizarea
software-ului de găzduire pentru oricine, oriunde și oricând.
342 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
bidimensional (numit şi relaţie), fiecare tabel fiind alcătuit din înregistrări (rânduri
orizontale, numite şi tupluri) şi câmpuri (coloane verticale numite şi atribute). În esenţă, o
bază de date relaţională este alcătuită dintr-o colecţie de tabele bidimensionale în care
coloanele unui tabel pot conţine asocieri cu rândurile altor tabele în scopul
corespondenţei datelor.
La început IBM nu a luat în considerare ideile revoluţionare ale angajatului său,
datorită marilor investiţii făcute în produsul de baze de date ierarhice, IMS, pe care
încercau să-l promoveze masiv pe piaţă. Astfel, s-au scurs 7 ani de la lucrările lui Codd
până când Larry Ellison, care conducea o companie ce ulterior avea să devină ORACLE,
a creat primul produs comercial de baze de date relaţionale. În 1981, IBM a realizat
produsul SQL/DS, primul lor produs relaţional, urmat în 1983 de celebrul DB2.
În 1985 Codd a publicat o listă de reguli care definesc simplu şi concis o bază de
date relaţională ideală, aceste reguli devenind standardul de evaluare a sistemelor
relaţionale, fiind în acelaşi timp şi un ghid de proiectare a tuturor sistemelor de baze de
date relaţionale. După publicarea lucrării, Codd a afirmat că va fi foarte greu, dacă nu
imposibil de creat un sistem care să satisfacă în totalitate setul de reguli, lucru care
rămâne valabil şi astăzi. La cele mai multe dintre sistemele relaţionale de baze de date
regulile 6, 9, 10, 11 şi 12 sunt foarte greu de respectat. Aceste reguli se găsesc la adresa:
https://en.wikipedia.org/wiki/Codd%27s_12_rules:
Regula 0: regula fundației - Pentru orice sistem care este anunțat sau susținut a fi un
sistem de gestionare a bazelor de date relaționale, sistemul respectiv trebuie să poată
gestiona bazele de date în întregime prin intermediul capacităților sale relaționale.
Regula 1: regula de informare - Toate informațiile dintr-o bază de date relațională
sunt reprezentate explicit la nivel logic și într-un mod exact, prin valorile din tabele.
Regula 2: regula garantată a accesului: Fiecare dată (valoare atomică) dintr-o bază de
date relațională este garantată a fi accesibilă logic prin recurgerea la o combinație de
nume de tabel, valoare cheie primară și nume de coloană.
Regula 3: Tratamentul sistematic al valorilor null - Valorile NULL (distincte din șirul
de caractere gol sau un șir de caractere goale și distincte de la zero, sau orice alt
număr) sunt sprijinite în SGBD complet relaționale pentru reprezentarea lipsă de
informații și informații inaplicabile într-un mod sistematic, independent de tipul de
date.
Regula 4: Catalog online dinamic bazat pe modelul relațional - Descrierea bazei de
date este reprezentată la nivel logic în același mod ca și datele obișnuite, astfel încât
utilizatorii autorizați să poată aplica aceeași interacțiune limbajului relațional cu
interogarea pe care o aplică la datele obișnuite.
Regula 5: Regulamentul cuprinzător privind sublimbajele de date - Un sistem
relațional poate suporta mai multe limbaje și diferite moduri de utilizare a terminalelor
(de exemplu, modul fill-in-the-blanks). Cu toate acestea, trebuie să existe cel puțin un
limbaj ale cărui declarații sunt exprimabile, pe baza unei sintaxe bine definite, ca
șiruri de caractere și cuprinzătoare în susținerea tuturor următoarelor elemente:
definirea datelor; vizualizarea definițiilor; manipularea datelor (interactive și
programate); constrângeri de integritate; autorizare; limitele tranzacțiilor (începe,
comite și revin).
Regula 6: regula de actualizare - Toate modificările care pot fi actualizate teoretic
sunt de asemenea actualizate de sistem.
Regula 7: Posibilități pentru înserarea, actualizarea și ștergere la nivel înalt -
Capacitatea de a trata o relație de bază sau o relație derivată ca un singur operand se
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 345
1. Moraru, S., Perniu, L. – Web-applications on databases in electrical domain, Ed. Lux Libris, 2004.
2. Connolly, T., Begg, C., Strachan, A. – Baze de date, Ed. Teora, 2000.
3. Connolly, T., Begg, C., Strachan, A. – Database Systems – A Practical Approach to Design,
Implementation and Management, Addison Wesley Longman Limited 1995, 1998
4. Florescu, V. and co. – Databases. Practical and Teoretical Approach, Infomega, 2001
5. Velicanu, M., Lungu, I., Bodea C., Ioniţă, C., Bădescu G. – Database Management Systems, Editura
Petrion, 2000
6. Popescu, I. – Database Design, Editura Tehnică, 2001
7. Sabău G., Avram V. – Computer Systems and Databases, Editura Oscar Print
8. Henderson, K. – The Guru‘s Guide to Transact-SQL, Addison Wesley, 2000
346 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
9. Waymire, R., Sawtell, R. – Sams Teach Zourself Microsoft SQL Server 2000 in 21 Days, Sams
Publishing, 2001
10. Henderson, K. – The Guru‘s Guide to SQL Server Stored Procedures, XML, and HTML Addison
Weslwey, 2002
11. Reingruber, M. C., Gregory W. – The Data Modeling Handbook, John Wiley & Sons, 1994.
12. Martin J. – An end users guide to Data Base, Prentice Hall, 1981
13. Carter J. – The relational database, Chapman & Hall, 1995
14. Fleming, von Halle, – The Handbook of RelationalDatabase Design, Addison-Wesley.
15. Chen, P. P. – The entity-relationship model: toward a unified view of data, ACM Trans. on Database
Systems, 1976.
16. Batini, C., S. Ceri, S. B. Navathe, C. Batini – Conceptual Database Design: an Entity/Relationship
Approach, Addison-Wesley, Reading MA, 1991.
17. R. Jennings, P. Hipson – Database Developer's Guide with Visual C++ 4, Second Edition, Sams
Publishing, 1996
18. Date, C.J. – An Introduction to Database Systems (5th ed.). CA: Addison-Wesley, 1991.
19. Date, C.J. – An Introduction to Database Systems (7th ed.). CA: Addison-Wesley, 2000.
20. Elmasri, R., Navathe, S.B. – Fundamentals of Database Systems (3rd ed.). CA: Addison-Wesley, 2000.
21. Johnson, J.L. – Database: Model, Languages, Design. NY: Oxford University Press, 1997.
22. Robson, W. – Strategic Management & Information Systems (2nd ed). Pitman, 1997.
23. Avery, B. – The Relational Model, Kingston University, [PDF document] URL
http://www.kingston.ac.uk/~ku12492/MBIT/model.pdf.
24. Brown, C.E. – The Relational Model, Database learning module,
http://www2.bus.orst.edu/faculty/brownc/lectures/db_tutor/relational_model.htm#3.1%20Rela-
tional%20Data%20Model%20Concepts.
25. Bull, M. – Codd’s Rules for RDBMS, MB-online publication. West Yorkshire, 2002, URL
http://hometown.aol.com/mbaddenda/art120.html.
26. Parkhurst, T. – Codd’s 12 rules. DATA MANAGEMENT STRATEGIES,
http://www.itworld.com/nl/db_mgr/09022002/pf_index.html, 2002, Feb. 9.
27. Rennhackkamp, M. – Relational Integrity Control, DBMS online Server side.
http://www.dbmsmag.com/9606d17.html, 1996 June.
28. Webopedia, – Referential Integrity, http://www.webopedia.com/TERM/r/referential_integrity.html.
29. Codd, E. – "Is Your DBMS Really Relational?" and "Does Your DBMS Run By the Rules?"
ComputerWorld, October 14 and October 21, 1985.
30. Hernandez J. M. – Database Design for Mere Mortals, Addison Wesley, 1996
31. Davies, C.T., – Recovery Semantics for a DB/DC System, In Proc. ACM Annual Conference, 1973.
32. Eswaran, K.P., Gray, J.N., Lorie, R.A., Traiger, I.L. – The Notions of Consistency and Predicate Locks
in a Database System, CACM 19,11, 1976
33. Scheuerl, S, J.G. – Modelling Recovery in Database Systems, School of Mathematical and
Computational Sciences University of St Andrews, 1997
34. Yovits, M. C. – Advances in Computers, Vol. 38. (Ed.), Academic Press, 1994.
35. Hernandez, M. J. – Database design for mere mortals : a hands-on guide to relational database design,
2nd ed., Addison Wesley, 2003.
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 347
În anul 1976, Peter Chen introduce modelul Entitate – Relaţie (Chen, 1976)
utilizat şi astăzi ȋn proiectarea bazelor de date.
Programarea orientată pe obiecte a fost dezvoltată rapid în anii `80 și a contribuit
la ceea ce este cunoscut ca baze de date orientate pe obiecte. Ideea era de a trata datele ca
obiecte ușurând conceptualizarea și programarea.
Anii `90 sunt cunoscuţi ca perioada World Wide Web. XML sau eXtended
Markup Language este un standard pentru schimb de date între diferite baze de date și
pagini Web.
Mai recent, s-a remarcat o tendință către NoSQL şi Open Source. Termenul
NoSQL a apărut în 2009, când a fost folosit pentru a descrie apariția unor noi baze de date
care nu văd datele în tabele. Aceasta înseamnă baze de date non-relaționale.
NoSQL sunt diferite de așa-numitele baze de date clasice și nu se bazează pe
modelul relațional pentru structura lor (Figura 2). Acestea diferă foarte mult şi ȋntre ele.
Există mai mult de 100 de baze de date NoSQL clasificate pe baza modelului de date pe
care ȋl suportă, de exemplu: document stores, key-value stores, wide column/column
family stores; graph databases.
În viitor, nu este de aşteptat ca bazele de date NoSQL să eclipseze bazele de date
relaționale. O bază de date NoSQL care se potrivește perfect unei aplicații în timp real
poate să nu funcționeze la fel de bine și pentru statisticile tradiționale. Deci, atât bazele de
date relaționale cât și cele NoSQL au roluri valoroase în analiza datelor. Alegerea corectă
a bazei de date NoSQL permite de exemplu aplicației de analiză Big Data să furnizeze
rapid și eficient rezultate de analiză. O alegere greșită sau o implementare
necorespunzătoare pot compromite activitatea.
Aşa cum se vede ȋn Figura 3, ȋn decembrie 2018 preferinţele utilizatorilor şi
dezvoltatorilor se ȋndreaptă ȋncă spre Sistemele de Gestiune de Baze de Date Relaţionale
(7 din 10 poziţii fiind ocupate ȋn top de acestea), iar dintre cele 138 de SGBD Relaţionale
analizate pe primele 10 poziţii (Figura 4) se situează ȋn ordine: Oracle, MySQL, Microsoft
SQL Server, PostgreSQL, IBM Db2, Microsoft Access, SQLite, Teradata, MariaDB, Hive.
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 349
Closed Source se referă la software-ul al cărui cod sursă este păstrat secret pentru
a împiedica copierea. Open source este opusul: este software-ul al cărui cod sursă este
deschis și disponibil pentru studiu, modificare și chiar redistribuire. Software-ul open
source este adesea liber de descărcat și utilizat.
Bazele de date open source sunt sisteme de bază de date al căror cod sursă este
open source. O bază de date open source ar putea fi relațională (SQL) sau non-relațională
(NoSQL). În prezent, există două direcții pe piața de baze de date: cererea de noi aplicații
și necesitatea de a reduce costurile. Necesitatea de reducere a costurilor nu pare să fie
ceva nou, însă cererea de aplicații noi determină necesitatea de a reduce costurile (acestea
costă bani să se dezvolte).
Figura 4. Primele 10 locuri ȋn clasamentul celor 138 Sisteme de Gestiune de Baze de Date Relaţionale, ȋn
decembrie 2018 (sursa: https://db-engines.com/en/ranking)
Deci, de ce sunt necesare noi aplicații? Odată cu apariția tehnologiei Web 2.0,
paginile web statice au devenit dinamice și social media este pretutindeni în jurul nostru.
Toată lumea face tweeting, postare, blogging, vlogging, împărtășește fotografii, face chat
și comentează.
Internetul obiectelor (IoT) este în plină dezvoltare - o rețea de dispozitive
conectate care colectează și schimbă date, cum ar fi senzori și dispozitive inteligente.
Există câteva exemple minunate aici. Per total, acest lucru generează cantități uriașe de
date noi pe care întreprinderile doresc să le absoarbă și să le utilizeze pentru a rămâne în
continuare în aceleaşi poziţii, pentru a oferi caracteristici precum recomandările
produselor și o experiență mai bună a clienților. Datele pot fi analizate în căutare de
modele pentru aplicații cum ar fi detectarea fraudei și analiza comportamentului.
O mare parte dintre datele noi este nestructurată, ceea ce înseamnă că acestea nu
pot fi stocate cu ușurință într-o bază de date tabelară. Sunt necesare noi tipuri de baze de
date pentru stocarea noilor date și trebuie să fie non-relaționale și, în mod ideal, cu costuri
reduse. Pe scurt: nu relațional ca în NoSQL și cost redus ca în open source.
Toate companiile caută bani în bugetele lor dedicate IT și descoperă cât de mult
se cheltuie pentru susținerea și întreținerea sistemelor tradiționale de baze de date
relaționale. Estimările variază, dar unii spun că reprezintă până la 35% din cheltuielile
pentru infrastructura software. Trecerea la software-ul open source cu costuri reduse
economisește bani, motiv pentru care aproximativ 78% dintre întreprinderi utilizează
inclusiv baze de date open source, printre care se numără:
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 351
MySQL este cea mai populară bază de date relațională open source din
lume;
a fost achiziționată de Oracle în 2010, iar Oracle a plătit pentru
support;
ediția gratuită este încă disponibilă;
MariaDB este un înlocuitor pentru MySQL;
nesiguri cu privire la viitorul MySQL cu Oracle, mulți
utilizatori au migrat la MariaDB;
abonamentele de asistență sunt disponibile de la Mariadb.com.
PostgreSQL are o reputație puternică pentru fiabilitatea și integritatea
datelor;
este bogat în caracteristici și este mai robust și mai performant
decât MySQL;
există o ediție gratuită.
PostgresPURE este disponibil pe bază de abonament;
de la Splendid Data este construit pe PostgresSQL, dar cu instrumente și suport
suplimentare pentru a face un pachet de întreprindere.
EnterpriseDB (EDB) se bazează pe PostgreSQL, dar cu caracteristici și instrumente
suplimentare, în special funcțiile de compatibilitate Oracle (care
sunt surse închise), permițând Oracle shops să treacă mai ușor
la EDB decât la alte variante PostgreSQL.
Toate bazele de date open source sunt disponibile pentru a rula pe x86. Dar ce
este disponibil pentru companiile care au investit deja sau doresc să investească în IBM
Power Systems, MongoDB, EnterpriseDB, Redis, Cassandra, Neo4j și MariaDB sunt
toate disponibile pe IBM Power și toate sunt mai performante comparativ cu un sistem
x86 configurat în mod similar. De fapt, IBM garantează 2x preț-performanță peste x86
pentru MongoDB și 1,8x pentru EnterpriseDB, ceea ce înseamnă că clienții care aleg
IBM Power se pot aștepta la o performanță mai bună și la o extindere mai redusă a
serverului.
Bazele de date Open source nu sunt cu adevărat gratuite, deoarece companiile
aleg, de obicei, ediții de abonament cu suport. În plus, afacerilor nu le pasă dacă sunt
open source sau nu. Foarte puțini oameni doresc cu adevărat să se ocupe cu codul sursă.
Dar bazele de date open source de tip NoSQL permit inovarea cu date noi, iar bazele de
date relaționale cu surse deschise sunt cu costuri mai mici comparativ cu sistemele
tradiționale de gestionare a bazelor de date relaționale.
352 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
Procesul de replicare identifică modificările din baza de date distribuită și aplică aceste
modificări pentru a asigura că toate bazele de date distribuite arată la fel. În funcție de
numărul de baze de date distribuite, acest proces ar putea deveni foarte complex și
consumator de timp. Procesul de duplicare identifică o bază de date ca o bază de date
principală și duplică acea bază de date. Acest proces nu este la fel de complicat ca
procesul de replicare, dar asigură faptul că toate bazele de date distribuite au aceleași date.
În timp ce o bază de date centralizată își păstrează datele în dispozitive de stocare
care sunt într-o singură locație conectată la un singur CPU, un sistem de baze de date
distribuite păstrează datele sale în dispozitivele de stocare situate eventual în diferite
locații geografice și gestionate folosind un SGBD central. O bază de date centralizată este
mai ușor de întreținut și de actualizat, deoarece toate datele sunt stocate într-o singură
locație. În plus, este mai ușor să se mențină integritatea datelor și să se evite necesitatea
dublării lor. Toate cererile care vin pentru a accesa datele sunt prelucrate de o singură
entitate, cum ar fi un singur mainframe, și, prin urmare, ar putea deveni cu ușurință un
obstacol. Dar, cu baze de date distribuite, aceste blocaje pot fi evitate deoarece bazele de
date sunt paralelizate, ceea ce face ca încărcarea să fie echilibrată între mai multe servere.
Păstrarea datelor la zi în sistemul de baze de date distribuite necesită o muncă
suplimentară, prin urmare crește costul de întreținere și complexitate și necesită, de
asemenea, software suplimentar în acest scop. În plus, proiectarea bazelor de date pentru
o bază de date distribuită este complexă faţă de cea pentru o bază de date centralizată.
Altfel spus, o bază de date distribuită este o bază de date care constă din două sau
mai multe fișiere localizate în diferite site-uri, fie în aceeași rețea, fie pe rețele complet
diferite. Porțiunile din baza de date sunt stocate în mai multe locații fizice, iar procesarea
este distribuită între mai multe noduri de baze de date. Un sistem centralizat de gestionare
a bazelor de date distribuite (SGBDD) integrează datele logic, astfel încât acestea pot fi
gestionate ca și cum ar fi fost stocate în aceeași locație. SGBDD sincronizează periodic
toate datele și asigură faptul că actualizările și ștergerile de date efectuate într-o singură
locație vor fi reflectate automat în datele stocate în altă parte. În schimb, o bază de date
centralizată constă într-un singur fișier de bază de date localizat la un singur site utilizând
o singură rețea.
Bazele de date distribuite pot fi omogene sau eterogene. Într-un sistem de baze de
date distribuite omogene, toate locațiile fizice au același hardware de bază și rulează pe
acelaşi sistem de operare, aceleași aplicații. Sistemele de baze de date distribuite
omogene apar la utilizator ca un singur sistem și pot fi mult mai ușor de proiectat și
gestionat. Pentru ca un sistem baze de date distribuite să fie omogen, structurile de date
din fiecare locație trebuie să fie identice sau compatibile. Aplicația de bază de date
utilizată la fiecare locație trebuie să fie, de asemenea, identică sau compatibilă.
Într-o bază de date distribuită eterogenă, sistemele hardware, sistemele de operare
sau aplicațiile bazei de date pot fi diferite în fiecare locație. Site-urile diferite pot utiliza
scheme și programe diferite, deși o diferență în schemă poate face ca interogarea și
procesarea tranzacțiilor să fie dificile. Diferitele noduri pot avea diferite structuri
hardware, software și de date, sau pot fi în locații care nu sunt compatibile. Utilizatorii
dintr-o locație pot citi datele în altă locație, dar nu le pot încărca sau modifica. Bazele de
date distribuite eterogene sunt adesea dificil de utilizat ceea ce le nefezabile din punct de
vedere economic pentru multe companii.
354 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
Când într-o colecție, bazele de date distribuite sunt interconectate logic una cu
cealaltă, ele reprezintă o singură bază de date logică. Cu bazele de date distribuite, datele
sunt stocate fizic pe mai multe site-uri și gestionate independent. Procesoarele de pe
fiecare site sunt conectate printr-o rețea și nu au o configurație de multiprocesare.
O neȋnţelegere care apare destul de des constă ȋn faptul că o bază de date
distribuită este un sistem de fișiere slab conectat. În realitate, este mult mai complicat.
Bazele de date distribuite includ procesarea tranzacțiilor, dar nu sunt sinonime cu
sistemele de procesare a tranzacțiilor. În general, bazele de date distribuite includ
următoarele caracteristici:
independenţa locației;
prelucrarea distribuită a interogărilor;
managementul distribuit al tranzacțiilor;
independenţa hardware;
independenţa sistemului de operare;
independenţa rețelei;
transparența tranzacțiilor;
SGBD independent.
Există multe avantaje în utilizarea bazelor de date distribuite. Bazele de date
distribuite sunt capabile de o dezvoltare modulară, ceea ce înseamnă că sistemele pot fi
extinse prin adăugarea de noi computere și date locale la noul site și conectarea acestora
la sistemul distribuit fără întrerupere. Atunci când au loc defecțiuni în bazele de date
centralizate, sistemul se oprește complet. În sistemele de baze de date distribuite atunci
când o componentă eșuează, sistemul va continua să funcționeze la o performanță redusă
până când eroarea va fi corectată. Administratorii pot realiza costuri mai mici de
comunicare pentru sistemele de baze de date distribuite, în cazul în care datele sunt
situate aproape de locul în care sunt utilizate cel mai mult. Acest lucru nu este posibil în
sistemele centralizate.
Datele replicate sunt folosite pentru a crea instanțieri de date în diferite părți ale
bazei de date. Prin utilizarea datelor replicate, bazele de date distribuite pot accesa date
identice la nivel local, evitând astfel traficul. Datele replicate pot fi împărțite în două
categorii: date read-only și date writable. Versiunile de date replicate read-only permit
revizuiri numai la prima instanțiere; ulterior replicarea datelor despre întreprinderi este
ajustată. Datele writable pot fi alterate, dar prima instanțiere este imediat modificată.
Replicarea bazei de date asigură faptul că datele din bazele de date distribuite
rămân actualizate. Datele fragmentate orizontal implică utilizarea cheilor primare care se
referă la o înregistrare din baza de date. Fragmentarea orizontală este, de obicei, rezervată
pentru situațiile în care locațiile trebuie doar să acceseze baza de date referitoare la
sucursala lor specifică. Datele fragmentate vertical implică utilizarea de copii ale cheilor
primare care sunt disponibile în fiecare secțiune a bazei de date și sunt accesibile fiecărei
sucursale. Datele fragmentate vertical sunt utilizate atunci când sucursala unei companii
și locația centrală interacționează cu aceleași conturi în moduri diferite.
Datele reorganizate sunt date care au fost ajustate sau modificate pentru bazele de
date care sunt suport pentru decizie. Datele reorganizate sunt utilizate în mod obișnuit
atunci când două sisteme diferite tratează operațiunile și suportul decizional. Sistemele
suport pentru decizii pot fi dificil de întreținut, iar prelucrarea tranzacțiilor online necesită
reconfigurare atunci când sunt lansate multe cereri. Schemele de date separate partajează
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 355
atunci când pot fi partajate prin intermediul unui SGBD, în loc să se construiască noi
iterații ale acelorași date stocate în fișiere noi pentru fiecare nouă aplicație. SGBD
centralizat furnizează un depozit central de date care poate fi accesat de mai mulți
utilizatori în mod controlat.
Stocarea centralizată și gestionarea datelor în cadrul unui SGBD oferă:
abstractizarea și independența datelor;
securitatea datelor;
un mecanism de blocare pentru accesul concomitent;
un handler eficient pentru a echilibra cererile mai multor aplicații care
utilizează aceleași date;
abilitatea de recuperare rapidă în caz de accidente și erori, inclusiv restabilirea
și recuperarea;
capacități robuste de integritate a datelor;
activități de logare și audit;
acces simplu prin utilizarea unei interfețe standard de programare a aplicațiilor
(API);
proceduri uniforme de administrare a datelor.
Un alt avantaj al unui SGBD este că poate fi folosit pentru a impune o organizare
logică, structurată a datelor. Un SGBD oferă facilităţi eficiente pentru procesarea unor
cantități mari de date, deoarece este optimizat pentru astfel de operațiuni.
Un SGBD poate oferi mai multe vederi/viziuni (views) asupra unei scheme de
baze de date unice. O viziune definește ce date vede utilizatorul și modul în care aceste
date pot fi văzute. SGBD oferă un nivel de abstractizare între schema conceptuală, care
definește structura logică a bazei de date, și schema fizică, care descrie fișierele,
indexurile și alte mecanisme fizice utilizate de baza de date. Atunci când se utilizează un
SGBD, sistemele pot fi modificate mult mai ușor în cazul în care cerințele se schimbă.
Pot fi adăugate noi categorii de date în baza de date fără a perturba sistemul existent, iar
aplicațiile pot fi izolate de modul în care sunt structurate și stocate datele. Desigur, un
SGBD trebuie să efectueze o muncă suplimentară pentru a oferi aceste avantaje, atrăgând
astfel cheltuielile suplimentare. Un SGBD va folosi mai multă memorie și CPU decât un
sistem simplu de stocare a fișierelor. Și, desigur, diferite tipuri de SGBD-uri vor necesita
tipuri și niveluri diferite de resurse ale sistemului.
Sistemele de gestionare a bazelor de date au jucat un rol proeminent în istoria
dezvoltării de software și în crearea și dezvoltarea industriei de produse software.
Într-un anumit sens, aceste sisteme SGBD, împreună cu sistemele lor de
comunicații de date (sau procesarea tranzacțiilor), au permis utilizatorilor din toate
industriile să construiască atât aplicații on-line, cât și aplicații batch într-un mod mult mai
rapid și mai rentabil. Aceste sisteme de baze de date și de comunicații de date au devenit
fundamentul pentru construirea multora dintre cele mai importante aplicații de bază din
fiecare industrie și agenție guvernamentală și au devenit motoarele care au dirijat
vânzarea de computere mainframe în anii 1970 și după aceea.
Următoarea listă furnizează doar câteva dintre motivele pentru care analiștii și
istoricii din industrie consideră că produsele software SGBD sunt atât de importante din
punct de vedere tehnologic și economic:
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 357
1970 Apare modelul relaţional al lui Se pun fundamentele teoriei bazelor de date
Codd, cercetător la IBM
1971 Raportul CODASYL DBTG
1975 - ACM Special Interest Group on - Se constituie ca forum pentru diseminarea
Management of Data a organizat rezultatelor cercetărilor din domeniul
primul SIGMOD bazelor de date
- Very Large Data Base Foundation - Se constituie ca un alt forum pentru
a organizat prima conferinţă diseminarea rezultatelor cercetărilor din
internaţională VLDB domeniul bazelor de date
Anii `90
- Cerere pentru dezvoltarea - Apar facilităţi ale SGBD-urilor pentru date
capabilităţilor SGBD pentru a spaţiale, temporale şi multimedia,
acoperi noi aplicaţii ȋncorporând capabilităţile deductive şi
- Apariţia SGBD-urilor Orientate active
Obiect - Apariţia de standarde pentru interogări de
- Cerere pentru dezvoltarea de date şi schimb (SQL2, PDES, STEP);
aplicaţii care utilizează date extinderea capabilităţilor SGBD la sisteme
provenite din surse diferite de baze de date eterogene şi multiple; se
- Cerere de exploatare a ȋmbunătăţeşte performanţa SGBD-urilor
procesoarelor paralele (Massively comerciale.
Parallel Processors)
După anii`90
Data warehousing - Depozitul de date conține istoricul, lucru
pe care aplicațiile online nu-l agrează pentru
că-și reduc viteza. Depozitul de date este
granular, adică depozitul de date conține
date flexibile. Din cauza granularității
datelor, depozitul de date ar putea susține
cererile viitoare de informații necunoscute.
Depozitele de date au devenit efectiv o parte
standard a infrastructurii de procesare a
informațiilor.
Datele sunt pe internet. Bazele de date la
Web enabled care au fost transmise link-urile sunt variate
și diferite și au nevoie de o tehnică de
360 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
Referinţe bibliografice
1. Bachman,C. W.,1962. „Precedence Diagrams: The Key to Production Planning, Scheduling and
Control.” In: ProCo Features. Supplement No 24, August 24.
2. Bachman,C. W.,1965. „Integrated Data Store.” în: DPMA Quarterly, January 1965.
3. Bachman,C. W.,1969a. „Software for Random Access Processing.” în: Datamation April 1965.
4. Bachman,C. W.,1969b. „Data Structure Diagrams.” în: DataBase: A Quarterly Newsletter of
SIGBDP. vol. 1, no. 2, Summer 1969.
5. Codd, E. F., (1970). „A relational model of data for large shared data banks” (PDF).
Communications of the ACM. 13 (6): 377
6. Chen, P., 1976. „The Entity–Relationship Model – Toward A Unified View of Data”. ACM
Transactions on Database Systems. New York: Association for Computing Machinery. 1 (1): 9–36,
ISSN 0362-59
1.11 Apariția și evoluția rețelelor de calculatoare
Dr. Mihăiță Drăgan,
Facultatea de Matematică și Informatică,
Departamentul de Informatică, Universitatea din București
1. Introducere și argumente
Figura 1. Insulele din Kønigsberg, Prusia conectate prin intermediul a șapte poduri
362 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
Două posibile distribuții de carduri pot fi: (1, 2) sau (2, 1).
Fie Xk ordinea cardurilor în momentul k ≥ 0
P(Xk+1 =(1, 2)) = P(Xk =(1, 2) și cardul 1 ales)+ P(Xk =(2, 1) și cardul 1 ales) =
= P(Xk =(1, 2)) x 0.5 + P(Xk =(2, 1)) x 0.5= 0.5
Lanțul Markov definit pe spațiul de stare N = {1, ..., n}, unde Xk N reprezintă
variabila aleatoare reprezentând starea la ti k ≥ 0.
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 363
Fie
Conform unuia dintre fondatorii primei rețele, ARPANET, în anii ’60, acest prim
experiment cu rețele nu a fost deloc legat de comuncație, ci de a optimiza utilizarea
procesoarelor, sau „time-sharing-ul”. Acesta presupune că oamenii de știință pot partaja
puterea procesorului. Asta deoarce, până în anii ’60, nu exista nici o rețea. Existau mașini
de calcul masive, denumite mainframe-uri, ce se aflau în încăperi speciale și procesau
sarcinile câte una pe rând. Cu time-sharing, aceste mașini de calcul puteau procesa câteva
sarcini în același timp, ceea ce însemna că puterea putea fi folosită de mai mulți oameni
de știință în același timp.
Rețeau Rețelelor (Internetul) reprezintă unul din cele mai de succes exemple a
beneficiilor investiției susținute și a devotamentului pentru a cerceta și dezvolta
infrastructura informațională. Începând cu bazele cercetării în comutarea de pachete,
guvernul, industria și lumea academică au fost parteneri în dezvoltarea și livrarea acestei
tehnologii interesante. În mod evident, odată ce calculatoarele au început să fie conectate
între ele, a apărut problema eficientizării comunicației între aceste calculatoare. Oamenii
de știință de pe mapamond au încercat să rezolve această problemă. Una dintre aceste
soluții a fost comutarea de pachete, „packet switching”. În Marea Britanie, a existat o
rețea comercială, dezvoltată de National Physical Laboratory, dar care nu a avut succes
deoarece nu a primit fonduri suficiente. Însă ei au fost primii ce au introdus ideea de
comutare de pachete, un mod de a evita „aglomerația” în rețele prin segmentarea datelor
de la sursă și reasamblarea lor la destinație.
Pentru a explora acest aspect, Roberts alături de Thomas Merill a conectat două
calculatoare folosind o linie de telefon cu modem (dial-up), pentru a crea prima rețea de
arie largă. Rezultatul experimentului a fost că acele două calculatoare puteau lucra bine
împreună, rulau aplicații și preluau informații unul de la celălalt, dar acest tip de sistem
cu circuit de telefonie era total inadecvat pentru acest scop. Apare confirmarea că
sistemul bazat pe comutarea de pachete inventat de Kleinrock era necesar.
Anul 1965 marchează un alt pas semnificativ în istoria Internetului, atunci când în
cadrul MIT se dezvoltă o modalitate de a trimite informații sub forma unor blocuri de
date. Un bloc de date este o secvență de biți sau octeți de o lungime specifică care
reprezintă informația spartă în bucăți mai mici înainte de a fi livrată la destinație. Modul
acesta de a transmite informația este de mare importanță în ceea ce privește securitatea
datelor transmise. În lipsa acestuia, rețeaua de calculatoare cunoscută la timpul respectiv
drept „ARPAnet” ar fi fost vulnerabilă la atacuri ca sistemul de telefonie din timpul celui
de-Al Doilea Război Mondial.
În ziua memorabilă de 29 octombrie 1969, la ora 22:30, este transmis primul
mesaj din istoria rețelelor de calculatoare. Student la universitatea din California, Charley
Kline, intenționează să transmită împreună cu profesorul său, Kleinrock, mesajul login
către un alt programator din cadrul universității Stanford, Bill Duvall. După transmiterea
primelor două litere din mesaj, „lo”, transmisia eșuează și astfel „lo” reprezintă primul
mesaj transmis vreodată prin intermediul rețelelor de calculatoare. Totuși, după
aproximativ o oră sistemul este redresat și mesajul login este livrat cu succes în întregime.
Odată cu invenția tranzistorului în anul 1948, a circuitului integrat cu 10 ani mai
târziu, și a microprocesorului după mai mulți ani, în anul 1971, calculatoarele au început
să devină din ce în ce mai mici și din ce în ce mai puternice.
De asemena, guvernul american înființează două agenții noi: Administrația
Națională a Spațiului și a Aeronauticii „National Aeronautics and Space Administration –
NASA”, și Agenția de apărare a Cercetărilor Avansate „Advanced Research Projects Agency
– ARPA”, care avea rolul de a dezvolta tehnologii precum rachete, arme și calculatoare.
3. Rețeaua Internet
fost primită bine de toată lumea. Mulți oameni s-au îngrijorat de violarea de legi cu
privire la meterialele cu drepturi de autor.
Deși partea complicată a istoriei Internetului a trecut, noțiunea care urma să
ridice provocarea conectării a miliarde de echipamente de rețea era totuși departe de a fi
realitate, dar până în anul 1988 această problemă a fost rezolvată, odată cu apariția
modelului de referință pentru Interconectarea Sistemelor Deschise (Open Systems
Interconnection – OSI).
Odată cu evoluția tehnologiilor ce stăteau la baza acestor mijloace de
comunicații, au fost formate două standarde pe care se bazează toate rețelele, acestea
urmând modelul de protocol TCP/IP, structurat după modelul de referință OSI.
Stiva OSI – Modelul Open Systems Interconnection (OSI) este folosit pentru
realizarea comunicației, dar și pentru testarea acesteia, fiind compus din 7 nivele:
Pentru a realiza toate aceste legături între caculatoare prin intermediul rețelelor de
calculatoare era nevoie de un identificator unic (IP) al echipamentelor indiferent de cum
se numeau – calculatoare, imprimante, switchuri, routere, etc. acesta fiind cuprins în stiva
de protocoale TCP/IP, cunoscut sub numele Internet Protocol.
Protocolul IPv4 a fost dezvoltat în anii ’80 și s-a propus prin folosirea a 32 de biți
pentru definirea unei adrese (exexmplu 192.168.100.1). În fiecare câmp dintre acestea 4
pot fi alocați 8 biți:
8 biți * 4 câmpuri = 32 biți.
Fiecare câmp (4 în total) al unei adrese IP poate avea orice valoarea între 0 – 255
(8 biți/câmp, deci în total 256 de valori; 2^8=256). Astfel, adresele IP se împart în mai
multe clase:
Clasa A: 0.0.0.0 – 127.255.255.255 / Masca de rețea pe 8 biți
Clasa B 128.0.0.0 – 191.255.255.255 / Masca de rețea pe 16 biți
Clasa C 192.0.0.0 – 223.255.255.255 / Masca de rețea pe 24 biți
Clasa D 224.0.0.0 – 239.255.255.255 / Masca nealocată
Clasa E 240.0.0.0 – 255.255.255.255 / Masca nealocată
Clasele A, B, C sunt cele folosite în Internet, clasa D fiind rezervată pentru
Adresele de tip Multicast, iar clasa E este o clasă experimentală și nu este folosită.
În anul 2011, mai exact în luna februarie, IANA (Internet Assigned Numbers
Authority) a alocat ultimul spațiu de adrese IPv4. Asta înseamnă că nu mai putem conecta
alte dispozitive la Internet? Nicidecum, de atunci și până acum (2018) numărul de
dispozitive interconectate a crescut foarte mult. Putem observa tendința dezvoltării
rețelelor în următorul grafic:
În prezent, spațiul virtual are o multitudine de utilizări, cele mai populare sunt
rețelele sociale, posibilitatea de a face cumpărături online și accesarea de conținut media
la cerere.
Astfel, începând cu anul 1991 este momentul în care National Science
Foundation, care superviza modul de operare peste rețele, a ridicat restricțiile impuse de
domeniul comercial, ceea ce a produs o adevărată „explozie” în creșterea numărului de
calculatoare conectate:
376 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
992.000 în 1992;
1.776.000 în 1993.
În 1993, sesizând importanța deosebită, Casa Alba deschide o cutie poștală
(president@whitehouse.gov).
Anul 1994 marchează realizarea primelor transmisii audio și video peste marea
de rețele de calculoatoare. În fiecare lună se conectau la Internet peste un milion de noi
utilizatori. Internet Society estimează că aproximativ 115 țări dispuneau de o conexiune la
rețeaua informatică mondială.
Creșterea exponențială a numărului calculatoarelor conectate scoate în evidență
evoluția deosebit de rapidă a Internetului, remarcându-se, prin analogie, o creștere
importantă și în ceea ce privește numărul de utilizatori.
4. Internetul în România
Există mai multe tipuri de adresări IPv6, diferite față de cele din IPv4:
Link local – sunt folosite pentru a comunica doar local, și nu pot fi rutate în
Internet. Aceste adrese încep cu FE80 și sunt folosite pentru funcțiile de
administrare internă a IPv6. (Ex: FE80::/10)
Site local – reprezintă echivalentul spațiului de adrese private RFC 1918 în
IPv4. Totuși, IETF a găsit situația în care diferite organizații folosesc același
spațiu de adresare, lucru ce nu este de dorit; astfel au creat adrese „unique site
local” unde fiecare primește un bloc selectat aleator de la spațiul de adrese
începând cu FD. (Ex: FD00::/8)
Multicast – reprezintă un grup de adrese, deci fiecare pachet trimis către o
adresă multicast este primită de toți membrii grupului. Adresele multicast
încep cu FF și pot fi folosite pentru aplicații unde mai multe hosturi trebuie să
primească aceeași informație în același timp, cum ar fi transmisii video în
direct și de asemenea pentru configurarea automata și descoperire de rețele
(autoconfiguration și discovery). (Ex: FFX1::/16 echivalentul adresei
127.0.0.1/8 din IPv4)
Spațiul de acoperire a rețelelor mobile a crescut exponențial în ultimii ani,
majoritatea rețelelor furnizând cel puțin viteze de 100 mb/s. De asemenea, durata de viață
a bateriilor a fost mult îmbunătățită, pentru a răspunde cerințelor din piață și a acoperi
necesitatea folosirii în atâtea tipuri de dispozitive mobile, iar încărcarea solară a fost
încorporată în numeroase dispozitive. Conform unui studiu realizat în anul 2015,
compania Cisco susține că, până în anul 2020, vor există 50 de miliarde de dispozitive
interconectate.
Evoluția spectaculoasă a determinat numeroase guverne să investească masiv în
IoT. În 2015, guvernul Marii Britanii a alocat 40 de milioane de lire pentru cercetare în
domeniul dispozitivelor inteligente. Înainte, premierul Chinei, Wen Jibao, a denumit IoT-
ul un domeniul cheie pentru industria chineză.
IoT descrie un sistem unde obiectele din lumea fizică și senzorii din interiorul său
atașați de aceste obiecte, sunt conectate la rețele wireless și conexiuni cablate. Acești
senzori folosesc diferite tipuri de conexiune locală: RFID, Near Field Communication
(NFC), wireless sau Bluetooth. Senzorii pot avea de asemenea conectivitate Sistem
Global pentru Comunicații Mobile (Global System for Mobile Communications-GSM),
Third Generation (3G) și Long-Term Evolution (LTE).
Tipul de dată folosit în tehnologia IoT poate fi de dimensiune mică și frecvență în
transmitere. Numărul de dispozitive sau noduri care se conectează la rețea, este de
asemenea mai mare în IoT decât în tehnicile tradiționale de computerizare. Comunicările
mașină cu mașină și inteligența suportată de aceste dispozitive vor permite afacerilor să
automatizeze diferite sarcini de bază, fără a depinde de aplicații și servicii centrale sau
bazate pe tehnologii cloud.
Datorită vastelor posibilități de utilizare a senzorilor, IoT propune:
Conectarea lucrurilor artificiale, dar și a celor vii.
Teste și încercări timpurii arată că rețelele IoT au început prin conectarea
echipamentelor industriale. Acum viziunea IoT s-a extins de la echipamente
industriale la obiecte din viața de zi cu zi.
Tipurile de dispozitive dotate cu această tehnologie variază de la turbine pe
gaz la automobile. Spre exemplu, Uzină Bavareză de Motoare (Bayerische
382 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
Bibliografie
[1] Popa M., „Bazele teoretice ale reţelelor de calculatoare”, Bucureşti, Ed. Univ. din Bucureşti, 2004.
[2] Andrew S. Tannenbaum , „Computer Networks”, Editura Pearson Education, 2002.
[3] Popa M., Popa Mariana, „Grafuri și Rețele”, Ed. Fundația România de Mâine, Bucureşti, 2003.
[4] Rick Graziani, „IPv6 Fundamentals”, Editura Cisco Press, 2012.
[5] ASHTON, K. „That ‘Internet of Things’ Thing. In the real world, things matter more than ideas.” Jurnalul
RFID, 22 June 2009.
[6] „FFIEC Information Technology Examination Handbook”, Septembrie 2016.
[7] CURTIN, M. „Introduction to Network Security”, compania Megasoft Online, 1997.
[8] Dr. KANG, L. „Internet of Things:Wireless Sensor Networks”, International Electrotechnical
Commission, Elveția, 2014.
[9] MUKHERJEE, N. şi NEOGY, S. „Building Wireless Sensor Networks: Theoretical and Practical
Perspectives”, CRC Press, 2016.
1.12 Ideile inovatoare ale apariției sistemului Internet
Marin Vlada1
Universitatea din Bucurști
MOTTO:
„As We May Think” („Aşa cum am putea crede”)
Vannevar Bush, 1945
1
M. Vlada, Idei inovatoare şi pionierii Internetului, 2013, http://www.c3.cniv.ro/?q=2013/internet,
http://www.elearning.ro/idei-inovatoare-si-pionierii-internetului
386 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
„packet switching” şi noul protocol TCP. Prin implicarea lui Larry Roberts de la
Massachusetts Institute of Technology (MIT) ce a realizat arhitectura reţelei de
calculatoare, s-a obţinut o realizare revoluţionară în ziua de 29 octombrie 1969 (29
octombrie este declarată Ziua Internetului), la ora 22:30, când s-a transmis un mesaj de la
un calculator (SDS Sigma 7, Scientific Data Systems, ce concura cu IBM 360) aflat în
laboratorul de la University of California, Los Angeles (UCLA) (condus de profesorul
Leonard Kleinrock), la un calculator (SDS 940) de la Stanford Research Institute (SRI).
Dezvoltarea şi succesul sistemului Internet se datorează studiilor, cercetărilor,
experimentelor şi rezultatelor în cadrul proiectelor destinate pentru reţele de calculatoare
şi comunicaţii, protocoale de comunicaţii, conexiunea la Internet, utilizarea serviciului de
e-mail, World Wide Web, dezvoltarea de pagini web, limbaje şi tehnologii web.
Dacă în deceniul 70 (secolul XX), la nivel universitar, erau câteva discipline
proprii informaticii, astăzi există domenii complexe ale Informaticii: Programare şi
Software Engineering, Reţele de calculatoare şi Computing, Baze de date şi sisteme
informatice, Programare şi dezvoltare Web, Grafică pe calculator şi realitate virtuală,
Geometria computaţională, Modelare şi simulare, Calcul paralel şi distribuit, Inteligenţă
artificială şi sisteme expert, Ingineria cunoaşterii etc.
Complexitatea aplicaţiilor de utilizare a calculatorului în diverse domenii de
activitate (inclusiv în educaţie) a determinat perfecţionarea atât a sistemelor de operare şi
limbajelor de programare, cât şi a tehnologiilor şi platformelor. Au fost concepute şi
elaborate noi sisteme de operare, noi limbaje de programare, noi tehnologii. Dacă în anii
’70 inventarea şi utilizarea microprocesorului au însemnat o revoluţie în domeniul
arhitecturii calculatoarelor, în anii ’90 a fost o adevărată revoluţie atât în domeniul
reţelelor de calculatoare, cât şi în domeniile limbajelor de programare (Java şi
JavaScript) şi sistemelor de operare (Linux, Windows). Astfel, au apărut tehnologiile
Web. Trebuie menţionate dezvoltarea şi
evoluţia limbajului C++ care în anii ’80
a implementat şi dezvoltat modelul
orientat spre obiecte (modelul
programării obiectuale are rădăcini în
limbajele SmallTalk, Lisp etc.) şi
programarea orientată spre obiecte
(OOP-Object Oriented Programming);
Ideile care au dat naştere la crearea sistemului Internet au fost găndite – unele cu
mult înainte – de oameni ca Vannevar Bus (1890-1974), Joseph Carl Robnett Licklider
(1915-1990), Lawrence (Larry) Roberts, Paul Baran, Douglas Engelbart (1925-2013),
Vint Cerf, Robert Kahn, Ted Nelson, Tim Berners-Lee, Marc Andreesen, Linus Torvalds,
consideraţi ca pionieri ai Internetului:
Bibliografie
1. Internet Pioneers, http://www.ibiblio.org/pioneers/index.html
2. ARPANET, http://en.wikipedia.org/wiki/ARPANET
3. EFF (Electronic Frontier Foundation Pioneer Award) Pioneer Award, http://en.wikipedia.org/
wiki/EFF_Pioneer_Award
4. Linux kernel , http://en.wikipedia.org/wiki/Linux_kernel
5. Vannevar Bush, As We May Think, 1945, http://www.theatlantic.com/magazine/archive/1945/07/as-we-
may-think/303881/
6. Robert W. Taylor, In Memoriam: J. C. R. Licklider (1915-1990), Systems Research Center, Palo Alto,
California , Digital Equipment Corporation, 1990
7. Memex, http://memex.org/licklider.pdf
8. A Biographical Memoir by Robert M. Fano, National Academies Press, Washington D.C., 1998,
http://www.nap.edu/html/biomems/jlicklider.pdf
9. The von Neumann Architecture of Computer Systems , First Draft of a Report on the EDVAC, John von
Neumann's 1945, http://www.wps.com/projects/EDVAC/
10. Douglas Carl Engelbart (1925-2013) , http://www.dougengelbart.org/
11. Internet History, http://www.livinginternet.com/i/ii.htm
12. Tim Berners-Lee, CERN, Information Management: A Proposal, http://www.w3.org/History/
1989/proposal.html
13. World Wide Web Consortium (W3C) , http://www.w3.org/
14. 20 de ani de Internet, HotNews, http://economie.hotnews.ro/stiri-20_ani_internet-15975871-cronologie-
mom...
15. M. Vlada, http://ebooks.unibuc.ro/informatica/Birotica/index.htm
16. M. Vlada, http://mvlada.blogspot.ro/2013/11/2013-20-de-ani-de-internet-in-romania....
17. M. Vlada, Web Programming & Technologies, http://www.unibuc.ro//prof/vlada_m/
Web_Programming.php
1.13 From recursivity to the Turing universal machine and
Horn clauses1
The article describes the contribution of Romanian scientists in several fields of scientific research,
on the fundamentals of calculus theory, the fundamentals of cybernetics, the algebra theory of
automatic mechanisms, the mathematical logic applied to the construction and use of the first
electronic computers, etc. In the 1960s, Romania was considered among the first countries in the
world (after the USA, England, USSR, Germany, France, Japan, Austria, the Netherlands, Italy,
Denmark) on research and efforts to build an electronic computer. The Romanian School of
Mathematics developed under the influence of the Romanian mathematicians who supported their
doctorates with prestigious mathematicians from France, Germany, and Italy. Mathematician
Gabriel Sudan (1899-1977) published in 1927 (before W. Ackermann, 1928) the first recursive
function that is not primitive recursive. Dr. Ştefan Odobleja (1902-1978) - a professional military
doctor, is one of the forerunners of generalized theoretical cybernetics and Artificial Intelligence,
the author of "Consonant Psychology," published in Paris for the first time in 1938. In the 1950s,
Grigore Moisil (1906-1973) developed a new theory of finite automata and proposed what is known
today as "Łukasiewicz–Moisil algebras" and which Gr. Moisil applied to the logic of commutation
circuits, which is an important contribution to the development of computer science.
Today, Informatics is part of the exact science class, together with Mathematics,
Physics and Chemistry. Mathematics is the oldest in the class of exact sciences, and
Informatics is the science with the most vertiginous development, with a revolutionary
impact for all other sciences, as well as for all fields of activity of human society.
Computer Science has emerged and developed as a science in the second half of the 20th
century, after 1960, when the modern computer (computing machine), designed by
1
The 12th International Conference on Virtual Learning ICVL 2017, http://c3.icvl.eu/2017/proceedings
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 393
In Romania, one can speak about a high level of development and use of
Information and IT&C (Information and Communication Technology) as a result of the
scientific progress generated by mathematicians who, in collaboration with physicists,
engineers, etc. made possible the emergence of computers and, above all, the methods
and technologies of computer use in solving various problems in the scientific, technical,
economic, social, medical, military, etc. areas. Worldwide, in the 1940s, with the
development of newer and more powerful computing machines, the term Computer
(calculating man) referred to machines rather than to their human predecessors. It became
clear that these computers could be used for complex mathematical computations, and
computer science / computer science expanded to study computing in general.
Informatics began to be established as a distinct academic discipline in the 1950s and
early 1960s.
The first IT specialization in the world, the Cambridge Diploma in Computer
Science, began at the University of Cambridge at the Computer Laboratory in 1953. The
First Computer Specialization science / computer studies in the United States was at
Purdue University in 1962 ("Computer Science Pioneer Samuel D. Conte dies at 85",
Purdue Computer Science, July 1, 2002. Retrieved December 12, 2014.). In Romania, in
1960, at the initiative of Professor Grigore C. Moisil, the Department of Computing was
founded within the Faculty of Mathematics, which he graduated for many generations,
and in February 1962, through the efforts of Professor Grigore C. Moisil supported by the
professors at the Faculty of Mathematics and Physics, was established the "Computer
Center of the University of Bucharest" (CCUB) [37].
Initially, although many people believed that it was impossible for the field of
computers to be a scientific field of study at the end of the 1950s, it gradually became
accepted among the academic community. The IBM (International Business Machines)
brand that was part of this IT revolution. IBM 704 (1954) and then IBM 709 computers
were launched, which were widely used, although the cost of these computers was very
high. Over time, significant improvements have been made in the use and efficiency of
computing (computers). Modern society has seen significant change in IT users, from
users only by experts and professionals to users in all areas of activity. Initially,
computers were quite expensive and some human help needed for efficient use - partly
from computer operators. As computer adoption became more widespread and more
accessible, less human assistance was needed for common use [21]. We mention that in
the 1960s Romania was considered among the first countries in the world (after USA,
394 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
England, USSR, Germany, France, Japan, Austria, Holland, Italy, Denmark) on research
and efforts to build electronic computer. The Romanian School of Mathematics
developed under the influence of the Romanian mathematicians [32, 37] who took their
doctorates in the following countries (in 1860 the University of Iasi was founded, and in
1864, the University of Bucharest):
France – the first doctors in mathematics in Paris: Spiru Haret (1878), David
Emmanuel (1879), Constantin Gogu (1882) and Nicolae Coculescu (1895),
followed by Gheorghe Titeica (1899), Dimitrie Pompeiu (1905), Traian
Lalescu (1908), Constantin Popovici (1908), Simion Stoilow (1916), Miron
Nicolescu (1928), Alexandru Ghika (1929), Alexandru Froda (1929), Nicolae
Teodorescu (1931), Tiberiu Popoviciu 1935), Caius Iacob (1935);
Germany – Alexander Myller (1906), Victor Valcovici (1913), Gabriel Sudan
(1925), Dan Barbilian (1929);
Italy – Octav Onicescu (1920), Gheorghe Vranceanu (1924), Gheorghe Mihoc
(1930), Ion Creanga (1930), Mendel Haimovici (1932).
After 1940, a leading role was played by the mathematician acad. Grigore C.
Moisil (in 1942 he transferred from Iasi to Bucharest) – today he was considered the
founder of the Romanian computer science, who with great vision and enthusiasm fought
and acted to concentrate the efforts of researchers and scientists for the appearance of the
computer electronics and use to solve complex problems in all areas of people's activity.
Moreover, he considers a mathematician's duty to get involved in creating a community
of scientists and scientists to collaborate on using computers to solve problems in society.
It forecasted a new era in world science and technology through the appearance and use
of the computer. "In the 1950s, Moisil developed a new theory of finite automata and
proposed what is known today as" Łukasiewicz–Moisil algebras (LMn algebras)"and
which Grigore Moisil (1906-1973) applied to the logic of commutation circuits, an
important contribution to the development of computer science. "Andrei Neculai [18]. In
[11] is presented the definition of Łukasiewicz–Moisil algebras (LMn algebras):
algebra for short is a algebra A (A, ,, ¯, (rj ) jJ ,0,1) of type (2,2,1, (1) jJ ,0,0)
such that:
(ii) the unary operations r1, r2, … ,rn-1 fulfil the following axioms:
for every x, y A and every i, j J ,
(L1) rj(x˅ y) = rjx˅ rjy
(L2) rjx˅(rjy)¯ = 1
(L3) rj o ri = ri
(L4) rj(x¯) = (rn-jx)¯
(L5) r1x ≤ r2x ≤ … ≤ rn-1x
(L6) if rjx ≤ rjy for every j J , then x=y; this is the determination principle.
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 395
If A fulfils (i) and only (L1)-(L5) we shall say that A is an LMn pre-algebra.
In this effort Gr. C. Moisil encountered obstacles, some of them even from some
colleagues in the university, or from the governing bodies of the country, obstacles
generated by the political context of that period, but also by the mentalities of some
reserved people in terms of change and evolution. For example, after 1970, he became
divergent with his former friend and colleague Nicolae Teodorescu, dean of the Faculty
of Mathematics, having to transfer his teaching to the Faculty of Philosophy and the
Faculty of Law. Professor Constantin P. Popovici's testimony is proof of this: Gr. C.
Moisil proposes to the Dean and the Teaching Council that a number of specialists
outside the faculty should be invited to hold some lessons on the current research of
mathematics and the use of computers in solving problems from the fields; The Teaching
Council did not approve this proposal, killing Moisil. Instead, he was helped by Mircea
Malita, colleague of the faculty, minister of education from 1970 to 1972. From his
memories of Moisil, Mircea Malita tells that when he was a minister, he often came to the
ministry because it insists greatly that it is time to start the computerization of Romania:
the establishment of computer schools (High schools and vocational schools),
departments of computer science transformed into faculties of computer science,
computer centers etc. However, Moisil managed to impose that in 1971, the specialization
of Informatics appeared at the major universities in Romania. On January 27, 1973, Gr.
C. Moisil wrote a memo to the Dean of the Faculty of Mathematics, I. Bucur, regarding
some proposals for the training of IT teachers and specialists, where he concluded:
"That's why I think, for the mathematical progress in our country, it is dangerous to teach
computer science somewhere outside the mathematics faculty"[14], reproduction after
[15]. The evolution of history gave Moisil justice. He succeeded, for a relatively briefly
period, to see the evolution of this specialization, because on May 21, 1973, he died in
Ottawa, Canada ,after having had several conferences at several US universities.
Internationally, Acad. Gr. C. Moisil, was recognized as the first Romanian having
contributions to the emergence and development of computers in Romania, being
awarded (post-mortem) with the Computer Pioneer Award by IEEE Computer Society [8,
34]: "For the development of the polyvalent logic switching circuits, the Romanian
School of Computing, and the support of the first Romanian computers." The award was
handed over to Moisil's wife, Viorica Moisil, in a ceremony held at the Government of
Romania in 1996 (fig. 1).
and Mechanics where he taught Special Chapters of Calculus Machines and Programming
Theory. In 1966 an important event was the International Colloquium "Computer
Techniques and Computers", organized by the Computer Center of Bucharest University
(CCUB), ASE and “Politehnica” University in Bucharest, on the basis of financial
support from the Romanian Government. The CCUB's young researchers have
contributed substantially to the organization of this Colloquium [42]. The colloquium has
brought new experiences in the field of computers [37, 42]. In 2003, recognizing them as
pioneers of Romanian informatics, the Romanian presidency awarded Victor Toma,
Armand Segal, Vasile Baltac, Gheorghe Farkas, Mircea Bocu and Emil Muntean, with
the National Order of Knight's Grave Service.
Fig. 1. Gr. C. Moisil, Computer Pioneer Award of IEEE Computer Society, 1996 [16, 34]
Cybernetics and Mathematics are the sciences that have provided the foundation
for the development of various theories for electronic computer building: Data Systems
and Structures, Electronic Circuits and Devices, Computational Algorithms and
Programming Languages. In some of these aspects, it took many years, even hundreds of
years, for finalization and use. E.g.:
Algorithm concept – description of some computational processes to be
executed by man or a machine; Abu Abdullah Muhammad bin Musa al-
Khwarizmi (ca. 780 – ca. 850) Baghdad (now in Iraq) used for the first time
precise and clear rules to describe computational processes (fundamental
arithmetic operations) in his work "The Compendious Book on Calculation by
Paris, established many of the major themes of cybernetics regarding cybernetics and thinking systems ten
years before the work of Norbert Wiener(1894-1964) was published, in 1948." [12]
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 399
Completion and Balancing" [9]. Later, this description appears under the name
of the "Euclid Elements" algorithm. Euclid's algorithm for calculating the
largest common divisor of two natural numbers is apparently the first known
algorithm in mathematics. Initially, the notion of algorithm was considered
primary. In modern mathematics the notion of algorithm has received several
definitions (A. A. Markov's normal algorithm, A. A. Leapunov's operational
algorithm, Turing machine / stack machine, recursive functions, POST
systems). The first description of the mathematical definition of the notion of
algorithm was given by Russian mathematician A. A. Markov. It has been
demonstrated that from a mathematical point of view these definitions are
equivalent. At present, in the field of probabilities and statistics, so-called
Markov processes are known. In fact, today, the process concept is
encountered very often under different circumstances: in the representation
and execution of algorithms, in the operation of computer systems, in the
execution of operating systems, in the execution of programs, in the operation
of computer networks, etc. [41].
The theory of mathematical logic – many decades, the theory of mathematical
logic has not found applicability. The foundations were made by G. Boole and
A. De Morgan, followed by Dedekind, B. Russell, L. Lowenhein, T. Skolem, K.
Gödel, J. Łukasiewicz in S. Kleene, etc., who created various research
directions: crowd theory, model theory, formal language theory, recursivity
theory, prophecy logic, predicate logic, demonstration theory (in particular
first-order logic theory). The first system of multiple-valued logic was
introduced by J. Łukasiewicz in 1920. Independently, E. Post introduced in
1921 a different multiple-valued logic. The first applications were conducted
by the Russian Victor Ivanovich Shestakov (1907-1987) and American Claude
Shannon (1916-2001) (IEEE Medal of Honor-1966). Claude E. Shannon
introduced the use of Boolean algebra in the analysis and design of switching
circuits, 1937) and in Romania, Gr. C. Moisil founded the "Algebraic Theory
of Automated Mechanics" School (1959). At the instigation of Grigore C.
Moisil, eng. Leon Livovschi (1921-2012) uses for the first time Mathematical
Logic (Boole Algebras) for analysis and synthesis of discrete automata
(automatic circuits with contacts and relays) (1959) [36]. For the first time, the
first order logic theory is used to develop the logic programming language
PROLOG ("Programmation et Logique"), the University of Marseilles
(Colmerauer, the '70s), France. Thus, besides procedural programming
(imperative), a new type of programming emerged, namely declarative
programming (logic programming), based on the Horn clauses describing facts
and rules in expressing a problem, all of which constitute a knowledge base in
the universe of the problem. The solutions to a problem are obtained by
querying this knowledge base based on a logical reasoning implemented by
searching for solutions using the Backtracking method (SLD resolution,
Selective Linear Defined Resolution, Robert Kowalski, 1970). The compiler
was written in FORTRAN code, and the representation of the terms Prolog is
made by defining functions (predicates) and list structures, these being
400 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
In 1936, Turing3 [30] (founder of Artificial Intelligence and Turing test author), who had
announced that he wanted to "build a brain / machine that thinks", published an article
describing the "Universal Turing Machine". Thus, Turing is the first person to provide
data / information to a "computing machine" to enable him to perform multiple tasks at
the same time, as computers perform in our time. Turing reformulated Kurt Gödel's
results of 1931 on the limits of demonstrability and computability, replacing the universal
formal language based on Gödel's arithmetic with what is today called the Turing
machine, a simple formal device. Turing has demonstrated that such a machine would be
able to solve any mathematical problem that can be represented in the form of an
algorithm, although no real Turing machine could have real applications, being much
slower than achievable alternatives. "A. M. Turing (1912-1954) introduced a new model
for calculus, replacing Gödel's arithmetic numerical language with what are today called
Turing machines. It has been shown that the stop problem for Turing machines is
undecidable: there is no algorithm (general) which, for a program P and for input X as
data, determines whether the P program with the X data ends, after a finite number of
steps, tells us if the Turing machine will stop (1936)." D. Vaida, [31].
3
Turing, A.M. (1936). „On Computable Numbers, with an Application to the Entscheidungsproblem”.
Proceedings of the London Mathematical Society. 2 42: 230–65. 1937. Turing, A.M. (1937). „On
Computable Numbers, with an Application to the Entscheidungsproblem: A correction”. Proceedings of the
London Mathematical Society.
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 401
Also in 1936, A. Church showed that there is no computable function to decide for two
expressions from the introduced λ-calculus4, (recursive functions can be represented by λ-
calculus, Lambda-calculus) if these expressions are equivalent, or not. A. Church
introduced the following sentence that bears its name: "The class of computable intuitive
functions is equal to the class of recursive functions." The problem of decidability is
related to the 10th problem of D. Hilbert, which required an algorithm to decide if an
Diofantic equation has a solution, the coefficients and solutions being integers.
Subsequently, in 1970, Y. Matiiasevici showed that the answer was negative [26].
4
Introduced in the 1930s by Alonzo Church as a way to formalize the concept of efficient computability. λ-
calcul is a universal language in the sense that any computable function can be expressed and evaluated using
this formalism and is thus equivalent to Turing machines. This λ-calculation method emphasizes the use of
transformation rules and does not depend on the current machine. It is a more software-related approach than
hardware [26]
402 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
"Computing Machines" section [24]. The author also states that during 1972-1974, he has
coordinated the scientific seminar "Recursive Functions and Turing Machines" for PhD
students at the Institute of Mathematics (fig. 2).
"Mathematics is both abstract and concrete, revealing much of the mental experiment, working
with unobserved abstractions and objects, and the current scientific progress depended on the
ability to operate precisely with abstractions and force of reasoning; let us think of today's
nanometrics technologies, whose management requires a new type of heuristics not studied."
O. Stanasila, Metabolism of Mathematics and Computer Science,
Curtea de Arges, no. 8/2015, pp. 17-18
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 403
The German Wilhelm Ackermann and the Romanian Gabriel Sudan supported their
doctoral theses with Professor David Hilbert (Göttingen University), (the first on August
4, 1924, Thesis “Begründung des "tertium non datur" mittels der Hilbertschen Theorie
der Widerspruchsfreiheit, and the second on 20 July 1925., Thesis “Über die geordneten
Mengen”). In mathematics, at that time, there were important researches on the
computational theory of D. Hilbert and the mathematicians Alonzo Church and Kurt
Gödel [10].
In 1928, Ackermann helped David Hilbert turn his 1917-22 lectures on introductory
mathematical logic into a text, Principles of Mathematical Logic (first ed., 1928). This
text contained the first exposition of the first-order logic, and posed the problem of its
completeness and decidability (Entscheidungsproblem). Ackermann went on to construct
consistency proofs for set theory (1937), full arithmetic (1940), type-free logic (1952),
and a new axiomatization of set theory (1956).
In the late 1920s, the mathematicians Gabriel Sudan and Wilhelm Ackermann, students of
David Hilbert, were studying the foundations of computation. Both Sudan and
Ackermann are credited with discovering total computable functions (termed simply
"recursive" in some references) that are not primitive recursive. Sudan published the
lesser-known Sudan function, then shortly afterwards and independently, in 1928,
Ackermann published his function φ. Ackermann's three-argument function, φ(m, n, p), is
defined such that for p = 0, 1, 2, it reproduces the basic operations of addition,
multiplication, and exponentiation [1]:
and for p>2 it extends these basic operations in a way that can be compared to the
hyperoperations (Goodstein's notation or Knuth's up-arrow notation). In 1947 R. L.
Goodstein introduced the specific sequence of operations that are now called
hyperoperations, for the extended operations beyond exponentiation: a↑(n-2)b, for n>2. In
mathematics, Knuth's up-arrow notation is a method of notation for very large integers,
introduced by Donald Knuth in 1976: a↑nb.
The emergence and construction of the modern computer would not have been possible
without research, studies and results from 1920-1940, when mathematicians around the
world focused on the Theory of Calculability, Theory of Algorithms and Theory of
Formal Languages.
In 1928, Wilhelm Ackermann (fig. 3) observed that A(x,y,z), the z-fold iterated
exponentiation of x with y, is a recursive function that is not primitive recursive. A(x,y,z)
was simplified to a function of 2 variables by Rózsa Péter in 1935. Raphael M. Robinson
simplified the initial condition in 1948. In 1948, Rózsa Péter and Raphael Robinson later
developed a two-variable version of the Ackermann function that became preferred by
many authors [1, 22, 23, 25, 26]. Fig. 3. From original paper authored by Wilhelm
Ackermann, 1928 [1]
n ≥ 0, A(0, n) = n+1
m ≥ 1, A(m, 0) = A(m−1,1)
m ≥ 1, n ≥ 1, A(m,n) = A(m−1, A(m,n−1))
In the theory of computation, the Sudan function is an example of a function that is recursive, but
not primitive recursive. This is also true of the better-known Ackermann function. The Sudan
function was the first function having this property to be published (1927). [27,28,29]. For several
years, the scientific community did not know the merits of the Roman mathematician G. Sudan in
defining the first recursive function that is not primitively recursive. Sudan's contribution was
presented at a conference from the Faculty of Mathematics, University of Bucharest, by C. Calude,
S. Marcus and I. Tevy, "The first example of a recursive function which is not primitive recursive",
1979. The article was published in Historia Mathematica (fig. 4): “The first example of a recursive
function which is not primitive recursive is usually attributed to W. Ackermann. The authors of the
present paper show that such an example can also be found in a paper by G. Sudan, published
concomitantly with Ackermann's paper.” [7].
Fig. 5. Page 91-92 from the book authored by Roman Murawski, 1999 [18]
Conclusions
Year 1938: “Thanks to the psycho-physical reversibility, we can materialize the act of creation.
Undoubtedly, the inventive machine has not yet been created, but we can see its creation soon.”
Stefan Odobleja, “Consonant Psychology”, Paris [5].
Year 1973: “Informatics restores not only the union of pure and applied mathematics, of concrete
technique and abstract mathematics, but also the union of natural sciences with man and society.
It re-establishes abstract and formal concepts, and brings peace between art and science, not only
in the scientist’s spirit, where they always are at peace, but also in their philosophy.” Gr. C.
Moisil.
Year 1917: Molecular computer – “Define a molecular computer as one molecule which
transforms, by random chemical reactions mediated by a collection of enzymes, into a predictable
other molecule, such that the output molecule can be conceived as the result of a computation
encoded in the initial molecule.” M. Buliga [6].
References
[1] W. Ackermann (1928): "Zum Hilbertschen Aufbau der reellen Zahlen". Mathematische Annalen 99: 118–133,
http://gdz.sub.uni-goettingen.de/en/dms/loader/img/?PID=GDZPPN002272261&physid=PHYS_0123,
accessed 2017
[2] Ackermann function that became preferred by many authors:
https://en.wikipedia.org/wiki/Ackermann_function, accessed 2017
408 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
[3] H. Barendregt and E.Barendsen (2011): Introduction to Lambda Calculus , Revised edition 1998-2000,
http://www.unibuc.ro/prof/vlada_m/art_2011.php, accessed 2017
[4] Animated arithmetic, The Ackermann function: http://www.gfredericks.com/sandbox/arith/ackermann,
accessed 2017
[5] BDM Soft (2015): CHC61 Competition, Odobleja precursor al Ciberneticii IEEE Computer Society's
Web Programming Competition Unsung Heroes, Team number 718293
http://www.bdmsoft.com/ieeecontest/index1.php , accessed 2017
[6] M. Buliga (2017): Molecular computers, http://chorasimilarity.github.io/chemlambda-gui/dynamic/
molecular.html, accessed 2017
[7] C. Calude, S. Marcus, I. Tevy (1979): The first example of a recursive function which is not primitive
recursive, Historia Mathematica vol. 6, no. 4, 380–384 doi:10.1016/0315-0860(79)90024-7,
http://www.sciencedirect.com/science/article/pii/0315086079900247, accessed 2015
[8] Computes Society, IEEE – 1996: http://www.computer.org/portal/web/awards/moisil, accessed 2017
[9] J. J O' Connor and E. F Robertson: MacTutor History of Mathematics archive, http://www-
history.mcs.st-andrews.ac.uk/Biographies/Al-Khwarizmi.html, accessed 2017
[10] J. J O' Connor and E. F Robertson: David Hilbert's doctoral students, MacTutor History of Mathematics
archive, http://www-history.mcs.st-andrews.ac.uk/Extras/Hilbert_PhD_students.html, accessed 2017
[11] D. Peter J. (2006): "Computer Science: The Discipline". Encyclopedia of Computer Science. Archived
from the original (PDF) on 2006-05-25, http://www.computerhistory.org/timeline/computers/, accessed
2017
[12] G. Georgescu, A. Iorgulescu, S. Rudeanu (2006): “Grigore C. Moisil (1906-1973) and his School in
Algebraic Logic”, International Journal of Computers, Communications & Control, Vol. I No. 1, pp. 81-99
[13] N. Jurcău (1998): “Two Specialists in Cybernetics: Stefan Odobleja and Norbert Weiner. Common and
Different Features”, Twentieth World Congress of Philosophy, in Boston, Massachusetts from August 10-
15, 1998, Boston University http://www.bu.edu/wcp/MainComp.htm, accessed 2017
[14] R. Kowalski (1974): Predicate Logic as a Programming Language, Memo 70, Department of Artificial
Intelligence, Edinburgh University. 1973. Also in Proceedings IFIP Congress, Stockholm, North Holland
Publishing Co., 1974, pp. 569-574, http://www.doc.ic.ac.uk/~rak/papers/IFIP 74.pdf, accessed 2017
[15] Gr. C. Moisil (1973): „Învățământul informaticii în Facultatea de Matematică”, Raport Gr. C. Moisil,
27.01.1973, https://www.scribd.com/doc/296395184/Raport-Informatica-Grigore-Moisil-1973, accessed
2017
[16] V. Moisil (2012): A fost odată... Grigore Moisil, Bucureşti, Ed. Curtea Veche, Bucuresti
[17] I. Moisil (2016): The Wonderful Adventures of the Mathematician in Logic-Land: From Lukasiewicz-
Moisil Logic to Computers , ICCC 2016 dedicated to the 110th anniversary of Grigore C. Moisil, 6th
International Conference on Computers Communications and Control- IEEE & Agora University of
Oradea, https://www.scribd.com/doc/314496096/From-%C5%81ukasiewicz-Moisil-Logic-to-Computers-
by-Ioana-Moisil, accessed 2017
[18] R. Murawski (1999): Recursive Functions and Metamathematics, Problems of Completeness and
decidability Godel’s theorems, vol. 286, KLUWER Academic Publishers, Dordrecht/Boston/London, ISBN
0-7923-5904-6, http://www.springer.com/la/book/9780792359043, accessed 2017
[19] A. Neculai (2005): Profesorul Moisil - creatorul informaticii în România,
https://camo.ici.ro/neculai/moisil.pdf, accessed 2017
[20] J. von Neumann’s EDVAC Report 1945 (1945): The John von Neumann Architecture of Computer
Systems, http://www.wps.com/projects/EDVAC/, accsessed 2017
[21] Șt. Odobleja (1938), "Psychologie consonantiste", Paris: Publishing House Librairie Maloine
[22] R. Peter (1936): Über die mehrfache Rekursion, Math. Ann. vol. 113 (1936) pp. 489-5
[23] R. Péter, (1935): Konstruktion nichtrekursiver Funktionen,Math. Ann. vol. Ill (1935) pp. 42-60
[24] C. Popovici (1976): “Curs de Teoria algoritmilor. Functii recursive si masini Turing”, Facultatea de
Matematica , Ed. Universitatii din Bucuresti
[25] R. M. Robinson (1947): Primitive recursive functions, Bull. Amer. Math. Soc. vol.53, pp. 925-942.
[26] R. Rojas (1998), A Tutorial Introduction to the Lambda Calculus, http://www.inf.fu-
berlin.de/lehre/WS03/alpi/lambda.pdf, accessed 2017
[27] G. Sudan (1927): Bull. Math. Soc. Roumaine Sci. 30, 11 - 30; Jbuch 53, 171
[28] G. Sudan, Sudan Function, http://googology.wikia.com/wiki/Sudan_function, accessed 2017
[29] G. Sudan, Sudan Function, https://en.wikipedia.org/wiki/Sudan_function, accessed 2017
[30] Turing A.M. (1937): „On Computable Numbers, with an Application to the Entscheidungsproblem”,
Proceedings of the London Mathematical Society, 2 42: 230–65
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 409
[31] D. Vaida (2012): „Ştiinţa, parte a culturii – reflecţii dinspre matematică (Science as a part of culture –
reflections from mathematics), Revista de politica ştiintei si scientometrie – serie noua, vol. 1, No. 4, p.
349-355 (in romanian)
[32] D.Vaida (2011): "Ani de studiu (1952- 1957): începuturi ale structurilor algebrice (I. Alexandru Froda,
Mihail Benado, Dan Barbilian - Amintiri, reflecții), Congresul al VII-lea al Matematicienilor Români,
Brașov, http://fmi.unibuc.ro/revistadelogica/articole/No1Art90.pdf, (in romanian), accessed 2017
[33] M. Vlada (2016): Grigore C. Moisil – restituiri, http://mvlada.blogspot.ro/2016/01/grigore-c-moisil-
restituiri.html, (in romanian), accessed 2017
[34] M. Vlada (2016): Grigore C. Moisil, 1996 Computer Pioneer Award, http://mvlada.blogspot.ro/
2016/06/grigore-c-moisil-1996-computer-pioneer.html, accessed 2017
[35] M. Vlada (2016): Discipolii acad. Grigore C. Moisil și pionieri ai informaticii românești, In Lucrarile
celei de-a XIV-a Conferinta de Invatamant Virtual, 29 octombrie 2016, Editura Universitatii din Bucuresti,
ISSN 1842-4708, p. 19-33 (in romanian)
[36] M. Vlada (2015): Romanian Informatics Pioneers, Leon Livovschi and Octavian Bâscă at the University
of Bucharest, In Proceedings of the 10th International Conference on Virtual Learning (ICVL), Timisoara,
October 31 2015, Bucharest University Press (ISSN 1844-8933), pp. 37-43, http://c3.icvl.eu, accessed
2017
[37] M. Vlada (2014): Informatica la Universitatea din Bucureşti, În Lucrarile celei de-a XII-a Conferinta de
Invatamant Virtual, 24-25 octombrie 2014, Editura Universitatii din Bucuresti, ISSN 1842-4708, pag. 27-
36, 2014, http://www.c3.cniv.ro, accessed 2017
[38] M. Vlada (2012): The Alan Turing Year, In Proceedings of the 7th International Conference on Virtual
Learning (ICVL), Special edition dedicated to “2012 Alan Turing Year”, Bucharest University Press, ISSN
1844-8933), pp. 55-61
[39] M. Vlada, Adrian Adăscăliţei (2012): “2012 The Alan Turing Year – de la maşina Enigma şi testul
Turing la Inteligenţa Artificială”, In Lucrarile celei de-a X-a Conferinta de Invatamant Virtual, Editura
Universitatii din Bucuresti, ISSN 1842-4708, 2012, pag. 41-51 (in romanian)
[40] M. Vlada (2010): New Technologies in Education and Research. Models and Methodologies,
Technologies and Software Solutions, LAMBERT Academic Publishing, ISBN 978-3-8433-6391-4
[41] M. Vlada (2004): Abordarea moderna a conceptului de algoritm, CNIV-2004, Noi tehnologii de E-
Learning, Conferinta Nationala de Invatamant Virtual, Software Educational, Editia a II-a, 29-31 octombrie
2004, Editura Universitatii din Bucuresti, 2004 (Editori: I. Chitescu, H. Georgescu, V. Preda, I. Vaduva, I.
Tomescu, M. Vlada, G. Pripoae), ISBN 973-575-947-0), pag. 231-240 (in romanian)
[42] I. Văduva (2014): History of Computer Science in Romania by Prof. Ion Văduva,
http://www.c3.icvl.eu/2014/vaduva-ccub, accessed 2017
Bibliografie generală
1. Serge Abiteboul, Richard Hull, Victor Vianu, Foundations of Databases. Addison-Wesley 1995, ISBN
0-201-53771-0, The full PDF version of the book: http://webdam.inria.fr/Alice/, http://webdam.
inria.fr/Alice/pdfs/all.pdf
2. D. Acostachioaie, Administrarea și configurarea sistemelor Linux, Editura Polirom, 2003
3. George Șt. Andonie, Istoria matematicii în România, vol. II, Editura Științifică București, 1966,
https://www.scribd.com/document/387489845/Gr-C-Moisil-1966
4. O. Bâsca, V. Boicescu, E. Căzănescu, M. Cherciu, G. Georgescu, Gr. C. Moisil, Gh. S. Nadiu, I.
Petrescu, S. Rudeanu, C. Sicoe, L. State, Al. Teodorescu, I. Tomescu, Logique Automatique
Informatique, Editions del’Académie, Bucharest, 1971
5. Tim Berners-Lee, CERN, Information Management: A Proposal, http://www.w3.org/History/1989/
proposal.html
6. B. H. Boar, The Art of Strategic Planning for Information Technologies, 2nd edition, John Wiley &
Sons, Inc., New York, 2001
7. Roger E. Bohn, Measuring and Managing Technological Knowledge, p.295-314 in Dale Neef a.o., Eds,
The Economic Impact of knowledge, Butterworth-Heinemann, Boston, 1998
8. W. K. Bruijin, Situația și perspectivele evoluției calculatoarelor, AMC (Automatica-Metrologie-
Calculatoare), nr. 13-14, Editura Tehnică, pag. 101-128,1970
9. S. Buraga, G. Ciobanu, Atelier de programare în rețele de calculatoare, Editura Polirom, 2001
10. Vannevar Bush, As We May Think, 1945, http://www.theatlantic.com/magazine/archive/1945/07/as-
we-may-think/303881/
11. C. Cazacu, Jucan T., Programarea în limbajul Fortran. Calculatorul Felix C-256, Ed. Junimea, 1978
12. CCUB, Sesiunea Științifică a CCUB, Aniversare 25 de ani, 1987, Litografia Universității din
București, https://www.scribd.com/document/385124731/Sesiunea-%C8%98tiin%C8%9Bific%
C4%83-a-CCUB-Aniversare-25-de-ani-1987
13. Sorin Adrian Ciureanu, Sisteme de Operare, Editura Printech, 2004
14. Svetlana Cojocaru, Acad. Gheorghe Păun, Dragoş Vaida (ed.), One Hundred Romanian inTheoretical
Computer Scientists, Editura Academiei Române, 2018, http://www.c3.icvl.eu/2018/rom-csc
15. V. Cristea, P. Dumitru, C. Giumale, V. Iorga, F. Moldoveanu, T. Popescu, Dicționar de Informatică,
Editura Științifică și Enciclopedică, 1981
16. T. Connolly, Begg, C., Strachan, A. – Database Systems – A Practical Approach to Design,
Implementation and Management, Addison Wesley Longman Limited 1995, 1998
17. Tom Davis, Practical calculation of Polygonal Areas, Pick’s Theorem, 2006 http://www.geometer.org/
mathcircles/polyarea.pdf, http://www.geometer.org/mathcircles/pick.pdf
18. H. Deitel, Operating Systems 3/e, Ed. Prentice Hall, 2004
19. Oana Lucia N. Dimitriu, Academicianul Grigore C. Moisil, intemeietorul şcolii de matematicieni
informaticieni din Romania, Biblioteca Academiei Române, Studii și comunicări, Comitetul Român
pentru Istoria și Filosofia Științei și Tehnicii, Volumul VII / 2014, http://studii.crifst.ro/doc/
2014/2014_4_06.pdf (pdf)
20. Mihai Drăgănescu, Realizarea de calculatoare și rețele de calculatoare în România (1953-1985),
http://www.atic.org.ro/ktml2/files/uploads/Draganescu.pdf , 2001
21. Mihai Drăgănescu, De la societatea informaţională la societatea cunoaşterii, Editura Tehnică, Bucureşti,
2003, ISBN 973-31-2199-1, www.racai.ro
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 411
43. Grigore C. Moisil, Contribuția românească în teoria algebrică a automatelor, AMC (Automatica-
Metrologie-Calculatoare), nr. 13-14, Editura Tehnică, pag. 81-100,1970
44. Grigore C. Moisil, „Învățământul informaticii în Facultatea de Matematică” Raport Gr. C. Moisil,
27.01. 1973, https://www.scribd.com/doc/296395184/Raport-Informatica-Grigore-Moisil-1973
45. Grigore C. Moisil, Referatul privind Rolul Academiei RSR în dezvoltarea informaticii, 17-19.02.1971,
https://www.scribd.com/document/398422173/Gr-C-Moisil-Referat-pentru-Academie-1971
46. Grigore C. Moisil, Teoria algebrică a mecanismelor automate [Algebraic theory of automatic
machines], Academia Republicii Populare Romane, Editura Tehnică, Bucharest, 1959. MR0120120
47. Grigore C. Moisil, Circuite cu tranzistori [Transistor Circuits], Editura Academiei Republicii Populare
Romane, Bucharest, 1961–62. OCLC 15371418
48. Grigore C. Moisil, Activitatea Centrului de Calcul al Universității din București, în volumul Grigore C.
Moisil și continuatorii săi, Ed. Academiei Române, , 2007, pp. 133-155
49. Viorica Moisil, Once upon a time... Grigore Moisil (A fost odată... Grigore Moisil), Bucharest: Curtea
Veche, 2002. ISBN 973-8356-09-1
50. Viorica Moisil, Gr. C. Moisil, profesor NU ca oricare altul, Editura Tehnică, 1998. Prefață de Solomon
Marcus, https://www.scribd.com/document/398422052/Gr-C-Moisil-profesor-NU-ca-oricare-altul-1998
51. Ioana Moisil, The wonderful adventures of the mathematician in logic-land: From Lukasiewicz-Moisil
logic to computers, Computers Communications and Control (ICCCC) (2016), 2016 6th International
Conference on, 1-9, DOI: 10.1109/ICCCC.2016.7496730,https://doi.org/10.1109/ICCCC.2016.7496730
52. Grigor Moldovan, Scheme logice și programe FORTRAN, Universitatea din Cluj-Napoca, 1973
53. John Louis von Neumann, http://ei.cs.vt.edu/%7Ehistory/VonNeumann.html
54. John von Neumann, 1981, First draft of a report on the EDVAC. In Stern, N. From ENIAC to Univac:
An Appraisal of the Eckert-Mauchly Computers. Digital Press, Bedford, Massachusetts,
http://www.csupomona.edu/~hnriley/www/VonN.html
55. John von Neumann’s EDVAC Report 1945 John von Neumann’s 1945 on June 30 by Hungarian
mathematician John von Neumann (1903-1957), http://www.velocityguide.com/computer-history/john-
von-neumann.html, http://www.wps.com/projects/EDVAC/
56. John von Neumann, The Virtual Von Neumann Architecture and the global computer, http://meta-
artificial.blogspot.com/2005/07/virtual-von-neumann-architecture.html
57. Stelian Niculescu, Noțiuni de informatică, Manual pentru școli profesionale, școli de maiștri, licee
industriale, Editura Didactică și Pedagogică, 1971 (primul manual de informatică destinat
învățământului preuniversitar)
58. J. O'Rourke, Computational Geometry in C (2nd Ed.). Cambridge University Press., 1998
59. Șt. Odobleja, Psychologie consonantiste, Paris: Publishing House Librairie Maloine, 1938
60. R. Peter, Über die mehrfache Rekursion, Math. Ann. vol. 113 (1936) pp. 489-5
61. R. Péter, Konstruktion nichtrekursiver Funktionen,Math. Ann. vol. Ill (1935) pp. 42-60
62. Gheorghe Păun, Moisil -110, In revista Curtea de la Arges, anul VII, Nr. 3 (64), martie 2016,
http://www.curteadelaarges.ro/arhiva/VII_3_64/VII_3_64.pdf
63. L. Peterson, B. Davie, Rețele de calculatoare: o abordare sistemică, ALL/Teora, Ed. Morgan
Kaufmann, 2001/2004
64. C. Popovici, Curs de Teoria algoritmilor. Funcții recursive și mașini Turing, Facultatea de Matematică ,
Editura Universității din București
65. Tiberiu Popoviciu, Contribuţii ale Institutului de Calcul din Cluj la aplicarea matematicii în economie,
Ses. St. Acad. RSR 1969-1970, 1971, pp. 305-320, https://ictp.acad.ro/popoviciu/
66. Dorin Mircea Popovici, L.D. Şerbănaţi, S. Morvan, Virtual Aquarium, CNIV-2004, Noi tehnologii de
E-Learning, Conferinţa Naţională de Învăţământ Virtual, Software Educaţional, Ediţia a II-a, 29-31
octombrie 2004, Editura Universităţii din Bucureşti, (Editori: I. Chiţescu, H. Georgescu, V. Preda, I.
Văduva, I. Tomescu, M. Vlada, G. Pripoae) (ISBN 973-575-947-0) (http://fmi.unibuc.ro/
ro/cniv_2004/), pp. 167-174, 2004
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 413
67. Dorin Mircea Popovici, Popovici, M. I., C++. Tehnologia orientată spre obiecte. Aplicaţii, Editura
Teora, Bucureşti, 2000.
68. Sergiu Rudeanu, Afrodita Iorgulescu, George Georgescu and Cătălin Ioniţă, G. C. Moisil memorial
issue", Multiple-Valued Logic 6 (2001), no. 1-2. Gordon and Breach, Yverdon, 2001. MR1817431
69. S. Scheuerl, J.G., Modelling Recovery in Database Systems, School of Mathematical and
Computational Sciences University of St Andrews, 1997
70. A. Silberschatz, Operating Systems Concepts.Seventh Edition, Wesley Publishing Company, 2006
71. Maureen Sprankle, Jim Hubbard, Ploblem Solving and Programming Concepts, Pearson - Prentice Hall,
2009, 8th ed.
72. Gabriel Sudan, Sudan Function, https://en.wikipedia.org/wiki/Sudan_function
73. Andrew S. Tannenbaum, Computer Networks, Editura Pearson Education, 2002
74. A. Tanenbaum, Goodman, J. R., Organizarea structurată a calculatoarelor, Ed. Byblos, 2004
75. Robert W. Taylor, In Memoriam: J. C. R. Licklider (1915-1990), Systems Research Center, Palo Alto,
California , Digital Equipment Corporation, 1990
76. A. M. Turing, „On Computable Numbers, with an Application to the Entscheidungsproblem”,
Proceedings of the London Mathematical Society, 1937, 2 42: 230–65
77. Dragoș Vaida, Informatica în România - primii ani, Revista de politica ştiinţei şi scientometrie – serie
nouă, Vol.4, Nr. 1/2015, pag. 29-33, http://rpss.inoe.ro/articles/informatica-in-romania-primii-ani
78. Dragoș Vaida, Gr. C. Moisil, un mod de a privi matematica și cultura, În revista Curtea de la Argeș,
anul VIII, nr. 10(83), oct. 2017, http://www.curteadelaarges.ro/arhiva/VIII_10_83/VIII_10_83.pdf
79. Dragoș Vaida, Ani de studiu (1952- 1957): începuturi ale structurilor algebrice (I. Alexandru Froda,
Mihail Benado, Dan Barbilian - Amintiri, reflecții), Congresul al VII-lea al Matematicienilor
Români, Brașov, http://fmi.unibuc.ro/revistadelogica/articole/No1Art90.pdf,
80. Dragoș Vaida, Limbaje formale și tehnici de compilare. Aplicații ale algebrelor multisortate în
informatică, Centrul de multiplicare Universitatea din București, 1982
81. Ion Văduva, M. Lovin, M. Bogdan, D. Panaite, Limbajul SIMUB, manual de referință, Centrul de
multiplicare Universitatea din București, 1982
82. Ion Văduva, Douăzeci și cinci de ani de activitate a Centrului de Calcul al Universității din București,
Lucrările Sesiunii Știinţifice a Centrului de Calcul al Universităţii din Bucurșţti (1987), 20-21 februarie
1987, pp.6-14
83. Ion Văduva, Centrul de Calcul al Universității din București, creație a lui Grigore C. Moisil, în volumul
postum "Grigore C. Moisil și continuatorii săi, Ed. Academiei Române” (2007), pp. 515-519
84. Ion Văduva, Centrul de Calcul al Universităţii din Bucureşti (CCUB), pionierat în Informatica din
România, CNIV România, 29 SEPTEMBRIE 2014 - http://www.c3.cniv.ro/?q=2014/vaduva-ccub
85. Ion Văduva, Computing Center of the University of Bucharest, an Important Step in the History of
Computer Science in Romania(2014), In Proceedings of International Conference on Virtual Learning,
ICVL 2014, https://www.scribd.com/doc/243333879/Proceedings-of-ICVL-2014-ISSN-1844-...
86. Ion Văduva, History of Computer Science in Romania by Prof. Ion Văduva, In Proceedings of
International Conference on Virtual Learning, ICVL 2014, http://www.c3.icvl.eu/2014/vaduva-ccub
87. M. Vlada, Acad. Grigore C. Moisil și acad. Mircea Malița, matematicieni parteneri în “campania
Moisil” de informatizare a României anilor ’60-‘70, 2018 - http://c3.cniv.ro/?q=2018/malita
88. M. Vlada, Ciclul “Istoria Informaticii românești”: Prof. I. Văduva și prof. E. Căzănescu despre acad.
Gr. C. Moisil, 2018 - http://www.c3.cniv.ro/?q=2018/info-rom
89. M. Vlada, Adrian Adăscăliței, Ştefan Odobleja: A Scientific Visionary, precursor of Cybernetics and
Artificial Intelligence, Proceedings of the 12th International Conference On Virtual Learning (ICVL
2017), Ed. Universității din București, 2017
90. M. Vlada, Adrian Adăscăliței, History of Informatics. From recursivity to the Turing universal machine
and Horn clauses, Proceedings of the 12th International Conference On Virtual Learning (ICVL 2017),
414 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
107. M. Vlada, Maple and MapleNet-integrated solutions for Web based learning in matematics, Science and
Engineering, CNIV-2004, Noi tehnologii de E-Learning, Conferinţa Naţională de Învăţământ Virtual,
Software Educaţional, Ediţia a II-a, 29-31 octombrie 2004, Editura Universităţii din Bucureşti, (Editori:
I. Chiţescu, H. Georgescu, V. Preda, I. Văduva, I. Tomescu, M. Vlada, G. Pripoae) (ISBN 973-575-
947-0) (http://fmi.unibuc.ro/ro/cniv_2004/), pp. 121-130, 2004
108. M. Vlada, Abordarea modernă a conceptului de algoritm, CNIV-2004, Noi tehnologii de E-Learning,
Conferinţa Naţională de Învăţământ Virtual, Software Educaţional, Ediţia a II-a, 29-31 octombrie 2004,
Editura Universităţii din Bucureşti, (Editori: I. Chiţescu, H. Georgescu, V. Preda, I. Văduva, I.
Tomescu, M. Vlada, G. Pripoae) (ISBN 973-575-947-0) (http://fmi.unibuc.ro/ro/cniv_2004/), pp. 231-
240, 2004
109. M. Vlada, Gândirea algoritmică - o filosofie modernă a matematicii şi informaticii, CNIV-2003, Noi
tehnologii de E-Learning, Conferinţa Naţională de Învăţământ Virtual, Software Educaţional, Ediţia I,
24-26 octombrie 2003, Facultatea de Matematică şi Informatică, Universitatea din Bucureşti
(http://fmi.unibuc.ro/ro/cniv_2003/)
110. M. Vlada, Limbaje şi Cunoastere versus Modelare şi Procesare, CNIV-2005, Virtual Learning-Virtual
Reality, Conferinţa Naţională de Învăţământ Virtual, Software Educaţional, Ediţia a III-a, 28-30
octombrie 2005, Editura Universității din Bucureşti, 2005 (Editori: I. Chițescu, H. Georgescu, V. Preda,
I. Văduva, I. Tomescu, M. Vlada, G. Pripoae) (ISBN 973-737-097-X) (http://fmi.unibuc.ro/ro/
cniv_2005/) , pag. 205-212
111. M. Vlada, Tehnologiile societăţii informaţionale, CNIV-2005, Virtual Learning-Virtual Reality,
Conferinţa Naţională de Învăţământ Virtual, Software Educaţional, Software şi Management
Educaţional, Ediţia a III-a, 28-30 octombrie 2005, Editura Universității din Bucureşti, 2005 (Editori: I.
Chițescu, H. Georgescu, V. Preda, I. Văduva, I. Tomescu, M. Vlada, G. Pripoae) (ISBN 973-737-097-
X) (http://fmi.unibuc.ro/ro/cniv_2005/), pag. 19-32
112. M. Vlada, De la teorema lui Green la geometria computaţională, CNIV-2006, Conferinţa Naţională de
Învăţământ Virtual, Software Educaţional, Ediţia a IV-a, 27-29 octombrie 2006, Editura Universităţii
din Bucureşti, http://fmi.unibuc.ro/cniv/2006/, 2006
113. M. Vlada, Adrian Posea, Ioan Nistor, Călin Constantinescu, Grafică pe calculator în limbajele Pascal şi
C, vol. I, II, Editura Tehnică, Bucureşti, 1992
114. M. Vlada, Matematica pentru elevi, abstractă sau utilă ?, În Lucrările celei de-a XI-a Conferință de
Învățământ Virtual, Editura Universității din București, ISSN 1842-4708, 2013, pag. 107-114
115. M. Vlada, O. Istrate, Concursul „Didactica Nova” - curriculum academic inovativ, În Lucrările celei de-
a XI-a Conferință de Învățământ Virtual, Editura Universității din București, ISSN 1842-4708, 2013,
pag. 19-24
116. M. Vlada, Structuri şi obiecte matematice cu aplicaţii în chimie şi fizică, În Lucrările celei de-a XI-a
Conferință de Învățământ Virtual, Editura Universității din București, ISSN 1842-4708, 2013, pag.102-
106
117. M. Vlada, Modele neliniare. Teorie şi aplicaţii, În Lucrările celei de-a X-a Conferință de Învățământ
Virtual, Editura Universității din București, CNIV 2012, ISSN 1842-4708, 2012, pag. 57-65
118. M. Vlada, Informatică aplicată. Modele de aproximare, software şi aplicaţii, Editura Universităţii din
Bucureşti, print, ISBN 778-606-16-0190-5, 257 pag., 2012
119. M. Vlada, Statistică și Informatică pentru chimie medicală și farmaceutică. Concepte, metode,
tehnologii, software și aplicații, Editura Universităţii din Bucureşti, ISBN 978-606-16-0940-6, 2017
(print, 395 pag.)
120. M. Vlada, New Technologies in Education and Research. Models and Methodologies, Technologies
and Software Solutions, LAMBERT Academic Publishing, ISBN 978-3-8433-6391-4
121. Neal Ziring, Dictionary of Programming Languages (Dictionary and script maintained by Neal Ziring):
http://cgibin.erols.com/ziring/cgi-bin/cep/cep.pl
416 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
122. John C. Whelan, Kelly Carey, SVG For Teaching 2D Graphics Standards, http://www.svgopen.org/
2005/papers/TeachingGraphicsStandards/index.html, 2005
123. ARPANET, http://en.wikipedia.org/wiki/ARPANET
124. CGAL, Computational Geometry Algorithms Library, http://www.cgal.org/
125. History of computing hardware, https://en.wikipedia.org/wiki/History_of_computing_hardware
126. Timeline of computing, https://en.wikipedia.org/wiki/Timeline_of_computing_hardware_before_1950
127. Timeline of computing, https://en.wikipedia.org/wiki/Timeline_of_computing_1950%E2%80%9379
128. Timeline of computing, 1980–1989:
https://en.wikipedia.org/wiki/Timeline_of_computing_1980%E2%80%9389
129. Timeline of computing, 1990–1999:
https://en.wikipedia.org/wiki/Timeline_of_computing_1990%E2%80%9399
130. Timeline of computing, 2000-2009:
https://en.wikipedia.org/wiki/Timeline_of_computing_2000%E2%80%9309
131. Timeline of computing, 2010-prezent:
https://en.wikipedia.org/wiki/Timeline_of_computing_2010%E2%80%9319
132. Wikipedia, https://en.wikipedia.org/wiki/Timeline_of_computing_2010%E2%80%9319
133. Computer Museum USA, https://www.computerhistory.org/chmhistory/
134. Computer Museum United Kingdom, (http://www.tnmoc.org/
135. Computer Museum Japan, http://museum.ipsj.or.jp/en/about/index.html
136. Computer Museum Germany, https://www.deutsches-museum.de/en/exhibitions/communication/
computers
137. Computer Museum Russia, http://www.computer-museum.ru/english
138. Internet Pioneers, http://www.ibiblio.org/pioneers/index.html
139. Genome Project, https://www.genome.gov/12011238/an-overview-of-the-human-genome-project/
140. Operating Systems, https://www.operating-system.org/betriebssystem/_english/os-liste.htm
141. Quantum Computer, http://www.nextbigfuture.com/201457/03/in-few-years-new-quantum-computers-
from.html
142. P-Systems, http://psystems.disco.unimib.it/download/MembIntro2004.pdf
143. GNU Operating Systems: http://www.gnu.org/
144. Operating Systems Articles: http://www.articlesbase.com/
ANEXĂ
33. Negoiță Constantin Virgil, Sisteme de înmagazinare și regăsire a informațiilor, Editura Academiei ,
1970
34. Văduva I., Analiza dispersională, Ed.Tehnică, București, 1970
35. Vaida Dragoș, Algoritmi de compilare, București, Ed. Did. și Ped., 1971
36. Nicolau Edmond, Omul Informațional, Ed. Junimea, Iași, 1971
37. Petre Dimo, Programarea în FORTRAN, Editura Didactică și Pedagogică, București, 1971
38. Costică Cazacu, Calculatoare cu program și teoria programarii, Editura Științifică și Enciclopedică,
1971
39. Stelian Niculescu, Noțiuni de informatică, Manual pentru școli profesionale, școli de maiștri, licee
industriale, Editura Didactică și Pedagogică, 1971 (primul manual de informatică destinat
învățământului preuniversitar).
40. Anton Dumitriu, Logica polivalentă, Editura Enciclopedică Romană, 1971
41. N. Costake, R. Eftimie, R. Zamfirescu, A. Chirila, FORTRAN (vol 2), Editura Tehnică, București,
1971
42. Niculescu Stelian, Noțiuni de informatică. Manual pentru școli profesionale, licee industriale, școli
de maiștri (primul manual de informatică pentru preuniversitar), Ed. Didactică și Pedagogică, 1972
43. Tomescu Ioan, Introducere in Combinatorica, Ed. Tehnica, Bucuresti, 1972
44. Stelian Niculescu, Inițiere în FORTRAN, Editura Tehnică, 1972.
45. E. Popoviciu, Teoreme de medie din analiza matematică şi legătura lor cu teoria interpolării,
Editura Dacia, Cluj, 1972
46. Margareta Draghici, Inițiere în COBOL, Editura Tehnică, București, 1972
47. W. S. Doru, D. D. McCracken, Metode numerice cu programe în FORTRAN, Editura Tehnică,
București, 1972
48. Liviu Sofonea, Ariana Botea, Elemente de programare automata-FORTRAN IV, Centrul de
multiplicare al Universității din București, 1972
49. Georgescu H. , Programarea în limbajul PL/1. În memoria prof. Gr. C. Moisil, Ed. Academiei, 1973
50. Niculescu Stelian, Trandafir Ileana , Programarea la calculatoare electronica. Manual pentru licee
de specialitate anii III și IV, Ed.Didactică și Pedagogică, 1973
51. Popa Marin, Organizarea producției - COBOL, Ed. Universității, 1973
52. Căzănescu Virgil, M.Becheanu, C.Nastasescu și S.Rudeanu), Logica matematică și teoria
mulțimilor, Editura Didactică și Pedagogică, 1973
53. Văduva I., N. Popoviciu, Introducere programarea automată cu aplicații la cercetarea științifică, Ed.
Did. Ped., București, 1973
54. Văduva I., C. Dinescu, B. Savulescu, Metode matematice de organizarea și conducerea producției,
(Partea I), Ed. Did. și Ped., București, 1973
55. Moldovan Grigor, Scheme logice și programe FORTRAN, Universitatea din Cluj-Napoca, 1973
56. Ștefan MUSTĂȚEA, Ioan ODĂGESCU - programarea calculatoarelor electronice, FORTRAN IV,
Culegere de probleme rezolvate și propuse, Editura ASE, București, 1973
57. Horia Georgescu, Programarea în limbajul PL/1, Editura Academiei RSR, București, 1973
58. Dragoș Vaida, Elemente de teoria limbajelor de programare, Centrul de multiplicare al Universității
din București, 1973
59. H. Freudental, Limbajul logicii matematice, Editura Tehnică, București, 1973
60. Ion Creangă, C. Reischer, D. Simovici, Introducere algebrică în informatică-Teoria automatelor,
Iași, 1973
61. Tiberiu Ionescu, Grafuri-aplicații (vol 1), Editura Didactică și Pedagogică, București, 1973
62. Marin Popa, Organizarea producției-COBOL (note de curs), Centrul de multiplicare al Universității
din București, 1973
63. Adrian Petrescu, Calculatoare, Automate și Programare, Editura Didactică și Pedagogică,
București, 1973
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 419
64. Rudeanu Sergiu, Elemente de teoria mulțimilor, Tipografia Universității din București, 1973
65. Arsac Jacques, Informatica, Editura Enciclopedică Română, 1973
66. Knuth D. E., Tratat de programarea calculatoarelor. Algoritmi fundamentali, Ed. Tehnică, 1973
67. Popoviciu N., Constantina Ioan, Victorina Panaite, P. Radovici, St. Ștefănescu, Culegere de
exerciții de programare în FORTRAN, Ed. Did. și Ped., București, 1974
68. Căzănescu Virgil, Curs de bazele informaticii (3 fascicole), Tipografia Universității București, 1974
69. Văduva I., C. Dinescu, B. Savulescu, Metode matematice de organizarea și conducerea producției,
(Partea II), Ed. Did. și Ped., București, 1974
70. M. HANGANUT, I. DANCEA, O. NEGRU,Programe FORTRAN în automatică, Editura Tehnică,
București , 1974
71. Al. TEODORESCU, I. CATONA, C. POPESCU, Sistemul FELIX C-256. Limbajul ASSIRIS,
Editura Tehnică, București, 1974
72. M. HĂNGĂNUȚ, I. DANCEA, O. NEGRU, Programe FORTRAN comentate în automatică,
Editura Tehnică, Bucureşti, 1974
73. Stelian Niculescu, Ileana Trandafir, Programarea la calculatoare electronice – COBOL, Manual
pentru Licee economice, Editura Didactică și Pedagogică,1974.
74. Valeriu Iorga, Calcul Numeric, Litografie Institutul Politehnic București, 1974
75. Ion Creangă, C. Reischer, D. Simovici, Introducere algebrică în Informatică-Limbaje formale,
Editura Junimea, Iași, 1974
76. N. V. Ghircoiasu, C. Miron, Grafuri de influență și aplicațiile ei în tehnică, Editura Tehnică,
București, 1974
77. *** Seminarul de Teoria Sistemelor și aplicații, Oficiul de informare și documentare în știintele
sociale și politice, București, mai 1974
78. Knuth D. E, Tratat de programarea calculatoarelor-Algoritmi fundamentali, Editura Tehnică,
București, 1974
79. Tiberiu Ionescu, Grafuri-aplicații (vol 2), Editura Didactică și Pedagogică, București, 1974
80. Sergiu Rudeanu, Boolean Functions and Ecuations, North-Holland Publishing Company,
Amsterdam, 1974
81. Centrul de calcul (CCUB), Exerciții de programarea calculatoarelor, Centrul de multiplicare al
Universității din București, 1974
82. Vasile Baltag, Optimizarea sistemelor de operare ale calculatoarelor numerice, Editura Facla,
Timișoara, 1974
83. Georgescu Horia, Basca Octavian, Programe in limbajul Fortran, Ed. Albatros, 1975
84. Căzănescu Virgil, Curs de bazele informaticii: Limbaje raționale și automate, Tipografia
Universității București, 1975
85. Creangă I., D. Simovici, Teworia codurilor, Ed,. Didactică și pedagogică, 1975
86. Horia GEORGESCU, Octavian BÂSCĂ,Programe în limbajul FORTRAN, Editura Albatros,
București, 1975
87. Gabriel DIACONESCU, Ion LUNGU, Limbajul de programare ASSEMBLER, Editura ASE,
București, 1975
88. T. ILIN, A. SOCENEANȚU, G. GAVRILESCU, Limbaje de asamblare pentru calculatoarele
electronice numerice: Asamblare, Editura Facla, Timișoara, 1975
89. Stelian Niculescu, Noțiuni de prelucrare automata a datelor, Editura Didactică și Pedagogică, 1975.
90. T. Popoviciu, Analiză numerică. Noţiuni introductive de calcul aproximativ, Editura Academiei
RSR, 1975
91. L. Nemeti, Programarea în timp a fabricaţiei, Ed. Dacia, 1975
92. Paul Constantinescu, C-tin Virgil Negoiță, Sisteme informatice-modele ale conducerii și sistemelor
conduse, Editura Tehnică, București, 1975
420 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
93. Pisau Gh, Toma C, Mihăescu I, Elaborarea și introducerea Sistemelor Informatice, Editura Tehnică,
București, 1975
94. Vasile Bita, Cristian Antonescu, Mircela Iosep, Ileana Trandafir, Sisteme Informatice, Editura
Didactică și Pedagogică, București, 1975
95. Ioan Tomescu, Grafuri și programare liniară, Editura Didactică și Pedagogică, București, 1975
96. Grigore Moisil, Lecții despre logica raționamentului nuanțat, Editura Științifică și Encicloprdică,
București, 1975
97. Florica Câmpan, De la papirusul RHIND la calculatorul electronic, Editura Ion Creangă, București,
1975
98. H. Georgescu, O. Bâscă, Programe în limbajul FORTRAN, Editura Albatros, București, 1975
99. Vaida Dragoș, Limbaje formale și tehnici de compilare, Centrul de Multip. Univ. din Buc. , 1976
100. Văduva Ion et al., Exerciții și probleme de programarea calculatoarelor, Tipografia Universității din
București, 1976
101. Bătătorescu Anton, Graph Theory, Mathematical Programming and Optimization – Cursul
Postuniversitar UNESCO "Informatica și matematici aplicate pentru cercetare", Centrul de Calcul
al Universității din București, 1976
102. Căzănescu Virgil, Curs de bazele informaticii: Partea I, Tipografia Universității București, 1976
103. Văduva I., Modele de simulare (cu Appendix RAVAGE), Centrul Mult. Univ., București, 1976
104. Marcus Solomon, Gr. C. Moisil, Opera matematică, vol. I, Editura Academiei, București, 1976
105. Moldovan Grigor, Scheme logice și programe FORTRAN, Ed. Didactică și pedagogică, 1976
106. Vasile PETEANU, Sabin GORON, Geza VENCZEL, Ioan MOLDOVAN, Culegere de probleme
de programare în limbajul COBOL, Editura DACIA, 1976
107. Emil MUNTEAN, Viorel COSTEA, Mircu MITROV, Programarea în limbaje de asamblare
ASSIRIS, Editura Tehnică, București, 1976
108. Donald E.KNUTH, Tratat de programarea calculatoarelor: algoritmi fundamentali, vol.1, Editura
Tehnică, Bucureşti, 1976
109. Donald E.KNUTH, Tratat de programarea calculatoarelor, Sortare și căutare vol 2, Editura
Tehnică, Bucureşti, 1976
110. V. PESCARU, I. CATONA, D. DUȚĂ, Cr. POPESCU, I. SATRAN, Fișiere, baze și bănci de date,
Editura Tehnică, Bucureşti, 1976
111. D. W. DAVIES, D. L. BARBER, Rețele de interconectarea calculatoarelor, Editura Tehnică,
Bucureşti, 1976
112. Ion Păvăloiu, Introducere în teoria aproximării soluţiilor ecuaţiilor, Ed. Dacia, 1976
113. Constantin Popovici, Leon Livovschi, Nicolae Țăndăreanu, Curs de bazele informaticii automate și
limbaje formale, Tipografia Universității din București, 1976
114. Dragoș Vaida, Limbaje formale și tehnici de compilare, Tipografia Universității din București,
1976
115. Raul de Palma, Algebra binară a lui Boole și aplicațiile ei în Informatică, Editura Tehnică,
București, 1976
116. Gh. Boldur-Lațescu, Gh. Ciobanu, I. Bancilă, Cartea analistului de sisteme, Editura Științifică și
Enciclopedică, București, 1976
117. E. Munteanu, V. Costea, M. Mitrov, Programarea în limbajul de asamblare ASSIRIS, Editura
Tehnică, București, 1976
118. Alexandru Surdu, Elemente de logica instituțională, Editura Academiei RSR, București, 1976
119. Ion Văduva, Modele de simulare (note de curs), Centrul de multiplicare al Universității din
București, 1976
120. Casimir Macarie, Anastase Pitiș, Limbajul de programare COBOL, Editura Didactică și
Pedagogică, București, 1976
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 421
175. Adam M., Nistor I., Socrate - sistem de gestiunea bazelor de date, Tipografia Universității din
București, 1980
176. Tomescu Ioan, Leu A., Matematica aplicată în tehnica de calcul, Ed. didactică și pedagogică,
București, 1980
177. Căzănescu Virgil, Curs de scheme de programe: Latici continue, Tipografia Universittiți București,
1980
178. Atanasiu A., Limbaje formale și tehnici de compilare, Caiet de laborator, Tipografia Universității
din București, vol. III, 1980
179. Marcus Solomon, Gr. C. Moisil, Opera matematică, vol.II, Editura Academiei, București, 1980
180. Vaida D., A. Atanasiu, Limbaje formale și tehnici de compilare, Caiet de lucrări practice, Ed. Univ.
din București, vol 1 1978, vol 2: 1979, vol. 3,1980
181. Valer ROȘCA, Constantin APOSTOL, Ion IVAN, Ion Gh. ROȘCA, Limbaje de programare,
Limbajul FORTRAN și FORTRAN conversațional, LITO ASE, București, 1980
182. Petre Preoteasa, Luca Dan Șerbănați, Matematica aplicată în tehnica de calcul, Manual de clasa a
XI-a pentru liceele de matematică-fizică, Ed. Didactică și Pedagogică, 1980
183. Adrian Atanasiu, Limbaje formale și tehnici de compilare, Tipografia Universității din București,
1980
184. Leon Livovschi, Scheme logice, Editura Tehnică, București, 1980
185. Gh. Păun, Mecanisme generative ale proceselor economice, Editura Tehnică, București, 1980
186. I. Constantinescu, D. Golumbovici, C. Militaru, Prelucrarea datelor experimentale cu calculatoare
numerice, Editura Tehnică, București, 1980
187. Niculescu Stelian, Algoritmi. Limbaj pentru descrierea algoritmilor, Ed. Tehnică, 1981
188. Popescu Elena-Liliana, Ferent G., Exerciții de programare în limbajul FORTRAN IV, Tipografia
Universității din București, 1981
189. Căzănescu Virgil, Curs de scheme de programe: Ecuații recursive cu domenii, Tipografia
Universității din București, 1981
190. Căzănescu Virgil, Curs de bazele informaticii: Introducere în logica matematică, Tipografia
Universității din București, 1981
191. Văduva I., Sisteme informatice, Centrul de mult. Univ. Buc., 1981
192. Ilie VĂDUVA, , Mihai JITARU, Vasile FLORESCU, Conceperea şi realizarea programelor
COBOL, Editura Ştiinţifică şi Enciclopedică, Bucureşti, 1981
193. Tiberiu Popescu (coord), Valentin Cristea, Petrica Dumitru, Cristian Giumale, Valeriu Iorga,
Florica Moldoveanu, Luca Dan Serbanati, Dictionar de informatică, Ed. Științifică și Enciclopedică,
București, 1981
194. Florescu M., Nicolau Ed., Niculescu-Mizil E., Bilciu C., Istoria științelor în România. Cibernetica,
Comitetul român de istoria și filozifia științei, Ed. Academiei RSR, 1981
195. Ion Păvăloiu, Rezolvarea ecuaţiilor prin interpolare, Ed. Dacia, 1981
196. L. Livovschi, H. Georgescu, C. Popovici, N. Țăndăreanu, Bazele Informaticii, Editura Didactică și
Pedagogică, București, 1981
197. Eduard Radaceanu, Limbaje de Simulare, Editura Militară, București, 1981
198. Liviu Dumitrașcu, Alexandru Ioachim, Tehnici de construire a programelor cu structuri alternative,
Editura Academiei RSR, București, 1981
199. Valentin Hogea, Nicolae Pavel, Programe COBOL pentru sistemul personal, Editura Junimea, Iași,
1981
200. E. Balla, I. Balla, I. Jurca s.a, Programarea calculatoarelor-Studii și aplicatii, Editura Facla,
Timișoara, 1981
201. Tomescu I., Probleme de combinatorică și teoria grafurilor, Ed. Did. și Ped., 1981
202. Livovsch L., Popovici C., Georgescu H., Țăndăreanu N., Bazele informaticii, Ed. Did.si Ped. 1982
424 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
203. Vaida Dragoș, Limbaje formale și tehnici de compilare. Aplicații ale algebrelor multisortate în
informatică, Centrul de multipl. Univ. din Buc., 1982
204. Văduva I., M. Lovin, M. Bogdan, D. Panaite, Limbajul SIMUB, manual de referință, Centrul de
multiplicare Univ. din București, 1982
205. Rudeanu S., Curs de bazele informaticii. Latici si algebre booleene. Tipografia Univ. din București,
1982
206. Orman Gabriel, Limbaje formale, Editura Tehnică, 1982
207. Dan FARCAȘ, Ilie VĂDUVA, Vasile FLORESCU, Autoinstruire în programare: date, algoritmi,
depanare, cartele de comandă, limbajul COBOL, programe complexe, Editura Tehnică, 1982
208. Stelian Niculescu, Dan Petre Golesteanu, Macroprocesoare și Limbaje extensibile, Editura
Științifică și Enciclopedică, 1982.
209. Iosif Kaufmann, Ioan Jurca, Dorina Petriu, Vladimir Cretu, Programarea în limbajul ADA, Editura
Facla, Timișoara, 1982
210. Ion Văduva, V. Florescu, D. Farcaș, Gh. Popa, N. Mihavici, Autoinstruire în programare, Editura
Tehnică, București, 1982
211. Sergiu Rudeanu, Curs de Bazele Informaticii-Latici și algebre Boole, Tipografia Universității din
București, 1982
212. Nicolae Rădescu, Eugenia Rădescu, Probleme de Teoria Grafurilor, Editura Scrisul Românesc,
Craiova, 1982
213. Virgil Craiu, Octavian Bâscă, Elemente de Calcul numeric și programare (ediția a 2-a), Tipografia
Universității din București, 1982
214. Văduva Ion, Gheorghe Petrescu, Ileana Popescu, Ștefan Ștefănescu, Vasile Stoica, Culegere de
probleme și exerciții de simulare. Tipografia Universității din București, 1983
215. Căzănescu Virgil, Introducere în teoria limbajelor formale, Editura Academiei, 1983
216. Căzănescu Virgil, Curs de bazele informaticii: Volumul I, Tipografia Universității București, 1983
217. Căzănescu Virgil, Curs de bazele informaticii: Volumul II, Tipografia Universității din București,
1983
218. Atanasiu A., Sisteme informatice pentru unități economice, Tipografia Universității din București,
1983
219. Văduva I., I. Odăgescu, M. Stoica, Simularea proceselor economice, Ed. Tehnică, București, 1983
220. Văduva I., l. Popescu, Șt. Ștefănescu, Gh. Petrescu, V. Stoica, Exerciții și probleme de simulare,
Centrul Mult. Univ. din București, 1983
221. Atanasiu A., Sisteme informatice pentru unități economice, Ed. Univ. din București, 1983
222. Donald E. KNUTH, Tratat de programare a calculatoarelor: algoritmi seminumerici, numere
aleatoare, vol. 3, Editura Tehnică, Bucureşti, 1983
223. Luca Dan Șerbănați, Către un model al metodei de proiectare a produselor program, în C. Popa
(coord.), Logica acțiunii. Studii, Pag. 57-76, Ed. Științifică și Enciclopedică, București, 1983
224. Popescu Ileana, Rizzoli Irina, Stefan Cristina, Probleme de analiză numerică rezolvate cu
calculatorul, Tipografia Universității din București, 1983
225. Petrovici V., Golcea Fl., Programarea în limbajul C, Editura Tehnică, 1993
226. Tomescu I., Leu A., Matematica aplicată în tehnica de calcul, clasa a X-a, Ed. Did. și Ped., 1983
227. Vaida Dragoș, Mateescu Alexandru, Limbaje formale și tehnici de compilare - Capitole speciale de
limbaje formale, Tipografia Univ. din București, 1984
228. Căzănescu Virgil, C. Calude, Bazele informaticii: Lecții de logică matematică, Tipografia
Universității București, 1984
229. Marcus Solomon, Gândirea algoritmică, EdituraTehnică, București, 1982
230. Calude Cristian, Virgil Căzănescu, Bazele Informaticii. Lecții de logica matematică, Ed. Univ. din
București, 1984
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 425
231. Ivan Ion, Arhire Romulus, Informatică Economică: Evaluarea performanței programelor COBOL,
lito ASE, București, 1984
232. Teodor VUSCAN, Sanda CHERATA, Smaranda DERVESTEANU, Andrei ENYEDI, Ioan VESA
si Lidia MOLDOVAN, FORTRAN - 77, Manual de programare, ITC Cluj-Napoca, 1984
233. Luca Dan Șerbănați, Valentina Cristea, Florica Moldoveanu, Valeriu Iorga, Programarea
sistematică în limbajele Pascal și FORTRAN, Ed. Tehnică, București, 1984
234. S. Călin, I. Dumitrache, C. Nitu, F. Munteanu, V. Iorga, S.Dumitriu, Reglarea numerică a
proceselor tehnologice, Editura Tehnică, 1984
235. Drăgănescu M., Petrescu A., Ștefan Gh., Calculatoare electronice din generația a V-a, Ed.
Academiei, 1985
236. Drăgănescu Mihai, Baltac V., Viitorul industriei de programare, Ed. Academiei, 1985
237. INFO-Iași 1985, Lucrările celui de-al V-lea colocviu de Informatică, 18-19 oct. 1985 (2 vol), Univ.
Al.I.Cuza Iași, ITCI – Filiala Iași, 1985
238. Albu M., D. Enăchescu, Procese nestaționare de redistribuire a energiei în crusta terestră (cu
aplicații în FORTRAN), Ed. Tehnică, București, 1985
239. Moldovan Grigor, Bazele informaticii II, Universitatea din Cluj-Napoca, 1985
240. Ioan ODĂGESCU, Gheorghe SABĂU, Limbajul COBOL fără profesor, Editura Tehnică,
București, 1985
241. Liviu DUMITRAȘCU, Înățând Cobol ... conversând cu calculatorul, vol. 1 și 2, Editura Tehnică,
București, 1985
242. Dan ȘERBĂNAȚI, Valentin CRISTEA, Claudiu POPESCU, Limbajul MACRO-11, Îndrumar de
laborator, Editura UPB, București, 1985
243. Luca Dan Șerbănați, Cristian Giumale, Inteligența artificială, Ed Tehnică, București, 1985
244. Viorel Păun, Bazele programarii în limbajul C++ - Probleme alese, Editura Tehnică, București,
1985
245. L. Livovschi, H. Georgescu, Bazele Informaticii-Algoritmi, Elaborare și Complexitate, Tipografia
Universității din București, 1985
246. Ion Odăgescu, Gh. Sabău, Limbajul COBOL fără profesor, Editura Tehnică, București, 1985
247. Adrian Petrescu (coordonator) s.a, Totul despre calculatorul personal aMIC (vol 1 și vol 2), Editura
Tehnică, București, 1985
248. Drăgănescu M., Petrescu A., Ștefan Gh., Calculatoare electronice din gen. a V-a, Editura
Academiei RSR, 1985
249. Baltac V. și colectiv, Calculatoare electronice. Grafică interactivă și prelucrarea imaginilor, Editura
Tehnică, 1985
250. Văduva Ilie, Baltac V. ș. a., Ingineria programării, vol. I, Editura Academiei, 1985
251. Văduva I., E. Perjeriu, Îndrumar pentru lucrări de laborator la cursul de BAZELE INFORMATICII,
anul I, Centrul Mult. Univ. din București, 1986
252. Macarie C., Buznea G., Gaspar R., Programarea în limbajui FORTRAN 77, Institutul pentru
Tehnică de Calcul, București, 1986
253. Lucrările primului colocviu național de Limbaje, Logică, Lingvistică matematică, Brașov 5-7 iunie
1986. Univ. Brașov, Proceesing, 1986
254. Moldovan Grigor, Minicalculatorul CORAL și sistemul de operare MIX, Universitatea din Cluj-
Napoca, 1986
255. Teodor VUSCAN, Sanda CHERATA, Smaranda DERVESTEANU, Andrei ENYEDI, Ioan
VESA,Lidia MOLDOVAN, FORTRAN - 77, Manual de operare, ITC Cluj-Napoca, 1986
256. Emil MUNTEAN, Ioan MIHUȚ, Adrian IVANOV, Iniţiere în limbajul ADA, Editura Tehnică,
București, 1986
257. V. Craiu, R. Enache, O. Bâscă, Teste de concordanță cu programe în FORTRAN, Editura Științifică
și Enciclopedică, București, 1986
426 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
258. Shirley M. Dowdy, Statistical Experiments using BASIC, Duxbury Press, Boston, 1986
259. *** Sanyo GW-BASIC ver. 3.0-Manuel Utilisateur, Microsoft Corporation, 1986
260. Mihai Jitaru, Utilizarea minicalculatoarelor-memento COBOL, Microinformatica, Cluj, 1986
261. Casimir Macarie, Georgeta Buznea, Rodica Gașpar, Programarea în limbajul FORTRAN 77,
Microinformatica, Cluj, 1986
262. Sorin Frincu, Algoritmi-Reprezentarea lor prin scheme logice, Microinformatica, Cluj, 1986
263. Constantin Balea, Automatica, Manegement, Calculatoare (AMC vol 52), Editura Tehnică, București,
1986
264. Macarie C., Buznea G., Gaspar R., Programarea în limbajul FORTRAN 77, Tipografia ITC, 1986
265. L. Livovschi, H. Georgescu, Sinteza și analiza algoritmilor, Editura Tehnică, 1986
266. Davidovici A., Boldur Bărbat, Limbaje de programare pentru sisteme în timp real, Editura Tehnică,
1986
267. Marinescu Gheorghe, Rizzoli I., Ștefan C., Popescu Ileana, Probleme de analiză numerică rezolvate
cu calculatorul, Editura Academiei, București, 1987
268. Popescu Ileana, State Luminița, Metode probabiliste în inteligența artificială, Tip. Univ. din
București, 1987
269. Atanasiu A., Bazele informaticii pentru anul II, Tipografia Universității București, 1987
270. INFO-Iași 1987. Lucrările celui de-al VI-lea colocviu de Informatică, 9-10 oct. 1987 Univ. Al.I.Cuza
Iași, ITCI – Filiala Iași, 1987
271. Lucrările sesiunii știintifice a Centrului de calcul a Univ. București, 20-21 februarie 1987, Ed. Univ.
din București, 1987
272. Calude Cristian, Teoria algoritmilor, Ed. Univ. București, 1987
273. Moldovan Grigor, MATH-I, Biblioteca de programe științifice pentru calculatoarele personale
românești, Universitatea din Cluj-Napoca, 1987
274. Farcaș D. Dan, Automate aleatoare cu utilități, Ed. Științifică și Enciclopedică, 1987
275. Ștefan MUSTĂȚEA, Dan SOMNEA, Mircea PĂTRULESCU, Sistemul dBASE II, prezentare,
utilizare, studiu de caz, partea a I-a și partea a II-a, Studii și Cercetări de Calcul Economic și
Cibernetică Economică, vol. 22, n2. 2 și nr, 3, 1987.
276. Luca Dan Șerbănați, Limbaje de programare și compilatoare, Ed. Academiei RSR, București, 1987
277. Cristian Giumale, Dan Preotescu, Luca Dan Șerbănați, Dan Tufiș, Gheorghe Tecuci, Dan Cristea,
LISP, Ed. Tehnică, vol.1, 1987
278. E. Kalisz, D. Suciu, V. Iorga, Îndrumar de laborator la disciplina Programarea Calculatoarelor,
Litografie Institutul Politehnic București, 1987
279. T. Petrila, C.I. Gheorghiu, Metode element finit și aplicaţii, Editura Academiei RSR, Bucureşti, 1987
280. Stelian Niculescu, Ghid pentru predarea noțiunilor de informatică în învățământul preuniversitar,
Editura ICSIT-ICI, 1987
281. Octavian Bâscă, Ileana Popescu, Sisteme de Operare (vol 1), Tipografia Universității din București,
1987
282. Ion Văduva, Tehnici de realizare a Sistemelor Informatice-Note de curs, Tipografia Universității din
București, 1978
283. *** Lucrarile Sesiunii Științifice a Centrului de Calcul al Universitatii din București 20-21 februarie
1987, Tipografia Universității din București, 1987
284. E. Jessen, R. Valk, Rechensysteme-Grundlagen der Modelbildung, Springer-Verlag, Berlin, 1987
285. Atanasiu A., Bazele informaticii, anul II, Tipografia Universității din București, 1987
286. Vlada Marin, Posea Adrian, Grafica automata în limbajul FORTRAN 77 și aplicații, Ed. Universității
din București, ediția I, 1988
287. ***, Proceesing, Al doilea Colocviu național de Limbaje, Logică, Lingvistică matematică, Brașov
2-3 iunie 1988. Univ. din Brașov, 1988
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 427
288. Dan Roman, Adrian Lustig, Cristian Stanescu, Algoritmi de automatizare a proiectării, Editura
Militară, 1988
289. Lucia Coculescu, Valentin Cristea, Ioan Finta, Proiectarea sistemelor teleinformatice, Editura
Militară, 1988
290. Marin Popa, Ion Văduva, Culegere de probleme de Sisteme Informatice, Tipografia Universității din
București, 1988
291. Gabriel V. Orman, Lucrările celui de al doilea Colocviu Național de Limbaje, Logică, Lingvistică
matematică, Tipografie Brașov, 2-3 Iunie, 1988
292. Cristian Calude, Bazele Informaticii-Lecții pentru perfecționarea profesorilor de matematică,
Tipografia Universității din București, 1988
293. Ioan Tomescu, Adrian Leu, Matematică aplicată în tehnica de calcul, Editura Didactică și Pedagogică,
București, 1988
294. Vaida Dragoș, Mateescu Alexandru, Structuri matematice discrete. Aplicații, Editura Academiei,
1989
295. INFO-Iași 1989. Lucrările celui de-al VII-lea colocviu de Informatică, 19-21 oct. 1989 Univ. Al. I.
Cuza din Iași, ITCI – Filiala Iași, 1989
296. Albu M., A. Guran, L. Albu, C. Rădulescu, D. Enăchescu, M. Palcu, Cărbunii în actualitate și în
perspectivă (aplicații în FORTRAN), Ed. Tehnică, București, 1989
297. Gheorghe Sabău, Alexandru SOTIR (coord.), PRACTICA BAZELOR DE DATE. Totul despre ...
SOCRATE și SOCRATE -MINI pe Felix C, CORAL și Independent, Vol. 1, Editura Tehnică, 1989
298. Gheorghe Sabău, Alexandru SOTIR (coord.) PRACTICA BAZELOR DE DATE.Totul despre ...
SOCRATE și SOCRATE -MINI pe Felix C, CORAL și Independent, Vol. 2, Editura Tehnică, 1989
299. Octavian DOGARU, Bazele informaticii. Limbaje formale, Editura Universității, Timișoara, 1989
300. Valeriu Iorga, I. Fătu, Programare în Pascal, Litografie Institutul Politehnic București, 1989
301. Andrew S. Tanenbaum, Computer Networks (secund edition), Prentice Hall Inc, 1989
302. Octavian Bâscă, Ileana Popescu, Sisteme de programe pentru minicalculatoare (sisteme de operare-
vol 2), Tipografia Universității din București, 1989
303. M. Patrubany, Totul despre microprocesorul Z80, Editura Tehnică, București, 1989
304. M. Stoica, M. Andreica, L. Sandulescu, Introducere în modelarea procedurală, Editura Scrisul
Românesc, Craiova, 1989
305. Șerban Gavrilă, Editoare de texte pentru minicalculatoare și microcalculatoare, Tipografia
Universității din București, 1988
306. Silviu Crăciunaș, Introducere în utilizarea minicalculatoarelor, Tipografia Universității din București,
1989
307. *** Info-Iași '89, Lucrările celui de al VII-lea Colocviu de Informatică 19-21 Octombrie, Centrul de
multiplicare al Universității Al. I. Cuza din Iași, 1989
308. Adrain Vlad, Programe de instruire-BASIC, Editura Științifică și Enciclopedică, București, 1989
309. Ion Diamandi, Partenerul meu de joc CALCULATORUL-Ghid pentru utilizarea
microcalculatoarelor, Intreprinderea Poligrafică ARTA GRAFICĂ, București, 1989
310. Roland Konstanty, PARADOX-Eine Praxiorientierte Einfuhrung, Markt&Technik Verlag AG, 1989
311. Mihnea Georgeta, Tucsnak Zenaida, Programe și Aplicații, Tipografia Universității din București,
1989
312. Atanasiu A., Al. Mateescu, Probleme de limbaje formale, Tipografia Universității din Bucuresti, 1990
313. Vlada M., Posea A., Grafica automată în limbajul Fortran 77 și aplicații, Ed. Universității din
București, 1990
314. Gheorghe DODESCU, Constantin APOSTOL, Florin PILAT, Ion Gh ROȘCA, Limbajul MACRO-
11, tehnici de realizare a programelor, Editura ASE, București, 1990
315. Constantin POPOVICI, Horia GEORGESCU, Luminița STATE, Bazele informaticii, Editura
Universității din București, 1990
428 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
316. Lascu RÂCU, Bazele informaticii : Curs pentru uzul studenţilor, Editura Universității din Craiova,
Craiova, 1990
317. Ricardo F. Garzia, Mario R. Garzia, Network modeling, Simulation and Analysis, Marcel Dekker,
Inc- New York and Basel, 1990
318. Andra Sandru, Prezentarea Sistemului de Operare MS-DOS, Editura Cristian, București, 1990
319. Vlad Căproiu, Marius Chiorean, Andrei Enyedi, Marius Muntean, Ce este și ce vă oferă calculatorul
IBM PC, Microinformatica, Cluj, 1990
320. Atanasiu A., Mateescu Al., Limbaje formale. Culegere de probleme, Editura Universității din
București, 1990
321. Ionescu Texe Clara, Zpako Ioan, Structuri arborescente și aplicațiile lor, Editura Tehnică, 1990
322. Vlada Marin, Posea Adrian, Nistor Ion, Constantinescu Calin, Grafica pe minicalculatoare și
microcalculatoare compatibile IBM – PC. Aplicații în limbajele PASCAL și C, Editura UB, 1991
323. Bica Florin, Bazele programării pe Personal Computer, Ed. Universității din Craiova, 1991
324. Bătătorescu Anton, Crăciunaș Silviu, Ioan Constantina, Introducere în utilizarea sistemului de
operare DOS-PC, Editura Universității din București, 1991
325. Rudeanu S., Popovici C. P., Georgescu H., Curs de bazele informaticii. Vol. II , Tipografia Univ. din
București, 1991
326. Căprariu V., Sistemul de operare DOS. Comenzi, Ed. Microinformatică, Cluj-Napoca, 1991
327. Adrian DAVIDOVICIU (coordonator), Mix şi Macro, vol 1 și 2, Editura Tehnică, Bucureşti, 1991
328. Adrian DAVIDOVICIU (coordonator), MIX şi MACRO. Tehnici de programare în limbajul
MACRO, Vol. 3, Editura Tehnică, București, 1991
329. E. Kalisz, V. Iorga, Recueil de probleme de programmation, Litografie Institutul Politehnic București,
1991
330. Ion Diamandi, Gheorghe Vass, LOGO- o nouă metodă de a învăța cu ajutorul calculatorului, Editura
Pacific, 1991
331. Ion Diamandi, Ion Odagescu, Din spectacolul Informaticii-Calculatorul personal, Editura Militară,
București, 1991
332. C. Popovici, S. Rudeanu, H. Georgescu, Bazele Informaticii (vol 2), Tipografia Universității din
București, 1991
333. Liviu Dumitrașcu, Traian Sperlea, Cristian Marinoiu, dBASE II, III, III+, IV, Editura Tehnică,
București 1991
334. *** Comenzi și Funcții FoxBase+, Imprimeria Ardealul, Cluj, 1991
335. *** Ghid de inițiere NOVELL-NETWARE, Imprimeria Ardealul, Cluj, 1991
336. Ion Diamandi, Jocuri pe calculator-Labirint, Editura GETIC, București, 1991
337. Marius Chiorean, Memento dBASE III Plus, Editura Roumain Software Comp, Cluj, 1991
338. Silviu Crăciunaș, Maria Crăciunaș, Constantina Ioan, Anton Bătătorescu, Introducere în utilizarea
sistemului de operare DOS-PC, Tipografia Universității din București, 1991
339. A. Gh. Kusmirenko, G. V. Lebedev, R. A. Svoreni, Bazele informaticii și ale tehnicii computaționale,
Editura Lumina, Chișinău, 1991
340. Octavian Bâscă, Ciprian Neacșu, Indrumător pantru limbajele C și Turbo C, Tipografia Universității
din București, 1991
341. Marius Chiorean, Rada Malai, Comenzi și Funcții FOXBASE+, Microinformatica SRL, Cluj, 1991
342. Dollinger R., Calculatoare personale. De la hardware la software, Editura NIS Electronics Cluj, 1991
343. Hockney R. W., Jesshop C. R., Calculatoare personale, Arhitectura, programare, algoritmi, Editura
TEORA, 1991
344. Cristea Valentin, Kalisz Eugenia, Athanasiu Irina, Turbo Pascal 6.0, Ed. TEORA, 1992
345. Vlada Marin, Posea Adrian, Nistor Ion, Constantinescu Călin, Grafica pe calculator în limbajele
Pascal și C - Implementare. Aplicații, vol. I, II, Ed. Tehnică, 1992
346. Cristea Valentin, Giumale Cristian, Panoiu Alexandru, Limbajul C standard, Ed. TEORA, 1992
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 429
347. Albeanu Grigore, Limbajul de programare Pascal, Tipografia Universității din București, 1992
348. Niculescu Florentina, Albeanu Grigore, Domocos Virgil, Programarea calculatoarelor. Probleme
rezolvate în limbajul Pascal, Ed. Tempus, 1992
349. Văduva I., T. Bălănescu, H. Georgescu, Ș. Gavrila, M. Gheorghe, L. Sofonea , Pascal și Turbo Pascal,
Vol 1, Limbajul Pascal, Concepte fundamentale, Ed. Tehnică,1992
350. Văduva I., T. Bălănescu, H. Georgescu, Ș. Gavrila, M. Gheorghe, L. Sofonea, Pascal și Turbo Pascal,
Vol 2, Limbajul Turbo Pascal, Ed.Tehnică, 1992
351. Marcus Solomon, Gr. C. Moisil, Opera matematică, vol.III, Editura Academiei, București, 1992
352. Cristea V., Kalisz E., Athanasiu I., Pănoiu Al., Turbo Pascal 6.0, Ed. Teora, 1992
353. Patriciu V., Sisteme de operare pentru minicalculatoare și microcalculatoare, Ed. Militară, 1992
354. Popa C., Oprea E., Utilizarea calculatoarelor personale. Sistemul de operare MS-DOS 5.0, Ed. ECCE,
1992
355. Lungu I. şi col. - Baze de date relaţionale. Utilizare a limbajului SQL PLUS, Editura ALL, Bucureşti,
1992
356. Hristea Florentina, Sistemul de programe Norton Commander, Editura Tehnică, 1992
357. Ion Ivan, Romică Adam, Structuri de date și Programe Pascal, București, 1992
358. Ion Ivan, Romică Adam, Culegere de probleme. Structuri de date, București, 1992
359. Ion Smeueanu, Ion Ivan, Programarea în limbajul C, Culegere de probleme, Editua ALFAR, Rm.
Vâlcea, 1992
360. Ioan JURCĂ, Programarea orientată pe obiecte în limbajul C++, Editura Eurobit, Timișoara, 1992
361. Valeriu IORGA, Programare in TURBO Pascal, Culegere de probleme, capitolele 1-5, Editura IVT-
TOTAL-SERV, București, 1992
362. Ion IVAN, Romică ADAM, Structuri de date și Programe Pascal, București, 1992
363. Dan SOMNEA, Teodor VLĂDUȚ, Programarea ăn ASSEMBLER, Editura Tehnică, 1992
364. Gheorghe SOFRONIE, Traian SURCEL, Constantin APOSTOL, Bazele informaticii, Editura ASE,
București, 1992
365. Mihau VOICULESCU, Adrian PANĂ, Ion NEGESCU, Bazele informaticii, Editura ASE, București,
1992
366. Valeriu Iorga Programare în Turbo Pascal. Culegere de probleme I-V, Editura IVT Total Serv, 1992
367. Ignat Iosif, Emil Muntean, Pusztai Kalman, UNIX. Gestiunea fișierelor, Editura Microinformatica,
1992
368. Valentin Cristea, Eugenia Kalisz, Irina Athanasiu, Alexandru Pănoiu, Turbo Pascal 6.0 , Editura
Teora, 1992
369. Titus Beu, Analiză numerică în Turbo Pascal, Editura Microinformatica, Cluj, 1992
370. Per Kragh Andersen, Ornulf Borgan, Richard D. Gill, Niels Keiding, Statistical Models based on
Counting Processes, Springer-Verlag, New York, 1992
371. Cornel Popa, Eugen Oprea, Utilizarea calculatoarelor personale-Sistemul de operare MS-DOS 5.0,
Editura ECCE, București, 1992
372. *** Ghid de utilizare dBASE III Plus, Imprimeria ARDEALUL, Cluj, 1992
373. Emil Muntean, dBASE IV-Ghid de utilizare, Microinformatica SRL, Cluj, 1992
374. Vasile Petrovici, PARADOX-Ghid de utilizare și nu doar atât ..., Editura Tehnică, București, 1992
375. Liviu Negrescu, Inițiere în mediul de dezvoltare integrat Turbo C, Editura Libris, Cluj, 199
376. Mircea-Mihail Popovici, BASIC pentru calculatoarele ZX, SPECTRUM, HC, TIM-S, COBRA, CIP
JET-Instrucțiuni, Exerciții, Probleme, Editura APH, București, 1992
377. Ryurick Marius Hristev, Introducere în PROLOG-un limbaj al inteligenței artificiale, Editura APH,
București, 1992
378. Liviu Negrescu, Limbajul Turbo C, Imprimeria Ardealul, Cluj, 1992
379. Davodovici A. ș.a., Sistemul de operare MIX și programarea în limbajul MACRO, Editura Tehnică,
1992
430 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
417. Boian Fl. M. Sisteme de operare interactive, Ed. Libris, Cluj-Napoca, 1994
418. Kent P., Internet, Editura Teora, 1994
419. Munteanu M., Joldos M., MS-DOS. Comenzi, Metode, Exemple, Ed. Promedia, Cluj-Napoca, 1994
420. Frenţiu M., Pârvu B., Elaborarea programelor. Editura Promedia, 1994
421. Ion Gh. Roşca (coordonator), C. Apostol, B. Ghilic-Micu, V. Roşca, Prelucrarea fişierelor în
PASCAL, Editura Tehnică, Bucureşti, 1994
422. Victor-Valeriu PATRICIU, Criptografia şi securitatea reţelelor de calculatoare cu aplicaţii în C şi
PASCAL, Editura Tehnică, București, 1994
423. Ioan Odăgescu, Cristina Copos, Daniel Luca, Metode și tehnici de programare, Editura Intact, 1994
424. Rodica Mihalca, Adina Tataru, Realizarea produselor program. metode și tehnici de analiza și
proiectare structurată, Editura Scripta, 1994
425. Lucian Vasiu, FOX PRO 2.5, Editura Tehnică, București, 1994
426. D. D. Burdescu, M. Mocanu, C. Bădică, V. Tabus, M. Brezovan, SOFTWARE, Editura SITECH,
Craiova, 1994
427. Richard E. Crandall, Projects in Scientific Computation, Springer-Verlag, New York, Inc, 1994
428. Nicolae Țăndăreanu, Introducere în programarea logică-Limbajul PROLOG, Editura Intarf, Craiova,
1994
429. Kent Peter, Internet în lecții de 10 minute, Editura TEORA, 1994
430. Petcu Dana, Calcul paralel, Editura de Vest, 1994
431. Atanasiu A., Probleme date la concursuri de informatică în 1994, Ed. Petrion 1995
432. Microsoft, Windows 95. Pas cu pas, Editura Teora, 1995
433. Pătruț B., Grafica în OOP … și nu numai …, Ed. ADIAS, 1995
434. Zoltan D. K., Turbo Vision. Programarea orientata pe obiecte în Turbo Pascal, Ed. Promedia Plus,
Cluj-Napoca, 1995
435. Jalobeanu Mihai-Stanislav, Internet, Informare și Instruire. Pași în Lumea Comunicațiilor, Editura
ProMedia Cluj, 1995
436. Sorin T., Tehnici de programare, Editura Teora, Bucureşti, 1995
437. Ion Smeureanu, Ion Ivan, Marian Dârdală, Limbajul C++ prin exemple, Editura CISON, București,
1995
438. Marin Nicolae, Stelian Niculescu, Programare în mod text – Turbo – C, Editura Tehnică, 1995.
439. Gh. Marian, C. Mușatescu, V. Iorga, Algoritmi, structuri de date și obiecte în Turbo Pascal, Editura
Secolul XXI Craiova, 1995
440. Gheorghe Păun, Artificial Life-Gramatical Models, Black Sea University Press, București, 1995
441. Grace Todino, John Strang, Jerry Peek, Învățarea Sistemului de Operare UNIX, Remsym Data SRL,
1995
442. Omezena Zaruca, K0rlatozott Garancia, Sinirh Garanti, Introducing Microsoft Windows 95,
Microsoft Corporation, 1995
443. Ion Smeureanu, Ioan Odăgescu, Daniel Luca, Marian Dârdală, Felix Furtună, Grafică interactivă pe
calculatoare personale, Editura Militară, București, 1995
444. Gavril Toderean, Mircea Costeiu, Mircea Giurgiu, Rețele neuronale artificiale, Imprimeria Ardealul,
Cluj, 1995
445. Mateescu George Daniei, Analiza numerică, Editura Universității din București, 1995
446. Popescu Ileana, Baze de date relaționale, Editura Universității din București, 1996
447. Georgescu Horia, Programare concurentă. Teorie și aplicații, Ed. Tehnică, 1996
448. Atanasiu A., R. Pintea: Probleme de informatică și programe Pascal, Ed. Petrion, 1996
449. Albeanu Grigore, Sisteme de operare, Ed. Petrion, 1996
450. Moldovan Grigor, Limbaje formale și teoria automatelor. Culegere de probleme, Universitatea din
Cluj-Napoca, 1996
451. Moldovan Grigore, Descrierea algoritmilor. Teorie și aplicații, Universitatea din Cluj-Napoca, 1996
432 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
452. Popescu I., Baze de date relaționale, Ed. Universității din București, 1996
453. Jalobeanu Mihai-Stanislav, Acces în Internet. Poșta electronică și Transferul de fișiere, Ed. Promedia-
Plus (Seria PC Software), 1996
454. Albescu F., Sisteme expert în contabilitatea financiară, Editura Sofitech, Bucureşti, 1998
455. Editura Grookin D., MS-DOS pentru toţi, Editura Teora, Bucureşti, 1996
456. Liviu Negrescu, Limbajele C si C++ pentru începători: vol. 2, Limbajul C++, Editura Albastră, Cluj-
Napoca, 1996
457. Ion Gh. Roşca (coordonator), C. Apostol, B. Ghilic-Micu, V. Roşca, Introducere în programare.
Teorie şi practică Pascal, Casa de Editură şi Presă Viaţa Românească, Bucureşti, 1996
458. Popovici M. Dorin, Popovici Ioan Mircea, Tănase Iustin, Tehnologia orientată pe obiecte. Aplicații,
Editura TEORA, 1996
459. Valeriu Iorga, B. Jora, C. Nicolescu, I. Lopătan, I. Fătu, Programare numerică, Editura Teora, 1996
460. Andrew S. Tanenbaum, Computer Networks (3rd edition), Prentice Hall Inc, 1996
461. Larry Peterson, Bruce Davie, Computer Networks- A Systems Approach, Morgan Kaufmann
Publisher, 1996
462. Ronald J. Norman, Object-oriented Systems Analysis and Design, Prentice-Hall Inc, SUA, 1996
463. Per Brinch Hansen, The Search for Simplicity-Essays in Parallel Programming, IEEE Computer
Society Press, 1996
464. Edward A. Bender, Mathematical methods in Artificial Inteligence, IEEE Computer Society Press,
1996
465. Gheorghe Tecuci, Dan Tufiș s.a, Introducere în INTERNET-note de curs, Editura Tehnică, București,
1996
466. Daniel Ichbiah, Susan Knepper, O istorie a firmei Microsoft, Editura Teora, București, 1996
467. Jason Manger, Netscape Navigator, Editura Teora, București, 1996
468. Mihai Anton Cerghizan, EXCEL 7.0 pentru Windows 95, Editura Tehnică, București, 1996
469. Popescu Ileana, Baze de date relaționale, Editura Universității din București, 1996
470. Atanasiu A., Pintea A., Culegere de probleme de Pascal, Editura PETRION, 1996
471. Tudor Sorin, Algoritmi și limbaje de programare, Editura L&S Infomat, 1996
472. Tomescu Ioan, Data Structures, Bucharest University Press, Bucharest, 1997
473. Atanasiu A., Bazele matematica în scrierea compilatoarelor, Colecția Gaudeamus, Ed.Olimp, 1997
474. Văduva I., Gh. Barbu, M. Boloșteanu, Bazele Informaticii, Ed. Tehnică, București, 1997
475. Rudeanu S., Lecții de calculul predicatelor și calculul propozițiilor,Tipografia Editura Univ. din
București, 1997
476. Roșca I., Ecuații cu derivate parţ̦iale, Editura Universității din București, 1997
477. Văduva I., Barbu Gh., Bazele Informaticii, Editura Tehnică, 1997
478. Rus Vasile, Fondarea informaticii clujene, Ed. Albastră, Cluj-Napoca, 1997
479. Davidescu N. şi col., Produse program generalizabile în domeniul financiar contabil. Aplicaţii în
informatica de gestiune, Editura Didactică şi Pedagogică, 1997
480. Valentin Cristea, Irina Athanasiu, Eugenia Kalisz, Valeriu Ioga. Tehnici de programare, Editura
TEORA, București, 1997
481. Dorin IRIMESCU, Cristian MORĂRESCU, Programmieren mit C und C++, Editura Printech,
București, 1997
482. Sabin GORON, Dan RACOVIȚAN, Cornelia PAVLIC, Programare şi exemple în limbajul Turbo
Pascal, Editura Risoprint, Cluj-Napoca, 1997
483. Octavian BÂSCĂ, Baze de date, Editua ALL, București, 1997
484. Gheorghe MUSCĂ, Programare în limbaj de asamblare, Editura Teora, București, 1997
485. Ion LUNGU, Mioara UDRICĂ, Marius MAREȘ, Bazele informaticii, Editura Fundaţiei România de
Mâine, Bucureşti, 1997
ISTORIA INFORMATICII ROMÂNEȘTI. APARIȚIE, DEZVOLTARE ȘI IMPACT 433
486. Stelian Niculescu, Sorin Eftene, Programarea calculatoarelor, Editura Didactică și Pedagogică,
Manual pentru Licee de informatică, clasa a X-a, 1997.
487. Valeriu Iorga, Eugenia Kalisz, Cristian Țăpuș, Concursuri de Programare. Probleme și soluții, Editura
Teora, 1997
488. Augustin Purnus, Nicolae Ene, PROJECT 4.0 in managementul proiectelor cu aplicații, Editura
Tehnică, București, 1997
489. Mickey Williams, Bazele Visual C++4, Editura Teora, București, 1997
490. Martin L. Rinehart, Sa invatam C++ pas cu pas, Editura Tehnică, București, 1997
491. Phillip A. Laplante, Real-Time Systems Design and Analysis-an Engineer's Handbook (secund
edition), IEEE Inc., 1997
492. L. Ivaner, Lexiconul Hackerilor, Editura Promedia Plus, Cluj, 1997
493. Mark Chan, Steven Griffith, Anton Iasi, JAVA-1001 secrete pentru programatori, Editura Teora,
București, 1997
494. David Geary, Grafic JAVA-mastering the AWT, Sun Micrisystems press, SUA, 1997
495. John Rodley, Writing JAVA applets, Coriolis Group Inc, SUA, 1997
496. Cay Horstmann, Gary Cornell, Core JAVA-Fundamentals (vol 1), Sun Microsystems Press Inc.,
SUA, 1997
497. Ian Graham, HTML Sourcebook(3rd edition), John Willey&Sons Inc, New York, 1997
498. Stephen Wynkoop, Using Microsoft SQL Server 6.5 (secund edition), Que Corporation, SUA, 1997
499. Gabriela Dumencu, Anca Uriciuc, Iulian Luca, Valeriu Lupu, FOX DOS WORD-Culegere de
probleme rezolvate, Fundația Fortuna, Suceava, 1997
500. Schildt Herbert, C++ manual complet, Editura TEORA, 1997
501. Tudor Sorin, Bazele programării în C++, Editura L&S Infomat, 1997
502. Niculescu Stelian, Eftene Sorin, Programarea calculatoarelor. Manual pentru clasa a X-a, Didactică și
Pedagogică, 1998
503. Atanasiu A., Introducere în lingvistica computațională, Tipografia Universității din București, 1998
504. Guy H. D., Word 7 sub Windows 95, Editura Teora, 1998
505. Microsoft, Excel 97, Pas cu pas, Editura Teora, 1998
506. Microsoft, Totul despre Windows NT. Server 40., Editura Teora, 1998
507. Microsoft, Windows 98, Editura Teora, 1998
508. Pătruț B., Internet pentru începători, Editura Teora, 1998
509. Somnea D., Inițiere în JavaScript și tehnologii Netscape, Editura Tehnică, 1998
510. Davies W., Barber A., Teleinformatica. Reţele de calculatoare şi protocoalele lor, Editura Tehnică,
1983
511. Jomsa K., Cape K., Programarea aplicaţiilor Internet, Editura ALL, Bucureşti, 1998
512. Năstase P., Năstase F., Internet World Wide Web JavaScript-HTML-Java, Editura Economică,
Bucureşti, 1998
513. Patriciu V. şi col., Securitatea informatică în UNIX şi Internet, Editura Tehnică, 1998
514. Zaharie D., Năstase P. şi col. Sisteme Expert Editura S.C. Ştiinţă si Tehnică S.A., Bucureşti, 1998
515. Ion Smeueanu, Ion Ivan, Marian Dârdală, Structuri de date și obiecte în C++, Editura CISON,
București, 1998
516. Sorin Tudor, Bazele programarii în C++, Editura L&S, București, 1998
517. Ion Smeureanu, Marian DÂRDALĂ, Ion Ivan, Structuri și obiecte in C++ , Note de curs și teste grilă,
, Editura CISON, București, 1998
518. Pavel NĂSTASE, Floarea NĂSTASE, INTERNET World Wide Web JavaScript - HTML - Java, Ed.
Economică, 1998
519. Ion Gh. Roşca (coordonator), C. Apostol, B. Ghilic-Micu, V. Roşca, Programare sistematică în
Pascal, Editura Didactică şi Pedagogică, 1998
520. Sabin GORON, Turbo Pasca. Teorie, exemple, Editura Risoprint, Cluj-Napoca , 1998
434 MARIN VLADA (ed. coord.), Proiectul ROINFO 2018-2020
521. Vasile LUNGU, Gheorghe PETRESCU, Zoe RACOVIȚĂ, Programare în limbaj de asamblare.
Îndrumar de laborator; Probleme, Editura UPB, București, 1998
522. V. Cristea, I.Athanasiu, E.Kalisz, V. Iorga, Tehnici de Programare, Editura Teora, 1998
523. Tempus S. , Restructurarea perfecționarii profesorilor de informatică-1997/1998, Computer Libris
Agora, Cluj, 1998
524. Silviu Petrescu (traducător), Securitatea în INTERNET, Editura Teora, București, 1998
525. John Shapley Gray, Interproces Communications in UNIX (secund edition), Prentice Hall PTR, 1998.
526. Cerchez E., Șerban M., Sisteme de calcul, Editura PETRION, 1998
527. Pătruț B., Algoritmi și limbaje de programnare, Editura TEORA, 1998
528. Vlada Marin, Informatică - Sisteme de calcul, Sisteme de operare, Medii de rezolvare, Mediul
Internet, Editura Ars Docendi, 1999
529. Roșca I., Analiză numerică, Editura Universităţ̦ii din București, 1999
530. Moldovan Grigor, Limbaje formale și tehnici de compilare, Universitatea din Cluj-Napoca, 1999
531. Courter G., Marquis A., Inițiere în Microsoft Office 2000, Ed. ALL, 1999
532. Taylor D., Crearea paginilor WEB cu HTML 4, Editura TEORA, 1999
533. Goron S., Proiectarea orientată a produselor program, Editura Risoprint, Cluj-Napoca, 1999
534. Ion Gh. Roşca, C. Apostol, B. Ghilic-Micu, V. Roşca, M. Stoica, Ghid de operare Turbo-Pascal,
Editura ASE, Bucureşti, 1999
535. Andrew Tanenbaum, Organizarea structurată a calculatoarelor, Editura Agora, 1999
536. Stelian Niculescu, Rodica Pintea, Tehnologia informației, Editura Didactica și Pedagogică, Manual
pentru clasa a IX-a, 1999.
537. Stelian Niculescu, Emanuela Cerchez, Dana Lica, Marinel Șerban, Dorin Manz, Doru Popescu
Anastasiu, Anca Voicu și Emil Onea, Bacalaureat și atestat, Editura L&S, 1999
538. Stelian Niculescu, Lucian Butnaru, Vasile Butnaru, Informatică, Manual clasa a IX-a, Editura
Didactică și Pedagogică, 1999
539. Gabriel si Mihai Dima, FOXPRO 2.6 sub Windows, Editura Teora, 1999
540. Bogdan Pătruț, Aplicații în C și C++, Editura Teora, București, 1999
541. Kevin Marlove, Utilizare ACCESS 97, Editura Teora, București, 1999
542. Dorin Zaharie, Pavel Nastase, Felecia Albescu s.a, Sisteme expert- Teorie și Aplicații, Editura Dual
Tech, București, 1999
543. Tudor S., Cerchez E., Șerban M., Informatică. Varianta C++, manual pentru clasa a IX-a, Editura
L&S Infomat, 1999
544. Lica D., Onea E., Informatică, Editura L&S Infomat, 1999
545. Niculescu St., Cerchez E., Șerban M., Lica D., Onea E., Maraz D., Popescu D., Voicu A., Bacalaureat
și atestat la Informatică, Editura L&S Infomat, 1999
546. Pintea R., Oprescu D., Grigoriu D., Bălănescu C., Teste de sinteză în programare, Editura L&S
Infomat, 1999
547. Rancea D. ș.a., Informatică, Editura Computer Libris, Agora, 1999
548. Hristea Florentina, Introducere în procesarea limbajului natural cu aplicații în Prolog. Editura
Universității din București, 2000
549. Stelian Niculescu, Vasile Butnaru, Marius Vlad, Manual clasa a X-a, Editura TEORA, 2000
550. Dana Lica, Emil Onea, Informatică-manual pentru clasa a X-a, Editura ProGnosis, 2000
551. Ovidiu Aurelian Blajina, Bazele programării în limbajul C++, Editura Printech, București, 2000
552. Bogdan Matu, Dan Crisu, INTERNET & WORLD WIDE WEB, Editura Tehnică, București, 2000
553. Mariana Popa, Word, Access în 5 lecții, Editura Fundației România de mâine, București, 2000
554. Bogdan Ionescu (coordonator) s.a, Instrumente informatice pentru birotică: Word, Power Point,
Outlook, Front Page, Editura Dual Tech, București, 2000
555. Tudor Sorin, Informatică. Tehnici de programare. Varianta C++, Editura L&S Infomat, 2000
556. Tudor Sorin, Informatică. Tehnici de programare. Varianta Pascal, Editura L&S Infomat, 2000
I N D E X AUTORI