<br><br><div class="gmail_quote">2011/12/8 Luciano Tolomei <span dir="ltr"><<a href="mailto:luciano@tolomei.name">luciano@tolomei.name</a>></span><br><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Ho sviluppato in php per oltre 10 anni e sinceramente non concordo con la discussione che si è sviluppata, e poi con il bel linguaggio che usate che ve ne frega ?</blockquote><div><br></div><div>Ora io vedo continuamente questa cosa (non solo da te).</div>

<div><br></div><div>"Fila di motivi per cui X non e' un granche'"</div><div>"Non sono d'accordo, go ahead, damn the torpedoes!"</div><div><br></div><div>Ovviamente nessuno ti viene a dire che non devi usare PHP. Che non puoi addirittura *amare* (apprezzare, divertirti, ben considerare, verbo a scelta) PHP. </div>

<div><br></div><div>Il problema e' che le questioni esposte non sono *soggettive*. "Il rosso e' un brutto colore" "Non sono d'accordo: sono 10 anni che mi vesto di rosso e mi piace tantissimo". Questo funziona.</div>

<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div>Mancano comunque dei punti fermi, il linguaggio è nato per il web e solo per quello; quando di MVC per i "siti internet" non ne parlava praticamente nessuno.</div>

</blockquote><div><br></div><div>Ehm... WebObject MVC per i siti web ne parlava dalla meta' degli anni 90. Poi il fatto che costasse un botto e avesse tutte le sue menate non sposta di molto la faccenda. ;)</div><div>

<br></div><div>Comunque figurati. Io non sono un object zealot. Sono assolutamente convinto che ci siano pattern appropriati *non* MVC per una serie di casi di uso reali. Non credo nemmeno che devi per forza scrivere un'applicazione ad oggetti. Ho visto bellissimi framework web per linguaggi funzionali, che, per definizione, non erano ad oggetti.</div>

<div><br></div><div>Poi quando sei ad oggetti MVC viene quasi naturale, dal mio punto di vista. Per inciso... non e' nulla di male: e' solo la composizione di qualche design pattern dei piu' elementari, mi verrebbe da dire che e' un comportamento emergente della buona programmazione ad oggetti.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div>La discussione sulla somma di numeri e stringhe, sugli include ed i require deriva da non capire che il linguaggio è nato pensando che l'unico input che poteva ricevere dall'utente era attraverso i campi delle form html, quindi solo stringhe, e che il codice era essenzialmente impacchettato dentro l html senza usare template:</div>

</blockquote><div><br></div><div>No: non e' questione di non capire. Semplificare il caso semplice e complicare il caso complicato *non* e' una buona idea di design.</div><div><br></div><div>Come dicevo piu' o meno in tutti gli ambienti l'input e' tipicamente *testo*. Noi umani *usiamo* il testo. Se ti scrivo 1000, sto in realta' scrivendo del testo. Poi ok, se hai una GUI con validatore cazzi e mazzi (leggi *explicit* conversion) in realta' ti potrebbe parere di stare prendendo un numero da me. Ma la realta' dei fatti e' che dall'utente prendi del testo e poi lo converti.</div>

<div><br></div><div>La maggior parte dei problemi di PHP sono semplicemente mancanza di buon design. Chi lo progettava non si poneva il problema di non fare scelte che si erano gia' rivelate errate. In generale credo che parte del problema fosse che la comunita' non aveva una minima idea di cosa fosse una buona idea e di cosa fosse una cattiva idea. </div>

<div><br></div><div>E poi anche ammettendo che il design di PHP e' *corretto*, posto il constraint che sia usato solo per la "Personal Home Page", si deriva che l'errore non e' di chi lo ha creato, ma di chi lo ha creato per fare cose piu' grosse. A me sinceramente non cambia molto chi ha sbagliato.</div>

<div><br></div><div>Mi limito a dire che in ogni caso PHP non e' un granche'. E questo probabilmente non e' un problema... io ci sto lontano e siamo tutti contenti. ;)</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div>(non svenite dal ridere ma una volta si lavorava a sta maniera)</div></blockquote><div><br></div><div>Guarda che abbiamo presente. :)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div></div><div>
Per le piccole cose che si fanno bene in procedurale sul web penso sia il linguaggio più veloce da sviluppare oggi esistente, inoltre nasconde completamente qualsiasi problema tecnico all'utente non richiedendo quindi nessuna skill da sistemista.</div>

</blockquote><div><br></div><div>Boh? Come dicevo... non mi interessa molto lo use-case "linguaggio in cui e' piu' semplice scrivere l'hello world". Trovo molto piu' interessante vedere chi mi da una mano quando ne ho bisogno. </div>

<div><br></div><div>Poi attenzione: skills da sistemista in PHP non richieste se ti danno un lamp funzionante. </div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


<div>PhpBB che è il software più bacato che conosca (almeno fino a qualche anno fa, non ci ho più messo le mani per fortuna) gestiva senza nessun tipo di problema qualche migliaio di utenti contemporanei su un hardware ridicolo, lo dico perché sono piuttosto stupito della discussione in parallelo che si sta svolgendo tra sync e async ecc...</div>

</blockquote><div><br></div><div>Parte del motivo e' che di fatto gestiva qualche migliaio di utenti che non facevano "nulla".</div><div>Quantifico il "nulla": query molto semplici in lettura e scritture relativamente semplici.  Buona parte del carico era sul DB. E la concorrenza la gestiva apache. ;)</div>

<div><br></div><div>Poi voglio dire, gli errori misteriosi che saltavano fuori mi farebbero escludere il concetto di "senza nessun problema".</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


<div><br></div><div>Per sviluppare ad oggetti è un po una pena proprio per il lassismo che ha sulle formalità, si possono scrivere anche cose di questo tipo:</div><div><br></div><div>$p = new $$_GET["pagina"]($_REQUEST);<br>


<br>la differenza la fa sempre lo sviluppatore, che in python trova in parte la pappa pronta ed in php deve darsi dei coding standards piuttosto stretti.</div></blockquote><div><br></div><div>La differenza la fa lo sviluppatore. Hai ragionissima. Un cattivo sviluppatore scrivera' PHP anche in Python. Pero' un buon linguaggio ti da una mano, altro che no! :)</div>

<div><br></div><div>La marea di convenzioni presenti in Python vuole per esempio dire che prendi una libreria in giro e di solito capisci piu' o meno subito quale e' la sua logica. Questo fa risparmiare un sacco di tempo.</div>

<div>Per dire in Java trovo spesso librerie molto complete, anche molto testate e robuste. Ma capire il *come* vanno usate per bene non e' mai particolarmente semplice, anche perche' spesso non ti danno il rationale della libreria, ti danno qualche esempio e il javadoc. E informazioni comparabili in Python sono invece sufficienti, in genere, per capire come vanno fatte le cose.</div>

<div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div>Però come si usava dire una volta per andare a fare la spesa la ferrari non è la macchina migliore quindi dipende sempre da che cosa si deve fare e chi la fa.</div>

</blockquote><div><br></div><div>In generale vero. Pero' come tutte le figure retoriche e' fallata, nel senso che sarebbe da intendersi quando Python *non va bene* (mentre e' chiaro quando la Ferrari non va bene -- cioe' praticamente sempre, visto che beve un sacco di benzina, e' pericoloso lasciarla parcheggiata fuori, occupa molto spazio in parcheggio, in generale non puoi usare la velocita', etc etc etc).</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div>Non penso che la comunità di drupal o i pazzi di pradosoft (tentativo molto interessante anche se ormai superato) siano dei masochisti.<br>

</div></blockquote><div><br></div><div>C'era un detto, citato dallo spocchioso Waldo, che diceva qualcosa tipo "History justifies stupidity". Ha un paio di interpretazioni diverse. Una si puo' abbondantemente applicare in questi casi.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div></div><div>Ma potremmo dire anche Wordpress o Facebook che sono entrambi in php.<br></div></blockquote>

<div><br></div><div>Questa cosa di "Facebook" in PHP andrebbe un po' sfatata. Parte di Facebook e' in PHP. E si trovano in giro i post degli engineers di Facebook che si lamentano della scelta.</div><div>

<br></div><div>Poi aggiungo... ridurre il problema "Facebook" al front-end mi sembra un po' tanto ingenuo. Non vorrei dire, ma buona parte dei loro problemi non sono di programmazione, ma di sistema (ovvero fare scalare tutta quella roba, propagare i dati, etc etc etc).</div>

<div><br></div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div> </div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div><br><br><div class="gmail_quote">2011/12/7 Marco Mariani <span dir="ltr"><<a href="mailto:birbag@gmail.com" target="_blank">birbag@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<p>Nessuno, ovvio.</p><div class="im">
<br>_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it" target="_blank">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
<br></div></blockquote></div><br></div>
<br>_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br> .<br>..: -enrico-<br>