Crea il tuo forum GRATIS su GlobalFreeForum.com.

perchè tanti linguaggi di programmazione?

In questa sezione avverranno le discussioni sulla scienza e sulle arti. Si possono chiedere pareri e spiegazioni o postare i propri pensieri a riguardo di un argomento. Qui potete postare spiegazioni su un qualsiasi argomento: matematica, chimica, lingue etc...

Moderatori: Gruppo Admin, Gruppo Mod

perchè tanti linguaggi di programmazione?

Messaggioda mr.Pink » 23/07/2010 - 13:09

non sapevo in che sezione inserirla...quindi l'ho messa qui, comunque...

perchè esistono così tanti linguaggi di programmazione??...quali sono i motivi principali che spingono a creare diversi linguaggi??...
mr.Pink
Utente
Utente
 
Messaggi: 19
Iscritto il: 21/07/2010 - 09:57

Re: perchè tanti linguaggi di programmazione?

Messaggioda skary » 23/07/2010 - 16:33

Premetto che non sono ferratissimo sull'argomento , comunque una breve panoramica potrebbe essere :

Ogni linguaggio ha differenti approci , sia sintattici sia filosofici (imperativo , oggetti , componenti ... per arrivare fino la ai linguaggi di javascript la cui filosofia non mi è ancora del tutto chiara ^^) che a livello di compilatore/interprete/generatore di bytecode ; alcuni compilano il codice in linguaggio macchina e quindi ogni compilatore tratterà il codice in maniera più o meno differente in base alle varie implementazioni/linguaggi e in base alla macchina target , altri approci prevedono che il codice venga dato in pasto ad un programma che leggendo il codice comanda il calcolatore , questo si chiama interpretazione ed è una sorta di astrazione della compilazione , rende il codice più facilmente portabile (in genere) al prezzo di un calo di prestazioni e alla necessità di aver installato l'interprete, altri "interpreti" invece di interpretare direttamente il codice lo scrivono in un modo più comodo (per aumentare le prestazioni poi) è il caso di java (ma non solo) che genera il byte code dopo svariati passaggi (alla fine ottieni una sorta di programma compilato però per una macchina virtuale la java virtual machine) ulteriori evoluzioni hanno portato per quanto riguarda java alla possibilità di una compilazione in 2 tempi chiamata JIT (just in time) che prevede la creazione di un bytecode (necessita quindi dell'interprete) questo però per quanto comodo per la java virtual machine non viene interpretato ma usato per una compilazione (classica) il codice compilato poi viene eseguito , così facendo si mantiene la portabilità e si aumentano le prestazioni (non c'è più di mezzo la virtualizzazione).
Immagine

Le persone ottimiste credono che il nostro universo sia magnifico e che non vi sia modo migliore di vivere.
I pessimisti semplicemente temono che gli ottimisti abbiano ragione.
Avatar utente
skary
Utente
Utente
 
Messaggi: 1449
Iscritto il: 19/07/2007 - 21:58

Re: perchè tanti linguaggi di programmazione?

Messaggioda Flame_Alchemist » 23/07/2010 - 18:32

Un linguaggio nasce sì per un'esigenza specifica, ma principalmente perché non piace quello che esiste già. Un linguaggio si caratterizza oltre che per la sintassi, per il paradigma di programmazione. Essenzialmente il paradigma di programmazione (come diceva skary, a oggetti, funzionale, imperativo) permette di cambiare superficialmente il modo in cui si ottiene un risultato, ma quello che fa l'elaboratore è, a livello sufficientemente basso, più o meno uguale. Invece la sintassi è rappresentata dalle parole chiave del linguaggio, ovvero, nei casi tipici "for", "while" e simili.
Tipicamente, inoltre, i linguaggi funzionali sono utilizzati per programmi matematici e di trattazione di dati numerici mentre i linguaggi imperativi e a oggetti sono abbastanza general purpose.

La distinzione fra compilati e interpretati è, in mia opinione, inutile, se riferita ai linguaggi. L'esistenza di un interprete o di un compilatore è una questione di implementazione, come esistono interpreti per C (linguaggio tipicamente considerato compilato) esistono compilatori per linguaggi che di norma sono considerati interpretati. Per esempio python è sempre compilato in bytecode, che poi viene eseguito.
Il processo di compilazione è la trasformazione di un listato da un linguaggio L ad un linguaggio G, che tipicamente è di livello più basso, ma tant'è (e si dovrebbe anche chiarire cos'è livello basso). Questa trasformazione è sempre possibile teoricamente, ma in pratica spesso è complessa quindi non è conveniente scrivere un compilatore, ma può essere più semplice un interprete. Inoltre un interprete permette di avere un vantaggio non indifferente, ovvero la portabilità quasi totale del codice, che non si ha con un file compilato, a fronte di una perdita di prestazioni.
To iterate is human, to recurse, divine. — L. P. Deutsch
I could be bound in a nutshell and count myself as a king of infinite space (Hamlet)
Non era proprio un genio – pensava che la figura che lui tracciava sul suo fianco nudo dopo il sesso fosse il numerale 8, per dare un'idea. — D. F. Wallace

N = 1 ==> P = NP [compscient]
Avatar utente
Flame_Alchemist
Gold Member
Gold Member
 
Messaggi: 861
Iscritto il: 14/08/2007 - 18:21

Re: perchè tanti linguaggi di programmazione?

Messaggioda k4mik4ze » 28/07/2010 - 17:52

Flame_Alchemist ha scritto: Inoltre un interprete permette di avere un vantaggio non indifferente, ovvero la portabilità quasi totale del codice, che non si ha con un file compilato, a fronte di una perdita di prestazioni.


A patto che l'interprete sia portabile ^_^
Avatar utente
k4mik4ze
Utente
Utente
 
Messaggi: 272
Iscritto il: 18/12/2007 - 01:26

Re: perchè tanti linguaggi di programmazione?

Messaggioda HCKmy92 » 07/08/2010 - 08:46

Premetto che sono ancora alle basi della vera programmazione ma secondo me i linguaggi di programmazione vengono creati per pura comodità, ovvero perchè da un problema vi è la necessità di avere una soluzione , questa soluzione è un nuovo linguaggio di programmazione, come hanno già risposto sopra.

Ci sono dei linguaggi di programmazione che aiutano di più argomenti di genere scientifico/matematico e che vengono usati anche nella università (mi viene in mente il C++). Altri tipo il VB che sono diciamo l'introduzione per colui che vuole incominciare con la programmazione ad oggetti .. mi viene poi in mente il C# (che sto studiando pian piano) che doveva avere una certa facilità di sintassi e allo stesso tempo una buona "potenza" ..

Poi logicamente non è solo questo che fa nascere un nuovo linguaggio .. ma bensì la somma di questo, più tanti altri problemi messi assieme nel corso del tempo.. ;)
Avatar utente
HCKmy92
Utente
Utente
 
Messaggi: 106
Iscritto il: 28/10/2009 - 14:09
Località: Aosta


Torna a Il Pozzo della conoscenza

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron