PDA

View Full Version : Associamo i TIPI ai linguaggi di programmazione PLZ?! :)


Matrixbob
02-10-2006, 14:14
[NB] 3D in fase di completamento

Tempo fa da 1 altro utente ottenni le seguenti informazioni:

Sia C sia Java sono entrambi imperativi (il linguaggio di Java è appunto il C).

C è procedurale.
Java è object-based.
C++ è object-oriented.
Lisp, Scheme, Haskell sono linguaggi funzionali anche se quasi sempre hanno una qualche componente imperativa, sono decisamente differenti.
C#, JAVA cross-platform.


Un linguaggio imperativo è composto da frasi che descrivono, a seconda della composizione, in modo univoco una sequenza di istruzioni macchina da eseguire.
Tutti i linguaggi di programmazione ricadono in questa categoria tranne alcuni casi di linguaggi dichiarativi (SQL, Prolog...) i quali non descrivono in modo univoco quali istruzioni a eseguire, ma dichiarano soltanto ciò che desiderano ottenere, senza specificare in quale modo l'attuatore lo dovrà svolgere.
In particolare C è un linguaggio imperativo e strutturato.
Java imperativo e object-based, ovvero completamente architettato ad oggetti.
Invece C++ è imperativo ed object-oriented, dato che permette di essere utilizzato come linguaggio procedurale, oppure, tramite una astrazione di classe costruita sul C, come linguaggio ad oggetti.
E' da ricordare che C++ fornisce un'ulteriore astrazione, quella delle metaclassi o template, create a tempo di compilazione, ricalcate poi dai generici creati runtime di Java e .NET.

thebol
02-10-2006, 14:31
CUT

aggiungerei il fatto di essere managed o no, e compilati o interpretati(anche se questa non è una proprietà del linguaggio in se per se, ma del framework/ambiente/etc)

andbin
02-10-2006, 14:47
io aggiungerei la questione del typing, se un linguaggio usa: static/dynamic typing, strong/weak typing, ecc....

Matrixbob
02-10-2006, 14:48
Ragazzi elaborate e proponete bozze, senza esagerare andando a TIPOLEGGIARE tra linguaggi che usano il ";" alla ultima istruzioni o meno ok?! :D

Al massimo dopo 1 linea guida generale si potrà andare + nello specifico. :)

Matrixbob
10-10-2006, 19:53
Ancora 1 UP!

Matrixbob
20-10-2006, 14:58
Differenze tra ling descrittivo e ling implementativo?!

PGI-Bis
20-10-2006, 15:13
Penso che tu debba dare una definizione dei termini object-based, object-oriented e via dicendo, ad esempio come hai fatto per il termine imperativo, così poi possiamo vedere quali linguaggi potrebbero appartenere alle categorie che le tue definizioni producono.

Matrixbob
02-11-2006, 09:35
[NB] 3D in fase di completamento

Tempo fa da 1 altro utente ottenni le seguenti informazioni:

Sia C sia Java sono entrambi imperativi (il linguaggio di Java è appunto il C).

C è procedurale.
Java è object-based.
C++ è object-oriented.
Lisp, Scheme, Haskell sono linguaggi funzionali anche se quasi sempre hanno una qualche componente imperativa, sono decisamente differenti.
C#, JAVA cross-platform.


Un linguaggio imperativo è composto da frasi che descrivono, a seconda della composizione, in modo univoco una sequenza di istruzioni macchina da eseguire.
Tutti i linguaggi di programmazione ricadono in questa categoria tranne alcuni casi di linguaggi dichiarativi (SQL, Prolog...) i quali non descrivono in modo univoco quali istruzioni a eseguire, ma dichiarano soltanto ciò che desiderano ottenere, senza specificare in quale modo l'attuatore lo dovrà svolgere.
In particolare C è un linguaggio imperativo e strutturato.
Java imperativo e object-based, ovvero completamente architettato ad oggetti.
Invece C++ è imperativo ed object-oriented, dato che permette di essere utilizzato come linguaggio procedurale, oppure, tramite una astrazione di classe costruita sul C, come linguaggio ad oggetti.
E' da ricordare che C++ fornisce un'ulteriore astrazione, quella delle metaclassi o template, create a tempo di compilazione, ricalcate poi dai generici creati runtime di Java e .NET.
Qualcuno ci ha già pensato a realizzarlo su Wikipedia:
Linguaggio di programmazione (http://it.wikipedia.org/wiki/Linguaggi_di_programmazione)
Paradigma di programmazione (http://it.wikipedia.org/wiki/Paradigma_di_programmazione)
Comparison of programming languages (http://en.wikipedia.org/wiki/Comparison_of_programming_languages)

Matrixbob
19-02-2009, 13:34
Lo rispolveriamo questo curioso 3D?! :D

Ma come è possibile che alcuni linguaggi diventino PRO oggetti nelle versioni successive com'è avvenuto al PHP e al ABL?