Newsgroup: it.comp.programmare
Titolo: Linguaggi, compilatori e copyright

Salve,
forse sono OT ma non so dove chiedere e cmq credo che qui ci siano persone
in grado di rispondermi :)
La mia domanda e' questa:
Supponiamo che qualcuno definisca un linguaggio di programmazione L con
regole sintattiche, semantiche etc... e realizzi un compilatore C che
rispetti tali regole al 100%. E' possibile vietare legalmente a chiunque di
realizzare compilatori per quel linguaggio al fine di rendere disponibile
solo il compilatore ufficiale evitando la proliferazione di compilatori che
non seguono lo standard e/o aggiungono estensioni etc... ?
Ad es. la SUN potrebbe vietare a tutti di realizzare compilatori (e
interpreti in questo caso) per Java? Compresi anche i vari IDE come J++
Builder etc...?
Personalmente ho paura che tale vincolo sia facilmente aggirabile
modificando leggermente il compilatore C e dicendo che non tratta quel
linguaggio L ma un'altro L' (che poi in realta' sarebbe la copia con qualche
modifica per essere apposto legalmente). In tal caso, e' possibile almeno
chiedere il divieto di pubblicizzare questo nuovo compilatore C' come un
compilatore in grado di compilare codice L?
Grazie

 compilatore in grado di compilare codice L?
si è aggirabile, ma rimane il fatto che non possono dire "compatibile 
con L".
Ma per curiosità, perché hai paura che ti rubino *un linguaggio* ?
Capisco un compilatore/interprete ma avere un clone del tuo linguaggio 
sarebbe al massimo una cosa positiva, imo

 sarebbe al massimo una cosa positiva, imo
Infatti avrei paura per il compilatore: ad es. se la mia idea fosse
applicata al C++ esisterebbe un unico compilatore che seguirebbe alla
perfezione lo standard. In ogni caso mi piacerebbe evitare la proliferazione
di pseudo-compilatori per linguaggio L che non farebbero altro che offuscare
il compilatore ufficiale e confondere i potenziali programmatori,
soprattutto i newbie.
Ciao

 soprattutto i newbie.
ma se tu fossi in possesso del marchio nessuno potrebbe confondere il 
tuo linguaggio con un altro.
E poi, dato il centinaio di linguaggi con almeno un 10.000 utenti, 
perché qualcuno dovrebbe copiare il tuo?
Secondo me è una paranoia evitabile, ma cmq sei tu che devi valutare :)

 seguono lo standard e/o aggiungono estensioni etc... ? 
Sì, però sarà pallosissimo scrivere tutte le (c) e le (R) alla fine 
delle keyword :)
Scherzi a parte, proteggere il linguaggio credo che si possa fare a 
livello di "nome" (con un marchio registrato), ma non a livello di 
definizione delle keyword (a meno di non usare marchi registrati, ma 
la vedo molto grama) e della sintassi (anche perchè difficilmente 
riuscirai a differenziarla da quella di tutti i linguaggi esistenti 
senza cadere nell'astruso e incomprensibile).
Non credo tu possa limitare la circolazione dei sorgenti (che sono 
opera di chi li ha scritti, non tua) e, di conseguenza, di strumenti 
che possano compilarli.
Per java, ad esempio, ci sono compilatori (da java a codice macchina 
o codice intermedio, anche da microsoft), linguaggi che generano 
bytecode compatibile con quello di java, virtual machine non sun che 
eseguono il bytecode.
-- 
Valter Minute
vmi...@inwind.it
 (the reply address of this message is invalid)

 eseguono il bytecode.
Ecco, secondo me tutto questo dovrebbe essere lecito solo se SUN non
l'avesse pubblicamente vietato.
Ciao

 perché qualcuno dovrebbe copiare il tuo?
Beh e' un'ipotesi: considera che cmq su 100 linguaggi sono una minoranza
quelli che emergono e sopravvivono a lungo diffondendosi perche'
evidentemente hanno caratteristiche migliori per determinati compiti :)
Ciao

 l'avesse pubblicamente vietato.
Per la legislazione corrente (in Italia) le idee non sono brevettabili e
non possono essere messe sotto copyright. Fattene una ragione.
La brevettabilita' delle idee e' un impedimento alla crescita
tecnologica e allo sviluppo umano.
Se poi hai in mano qualcosa di tanto ipermegagalattico che puo' darti
un reale vantaggio competitivo sui concorrenti, fai come fanno tutte
le grandi aziende: decidi che e' un tuo segreto industriale e non
divulgare niente.
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 legate all'OS etc..?
ma infatti "C" non è un marchio :)

 ma infatti "C" non è un marchio :)
Umh... allora dici che se "C++" fosse un marchio non potrebbero esister i
vari ide e compilatori C++ senza autorizzazione? Se si, bene :)
Ma e' possibile registrare "C" come marchio? "C++" mi pare probabile ma una
sola lettera?
Grazie

 divulgare niente.
Secondo me e' un'errore pazzesco: chi riesce a creare/pensare a qualcosa di
particolare deve poterne usufruire come vuole (leggi sopra).
Cmq, grazie per le info.

 sola lettera?
boh immagino di no, per le regole collegate all'uso comune di un 
termine, un po' come registrare "ciao", ma non si sa mai..

 particolare deve poterne usufruire come vuole (leggi sopra).
Certo. E Amazon, che ha brevettato il "compra con un click"?????????? È 
un idea molto particolare????
Potrebbero avere un senso se durassero, che so, 3 anni. E se venissero 
rilasciati da uffici davvero competenti in tempi rapidissimi, tipo al 
massimo 3 mesi. Per come sono negli USA ora, sono una piaga che speriamo 
si riesca a tenere lontano dall'Europa.
-- 
Andrea Bergia - studente              Linux Registered User #281550

 un idea molto particolare????
Beh, no. Pero' se ad es. creassi il primo linguaggio di programmazione
basato su un innovativo stile di programmazione, mi pare un'idea
particolare: ad es. non so chi sia e se e' stato una persona in particolare,
ma l'autore della OOP, nel caso avesse scritto anche un linguaggio e
compilatore OOP avrebbe dovuto poter vietare a gli altri di utilizzare la
sua idea.

Noixe ha scritto:

rallentando in questo modo l'evoluzione di tutto il resto del mondo?
Pensa se l'ibm o l'intel o chi altro avesse brevettato "incremento di 
variabile" o "istruzione condizionale". Ora nessuno potrebbe programmare 
in maniera sensata senza pagare o vivere nell'illegalità.
Pensa a microsoft che ha recentemente brevettato "IsNot".
Indubbiamente è un'idea originale (perché il resto del mondo tende a 
usare due parole invece che una), ma rimane un'idiozia che io non possa 
usare una cosa come quella senza infrangere brevetti :)

 Pensa a microsoft che ha recentemente brevettato "IsNot".
Ma queste sono tutte stupidaggini banali!
E' un po come chidere di brevettare la somma tra 2 numeri in colonna.
Io parlo di cose piu' sostanziose, come paradigmi di programmazione,
compilatori etc...

 compilatori etc...
i compilatori puoi metterli sotto il tuo copyright.
Non è che se qualcuno avesse detto "brevetto la programmazione 
imperativa" sarebbe cambiato qualcosa,
in sostanza la programmazione imperativa è "cambio una variabile".
Ecco qua che non potrà mai nascere il modello ad oggetti, in quanto gli 
autori di simula67 non potranno scrivere programmi con assegnazione.
E ovviamente non nascerebbe la AOP, se qualcuno avesse brevettat5o 
l'idea di OOP. Certo, chi programma in haskell sarebbe felice, lo ammetto.
  Tutto perché nel '50 qualcuno ha scritto un linguaggio tipo FORTRAN-1 
e brevettato il cambiamento di stato.
Per non parlare di "brevetto l'idea della grammatica di un linguaggio". 
Nessuno può più inventare un linguaggio.
Poi ovviamente ci sarebbe "brevetto l'idea del brevetto" o "brevetto 
l'idea di avere idee".

 l'idea di avere idee".
Cmq il discorso fondamentale e' quello di vietare in qualche modo che
qualcuno copi il mio linguaggio e/o scriva compilatori per esso.
Ciao

 
E che cosa poteva vietare di java?
La sintassi? Troppo simile al C.
La programmazione a oggetti? Già pre-esistente.
L'idea di fare programmi portabili attraverso un runtime? Al limite 
potrà brevettare aspetti molto limitati (il just in time compiler) o 
(come credo abbia fatto), non distribuire i sorgenti.


 (come credo abbia fatto), non distribuire i sorgenti.
no, non l'ha fatto, il JIT c'era già (anche se credo venisse sempre da 
sun, per Self)

 qualcuno copi il mio linguaggio e/o scriva compilatori per esso.
IMHO č immorale e sbagliato vietare una cosa simile.
Puoi brevettare il tuo compilatore e va bene, ma impedire ad altri di 
scrivere compilatori č semplicemente puerile. Chiunque puņ scrivere un 
compilatore per un linguaggio L' che contiene il "tuo" linguaggio L come 
sottoinsieme, e tanti saluti alle tue velleitą di proprietą intellettuale.
E poi perchč dovresti volere che nessuno copi il "tuo" linguaggio?

 qualcuno copi il mio linguaggio e/o scriva compilatori per esso.
mi spieghi perchè qualcuno dovrebbe imparare il tuo linguaggio se nel
caso di (per esempio) tua morte o ritiro dagli affari il compilatore e il
linguaggio sono costretti a rimanere bloccati a vita?
p.s. ma cos'ha di interessante questo linguaggio?