|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 4683
|
[GENERICO] Come nasce un linguaggio di programmazione?
Me lo sono sempre chiesto. Come si crea un linguaggio di programmazione da 0? E come si è passati dal fare tutto a mano a creare un linguaggio di programmazione (parlo di 30 anni fa quando si entrava dentro i pc per programmarli)
__________________
Firma eliminata e avatar cambiato. Troppa gente giudica il monaco dall'abito. |
![]() |
![]() |
![]() |
#2 |
Bannato
Iscritto dal: May 2008
Messaggi: 275
|
me lo chiedo anche io
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 4683
|
Quote:
![]()
__________________
Firma eliminata e avatar cambiato. Troppa gente giudica il monaco dall'abito. |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
|
si ma a livello logico son due cose diverse,se vuoi inventare un tuo linguaggio puoi anche fregartene del compilatore perchè il tuo nuovo linguaggio lo scriverai molto probabilmente in C,come sono java e python ad esempio,correggetemi se sbaglio,o al massimo in assembler,indi per cui creare un compilatore a mio modo di vedere non ha inerenza col fatto di crearsi un nuovo linguaggio
__________________
Khelidan |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 4683
|
Quote:
__________________
Firma eliminata e avatar cambiato. Troppa gente giudica il monaco dall'abito. |
|
![]() |
![]() |
![]() |
#8 | |||
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
Quote:
![]() Non ho ancora capito se vuoi sapere come si progetta un linguaggio di programmazione, come si scrive un compilatore o altro... Hai letto la risposta: Quote:
|
|||
![]() |
![]() |
![]() |
#9 |
Bannato
Iscritto dal: May 2008
Messaggi: 275
|
come si crea un nuovo linguaggio=?
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 4683
|
Infatti, nel post chiedo come si crea un linguaggio di programmazione e dato che il compilatore deve avere un linguaggio da compilare, si torna al mio post, e cioè come si crea un linguaggio di programmazione. Si ho letto la tua risposta comunque, infatti non voglio una spiegazione da 2.000 pagine, ho aperto il post per un momento di confronto e per togliermi questo dubbio
__________________
Firma eliminata e avatar cambiato. Troppa gente giudica il monaco dall'abito. |
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
Se non è ancora chiaro, NON si possono riassumere in 2 righe tutti gli aspetti legati al design di un linguaggio di programmazione, le possibili scelte progettuali e le relative implicazioni, le questioni politiche/tecniche/di ricerca che entrano in gioco, etc. Ci sono ottimi libri sull'argomento (che nonostante spesso sfiorino il migliaio di pagine, presuppongono comunque un ampio bagaglio di conoscenze pregresse), sia per quanto riguarda la progettazione di un linguaggio di programmazione, sia per quanto concerne la progettazione di un compilatore. |
|
![]() |
![]() |
![]() |
#12 | |
Bannato
Iscritto dal: May 2008
Messaggi: 275
|
Quote:
|
|
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
|
|
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 4683
|
Quote:
__________________
Firma eliminata e avatar cambiato. Troppa gente giudica il monaco dall'abito. |
|
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
E' un po' come se un bambino in prima elementare cercasse di leggere la Divina Commedia e non riuscendovi pensasse "Non imparerò mai a leggere". Probabilmente non progetterà mai un linguaggio di programmazione (è una cosa fatta da persone con uno specifico background culturale), quindi mi sembra del tutto inutile preoccuparsi di typing, ortogonalità, sintassi e semantiche formali e di concetti ben più complessi. |
|
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 4683
|
Quote:
__________________
Firma eliminata e avatar cambiato. Troppa gente giudica il monaco dall'abito. |
|
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
Prendiamo come esempio i linguaggi più diffusi ed i principali progettisti degli stessi: Python - Guido Van Rossum - "I received a Master's degree in Mathematics and Computer Science from the University of Amsterdam in 1982, and joined CWI as a researcher in the same year. While studying, I worked for 5 years as a systems programmer at Amsterdam's academic computer center, SARA" C++ - Bjarne Stroustrup - "He went to Aarhus University studying in the department of computer science DAIMI gaining the Danish equivalent to a good Masters degree (a Cand.Scient. degree is rarely taken in significantly less than six years - at least it wasn't then). Aarhus is a wonderful town of about 250,000 people beautifully sited on the East coast of Jutland. Bjarne did his Ph.D. work on design of distributed systems in the Computing Laboratory of Cambridge University, England. " Java - James Gosling - "received a B.Sc in Computer Science from the University of Calgary. In 1983, he earned a Ph.D in Computer Science from Carnegie Mellon University, and his doctoral thesis was titled "The Algebraic Manipulation of Constraints". C - Brian Kernighan - "He received his Bachelor's degree in Engineering Physics from the University of Toronto. He received his PhD in electrical engineering from Princeton University, where he has held a professorship in the department of computer science since 2000." C - Ken Thompson - "He received a Bachelor of Science in 1965 and Master's degree in 1966, both in Electrical Engineering and Computer Science, from the University of California, Berkeley" C#/Turbo Pascal - Anders Hejlsberg - He studied engineering at the Technical University of Denmark. ... Prima di poter anche solo pensare di progettare un linguaggio di programmazione non banale c'è tanto, veramente tanto, da studiare, a partire dall'apprendimento della lingua inglese. Ecco perché ho scritto: "Le cose vanno fatte per gradi". ![]() |
|
![]() |
![]() |
![]() |
#18 | |
Bannato
Iscritto dal: May 2008
Messaggi: 275
|
Quote:
|
|
![]() |
![]() |
![]() |
#19 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Di recente in azienda ho scritto un banale linguaggio (di specifica di sintassi) con questo: http://www.antlr.org/ che con questo http://www.antlr.org/works/index.html IDE (FA-VO-LO-SO) che è stato appositamente creato permette di semplificare ulteriormente lo sviluppo del parser del linguaggio. Qui c'è un tutorial molto semplice per iniziare anche per chi è digiuno sull'argomento. Infatti dopo questo, penso di scrivere qualche altro linguaggio per semplificarmi la vita in altri progetti e permettere anche ad altra gente "non tecnica" di metter mano ad alcune strutture dati che attualmente mi vedono come l'unico a doverlo fare (non pensare male: non è per scansare lavoro, eh! Ma per rimuovere un punto di fallimento nel nostro sistema ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
![]() |
![]() |
![]() |
#20 | |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 4683
|
Quote:
![]()
__________________
Firma eliminata e avatar cambiato. Troppa gente giudica il monaco dall'abito. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:18.