Win Magazine
semplicemente windows home page news articoli sapevi che

 
Nome Utente
Password
Numero rivista:
Codice di Win Extra:
 
 
edizioni master


Articoli / Utilità e Programmazione
 
Win Magazine n° 69 Novembre 2004
La torre di Babele
Storia ed evoluzione dei principali linguaggi di programmazione


Di linguaggi di programmazione ne esistono più di duemila; ma quelli importanti si contano sulle dita di una mano. Da quando è stato inventato il computer si è avvertita la necessità di poterlo utilizzare senza doversi ricordare, ogni volta, sequenze lunghissime di comandi. Da qui lÅidea di utilizzare linguaggi a metà strada tra quello quasi incomprensibile del computer e quello discorsivo della lingua parlata. Essendo gli americani i pionieri in questo campo, fu scelto di usare una sintassi semplificata della lingua inglese.


Gli albori
Con la nascita del computer, allÅinizio del secolo, i primi a creare programmi furono matematici, fisici ed ingegneri. Questo perché i computer, allÅepoca costosissimi ed ingombranti, venivano usati principalmente per calcoli scientifici in ambito universitario. Nel 1954 prende vita il primo vero linguaggio di programmazione, il FORTRAN (FORmula TRANslator), il cui nome lascia presagire il suo utilizzo matematico; seguirono altri linguaggi per applicazioni scientifiche, come lÅAlgol (Algorithmic Language – 1958) ed il LISP (LISt Processing – 1959). Ma la vera rivoluzione si ebbe nel 1960, quando fece la sua comparsa il COBOL (COmmon Business Oriented Language), il primo linguaggio di programmazione che permetteva di operare non solo su numeri, ma anche su stringhe di testo. Da quel momento, la programmazione divenne un campo autonomo, iniziarono a nascere le prime software house e si delineò la figura del programmatore. Negli anni a venire i computer divennero sempre più potenti e piccoli; è per questo che nel 1964 nacque il BASIC. La sua caratteristica principale era una sintassi molto semplice ed una struttura che permetteva di numerare le righe di codice, al fine di effettuare eventuali richiami o inserire del nuovo codice senza problemi. Purtroppo, la sua struttura, negli anni, rendeva illeggibili i programmi che erano stati modificati più volte. Nel 1971 prende vita da Niklaus Wirth, il Pascal, un linguaggio di programmazione nato a scopo didattico, per insegnare a programmare in altri linguaggi, ma che è diventato uno dei più utilizzati fino a qualche anno fa. Un anno dopo, Dennies Ritchie rivoluzionò il mondo dei computer, inventando il linguaggio C, con il quale scrisse il sistema operativo UNIX. La sua caratteristica principale è la sintassi semplice e versatile, che rende di fatto possibile un tipo di programmazione avanzata, pur mantenendo una struttura procedurale. Viene definito il più basso dei linguaggi di alto livello, cioè il più vicino al linguaggio macchina, pur avendo una sintassi “leggibile”.


Programmare ad oggetti
Per quasi dieci anni si è ritenuto che il C fosse “il migliore dei linguaggi possibili”, ma non era della stessa opinione Bjarne Stroustrup, ricercatore della AT&T che, per necessità lavorative, dette vita nel 1983 al C++. Chiamato inizialmente C con classi, è un linguaggio di programmazione che ha come base il C, ma che introduce un concetto nuovo, la programmazione ad oggetti (Object Oriented - OO), riprendendo dal linguaggio Simula del 1967 il concetto di “classe”: cioè, dividere lÅinterfaccia dal contenuto, in modo da avere tanti moduli che interagiscono tra loro. In questo modo, il C++ permette di riutilizzare senza problemi il codice, pur mantenendo la velocità e l’affidabilità raggiunta con il C. Successivamente ci fu una vera e propria esplosione di linguaggi di programmazione. Vennero creati il Perl (1987), il Python (1991), il Ruby (1993) ed il Delphi (1995), ma il C ed il C++ continuavano a farla da padrona. A metà degli Anni Å90 nacque la suite Microsoft Visual Studio, che forniva un ambiente di sviluppo proprietario per il C++ e per il Basic, rimodernizzato e ribattezzato come Visual Basic. La sua versione a finestre permise ad una sempre maggiore cerchia di persone di avvicinarsi alla programmazione, rendendo più facile ed intuitivo lo sviluppo di un programma.


I linguaggi moderni
La parola chiave dei linguaggi moderni è “portabilità”. In questa tendenza, il vero linguaggio precursore è stato il Java (1995), inventato dalla Sun Microsystems. Java nasce con lÅesigenza di prendere il meglio del C++, come la programmazione ad oggetti, eliminando i suoi difetti (come la gestione della memoria). Sun ha poi avuto la geniale idea di rendere Java utilizzabile su qualsiasi sistema operativo, attraverso un semplice meccanismo: il compilatore Java non produce un eseguibile specifico per una piattaforma, ma genera un file in un formato chiamato Bytecode; questo formato viene poi interpretato da una Java Virtual Machine scritta appositamente per un sistema operativo. Una volta che esiste la Java Virtual Machine, Java può essere eseguito, ma con un problema: la velocità di esecuzione. Un programma in Java, proprio perché deve essere interpretato al volo, risulta più lento di un’applicazione nativa, soprattutto lavorando con la grafica. Java ha anche introdotto le famose Applet, applicazioni grafiche che possono girare allÅinterno di una pagina Web. AllÅinizio però, un poÅ per le ridotte prestazioni dei primi computer, un poÅ per la bassa velocità dei collegamenti Internet, Java non riuscì a decollare. Nella rincorsa alla portabilità, Microsoft ha sviluppato nel 2000 il framework.NET, un ambiente di sviluppo che permette di scrivere il codice una volta, per poi utilizzarlo in un ambiente dove è presente tale framework (esiste ed è in continuo sviluppo un porting di .NET per Linux), portandosi dietro il Visual Basic ed il Visual C++ ed introducendo un nuovo linguaggio, a metà strada tra C++ e Java, dal nome C# (C Sharp). Analogamente ha fatto Borland, produttrice di Delphi, nel 2001 creando Kylix, un ambiente di sviluppo per Linux in cui è possibile utilizzare codice Delphi sviluppato per Windows (e viceversa).


Conclusioni
Chi ritiene che i linguaggi più nuovi siano migliori o sostitutivi di quelli più datati, si sbaglia. In molte università viene ancora utilizzato il Fortran, nelle banche è ancora presente il Cobol, il C viene usato per programmare i sistemi operativi ed il C++ è indispensabile per fare programmi che devono essere molto veloci, come i videogiochi. Certo, i linguaggi più moderni sono più semplici ed intuitivi, ma a volte hanno limitazioni in termini di prestazioni o di riutilizzo del codice. Il succo del discorso è che un linguaggio va bene per alcune cose, ma non per altre e la scelta su quello da utilizzare dipende unicamente dal campo di applicazione. Uno dei linguaggi che, forse, vince sugli altri è il Java: la sua semplicità e diffusione ne fanno, giorno dopo giorno, un linguaggio da utilizzare in ambiti sempre diversi. Parimenti, lÅaumento di prestazioni dei PC, la diffusione della banda larga e la creazione di chip che implementano la Java Virtual Machine, fanno sì che questo linguaggio possa diffondersi sempre di più in quei settori dove, oggi, ha prestazioni non proprio eccelse.
Tipologie dei linguaggi di programmazione
Nella tabella sono riportati i principali linguaggi di programmazione. Per ognuno di essi scopriremo i punti di forza, di debolezza, il loro campo di applicazione, nonchè la difficoltà di apprendimento.
nome
difficoltà
campo di applicazione
vantaggi
svantaggi
sistemi operativi
assembler
Alta
Programmazione di periferiche
Velocità di esecuzione elevata
Difficile da imparare e da utilizzare
Tutti
pascal
Bassa
Linguaggio didattico
Facile da apprendere
Non adatto a programmi complessi
Tutti
c
Alta
Programmazione di sistemi operativi
Prestazioni elevate e sintassi potente
Linguaggio procedurale
Tutti
(ricompilandolo a dovere)

c++

Alta

Qualsiasi programma, in particolare videogiochi

Riutilizzo del codice
e prestazioni elevate

Difficile da imparare

Tutti
(ricompilandolo a dovere)

visual basic

Bassa

Sviluppo di applicativi gestionali

Sviluppo rapido del codice

Prestazioni non elevate e non adatto
a grandi progetti

Principalmente Windows

java

Media

Per tutto, ma principalmente
per il Web

Elevata portabilità e riutilizzo del codice

Basse prestazioni in alcuni ambiti

Tutti (senza ricompilare)

delphi/ kylix

Media

Applicazioni medio /piccole
e gestionali

Portabilità e velocità di sviluppo

Inizialmente disponibile solo
per Windows

Windows e Linux

c#

Media

Futuro concorrente del linguaggio Java

Portabilità e facilità di sviluppo

Linguaggio giovane

Windows (nativo)
e Linux (sperimentale)

perl

Media

Adatto per programmi che girano su Web

Potenza e flessibilità

Limitato nei campi di applicazione

Principalmente Linux

python

Media

Server
Linguaggio di scripting;
usato per il framework Zope

Linguaggio molto versatile

Non utilizzabile in alcuni ambiti
Principalmente Linux
php
Media

Programmazione per siti Internet

Veloce e pratico
Non adatto per applicazioni a finestre
Tutti
 STAMPA ARTICOLO
 INVIA AD UNA AMICO

::

[ Office ]
Gettiamo via le penne!

::

[ Utilità e Programmazione ]
La torre di Babele

::

[ Antivirus ]
PC sempre più sicuro

::

[ Audio & Video ]
Ricordi interattivi!

::

[ Sistema ]
Il mio primo PC… senza pacco!

::

[ Audio & Video ]
Andiamo d’amore e d’accordo!

::

[ Cellulari ]
Suonerie polifoniche? Le compongo da solo!

::

[ Grafica Digitale ]
Gulp! Splash! Burp! Bang!

::

[ Utilità e Programmazione ]
Un’entrata spettacolare!

::

[ Masterizzazione ]
Recuperiamo i dischi rovinati
 
©Copyright 2009 Edizioni Master SpA. p.iva : 02105820787
Tutti i diritti di proprietà letteraria e artistica riservati.
contact@edmaster.it | Condizioni generali per l'uso del sito | Privacy