|
|
|
![]() |
|
Strumenti |
![]() |
#101 | ||
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
![]() Una semplice dimostrazione di come l'OS (inteso non come il semplice rilasciare il sorgente, ma come dici tu la possibilita' che chiunque previa autorizzazione possa mettere mano al codice): saprai certamente che alcune metodologie di reviewing formale, prevedono uso estensivo di pair reviewing e pair programming. In pratica, due programmatori si mettono assieme a fare la review di un pezzo di codice e altri due programmatori si mettono assieme a fare refactoring. Se io e te decidessimo di fare pair programming su un progetto OS, come dovremmo configurarci? Io sono qui in UK tu in Italia, dovremmo essere allo stesso PC. E il pair programming e' un requisito sempre piu' importante per assicurare la Qualita'. Altro esempio di come l'OS sia intrinsecamente di minore Qualita'. Questa metodologia non e' applicabile all'OS, che unito al fatto che molte altre metodologie non vengono applicate di fatto porta alla dimostrazione della mia tesi. Quote:
La Qualita' non deve dipendere (fortemente) dalla qualita' dei programmatori ma dalle metodologie usate nella costruzione del software.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
||
![]() |
![]() |
![]() |
#102 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Se funziona e risolve il problema, garantisce solo il primo requisito, poi ce ne sono altri altrettanto importanti come l'estensibilita' e la facilita' di manutenzione. Se un software risolve il problema, ma tende ad essere pieno di difetti ed ogni difetto richiede altissimi costi per essere corretto, ed ogni correzione tende ad introdurre nuovi di difetti, non e' certo software di qualita', giusto? Perche' ricordiamoci che non esiste software esente da difetti.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
#103 | ||
Senior Member
Iscritto dal: Mar 2002
Città: Padova
Messaggi: 1507
|
Quote:
![]() Quote:
F/OSS: programma di scarsa qualità Closed: programma di qualità Sulla seconda non ho dubbi che non è affatto vero, perchè nessuno mi garantisce che un programma sia portato avanti con metodo, e sopratutto dopo aver visto il codice di qualche programma che viene venduto per vari euro, mi son reso conto di quanto male siamo presi. Certo c'è anche chi fa le cose fatte bene, ma fino ad adesso ho avuto la sfortuna (nella PMI, almeno) di vedere solo programmi fatti maluccio (pochi commenti, niente strumenti come cvs o equivalenti e sopratutto nessuno che si sogna manco lontanamente di star li ad annotare le modifiche al codice... Per la prima puoi rendertene conto tu stesso, basta che ti segui lo sviluppo di Linux (kernel!), di gnome, di kde, cosa che puoi fare perchè il codice è li a tua disposizione e anche le mailing list dei developer sono accessibili a tutti, così vedrai che non siamo così alieni dal fare le cose fatte bene. È _chiaro_ che moltissimi programmi son fatti con leggerezza, però. Io mi arrischio a dire cosa penso: penso che in grossi progetti, sia closed che open, ci siano tutti gli strumenti necessari a garantire la qualiltà e tutto il resto che hai spiegato più sopra. Nei progetti piccoli/medi, _sia_ open _sia_ closed, le cose sono fatte in allegria[1]. Questo per il poco rappresentato dalle mie esperienze personali. Magari mi sto prendendo una cantonata, ma penso sia così che và. [1] non sto dicendo che lo facciano tutti. Dico che lo fanno in molti.
__________________
Things should be as simple as possible, but not simpler. (Albert Einstein) Mi hanno sempre fatto credere che nell'incertezza è meglio prendere: ma se io prendo, chi è che dà? (Negrita, Bambole) Dapprima ti ignorano, poi ti ridono dietro. Poi cominciano a combatterti. Poi tu vinci. (Mahatma Gandhi) |
||
![]() |
![]() |
![]() |
#104 | ||||
Senior Member
Iscritto dal: Dec 2002
Città: /dev/urandom breed
Messaggi: 1689
|
Quote:
Quote:
Quote:
ibadisco il termine "difetto intrinseco". Quote:
Comunque, ribadisco: - se si dice "la qualita` media del F/OSS non e` eccellente", concordo. - se si dice "molti progetti F/OSS non seguono rigorose politiche di test/analisi/"best pratice" di programmazione", concordo - se si dice "l'essere F/OSS preclude automaticamente l'attuare metodologie rigorose di analisi/test/"best pratice" e la produzione di SW di qualita`", NON concordo. |
||||
![]() |
![]() |
![]() |
#105 |
Senior Member
Iscritto dal: Jan 2003
Messaggi: 10395
|
Diciamo che poi, come in tutte le aziende commerciali, nelle case produttrici di software si fanno anche dei compromessi.
Perchè se fosse vero che il software closed source viene controllato, certificato ed analizzato a fondo, avremmo programmi commerciali privi o quasi di bug. Questo non si verifica, anche perchè c'è l'aspetto economico, e tante volte si preferisce immettere un prodotto sul mercato quando è "accettabilmente" privo di bug. Quell'accettabilmente poi può essere più o meno indicativo. Io uso svariati programmi commerciali (lasciamo stare l'ambito Windows) ad esempio di CAD e product managing (non faccio nomi). I service pack e bug fix sono parecchi: certo, alcuni interessano problemi di cui io non sarei mai stato afflitto, ma altri sono stati anche piuttosto antipatici. E su software che costano migliaia di euro è abbastanza seccante vedere il tuo CAD che ogni tanto si resetta su hardware perfettamente funzionante. Quello che voglio dire è che, nel software (a parte i discorsi su certificazioni, approvazioni et similia che spesso, non sempre, ma in molti casi è così, sono più formali che di sostanza), così come nelle altre discipline ciò che conta è fare le cose con criterio. Certi strumenti aiutano, ma fondamentale è la testa di chi fa le cose.
__________________
PC Specialist Recoil 17 - 13900HX - 32 GB DDR5 5200 - Geforce RTX 4080 Mobile 12Gb 175W - 1 SSD Corsair Core XT MP600 2 TB NVMe - 1SSD Solidigm P41+ 2TB NVMe |
![]() |
![]() |
![]() |
#106 | |||
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Pair reviewing e' mettere due programmatori a controllare sullo stesso PC un pezzo di codice. Quote:
Se lo sviluppo decentralizzato e' intrinseco alla metodologia, allora la metodologia e' intrinsecamente meno di Qualita'. Da questo punto non se ne esce: e' una prova conclusiva della tesi. Poi, ovviamente puoi anche non accettarla come tale ![]() Quote:
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|||
![]() |
![]() |
![]() |
#107 |
Senior Member
Iscritto dal: Jan 2003
Messaggi: 10395
|
Appunto mettevo "o quasi"
![]() Il problema è sempre quel "livello di accettabilità". Comunque ricordati che B&W 2 lo prenderò di sicuro... mi raccomando ![]()
__________________
PC Specialist Recoil 17 - 13900HX - 32 GB DDR5 5200 - Geforce RTX 4080 Mobile 12Gb 175W - 1 SSD Corsair Core XT MP600 2 TB NVMe - 1SSD Solidigm P41+ 2TB NVMe |
![]() |
![]() |
![]() |
#108 | ||
Senior Member
Iscritto dal: Mar 2002
Città: Padova
Messaggi: 1507
|
Quote:
http://www.teammosaico.biz/ Quote:
![]()
__________________
Things should be as simple as possible, but not simpler. (Albert Einstein) Mi hanno sempre fatto credere che nell'incertezza è meglio prendere: ma se io prendo, chi è che dà? (Negrita, Bambole) Dapprima ti ignorano, poi ti ridono dietro. Poi cominciano a combatterti. Poi tu vinci. (Mahatma Gandhi) |
||
![]() |
![]() |
![]() |
#109 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
http://www.revealnet.com/newsletter-v2/unit_test.htm Libro interessante sullo unit testing: http://www.amazon.co.uk/exec/obidos/...141626-4355647
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
#110 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
![]()
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
#111 |
Senior Member
Iscritto dal: Nov 2002
Città: Morbegno (SO)
Messaggi: 1410
|
thx per i link, gli do un occhio , ma da quanto avevo capito in una frase precedente (non mi sembra il caso di ricercarla) sembrava che un ben definito test formale che tu avevi in testa era != da un test sulla casistica su un unit piu o meno definita: solo incomprensione.
__________________
e' difficile cio' che non si conosce Tic Tac Andrew Morton, 15/02/2008 LKML:"`tmp' is an awful identifier, and renaming it to `temp' hardly improves it." |
![]() |
![]() |
![]() |
#112 |
Senior Member
Iscritto dal: Feb 2000
Città: crema (cr) EH SI!! SONO TUTTI FINOCCHI CON IL CULO DEGLI ALTRI
Messaggi: 1892
|
avete mai letto qualcvhe stralcio dei commenti hai sorgenti di windows che circolavano tempo fa? i programmatori si offendevano lasciando monologhi al posto di commentare il codice, tipo per colpa di quel xxxxxxx che ha scritto quel codice col xxxxxx io ora mi devo fare un mazzo tanto per fare cosi cosi cosi
e vi posso garantire che i termini farebbero impallidire totti quindi, se window se tanto scritto bene perche' io che pago non posso avere il DIRITTO di vedere cosa protegge la mia privacy? perche' se lo tengono avidamente stretto? forse perche' non e' poi scritto cosi' bene? winxp e' scritto in tutti i linguaggi possibili, dal c al basic, assembler e tanti altri, parti di codice che risalcono alla dosshell....no...non e' cosi' che si lavora bene....se la filosofia del del close e' migliore windows non puo' essere usato come esempio.... perche' pur usufruendo di team di sviluppo che lavorano fianco a fianco non cavano un ragno dal buco......
__________________
Le Mie Statistiche Del BOINC |
![]() |
![]() |
![]() |
#113 | |
Senior Member
Iscritto dal: Apr 2003
Messaggi: 689
|
Quote:
Pair programming! Pair reviewing! eXtreme Programming i suppose! ![]() Perdonami ma con i seguaci di questa filosofia ( religione? Kent Beck=Ron Hubbard? XP=scientology? ) non riesco ad andarne fuori e forse e' per questo che gira e rigira siamo tutti qui a ridire sempre le stesse cose .. buona giornata |
|
![]() |
![]() |
![]() |
#114 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
x fek:
Ho letto i tuoi interessanti interventi, ma non credo che hai avuto modo di conoscere come avviene la produzione di un software libero di qualità come il kernel linux. Mi limito a farti osservare che se l'ultimo robottino spedito su Marte utilizzava linux, e se la NSA ha scelto linux tra le piattaforme software di riferimento per la sicurezza, non dovrebbe essere quell'accozzaglia sconfusionaria scarsamente testata che si deduce leggendo i tuoi interventi. Per la scrittura di software di qualità non è necessario operare specificamente in campo open o closed source, come ben sai. Lo sviluppo di software libero, ben organizzato, non può influire sulla qualità, ma anzi può essere uno stimolo per migliorarla.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#115 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
![]() Ho provato qui a dimostrare che metodologie formali di scrittura del codice che sono comprovate portare a software di qualita', non sono applicabili all'OS, rendendolo intrinsecamente meno di qualita'. Il robottino spedito su Marte utilizzava linux, ma il software di controllo non era OS ![]()
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
#116 | ||
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
![]() http://www.osdlab.org/lab_activities...se_test_suite/ http://www.osdl.org/lab_activities/k.../document_view http://www.osdl.org/lab_activities/l...l?query=Active http://sourceforge.net/projects/plm/ http://www.osdlab.org/cgi-bin/eideti...ommand=display ecc. Più innumerevoli e disparati test sia runtime che di analisi automatica del codice effettuati da aziende e università (puoi trovare sulla linux kernel mailing list i dettagli se ti interessa). Sicuramente altri produttori fanno test simili e forse più esaustivi, ma noi lo facciamo alla luce del sole. Quote:
![]() E la NSA? Questo è tutto software libero, con tanto di sorgenti ![]()
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
||
![]() |
![]() |
![]() |
#117 | |||||
Senior Member
Iscritto dal: Dec 2002
Città: /dev/urandom breed
Messaggi: 1689
|
Quote:
Lo sviluppo decentralizzato non mi risulta sia caratteristica intrinseca dell'OSS, in quanto non facente parte, direttamente o meno, della sua definizione (http://www.opensource.org/docs/definition.php) Ciononidimeno, la quasi totalita` dei progetti OSS viene sviluppata in modo decentralizzato, e infatti molto software OSS soffre dei difetti che (giustamente) evidenzi. Quote:
Quote:
Anyway, e` quell'"intrinseco" cosi` insistentemente ripetuto il motivo del contendere... Quote:
Quote:
![]() Ultima modifica di Ikitt_Claw : 02-08-2004 alle 15:36. |
|||||
![]() |
![]() |
![]() |
#118 |
Senior Member
Iscritto dal: Dec 2003
Città: Catania
Messaggi: 431
|
questa è probabilmente la discussione più interessante degli ultimi mesi.
volevo quindi dire la mia. premesso che non ho alcuna esperienza in programmazione di alcun tipo (se non un pochetto sviluppo di applicazioni web - e.g. php/mysql - che un qualunque web master degno di questo nome dovrebbe conoscere), e che sconosco le metodologie [in]formali di sviluppo e testing del software in ambito più o meno professionale... ...il discorso di fek, seppur esposto a mio avviso in termini fin troppo fiscali, non fa una grinza, almeno fino a quando si parla di applicazioni con uno scopo molto specifico e dal contesto per niente vasto, come le più volte citate life-critical. In questo ambito, da quello che so, si tratta di applicazioni che hanno un compito specifico, progettate per essere eseguite in hardware altrettanto specifico, quindi il tutto in un contesto piuttosto selezionato. In tal caso, a mio modesto parere, l'OSS risulta inadatto perché non mi pare che sia questo il contesto per il quale è nato. Nel momento in cui invece si parla di Personal Computer, quindi di hardware con un'infinità di possibili variazioni, sul quale far girare del software con un'infinità di possibili scopi, mi sembra sia proprio il CSS un pesce fuor d'acqua. Considerato che l'OSS si basa sul contributo degli utilizzatori stessi, degli appassionati che capitano per caso su un software, e per saziare la loro inarrestabile voglia di sapere (che io chiamerei più "innata propensione al cazzeggio" ![]() Non ha senso parlare di questo fondamento dell'OSS in ambiti specialistici come le già citate (fino alla nausea) applicazioni life-critical. Chi cacchio è che avrebbe interesse a spluciarsi i sorgenti di un software di controllo di un radiofaro di un aeroporto, rispetto a quanti invece hanno interesse ad avere funzionalità aggiunte al kernel del Sistema Operativo che viene fatto girare sul proprio computer di casa (o sul server della propria azienda)? E considerato che l'architettura di un personal computer implica delle complicazioni nello sviluppo del software, risulta molto più vantaggioso l'OSS in quest'ambito, perché sicuramente il tizio che ha sviluppato un proprio software non ha avuto la possibilità di testarlo in ogni configurazione hardware possibile, lo rilascia comunque stabile, e poi magari si scopre un bug che avviene solo su determinati componenti installati. In questo caso se il soft in questione è CSS, bisogna aspettare che la SH testi il tutto sull'hardware incriminato, dopodiché bisogna aspettare che rilasci un fix, sempre che tutto ciò venga ritenuto vantaggioso economicamente... (perché magari non si mettono a rilasciare i fix per dell'hardware che non è abbastanza diffuso, perché ad una SH tutto ciò costa). Se la SH decidesse di non rilasciare il fix, il malcapitato utente non avrà alternative che cambiare hardware o non utilizzare quel soft. Se invece il soft è OSS, lo scopritore del bug, che ha avuto la sfiga di possedere quel componente che non gli fa girare il soft a dovere, ha la possibilità di far tutto da sé, senza nessun dispendio di tempo da parte del tizio che ha sviluppato il soft, che oltretutto non ha interesse economico alcuno, visto che il suo soft è libero. Il bug verrà notificato alla community, nella quale probabilmente si troverà qualcun altro con lo stesso problema che sottoporrà il fix ai test del caso, e poi verrà sottoposto all'attenzione del programmatore originario, il quale magari ufficializzerà il fix. Se non lo farà, il fix sarà comunque disponibile per chiunque, aperto anche a successive modifiche. In questa storiella mi pare ci siano racchiusi i parametri di Qualità che fek ha citato: - minimazzare i difetti (l'utente del soft OSS ne ha appena eliminato uno, e una miriade di altre persone come lui può fare lo stesso, nel caso del CSS invece il difetto rimane) - massimizzare l'estensibilita' (magari non ho ben chiaro cosa voglia dire, ma cosa c'è di più estensibile di un codice aperto a chiunque voglia aggiungervi funzionalità?) - minimizzare i costi di mantenimento (chiunque può contribuirvi, e lo fa per passione, non per denaro, per primo il creatore del soft. Chi lo fa evidentemente ha parecchio tempo libero, ed il tempo libero lo si impiega come si vuole, quindi ha il valore che ognuno vuole attribuirgli) - implementare le specifiche (questo lo vorrei spiegato ![]() Concludendo, restando nell'ambito del personal computing, sicuramente esistono molti più esempi di software CSS di qualità inferiore all'OSS piuttosto che il contrario, e non sto qui a citare il più ovvio, sarebbe scontato. tutto ciò ovviamente IMVHO.
__________________
Ecco il problema di chi beve, pensai versandomi da bere: se succede qualcosa di brutto si beve per dimenticare; se succede qualcosa di bello si beve per festeggiare; e se non succede niente, si beve per far succedere qualcosa. |
![]() |
![]() |
![]() |
#119 | ||
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Sicuramente il solo fatto di rendere un sorgente pubblico non ne aumenta la qualita', questo e' sicuro, perche' la qualita' dipende dalle metodologie di sviluppo. Con questo non ho mai affermato che non esistano suit di testing per sviluppatori in ambiente Linux. Sono certo che esistano, e sono certo che ci sono team di sviluppo che usano test formali anche sotto Linux. Si scrive software commerciale anche sotto Linux. Per altro non ho mai neppure partecipato alla guerra Linux vs Windows perche' credo sia una cosa stupida. Ora, il punto del discorso e': l'articolo affermava che Linux e' piu' sicuro perche' la metodologia di sviluppo OS (e distribuita abbiamo specificato in seguito lungo il thread) e' intrinsecamente piu' sicura. No, mi sono affannato a dimostrare il contrario, portando svariati esempi che includono sia le pratiche che di solito vengono disattese in questa metodologia, sia le pratiche che sono assolutamente impossibili (ho citato il pair programming), per concludere che l'OSS e' intrinsecamente di minor qualita' rispetto a codice scritto "on site". Quote:
![]()
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
||
![]() |
![]() |
![]() |
#120 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
![]()
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:04.