Discussione:Linguaggio di programmazione ad alto livello

Da Teknopedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Questa voce rientra tra gli argomenti trattati dal progetto tematico sottoindicato.
Puoi consultare le discussioni in corso, aprirne una nuova o segnalarne una avviata qui.
 Informatica
La voce è stata monitorata per definirne lo stato e aiutarne lo sviluppo.
Ha ottenuto una valutazione di livello minimo (ottobre 2012).
CSeri problemi relativi all'accuratezza dei contenuti. Importanti aspetti del tema non sono trattati o solo superficialmente. Altri aspetti non sono direttamente attinenti. Alcune informazioni importanti risultano controverse. Potrebbero essere presenti uno o più avvisi. (che significa?)
DGravi problemi di scrittura. Stile scadente. Strutturazione in paragrafi assente o molto carente. (che significa?)
EGravissimi problemi relativi alla verificabilità della voce. Fonti assenti o del tutto inadeguate. Presenza o necessità del template {{F}}. (che significa?)
EGravissimi problemi relativi alla dotazione di immagini e altri supporti grafici nella voce. La voce necessiterebbe di file importanti per la comprensione del tema, ma ne è assolutamente priva. (che significa?)
Monitoraggio effettuato nell'ottobre 2012
Linguaggio di programmazione ad alto livello
Argomento di scuola secondaria di II grado
Materiainformatica
Dettagli
Dimensione della voce12 538 byte
Progetto Teknopedia e scuola italiana

L'attuale versione italiana (23/08/2012) mi pare troppo "da perito informatico" e poco informatica: viene traslasciato l'aspetto legato alla possibilità offerta da questo genere di linguaggi di descrivere le soluzioni nel dominio dei problemi e la loro capacità di favorire l'astrazione non intesa come "dal linguaggio macchina" quanto invece proprio ad un livello superiore maggiormente legato al "senso" di quello che si sta affrontando e risolvendo. -- kzafer

Proporrei di cambiare da "Linguaggio di programmazione ad alto livello" a "Linguaggio di programmazione di alto livello": è anche più corretto in italiano oltre che suonare meglio.

(A parte che penso di condividere quanto sopra; si può controllare su qualche testo di informatica italiano autorevole?)
Comunque, ho rimosso questa parte per me molto fumosa (vedi anche sotto):
parte rimossa

nel libro Hackers & Painters di Paul Graham. Graham indica i seguenti elementi come determinanti per stabilire il livello di astrazione di un linguaggio:

  1. presenza di operatori condizionali, tipo if-then-else (il FORTRAN inizialmente ne era privo).
  2. tipi funzione, che siano esattamente come numeri e stringhe memorizzabili e che sia possibile passarli come parametri ad altre funzioni
  • 6 il programma è un dato e come tale può essere elaborato dal programma
  • 7 ogni simbolo è un puntatore al suo valore. Due stringhe (dunque simboli) si confrontano per puntatore e non carattere per carattere
  • 8 esiste la notazione per il codice usando alberi e simboli e costanti
  • 9 l'intero linguaggio è sempre disponibile. Non c'è distinzione tra le fasi di lettura, compilazione ed esecuzione. Puoi compilare o eseguire codice mentre leggi, leggere o eseguire mentre compili, leggere o compilare mentre esegui.
Quando sono disponibili contemporaneamente le funzionalità descritte con le idee 8 e 9, puoi scrivere programmi che scrivono programmi.

Le mie perplessità sono: 1) non conosco questo Graham, è una fonte particolarmente autorevole? Ovviamente di scalette come questa ce ne sono un miliardo in letteratura, ha senso citarne una specifica solo se particolarmente illustre; 2) i punti non mi sembrano del tutto a posto, in particolare non in ordine; i "tipi funzione" sono posteriori rispetto alla ricorsione. Inoltre non capisco come si possa citare l'IF-THEN-ELSE (che in sostanza c'e' anche nel linguaggio macchina) e poi saltare a pié pari il concetto di tipo di dato (che nel LM non c'e'). Il 7 e l'8 per me sono incomprensibili. Il mio sospetto generale è che la scaletta di Graham fosse inserita in un contesto in cui veniva sostenuta qualche tipo di tesi, che qui non viene riportata e non e' detto comunque che sarebbe condivisibile. Gli informatici hanno la tendenza a riscrivere la storia daccapo ogni volta che si vuole dimostrare una cosa nuova... Moongateclimber 14:42, 6 feb 2007 (CET)[rispondi]

http://en.wikipedia.org/wiki/Paul_Graham

come vedi ha scritto una serie di libri e mi pare molto autorevole.

una definizione da una fonte autorevole

[modifica wikitesto]

Mi sembra che, per la prima frase, si potrebbe prendere la definizione che dà il libro SICP:

http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-25.html#%_idx_4190

dove si mette in risalto il fatto che i linguaggi ad alto livelli non sono il linguaggio macchina, ma si evidenzia anche in che cosa sono diversi (astrazione sui dati e sulle istruzioni)

--Giatorta 23:41, 14 ott 2007 (CEST)[rispondi]


Ma perché "linguaggio di programmazione ad alto livello"? In italiano corretto, si dice "linguaggio di programmazione di alto livello". Propongo di modificare l'espressione. Attendo, però, i vostri commenti. Anonimkultra 19:28, 18 nov 2012 (CEST)[rispondi]

Modelli di esecuzione e attinenza con il lemma.

[modifica wikitesto]

A mio parere la sezione sui modelli di esecuzione non sono minimamente riconducibili ai "Linguaggi di programmazione di alto livello". Dovrebbero essere spostati in una pagina dedicata.