Caratteristiche del linguaggio Perl

Se a prima vista il Perl appare largamente derivato dal C, in verità ha ricevuto questa somiglianza mediata dai linguaggi di scripting delle shell. Perl è un linguaggio procedurale non tipizzato con variabili, espressioni, assegnamenti, blocchi delimitati da graffe, strutture di controllo e subroutine. Queste ultime possono essere intese come funzioni e il Perl ha numerose doti mediate dai linguaggi funzionali.

Le variabili hanno un prefisso ($ per variabili scalari, @ per array, % per hash) detto sigillo e se questo in parte ha determinato la ricchezza sintattica del Perl, permette l'interpolazione delle variabili nelle stringhe. Come le shell Unix, Perl è dotato di molte funzioni di serie per i compiti più comuni come ordinamento ed accesso al sistema operativo. (In verità solo 279 nel nucleo principale del perl, contro le oltre 3000 del PHP).

Introduzione linguaggio Perl

Benché sia molto noto come linguaggio per lo sviluppo di CGI, Perl è stato creato inizialmente come ausilio ai sistemisti, come linguaggio di manipolazione di testo e file. Infatti è anche detto Practical Extraction and Report Language, ma questo è un acronimo assegnato dopo la creazione del nome o, in inglese, un "backronym". Pertanto secondo la documentazione stessa di Perl, non vi si dovrebbe mai riferire come "PERL", ma come "Perl" o "perl" a seconda che si intenda il linguaggio in quanto tale o una specifica implementazione rispettivamente. È anzi questa un'informazione utilizzata negli ambienti perlistici per distinguere "chi è del giro" da chi non lo è.

Si è evoluto nel tempo, anche grazie ad un potente sistema di moduli, in un linguaggio a carattere più generale, comprendente l'elaborazione di immagini, l'interrogazione di banche dati, i processi di comunicazione via rete, ed utilizzabile in tutti quegli ambiti in cui non siano strettamente necessarie le performance di un linguaggio compilato più a basso livello, offrendo al contempo tempi di sviluppo molto più rapidi. È quindi anche utilizzato per la prototipizzazione di programmi da implementarsi in altri linguaggi.

Il linguaggio è stato pensato per essere pratico (facile da usare, efficiente, completo) oltre che bello e "magico" (è questo un concetto tipicamente perlistico); esso non è mai stato pensato per essere compatto, elegante o minimale, infatti il suo motto più distintivo è riassunto nell'acronimo TMTOWTDI (There is More Than One Way To Do It), che in inglese molto indicativamente significa "c'è più di un modo per farlo". Tuttavia uno dei suoi maggior pregi è che grazie a tale ricchezza consente di risolvere con grande semplicità ed eleganza problemi che con altri linguaggi richiederebbero notevoli sforzi. Infatti Larry Wall ama ripetere che uno dei suoi obiettivi è "rendere le cose facili, facili e quelle difficili, possibili".

Termine Perl in informatica

Perl è un linguaggio di programmazione ad alto livello, dinamico, procedurale e interpretato, creato nel 1987 da Larry Wall. Perl ha un singolare insieme di funzionalità ereditate da C, scripting shell Unix (sh), awk, sed e in diversa misura da molti altri linguaggi di programmazione, compresi alcuni linguaggi funzionali.

JavaScript: incompatibilità

Le varie implementazioni di JavaScript, come già accaduto per l'HTML, spesso non sono conformi agli standard, ma piuttosto sono costruite per funzionare con uno specifico browser web. L'attuale standard ECMAScript dovrebbe essere teoricamente la base di tutte le implementazioni Javascript, ma in pratica i browser Mozilla (e Netscape) usano JavaScript, Microsoft Internet Explorer usa JScript, e altri browser come Opera e Safari usano altre implementazioni ECMAScript, spesso con ulteriori caratteristiche non standard per permettere la compatibilità con JavaScript e JScript.

JavaScript e JScript contengono molte caratteristiche che non sono parte dello standard ufficiale ECMAScript, e possono anche essere privi di diverse caratteristiche. In tal modo, sono in parte incompatibili, il che porta gli autori di script a sopperire a tali problemi. Tra i due, JavaScript è più conforme allo standard: ciò significa che uno script redatto secondo gli standard ECMA funzionerà con la maggior parte dei browser, tranne Internet Explorer.

Uso del JavaScript

A differenza di altri linguaggi, quali il C o il Java, che permettono la scrittura di programmi completamente stand-alone, JavaScript viene utilizzato soprattutto in quanto linguaggio di scripting, integrato, quindi, all'interno di un altro programma. L'idea di base è che il programma ospite (quello che ospita ed esegue lo script) fornisca allo script un'API ben definita, API che consente l'accesso ad operazioni specifiche, la cui implementazione è a carico del programma ospite stesso. Lo script, quando eseguito, utilizza riferimenti a questa API per richiedere (al programma ospite) l'esecuzione di operazioni specifiche, non previste dai costrutti del linguaggio JavaScript in sé. In effetti, questo è esattamente lo stesso meccanismo che viene adottato anche in un linguaggio quale il C o il Java, nel quale il programma si affida a delle librerie, non previste dal linguaggio in sé, che permettono di effettuare operazioni quali l'I/O o l'esecuzione di chiamate a funzioni di sistema.

Aspetti strutturali JavaScript

La caratteristica principale di JavaScript è quella di essere un linguaggio interpretato: il codice non viene compilato, ma interpretato (in JavaScript lato client, l'interprete è incluso nel browser che si sta utilizzando). La sintassi è relativamente simile a quella del C, del C++ e del Java.

Il linguaggio definisce le funzionalità tipiche dei linguaggi di programmazione ad alto livello (strutture di controllo, cicli, ecc.) e consente l'utilizzo del paradigma object oriented.

JavaScript è un linguaggio debolmente tipizzato.

Java, JavaScript e JScript

Il cambio di nome da LiveScript a JavaScript si ebbe più o meno nel periodo in cui Netscape stava includendo il supporto per la tecnologia Java nel suo browser Netscape Navigator. La scelta del nome si rivelò fonte di grande confusione. Non c'è una vera relazione tra Java e JavaScript; le loro somiglianze sono soprattutto nella sintassi (derivata in entrambi i casi dal linguaggio C); le loro semantiche sono piuttosto diverse, e in particolare i loro object model non hanno relazione e sono ampiamente incompatibili.

Dato il successo di JavaScript come linguaggio per arricchire le pagine web, Microsoft sviluppò un linguaggio compatibile, conosciuto come JScript. La necessità di specifiche comuni fu alla base dello standard ECMA 262 per ECMAScript, di cui sono state pubblicate tre edizioni da quando il lavoro iniziò, nel novembre 1996.