Un linguaggio di programmazione - Benvenuti nel sito di Cristina

Cristina Vignati
Evoluzione linguaggi di programmazione
Cos'è un linguaggio di programmazione?
Un linguaggio di programmazione è un linguaggio composto da regole ed istruzioni che,
grazie alla trasformazione dei dati di input e alla produzione, con questi, di dati di output,
permetta di scrivere programmi per computer.
Esempio: PHP, JAVA, C++....
Sistema binario (linguaggio di prima generazione)
Il linguaggio macchina è il linguaggio in cui sono scritti i programmi eseguibili per
computer. Può venire classificato come linguaggio di programmazione, sebbene
quest'ultima espressione sia più spesso riservata per indicare i linguaggi di alto livello con
cui si scrivono programmi non direttamente eseguibili, ma che richiedono una traduzione
in linguaggio macchina.
Il linguaggio macchina è basato su un alfabeto detto binario perché comprende due soli
simboli, generalmente indicati con 0 e 1, detti bit. Il processore o CPU è quella
componente hardware di un computer che è in grado di eseguire i programmi scritti in
linguaggio macchina, in altre parole, il linguaggio macchina sono definite l'insieme di
istruzioni fondamentali che un processore è in grado di compiere in cui i codici di
programmi da eseguire devono essere tradotti.
Assembly (linguaggio di seconda generazione)
Il linguaggio assembly, detto anche linguaggio assemblativo, è, tra i linguaggi di
programmazione, quello più vicino al linguaggio macchina vero e proprio.
L'assembly ha lo scopo generale di consentire al programmatore di ignorare il formato
binario del linguaggio macchina: ogni codice del linguaggio macchina viene sostituito,
nell'assembly, da una sequenza di caratteri che lo rappresenta; per esempio, il codice
operativo per la somma potrebbe essere trascritto come ADD.
In secondo luogo, i dati utilizzati dal programma possono essere scritti, in assembly, nella
base numerica più consona al momento: esadecimale, binaria, decimale, ottale ma anche
in forma simbolica, utilizzando stringhe di testo (identificatori). Il programma assembly
risulta in questo modo relativamente più leggibile di quello in linguaggio macchina.
Il programma però non può essere eseguito direttamente dal processore: esso deve
essere tradotto nella forma binaria corrispondente, usando un programma compilatore
detto assembler.
Linguaggi di terza generazione
PASCAL : Le caratteristiche principali del Pascal sono una sintassi molto chiara e molto
rigida con l'obbligo di dividere il programma in sezioni ben definite e di dichiarare in
anticipo tutte le variabili usate nel programma;
BASIC: Il nome Visual Basic è composto dalle parole "Visual", che fa riferimento al metodo
utilizzato per creare l'interfaccia utente grafica visualizzata agli utenti, e "Basic", che fa
riferimento al linguaggio di programmazione BASIC.
FORTRAN: è uno dei primi linguaggi di programmazione, essendo stato sviluppato a
partire dal 1954.
Il Fortran è un linguaggio quasi sempre compilato, imperativo, con tipizzazione statica
delle variabili, progettato principalmente per il calcolo scientifico e numerico;
Il suo nome deriva da traduttore di formule matematiche in algoritmi.
Originariamente come linguaggio procedurale, alcune sue versioni più recenti consentono
di usare anche programmazione orientata agli oggetti.
COBOL:COmmon Business-Oriented Language,è uno dei primi linguaggi di
programmazione ad essere stato sviluppato.COBOL è tutt'ora presente in molte
applicazioni software commerciali di tipo bancario, specie lato mainframe.
Gli applicativi COBOL sono alla base del funzionamento dei Bancomat e dell'operatività di
molte banche e assicurazioni
PL/1:Programming Language One è un linguaggio di programmazione progettato per lo
sviluppo di applicazioni scientifiche, ingegneristiche o commerciali .La sintassi del
linguaggio rispecchia quella della lingua inglese ed è pensata per poter descrivere funzioni
complesse.
Lo scopo del PL/I era appunto quello di creare un linguaggio unico che potesse essere
utilizzato sia per le applicazioni scientifiche (che usavano il FORTRAN) e in ambito
commerciale( in cui si usava il COBOL)
Linguaggi di quarta generazione 4GL
Linguaggi di quarta generazione( fourth generation language) che usano i database
in questa categoria troviamo i linguaggi dichiarativi, il cui rappresentate più illustre è SQL,
utilizzato principalmente nei database relazionali.
Sono la conseguenza logica delle prime tre generazioni le quali hanno cercato di
avvicinarsi al linguaggio umano. Questi linguaggi basano la loro potenza e versatilità su
comandi predisposti, i quali svolgono funzioni molto complesse.
I linguaggi di quarta generazione sono contemporaneamente:
- simple & complex query language;
- report generator (prospetti);
- linguaggi grafici (CAD);
- decision support system (DSS);
- fogli elettronici;
- editor di testi.
Linguaggi di quinta generazione
Questi linguaggi vanno impiegati nell'ambito della intelligenza artificiale. Si dividono in:
-linguaggi logici:si basano sulle teorie della logica matematica e il più rappresentativo è il
PROLOG
-linguaggi basati sugli oggetti: si basano sulla definizione di oggetti anziché di algoritmi.
Utilizzano icone per quanto riguarda l'uso dell'elaboratore.
-linguaggi funzionali: ricostruiscono tutte le possibili funzioni utilizzando come punto di
partenza le tre funzioni di base.
LINGUAGGI ORIENTATI AL WEB
Html
L'HyperText Markup Language (HTML) (traduzione letterale: linguaggio di marcatura per
ipertesti) è un linguaggio usato per descrivere la struttura dei documenti ipertestuali
disponibili nel World Wide Web. Tutti i siti web sono scritti in HTML, codice che viene letto
ed elaborato dal browser, il quale genera la pagina che viene visualizzata sullo schermo
del computer.
L'HTML non è un linguaggio di programmazione, ma un linguaggio di markup, ossia
descrive il contenuto, testuale e non, di una pagina web. Punto HTML (.html) o punto HTM
(.htm) è anche l'estensione comune dei documenti HTML.
Java
In informatica, nome commerciale ® di un linguaggio di programmazione che permette di
sviluppare programmi eseguibili su diversi tipi di computer e compatibili con qualsiasi
sistema operativo; per queste sue caratteristiche è molto usato nella creazione di siti in
Internet.
Php
PHP (acronimo ricorsivo per PHP: Hypertext Preprocessor) è un linguaggio di scripting
general-purpose open source molto utilizzato, è specialmente indicato per lo sviluppo web
e può essere integrato nell'HTML.
Ciò che distingue PHP da altri linguaggi di scripting del tipo client-side JavaScript è che il
codice viene eseguito nel server, generando HTML che sarà dopo inviato al client. Il client
dovrebbe ricevere i risultati dell'esecuzione dello script, ma non potrà conoscere qual'è il
codice eseguito. Potete persino configurare il vostro web server per processare tutte i
vostri file HTML con PHP ed allora non ci sarebbe realmente alcun modo per gli utenti di
sapere cosa avete sul vostro server.
Asp
ASP.NET è un insieme di tecnologie di sviluppo di software per il web, commercializzate
dalla Microsoft. Utilizzando queste tecnologie gli sviluppatori possono realizzare
applicazioni Web e servizi Web (Web Service).
Questo genere di pagine sono formare da tre parti
- testo
- marcatori html
- comandi script
LINGUAGGI ORIENTATI AGLI OGGETTI (smalltalk, eiffel, java)
La programmazione orientata agli oggetti è un paradigma di programmazione introdotto tra
la seconda metà degli anni '50 e l'inizio degli anni '60. Particolarmente utile nel caso della
definizione e creazione dell'interfaccia grafica di programmi e la permette di definire gli
oggetti software e stabilirne le modalità di interazione e le relazioni di interdipendenza
degli uni con gli altri. Tra i vantaggi che questo metodo di programmazione assicura
troviamo il supporto alla modellazione degli oggetti naturali (bottoni, menu, cerchi e
quadrati) all'interno dell'infrastruttura software; migliore gestione e manutenzione dei
programmi di grandi dimensioni; favorire la modularità e il riuso del codice.
Smalltalk: è il primo linguaggio di programmazione Object-Oriented ed è definito puro,
perché tutto è un oggetto. Smalltalk originariamente progettato per semplificare all'utente
inesperto l'uso dell'elaboratore ed è costituito da un insieme di oggetti che comunicano tra
loro attraverso messaggi, tramite i quali possono scambiarsi dati o richiedere l'esecuzione
di determinate procedure (metodo). Un metodo è quindi un insieme di istruzioni,
identificato da un nome, detto selettore, con il quale può essere mandato in esecuzione
ricevendo un certo insieme di valori in ingresso. Ogni oggetto è creato e si comporta in
accordo con quanto definito dalla sua classe (si dice che un oggetto è istanza di una
classe). La definizione di una classe determina pertanto la struttura logica (e in ultima
analisi anche la memorizzazione fisica) e il comportamento di ogni oggetto che sia istanza
di quella classe.
Eiffel: Eiffel è un linguaggio di programmazione object-oriented che enfatizza la scrittura
di programmi robusti. Fu uno dei primi linguaggi a oggetti compilati e pensati per l'utilizzo
industriale e la sua sintassi ricorda quella di ALGOL, Pascal, e Ada. Eiffel ha una gestione
automatica e affidabile della memoria.
Il linguaggio è nato nel 1985 e ha avuto applicazioni nell'industria del software, pur
non riuscendo a raggiungere il livello di diffusione di altri linguaggi object-oriented
compilati (per esempio C++). Gode di un'ottima reputazione fra i suoi utenti e, in virtù delle
sue rinomate proprietà di purezza concettuale (ovvero di aderenza al paradigma objectoriented classico), non raramente veniva usato nelle università a scopo didattico; oggi
anche in questo ruolo è stato in molti casi soppiantato da Java.
Java: Java è un linguaggio di programmazione orientato agli oggetti, specificatamente
progettato per essere il più possibile indipendente dalla piattaforma di esecuzione. Il
codice compilato che viene eseguito su una piattaforma non deve essere ricompilato per
essere eseguito su una piattaforma diversa: il prodotto della compilazione è infatti in un
formato chiamato bytecode che può essere eseguito da una qualunque implementazione
di un processore virtuale detto Java Virtual Machine.