Linguaggi di programmazione

 

 


 

Linguaggi di programmazione

 

I testi seguenti sono di proprietà dei rispettivi autori che ringraziamo per l'opportunità che ci danno di far conoscere gratuitamente a studenti , docenti e agli utenti del web i loro testi per sole finalità illustrative didattiche e scientifiche.

Le informazioni di medicina e salute contenute nel sito sono di natura generale ed a scopo puramente divulgativo e per questo motivo non possono sostituire in alcun caso il consiglio di un medico (ovvero un soggetto abilitato legalmente alla professione).

 

Linguaggi di programmazione

 

Introduzione

Un  linguaggio un programmazione consente di esprimere gli algoritmi in modo "umano", incomprensibile alla macchina, la quale è in grado di eseguire esclusivamente istruzioni codificate in modo binario, cioè con una sequenza di 1 e 0 (che rappresentano, a loro volta, la presenza o l'assenza di una tensione elettrica). E' perciò indispensabile che il sorgente del programma (cioè il file contenente il testo scritto dal programmatore in un dato linguaggio di programmazione) venga elaborato e trasformato in una sequenza di codici binari significativi per l'elaboratore. Gli strumenti generalmente utilizzati allo scopo rientrano in due categorie: interpreti e compilatori.

 

Interprete

L'interprete è un programma in grado di leggere un sorgente in un certo linguaggio e, istruzione per istruzione, verificarne la sintassi, effettuarne la traduzione in linguaggio macchina e far eseguire al microprocessore della macchina il codice binario generato. La logica con cui l'interprete lavora è proprio quella di un … interprete: se la medesima istruzione viene eseguita più volte (ad esempio perché si trova all'interno di un ciclo), ad ogni iterazione ne viene verificata la correttezza sintattica, ne è effettuata la traduzione, e così via. L'esecuzione del programma può essere interrotta in qualunque momento ed è possibile modificarne una parte, per poi riprendere l'esecuzione dal punto di interruzione. L'interprete è inoltre in grado di interrompere spontaneamente l'esecuzione quando rilevi un errore di sintassi, consentire al programmatore la correzione dell'errore e riprendere l'esecuzione dall'istruzione appena modificata.
E' facile intuire che la programmazione interpretata facilita enormemente le varie fasi di sviluppo e correzione del programma; tuttavia essa presenta alcuni pesanti svantaggi: il programma "gira" lentamente (perché ogni istruzione deve essere sempre verificata e tradotta, anche più volte nella medesima sessione di lavoro, prima di essere eseguita) ed inoltre può essere eseguito solo ed esclusivamente attraverso l'interprete. Un esempio classico di linguaggio interpretato (nonostante ve ne siano in commercio versioni compilate o miste) è il Basic.

 

Compilatore

Anche in questo caso l'obiettivo di fondo è tradurre in linguaggio macchina un sorgente scritto in un linguaggio di programmazione affinché l'elaboratore sia in grado di eseguirlo; tuttavia l'approccio al problema è sostanzialmente diverso. Il sorgente viene letto dal compilatore, che effettua il controllo sintattico sulle istruzioni e le traduce in linguaggio macchina. Il risultato della traduzione è scritto in un secondo file, detto object file. Questo non è ancora eseguibile dal microprocessore, in quanto non incorpora il codice binario delle funzioni esterne al linguaggio: è dunque necessaria una fase ulteriore di elaborazione, alla quale provvede il linker, che incorpora nell'object file gli object file contenenti le funzioni esterne, già compilate in precedenza, solitamente raccolti in "contenitori" detti librerie. Il linker produce in output un terzo file, il programma vero e proprio, direttamente eseguibile dal microprocessore con la sola intermediazione del sistema operativo. Per eseguire il programma, dunque, non servono né compilatore o linker, né, tantomeno, il file sorgente. I vantaggi rispetto all'interprete, in termini di velocità e semplicità di esecuzione, sono evidenti, a fronte di una maggiore complessità del ciclo di sviluppo. Infatti il compilatore, nel caso in cui rilevi errori nel sorgente, li segnala e non produce alcun object file.
Il programmatore deve analizzare il sorgente, correggere gli errori e ritentare la compilazione: detta sequenza va ripetuta sino a quando, in assenza di segnalazioni d'errore da parte del compilatore, viene prodotto un object file pronto per l'operazione di linking. Anche in questa fase potranno verificarsi errori: il caso classico è quello della funzione esterna non trovata nella libreria. Anche questa volta occorre analizzare il sorgente, correggere l'errore (il nome della funzione potrebbe essere stato digitato in maniera errata) e  ripetere non solo il linking, ma anche la compilazione.
Solo in assenza di errori tanto nella fase di compilazione quanto in quella di linking si può ottenere un file eseguibile; in altre parole: il programma e funzionante.
Il C rientra a pieno titolo nella folta schiera dei linguaggi compilati (insieme a Cobol e Fortran, per fare qualche esempio).

 

Ada

Linguaggio di programmazione ad alto livello con strutture di controllo per la programmazione parallela e delle eccezioni. Creato dal dipartimento della difesa (DOD) degli USA nei primi anni '80, trae origine dal Modula-2 e dal Pascal. Questo linguaggio di programmazione prende il nome da Augusta Ada Byron contessa di Lovelace, figlia del poeta romantico George Byron. All'età di 18 anni conobbe Charles Babbage, matematico inglese inventore e fautore della calcolatrice meccanica denominata "Analytical Engine". Ada Byron scrisse come programmare la macchina per calcolare i numeri di Bernoulli, ma quel che più conta è la sua intuizione, avuta con notevole anticipo sui tempi, riguardo l'utilizzo della Macchina di Babbage nel campo della musica, della grafica e di altre discipline. Per questo Ada Byron viene considerata la prima programmatrice nella storia dell’informatica.

 

Api

Application Program Interface. Interfaccia per programmi applicativi. Struttura fondamentale dei sistemi operativi e dei package per lo sviluppo di applicazioni.

 

Applet

Programma scritto con il linguaggio Java, da eseguire su pagine web con possibilità di interattività per l’utente e che ha quindi bisogno della presenza di un browser per essere eseguito.

 

Asp

Active server pages. Una pagina asp e' un file di testo con l'estensione .asp contenente codice html, più un linguaggio di scripting (vbscript tipicamente). Le pagine asp sono state "create" da microsoft per poter gestire una comunicazione client - server e poter sviluppare pagine attive, cioè il cui contenuto e' calcolato a runtime. Le pagine asp facilitano l'interfacciamento di un sito con un database o con oggetti com (component object model).

 

Assembly language

L'assembly è il linguaggio costituito dai soli numeri 0 e 1 ed è "comprensibile" direttamente dalla CPU. E' il codice che ha le stesse strutture e lo stesso insieme di comandi (pop, push, move, add etc.) del linguaggio macchina. Ogni processore (CPU) ha il proprio assembly language e quindi il proprio linguaggio macchina. Solitamente i programmi scritti direttamente in assembly dal programmatore venivano eseguiti piu' rapidamente di quelli scritti in un linguaggio ad alto livello. I programmi scritti direttamente in assembly potevano essere piu' compatti rispetto all'assembly prodotto da un compilatore, ma questo era vero solo fino allo scadere degli anni '80. L'assembly language spesso viene chiamato soltanto "assembler"; in realtà l'assembler è un'altra cosa, ovvero, e' il programma che trasforma le istruzioni da assembly language (oppure "assembly") in codice macchina.

 

Basic

Beginners All-purpose Symbolic Instruction Code. Fu progettato e realizzato a metà anni '60 al Dartmouth College (Ohio) da John. G. Kemeney e Thomas Kurtz. E' stato un linguaggio di programmazione molto usato anche in ambiente scolastico negli anni '70-80. Oggi esistono numerose implementazioni e nuovi sviluppi di tale linguaggio, per esempio, nel Visual Basic di Microsoft e' stata aggiunta la programmazione ad oggetti.

 

C

Uno dei piu' diffusi linguaggi di programmazione che combina istruzioni di alto livello con controllo di macchina a basso livello. Sviluppato da Dennis M.Ritchie e Brian W.Kernighan nel 1972 come modifica del linguaggio B di Ken Thompson. Originariamente è stato progettato sul sistema operativo Unix. Ritchie e' stato co-designer anche di questo sistema operativo.

 

C++

Estensione del linguaggio di programmazione C che permette la programmazione ad oggetti. Questo linguaggio e' stato realizzato da Bjarne Stroustrup.

 

Cobol

Common Business Oriented Language. Linguaggio di programmazione implementato nel 1959-60, molto diffuso anche oggi in ambiente aziendale. Secondo la classificazione dei linguaggi, il COBOL, come il FORTRAN, e' un linguaggio statico ossia la memoria richiesta per l'esecuzione del programma e' già nota in compilazione. COBOL-85 e' il linguaggio standardizzato, promosso da CODASYL. Nonostante gli aggiornamenti e "tools" di sviluppo, che permettono ai programmi scritti con questo linguaggio di operare con database relazionali e Internet, le applicazioni COBOL vengono definite legacy.
Il COBOL ha introdotto per primo il prodotto cartesiano. I costruttori del prodotto cartesiano per questo linguaggio sono i record. Le n-ple di attributi quali nome, cognome, indirizzo, città, cap, etc. vengono descritte da record.

 

Dhtml

In realtà DHTML non esiste, almeno non nel senso in cui esiste HTML, infatti si basa sulla convergenza di più tecnologie già esistenti:

  • HTML  che definisce la struttura della pagina Web
  • CSS, il foglio di stile di HTML
  • Uno dei linguaggi di script esistenti come Javascript o vbscript (ma in teoria se ne possono usare anche altri, purché il browser sia in grado di interpretarli)

Fortran

Il nome deriva dalla contrazione dei termini FORmula - TRANslation. Realizzato John Backus per l 'Ibm nel 1954, e' un linguaggio di programmazione usato per scopi scientifici e matematici.

 

Html

Hypertext Mark-Up Language. Insieme di marcatori per la formattazione del testo, finalizzata alla costruzione di pagine web.

 

 

Java

Linguaggio ad oggetti, sviluppato nel 1991 dalla Sun Microsystem (specializzata nella realizzazione di Macchine Unix). E' stato creato inizialmente per realizzare software efficiente ed esportabile su una vasta gamma di elettrodomestici. Solo nel 1994 questo linguaggio ha riscontrato un interesse sia commerciale sia nell'ambito della programmazione, grazie a hotjava, il Browser prodotto dalla Sun. Quello che distingue Java dagli altri linguaggi di programmazione e' la sua portabilità nelle diverse piattaforme (computer) e nei diversi sistemi operativi, (Windows, MacOs, Solaris ecc). Infatti e' trasportabile su altri sistemi operativi non solo il file sorgente (con le librerie di classi fondamentali) ma addirittura il file binario. In altri termini il file sorgente, una volta compilato, ad esempio su un sistema Windows, ed è quindi eseguibile su processore Intel e compatibili, è eseguibile anche su altre architetture. Per esempio, l'applicazione in Java nei PC, può essere eseguita anche nei Macintosh (processori powerpc). Se tutti i programmi fossero scritti in Java, anziché in altri linguaggi, non ci sarebbero piu' problemi di compatibilità tra le diverse piattaforme.
Non abbiamo detto che, essendoci di mezzo l'interprete del bytecode, conosciuto con il nome di Java Virtual Machine (JVM) le applicazioni Java vengono eseguite meno velocemente rispetto a quelle scritte in un linguaggio tradizionale.

 

 

Jdbc

E' un'interfaccia scritta in linguaggio Java per eseguire comandi SQL (come curiosità JDBC e' un marchio registrato, non un acronimo, tuttavia si pensa che stia per "Java database Connectivity"). Usando JDBC si possono mandare comandi SQL virtualmente a qualsiasi database relazionale. In altre parole non serve scrivere un programma per accedere a "Sybase" e un'altro per "Oracle", ma basterà scrivere un unico programma e trovare un "driver" adatto al proprio database.

 

Jdk

Java Development Kit. Ambiente di sviluppo per programmatori, comprensivo di tutti gli strumenti necessari alla scrittura, alla compilazione ed al debugging di applicazioni in Java.

Linguaggio di alto/basso livello

Per linguaggio a basso livello si intende un linguaggio piu' comprensibile (vicino) alla macchina piuttosto che al programmatore, viceversa, per alto livello si intende tutto ciò che e' piu' intuitivo e comprensibile per il programmatore.

 

Lingo

Con questo termine si intende il linguaggio di programmazione di Director della Macromedia, tramite il quale è possibile creare applicazioni multimediali molto evolute.

 

Pascal

Il linguaggio di programmazione denominato Pascal (per ricordare il noto filosofo e matematico francese Blaise Pascal) e' stato realizzato nel 1971 dal prof. Niklaus Wirth del politecnico di Zurigo. Esso rappresenta lo sforzo di favorire l’attuazione pratica, nel lavoro del computer, della metodologia della programmazione strutturata. Alla sua nascita, dovendo contrastare il predominio del linguaggio Cobol (il più usato allora in ambito gestionale) e del linguaggio Fortran (il più usato in ambito scientifico), il Pascal diventa un linguaggio per specialisti che sono convinti della necessità, allora emergente, di mettere ordine nell’attività di programmazione, e quindi si orienta soprattutto verso ambienti di ricerca. Nel Pascal si evidenzia la facilità nel rappresentare le strutture di controllo della programmazione e le strutture dei dati. Il Pascal, con il passare degli anni, diventa un linguaggio ad alto livello sempre piu' utilizzazto, di cui viene riconosciuta l’importanza per scrivere i programmi in modo ben strutturato e documentato, e la versatilità degli impieghi, non più solo scientifici, ma anche gestionali. Il linguaggio Pascal possiede il compilatore, mediante il quale il testo sorgente del programma deve essere tradotto per effettuarne l’esecuzione.

 

Prolog

Linguaggio di programmazione realizzato a Marsiglia tra il 1972 e il 1973 dal prof. Alain Colmerauer e dal suo gruppo. Il nome di questo linguaggio e' ottenuto dalla contrazione dei due termini PROgramming e LOGic. Tale linguaggio e' nato grazie anche allo sviluppo della programmazione logica durante gli anni '60 negli Stati Uniti per la ricerca nel campo dell'intelligenza Artificiale. Solo nel 1977 si ha il primo compilatore Prolog sviluppato all'università' di Edimburgo.

 

Programmazione ad Oggetti

Si riporta di seguito una raccolta di termini legati alla programmazione ad oggetti.

  • OOA: Object Oriented Analisys. Metodologia per l'analisi e la progettazione che si appoggia sui concetti propri della OOP.
  • OOP: Object Oriented Programming. Paradigma di programmazione orientato agli oggetti, nato nella seconda metà degli anni '70.
  • OO: Object Oriented. Sigla utilizzata per indicare tutto ciò che e' orientato agli oggetti.
  • Oggetto: singola replicazione (in effetti si dice istanza)  di una classe.
  • Classe: identificazione per oggetti che esibiscono all'esterno lo stesso comportamento. Questi hanno la stessa interfaccia e, a parità di stato interno, operazioni identiche sugli oggetti producono i medesimi effetti interni ed esterni. In parole povere una classe la si può considerare come uno "stampino" che si usa per replicare (in gergo, istanziare) a volontà degli oggetti.
  • Sotto-classe: classe derivata da un'altra classe (suo padre, detta anche super-classe) che mantiene inalterati tutti gli attributi della classe superiore e ne può possedere di propri. Dal padre eredita anche i metodi che può, eventualmente, ridefinire o aggiungerne di nuovi.
  • Istanza: vedi oggetto
  • ADT: Abstract Data Type, sigla nata alla fine degli anni '70 per indicare un tipo di dato definibile dall'utente in base a tre assunzioni metodologiche:
    • Assegnazione di un nome per il tipo definito;
    • Definizione di un'interfaccia d'uso;
    • Occultamento della rappresentazione dei dati e dell'implementazione delle operazioni.
  • Metodo: comando od osservatore di un oggetto.
  • Interfaccia: dal punto di vista dell'utente, l'interfaccia rappresenta una visione astratta dell'oggetto. Essa definisce ciò che l'utente può "fare". Idealmente l'interfaccia deve nascondere all'utente il "come".
  • Osservatore: metodo che permette di "leggere" lo stato interno dell'oggetto (che non viene alterato).
  • Comando: metodo con effetti collaterali sullo stato interno dell'oggetto.
  • Stato interno: insieme delle coppie attributo-valore posseduto da un oggetto in un determinato istante.

Sgml

Standard Generalized Markup Language. E’ un sistema per definire tipi di documenti strutturati.

 

 

Sql

Structured Query Language. Linguaggio di interrogazione strutturato. Questo linguaggio, uno standard per la definizione di database relazionali, e' stato sviluppato nel 1973 dalla Ibm ed inizialmente si chiamava SEQUEL (Structured English query Language).
L' SQL, oltre a creare tabelle bidimensionali permette la formulazione di query (interrogazioni) sulle relazioni (tabelle). Access permette di utilizzare anche una versione grafica di SQL denominata QBE (Query By Example), anche se non sfrutta tutte le potenzialità dell' Sql. Per database complessi e di grandi dimensioni si preferisce utilizzare i sistemi Oracle. Sql e' il linguaggio piu' utilizzato per definire database e permette di ottenere delle risposte precise se le domande vengono ben formulate.

 

Vrml

Virtual Reality Modeling Language. Linguaggio di modellazione per oggetti ed ambienti tridimensionali. Poiché gli spazi tridimensionali creati con VRML risiedono in un modello matematico all’interno di un computer e possono essere rappresentati su di un monitor, vengono chiamati mondi virtuali per distinguerli da quelli reali. L’utente può avere un certo grado di interattività. VRML è tuttora in evoluzione ed alla ricerca di un  suo standard modalità d’uso.

 

 

Fonte: http://www.satnews.tv.it/tecnica/informatica/IntroduzioneInformatica.doc

sito web: http://www.satnews.tv.it/
Autore: By ZeroByte71

 

 

 

 

Linguaggi di programmazione

 

 

 

Home

 

link
Alimentazione
link
Animali
link
Architettura
link
Arte
link
Appunti
link
Astrologia e esoterismo
link
Astronomia
link
Benessere e salute
link
Biologia
link
Botanica
link
Chimica
link
Cinema e TV
link
Comunicazione
link
Cucina
link
Diritto
link
Dizionari e enciclopedie
link
Documenti utili
link
Economia
link
Filosofia
link
Fisica
link
Fisiologia
link
Fitness
link
Geografia
link
Giochi
link
Grammatica
link
Greco
link
Informatica
link Ingegneria
link
Lavoro
link
Latino
link
Lezioni - corsi
link
Lingue
link
Letteratura
link
Matematica
link
Medicina
link Meteo
link
Moda e spettacolo
link
Musica
link
Pedagogia e pediatria
link
Psicoanalisi e psicologia
link
Religioni
link
Riassunti
link
Scienze
link
Sociologia
link
Sport
link
Storia
link
Tempo libero
link
Tesine
link
Utility
link
Viaggi

 

Top

 

Linguaggi di programmazione

 

Disclaimer

Questo sito non rappresenta una testata giornalistica e viene aggiornato senza alcuna periodicità, esclusivamente sulla base della disponibilità del materiale, pertanto non è un prodotto editoriale sottoposto alla disciplina di cui all'art. 1, comma III della Legge n. 62 del 7.03.2001. I riassunti , gli appunti i testi e le citazioni contenuti nel nostro sito sono messi a disposizione gratuitamente a studenti, ricercatori, professori, tecnici con scopi illustrativi didattici e scientifici con il concetto del fair use e con obiettivo del rispetto della direttiva europea 2001/29/CE e della legge n. 633 art. 70 e dlg 68. Il sito è curato e coordinato dall’autore al solo scopo informativo e didattico. Pur ritenendo le fonti utilizzate affidabili, l'autore di questo sito non garantisce l'accuratezza e l'integrità delle informazioni contenute e pertanto declina ogni responsabilità per eventuali problemi o danni causati da errori o omissioni, nel caso tali errori o omissioni risultino da negligenza, caso fortuito o altra causa. Tutti gli appunti, le citazioni i testi e le immagini , sono proprietà dei rispettivi autori o case di produzione che ne detengono i diritti, qualora gli aventi diritto si ritenessero danneggiati dall'inserimento in questo sito dei predetti files o fossero stati inavvertitamente inseriti immagini, informazioni, testi od altro materiale coperto da Copyright saranno immediatamente rimossi e/o ne saranno citate le fonti su semplice segnalazione all' indirizzo e-mail indicato nella pagina contatti .

Gli obiettivi di questo sito sono il progresso delle scienze e delle arti utili in quanto pensiamo che siano molto importanti per il nostro paese i benefici sociali e culturali della libera diffusione di informazioni utili. Tutte le informazioni e le immagini contenute in questo sito vengono qui utilizzate esclusivamente a scopi didattici, conoscitivi e divulgativi. Le informazioni di medicina e salute contenute nel sito sono di natura generale ed a scopo puramente divulgativo e per questo motivo non possono sostituire in alcun caso il consiglio di un medico (ovvero un soggetto abilitato legalmente alla professione). In questo sito abbiamo fatto ogni sforzo per garantire l'accuratezza dei tools, calcolatori e delle informazioni, non possiamo dare una garanzia o essere ritenuti responsabili per eventuali errori che sono stati fatti, i testi utilizzati sono stati prelevati da siti che li hanno messi a disposizione gratuitamente per farli conoscere nel web con scopi didattici. Se trovate un errore su questo sito o se trovate un testo o tool che possa violare le leggi vigenti in materia di diritti di autore, comunicatecelo via e-mail e noi provvederemo tempestivamente a rimuoverlo.

 


Linguaggi di programmazione

 


 

Designed by Larapedia.com 1998 -2011