Curs 1 17 Februarie Adrian Iftene

Similar documents
Versionare - GIT ALIN ZAMFIROIU

Metrici LPR interfatare cu Barix Barionet 50 -

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban

Olimpiad«Estonia, 2003

Capitolul IV Utilizarea bazelor de date în Internet

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND

GHID DE TERMENI MEDIA

Procesarea Imaginilor

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows

3.2 Arhitectura setului de instrucţiuni ISA. Copyright Paul GASNER

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin

Lucrarea Nr.1. Sisteme de operare. Generalitati

Mods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip

The First TST for the JBMO Satu Mare, April 6, 2018

Auditul financiar la IMM-uri: de la limitare la oportunitate

Mecanismul de decontare a cererilor de plata

Evoluția pieței de capital din România. 09 iunie 2018

A Compared Aproach: ASP versus PHP

Inginerie Inversă şi Tehnici de Protecţie

Class D Power Amplifiers

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N

Subiecte Clasa a VI-a

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila

Figura x.1 Ecranul de pornire al mediului de dezvoltare

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii

Prima. Evadare. Ac9vity Report. The biggest MTB marathon from Eastern Europe. 7th edi9on

Documentaţie Tehnică

Baze de date distribuite și mobile

ISBN-13:

SPREADING CODES 1. INTRODUCTION. Ion POPA Societatea Română de Televiziune Studioul Teritorial Iaşi

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET

ANTICOLLISION ALGORITHM FOR V2V AUTONOMUOS AGRICULTURAL MACHINES ALGORITM ANTICOLIZIUNE PENTRU MASINI AGRICOLE AUTONOME TIP V2V (VEHICLE-TO-VEHICLE)

Propuneri pentru teme de licență

Game Programming Algorithms And Techniques: A Platform-Agnostic Approach (Game Design) Ebooks Free

Printesa fluture. Мобильный портал WAP версия: wap.altmaster.ru

Update firmware aparat foto

Modalitǎţi de clasificare a datelor cantitative

SAG MITTIGATION TECHNICS USING DSTATCOMS

CHAMPIONS LEAGUE 2017 SPONSOR:

3. CLOUD COMPUTING Sisteme de calcul distribuite

CERERI SELECT PE O TABELA

Candlesticks. 14 Martie Lector : Alexandru Preda, CFTe

DESIGN AND FABRICATION WITH ELECTRON BEAM LITHOGRAPHY OF A DIFFRACTIVE OPTICAL ELEMENT

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A.

Capete terminale şi adaptoare pentru cabluri de medie tensiune. Fabricaţie Südkabel Germania

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date.

Cristina ENULESCU * ABSTRACT

SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL PCSPIM UAL DPE. Fig.1. Structura unui sistem de calcul

AUTOMATED MEASUREMENT SETUP FOR MICROCONTROLLERS AND MAGNETIC SENSORS

MASKING THE INSTRUCTIONS OF A MICROCONTROLLER USING A CHAOTIC POWER SUPPLY

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )

2018 PORTFOLIO CINE DON T TEXT SKUT BURN ALPECIN

Eficiența energetică în industria românească

ARHITECTURA CALCULATOARELOR LABORATOR PROGRAMĂ ANALITICĂ OBIECTIVE CURS. Obiective educaţionale: Profesor Mihai ROMANCA

Planificarea anuala a activitatii de invatare clasa a 9-a (L3) Manualul: ENTERPRISE 2

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs

INSTRUMENTE DE MARKETING ÎN PRACTICĂ:

9. CURSOARE. Obiective. În acest Capitol, vom învăţa despre: Manipularea cursoarelor. Folosirea Cursor FOR Loops şi Nesting Cursors.

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm

Universitatea Politehnica București. Facultatea de Electronică, Telecomunicații și Tehnologia Informației

SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL QTSPIM UAL DPE. Fig.1. Structura unui sistem de calcul

INTERPRETOARE DE COMENZI

VIRTUAL INSTRUMENTATION IN THE DRIVE SUBSYSTEM MONITORING OF A MOBIL ROBOT WITH GESTURE COMMANDS

Managementul Proiectelor Software Metode de dezvoltare

Rem Ahsap is one of the prominent companies of the market with integrated plants in Turkey, Algeria and Romania and sales to 26 countries worldwide.

METODE DE EVALUARE A IMPACTULUI ASUPRA MEDIULUI ŞI IMPLEMENTAREA SISTEMULUI DE MANAGEMENT DE MEDIU

MANAGEMENTUL CALITĂȚII - MC. Proiect 5 Procedura documentată pentru procesul ales

ASAMBLOARELE SI PROCESUL DE ASAMBLARE

Managementul referinţelor cu

Transmiterea datelor prin reteaua electrica

Ierarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple. Memoria cache Memoria virtuală

Curs 08. Bazele Roboticii. Programarea roboților. Gigel Măceșanu

LIDER ÎN AMBALAJE EXPERT ÎN SISTEMUL BRAILLE

USING MOBILE AGENTS FOR INFORMATION RETRIEVAL IN B2B SYSTEMS

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

A Die-Linked Sequence of Dacian Denarii

PROIECT. La Baze de date. Evidența activității pentru o firmă IT. Îndrumător: ș. l. dr. ing. Mirela Danubianu. Efectuat de: Grigoriev Sergiu gr.

Sisteme de Operare Avansate

A NOVEL ACTIVE INDUCTOR WITH VOLTAGE CONTROLLED QUALITY FACTOR AND SELF-RESONANT FREQUENCY

BAZE DE DATE LECTOR DR. ADRIAN RUNCEANU

Programming Arduino Next Steps: Going Further With Sketches PDF

Nume şi Apelativ prenume Adresa Număr telefon Tip cont Dobânda Monetar iniţial final

Reţele Neuronale Artificiale în MATLAB

Proiectarea bazelor de date # 11. PL/SQL Funcții în PL/SQL (partea a II-a) Adrian Runceanu

Metoda de programare BACKTRACKING

The driving force for your business.

6. Excepţii şi aserţiuni. 6. Excepţii şi aserţiuni

Programare Vizuală. Curs. Ingineria Sistemelor. Dr.ing. Loredana STANCIU, PhD

BAZE DE DATE LECTOR DR. ADRIAN RUNCEANU

PACHETE DE PROMOVARE

Sisteme distribuite teorie 5. Semantica esecurilor în RPC. Comunicatie în grup

Introduction to Software Engineering

INPUT MODELLING USING STATISTICAL DISTRIBUTIONS AND ARENA SOFTWARE

GESTIUNEA BAZELOR DE DATE

Relational and Object-Oriented Methodology in Data Bases Systems

Implementation of a Temperature Control System using ARDUINO

Normalizarea tăriei sonore şi nivelul maxim permis al semnalelor audio

Transcription:

Curs 1 17 Februarie 2011 Adrian Iftene adiftene@info.uaic.ro 1

Limbajele calculatorului Compilate Interpretate Scripting P-cod Orientate pe aspect Orientate spre date 2

Cum lucrează? Orice program trebuie să se execute ca un şir de octeţi care sunt instrucţiuni în limbaj maşină al calculatorului Limbajele de asamblare de nivel jos Limbaj de nivel înalt: codul sursă al unui program trebuie tradus în cod maşină pe care maşină să poată de fapt să-l ruleze 3

După nivelul de apropiere al acestora de limbajul natural După modul de traducere După scopul pentru care au fost proiectate După modul de restricționare 4

Limbaje de nivel scăzut: limbajul de asamblare; Limbaje de nivel mediu: C, C++; Limbaje de nivel înalt: Java, PHP, Prolog, Pascal, Matlab, Python etc; 5

Sunt de 2 tipuri: procedurale și declarative Se pot clasifica și în interpretate sau compilate Limbajele de nivel foarte înalt limbajele de generația a patra, limbajele de interogări baze de date si limbajele vizuale (de exemplu, Visual Basic) În aceasta categorie pot fi incluse si limbajele de nivel comandă (exemple, Shell Unix, DOS Batch Command Language) 6

Limbaje compilate (necesită un compilator) Limbaje interpretate (necesită un interpretor) Limbaje P-cod (necesită și compilator și interpretor) 7

Limbajele compilate sunt traduse în fişiere executabile de cod maşină de un program special numit compilator Odată ce binarul a fost generat acesta poate fi rulat direct Limbajele compilate au o performanţă foarte bună şi au cel mai mult acces la SO Dezavantajul este ca un program să fie compilat trebuie sa fie destul de rigid si restrictiv Exemple: C, C++, FORTRAN, Pascal, COBOL 8

Ada ALGOL SMALL Machine Algol Like Language BASIC C C++ C# CLEO CLush COBOL Lisp Corn D Fortran Haskell Java Nemerle Ocaml Pascal Prolog Scheme Standard ML Visual Basic Visual Foxpro Visual Prolog 9/48

Un limbaj interpretat depinde de un program interpretor care citeşte codul sursă şi îl traduce pe loc în calcule şi chemări de sistem Sursa trebuie să fie re-interpretată (şi interpretorul prezent) de fiecare dată când codul este executat. Limbajele interpretate sunt mai încete decât limbajele compilate, şi deseori au acces limitat la sistemul de operare şi hardware-ul intern Pe de altă parte, ele tind să fie mai uşor de programat şi mai iertătoare la erori de codare decât limbajele compilate 10

Cum funcționează un interpretor? Funcționează în felul următor: preia prima comanda din codul sursa, o traduce în limbajul mașină și o execută, apoi a doua comandă și tot așa. Avantaje: flexibilitatea sporită (variabilele nu trebuie declarate) întreținerea este simplificată (orice modificare se reflectă imediat in program) Dezavantaje: viteza de execuție scăzuta (datorită interpretării pas cu pas) împreună cu programul trebuie distribuit interpretorul 11/48

Exemple: multe utilitare Unix, incluzând shellul şi bc(1) şi sed(1) şi awk(1). La fel şi Tcl Istoric, cel mai importante limbaj interpretor a fost LISP Astăzi Perl este foarte folosit şi creşte în popularitate constant Exemple: APL, AutoIt scripting language, BASIC, CodeSimian, Databus, Forth, Frink, J, Lisp, Lush, Pascal, REXX, VBScript, Some scripting languages 12

AWK AppleScript BeanShell Ch CLIST ColdFusion ActionScript, DMDScript, JavaScript, Jscript EXEC, EXEC 2 F-Script Frink Groovy ICI Io JASS Lua Mondrian Perl PHP Python REXX Ruby Sed Tcl Revolution VBScript 13/48

Limbajele P-cod sunt ca limbajele compilate în sensul că sursa este tradusă la o formă binară compactă care este ceea ce executaţi de fapt, dar acea formă nu este cod maşină În loc este pseudocod (sau p-cod), care este de obicei mult mai simplu dar mai puternic decât un limbaj maşină advărat. Când rulaţi programul, interpretaţi p-codul P-codul poate rula aproape la fel de repede ca binarul compilat Limbajele importante p-cod includ Python şi Java 14

Limbaje de uz general: C, C++, Pascal; Limbaje specializate: Prolog, SQL Limbajele de uz general sunt folosite pentru rezolvarea majorității problemelor de programare Limbajele specializate sunt folosite pentru rezolvarea problemelor dintr-un domeniu restrâns. De exemplu Prolog pentru aplicațiile de inteligență artificială, SQL pentru bazele de date. 15

Limbaje tipizate: C, C++, Pascal, Java; Limbaje netipizate: Perl, PHP; Limbajele tipizate impun anumite restricții asupra operațiilor care se aplică anumitor date Limbajele netipizate sunt cele care nu impun restricții și oferă o flexibilitate sporită 16/48

AOP is a programming paradigm which isolates secondary or supporting functions from the main program s business logic AOP increases modularity by allowing the separation of crosscutting concerns AOP includes programming techniques and tools that support the modularization of concerns at the level of the source code 17

Cross-cutting concerns - aspects of a program which affect other concerns Advice - additional code Pointcut - point where additional code is executed Aspect - the combination of the pointcut and the advice 18

Exemple: AspectJ, CaesarJ, CLOS, Compose, JAsCo, ObjectTeams 19

aspect pointcut advice 20

Problem: we want to know when something changes the student (name or grade) Solution: we add a pointcut for all set methods 21

Problem: we want to trace our program execution Solution: we add a pointcut for all methods set println tostring 22

Cum lucrează limbajele calculatorului: http://www.itim- cj.ro/%7ejalobean/cursuri/fundamental/unix-internet- Fundamentals-HOWTO-12.html Listă de limbaje de programare după categorie: http://ro.wikipedia.org/wiki/listă_de_limbaje_de_programare_du pă_categorie.htm Clasificarea limbajelor de programare: http://www.worldit.info/articole/clasificarea-limbajelor-deprogramare/ 23