Uno spazio dei nomi per i comandi UNIX
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- TheSnowBoarder
- Linux 1.x

- Messaggi: 139
- Iscritto il: gio 30 giu 2005, 0:00
- Località: Catania
Uno spazio dei nomi per i comandi UNIX
Ciascun comando UNIX invocabile da una shell risiede in un unico e piatto spazio dei nomi.
Comandi = { cmd : cmd si trova in $PATH }
Sono dell'idea che questa architettura farà presto esplodere i nomi, creando inutili casini e mal di testa a chi volesse sviluppare dei nuovi programmi.
Perché non seguire anche su UNIX la stessa convenzione sullo spazio dei nomi usata in Java ?
Penso che la convenzione introdotta da Java sia elegantissima, e si basa su una sorta di DNS rovesciato.
Chi vuole scrivere un software deve avere un nome di dominio ( DNS ) registrato, come ad esempio slacky.it , distrowatch.com etc
Questa scelta assicura l'univocità mondiale su un intero spazio dei nomi: tutti i nomi appartenenti ad un sottodominio possono essere gestiti dal proprietario del dominio con la sicurezza che tutti i propri nomi non collidano con quelli del resto del mondo
Quando poi si scrive il proprio software, gli si impone un nome qualificandolo con il proprio dominio di appartenenza.
Cosi ad esempio firefox diventerebbe
org.mozilla.firefox
org.mozilla.thunderbird
oppure ancora
net.sourceforge.audacity
etc ....
In questo modo si creerebbero nomi in modo molto più razionale e gestibile, e si eviterebbe di vedere programmi dal nome impronunciabile del tipo
tinaptw
This Is Not A Program That Works
che ne pensate ?
Comandi = { cmd : cmd si trova in $PATH }
Sono dell'idea che questa architettura farà presto esplodere i nomi, creando inutili casini e mal di testa a chi volesse sviluppare dei nuovi programmi.
Perché non seguire anche su UNIX la stessa convenzione sullo spazio dei nomi usata in Java ?
Penso che la convenzione introdotta da Java sia elegantissima, e si basa su una sorta di DNS rovesciato.
Chi vuole scrivere un software deve avere un nome di dominio ( DNS ) registrato, come ad esempio slacky.it , distrowatch.com etc
Questa scelta assicura l'univocità mondiale su un intero spazio dei nomi: tutti i nomi appartenenti ad un sottodominio possono essere gestiti dal proprietario del dominio con la sicurezza che tutti i propri nomi non collidano con quelli del resto del mondo
Quando poi si scrive il proprio software, gli si impone un nome qualificandolo con il proprio dominio di appartenenza.
Cosi ad esempio firefox diventerebbe
org.mozilla.firefox
org.mozilla.thunderbird
oppure ancora
net.sourceforge.audacity
etc ....
In questo modo si creerebbero nomi in modo molto più razionale e gestibile, e si eviterebbe di vedere programmi dal nome impronunciabile del tipo
tinaptw
This Is Not A Program That Works
che ne pensate ?
- MAT
- Linux 4.x

- Messaggi: 1242
- Iscritto il: mer 9 mar 2005, 0:00
- Nome Cognome: Matteo Magni
- Kernel: 2.6.20
- Desktop: Fluxbox
- Distribuzione: Gentoo
- Località: Vignola, Modena
Sì, ma sai che casino poi lavorare da console? Dovresti digitare decine di caratteri in più, rendendo le righe lunghissime e illeggibili. Un semplice
quanto diventerebbe lungo? 
Codice: Seleziona tutto
lsmod|sort|less- TheSnowBoarder
- Linux 1.x

- Messaggi: 139
- Iscritto il: gio 30 giu 2005, 0:00
- Località: Catania
I comandi standard di UNIX definiti all'interno dello Single Unix Specification resterebbero invariati; i programmi nuovi, generalmente svillupati sotto interfaccia grafica, non avrebbero alcun problema.
Mettiamo il caso che tu volessi sviluppare un lettore DVD;
probabilmente il nome più appropriato potrebbe essere dvdplayer. Ma sarebbe comunque un nome che non potresti dargli, perché con tutto il software che è stato sviluppato dalla comunità GNU e non, è altissima la probabilità che qualcuno abbia già fatto un proprio software dandogli proprio quel nome.
Dovresti allora ricorrere a qualche nome assurdo, acronimo di qualche cosa di ancora più assurdo; non avresti neanche in questo caso la certezza che quel nome non sia già stato utilizzato, semplicemente perché non c'è alcuna regola che stabilisce una convenzione sulla creazione di un nome.
Come potresti chiamarlo allora ?
dpiyap ?
Dvd Player Is Yet Another Player ?
Ok
E poi alla gente cosa si dice ?
Per guardare i dvd usate dpiyap ?
e come si pronuncia ?
Secondo me il problema esiste già, e basta guardarsi un po' in giro per trovare software dai nomi incomprensibili.
In base a quale principio un neofita dovrebbe capire che per chattare sul network MSN dovrebbe usare GAIM ?
Che vuol dire GAIM ?
GNU Messenger non sarebbe stato un nome più simpatico ?
Con uno spazio dei nomi si sarebbe potuto usare.
A proposito quindi di dvdplayer:
Supponendo che tu possieda il dominio
mat.com
potresti chiamare il tuo software semplicemente
com.mat.dvdplayer
con l'assoluta certezza che nessuno al mondo abbia usato quel nome per il proprio eseguibile.
Ovviamente all'utente gli si direbbe soltanto dvdplayer:
con sua grande soddisfazione e con grande soddisfazione per l'aver creato un sistema ordinato.
Allo stesso modo un'altro programmatore potrebbe chiamare il suo programma sempre dvdplayer , ma con un nome qualificato ovviamente diverso:
org.pippo.dvdplayer
Risultato: sullo stesso sistema ci sarebbero due "dvdplayer" conviventi senza alcun problema.
Sono dell'idea che creare nomi assurdi e illeggibili allontani gli utenti dall'uso di GNU / Linux.
Prendete ad esempio Internet Explorer di Microsoft: il nome dice tutto, anche un idiota può capire immediatamente che serve a navigare su internet.
In base a quale principio dovrei capire che XINE è un ottimo lettore di formati multimediali ?
Mettiamo il caso che tu volessi sviluppare un lettore DVD;
probabilmente il nome più appropriato potrebbe essere dvdplayer. Ma sarebbe comunque un nome che non potresti dargli, perché con tutto il software che è stato sviluppato dalla comunità GNU e non, è altissima la probabilità che qualcuno abbia già fatto un proprio software dandogli proprio quel nome.
Dovresti allora ricorrere a qualche nome assurdo, acronimo di qualche cosa di ancora più assurdo; non avresti neanche in questo caso la certezza che quel nome non sia già stato utilizzato, semplicemente perché non c'è alcuna regola che stabilisce una convenzione sulla creazione di un nome.
Come potresti chiamarlo allora ?
dpiyap ?
Dvd Player Is Yet Another Player ?
Ok
E poi alla gente cosa si dice ?
Per guardare i dvd usate dpiyap ?
e come si pronuncia ?
Secondo me il problema esiste già, e basta guardarsi un po' in giro per trovare software dai nomi incomprensibili.
In base a quale principio un neofita dovrebbe capire che per chattare sul network MSN dovrebbe usare GAIM ?
Che vuol dire GAIM ?
GNU Messenger non sarebbe stato un nome più simpatico ?
Con uno spazio dei nomi si sarebbe potuto usare.
A proposito quindi di dvdplayer:
Supponendo che tu possieda il dominio
mat.com
potresti chiamare il tuo software semplicemente
com.mat.dvdplayer
con l'assoluta certezza che nessuno al mondo abbia usato quel nome per il proprio eseguibile.
Ovviamente all'utente gli si direbbe soltanto dvdplayer:
con sua grande soddisfazione e con grande soddisfazione per l'aver creato un sistema ordinato.
Allo stesso modo un'altro programmatore potrebbe chiamare il suo programma sempre dvdplayer , ma con un nome qualificato ovviamente diverso:
org.pippo.dvdplayer
Risultato: sullo stesso sistema ci sarebbero due "dvdplayer" conviventi senza alcun problema.
Sono dell'idea che creare nomi assurdi e illeggibili allontani gli utenti dall'uso di GNU / Linux.
Prendete ad esempio Internet Explorer di Microsoft: il nome dice tutto, anche un idiota può capire immediatamente che serve a navigare su internet.
In base a quale principio dovrei capire che XINE è un ottimo lettore di formati multimediali ?
concordo con twister...preferisco di gran lunga come vengono chiamati ora i programmi (sia che il nome abbia senso sia che non lo abbia)
anche perché se no Gaim come lo dovrei richiamare...
?! ...me ne scorderei subito come si chiama 
anche perché se no Gaim come lo dovrei richiamare...
Codice: Seleziona tutto
net.sourceforge.instantmessenger- gallows
- Staff

- Messaggi: 3470
- Iscritto il: lun 20 set 2004, 0:00
- Slackware: 64-current
- Kernel: 5.10.7
- Località: ~/
- Contatta:
IMHO è una questione di lana caprina. Internet Explorer (per riprendere l'esempio precedente) si chiama ie.exe, ma chi lo lancia tramite shell?
Un utente poco esperto generalmente non conosce l'eseguibile il quale non è detto che sia identico al nome del programma... (soffice == open office, ie == internet explorer, acroread == Adobe Acrobat Reader...)
Per quanto riguarda gaim:
1) non è un programma GNU
2) Originariamente era per AIM (da qui GAIM)
3) Nel mio menu di xfce vedo scritto "Gaim Internet Messenger"
Un utente poco esperto generalmente non conosce l'eseguibile il quale non è detto che sia identico al nome del programma... (soffice == open office, ie == internet explorer, acroread == Adobe Acrobat Reader...)
Per quanto riguarda gaim:
1) non è un programma GNU
2) Originariamente era per AIM (da qui GAIM)
3) Nel mio menu di xfce vedo scritto "Gaim Internet Messenger"
- TheSnowBoarder
- Linux 1.x

- Messaggi: 139
- Iscritto il: gio 30 giu 2005, 0:00
- Località: Catania
Esiste il tasto TAB.twister ha scritto:se ho 2 dvdplayer sul mio sistema come li riconosco? quale lancio e come?
com.bello.dvdplayer
anzi no mi serve quell'altra feature aspetta
co.uk.ciao.dvdplayer
oppure era
gov.edu.net.eccolo.dvdplayer
E poi scusa, non facciamo gli esagerati:
Esistono delle bellissime GUI sotto Linux, se vuoi vederti un dvd non puoi cliccare su un Launcher apposito ? "Punta e clicca", non è una parolaccia.
Hai bisogno di vederti il tuo dvd da una sessione ssh ?
La shell è una cosa bellissima, ma fare gli esagerati non è neanche il caso.
E sei sicuro che il nome che dai al tuo alias non collida con qualche altro applicativo presente sul tuo sistema ?Preferisco così, in caso mi imposto un alias se ritengo che un nome sia troppo complicato
Supponendo che tu stabilisca
alias dvdplayer="xine dvd:/"
cosa ti garantisce che il comando dvdplayer non appartenga già ai comandi presenti su qualche altro sistema ?
Ho l'impressione che i sistemi GNU stiano evolvendo verso il massimo casino possibile, basta vedere il casino assurdo che c'è nell'organizzazione di /bin /sbin/ /usr/local/{bin,sbin} etc .....
- TheSnowBoarder
- Linux 1.x

- Messaggi: 139
- Iscritto il: gio 30 giu 2005, 0:00
- Località: Catania
Guardatevi la directory /usr e poi ditemi se non c'è casino, per non parlare riguardo ai file di log: nessuno è riuscito a trovare una convenzione su come dare un nome chiaro ai file di log. Se andate su /var/log vedrete file del tipo .log , syslog , vattelapesca .....
Non parliamo delle librerie di sistema: sono sparpagliate in po' per tutto il sistema; a tal proposito faccio notare che la pulizia di MAC OS X è scioccante.
A proposito della questione sullo spazio dei nomi,
deduco che nessuno di voi abbia mai programmato né in C++ né in Java.
Giusto per avere un esempio, vi consiglio di scaricare LimeWire da limewire.com e di scompattare quindi l'archivio LimeWire.jar
$ unzip LimeWire.jar
L'albero di directory decompresse ha un'organizzazione molto simpatica ...
Non parliamo delle librerie di sistema: sono sparpagliate in po' per tutto il sistema; a tal proposito faccio notare che la pulizia di MAC OS X è scioccante.
A proposito della questione sullo spazio dei nomi,
deduco che nessuno di voi abbia mai programmato né in C++ né in Java.
Giusto per avere un esempio, vi consiglio di scaricare LimeWire da limewire.com e di scompattare quindi l'archivio LimeWire.jar
$ unzip LimeWire.jar
L'albero di directory decompresse ha un'organizzazione molto simpatica ...
- twister
- Staff

- Messaggi: 1599
- Iscritto il: mar 11 nov 2003, 0:00
- Slackware: current
- Località: Roma
- Contatta:
Cosa ha /usr di incasinato?
Io in /var/log a parte proftpd.log e Xorg.log, che sono a se stanti, ho tutte directory create di default dai vari applicativi, dove sono inseriti i log oppure non hanno estensioni, se non .log
Per le librerie...
Se parti con il piede giusto e capisci la struttura del filesystem (non prenderla come una critica) capisci il perchè di molte librerie, per altre, beh... scelte infelici di programmazione, ma non per questo demonizzabili.
E comunque, non prendere questa mia come un offesa, c'è sempre LFS, creati la tua distribuzione magari avrà successo
Io in /var/log a parte proftpd.log e Xorg.log, che sono a se stanti, ho tutte directory create di default dai vari applicativi, dove sono inseriti i log oppure non hanno estensioni, se non .log
Per le librerie...
Se parti con il piede giusto e capisci la struttura del filesystem (non prenderla come una critica) capisci il perchè di molte librerie, per altre, beh... scelte infelici di programmazione, ma non per questo demonizzabili.
E comunque, non prendere questa mia come un offesa, c'è sempre LFS, creati la tua distribuzione magari avrà successo
- gallows
- Staff

- Messaggi: 3470
- Iscritto il: lun 20 set 2004, 0:00
- Slackware: 64-current
- Kernel: 5.10.7
- Località: ~/
- Contatta:
Mah, secondo me unix è ordinatissimo. So sempre dove andare a cercare le cose. Questo convenzioni esistono da decenni e credo che pochi si siano lamentati...TheSnowBoarder ha scritto:Guardatevi la directory /usr e poi ditemi se non c'è casino, per non parlare riguardo ai file di log: nessuno è riuscito a trovare una convenzione su come dare un nome chiaro ai file di log. Se andate su /var/log vedrete file del tipo .log , syslog , vattelapesca .....
/var/log/ è ok, qual è il problema?
Generalmente in /lib /usr/lib /usr/local/lib.Non parliamo delle librerie di sistema: sono sparpagliate in po' per tutto il sistema;
MacOS com'è strutturato?
- MAT
- Linux 4.x

- Messaggi: 1242
- Iscritto il: mer 9 mar 2005, 0:00
- Nome Cognome: Matteo Magni
- Kernel: 2.6.20
- Desktop: Fluxbox
- Distribuzione: Gentoo
- Località: Vignola, Modena
Boh, io tutto questo casino non lo vedo. Anche io comunque quoto quanto già detto da twister (e anche io uso flux quindi no punta&clicca, drag&drop e menate varie).
Ho programmato con entrambi i linguaggi, anche se a C++ ho dedicato poco tempo. Java invece lo uso quasi quotidianamente.TheSnowBoarder ha scritto:A proposito della questione sullo spazio dei nomi, deduco che nessuno di voi abbia mai programmato né in C++ né in Java.