Everything sux

Saturday, August 14, 2004

PHP problemi infiniti

Per qualche curiosa motivazione personaggi vari sostengono php.


Sebbene php abbia rappresentato un'innovazione nell'ambito dello sviluppo web, a suo tempo, il motivo valido per usarlo adesso è... beh.. arduo da rintracciare.

Giacché più e più volte il flame "php sux/php rulez" si ripresenta, raccolgo qua dei pensieri a riguardo, affinché siano usati dai detrattori del linguaggio come promemoria, ed ai fautori come stimolo. Nelle speranze dell'Autore, tale lista potrà tagliare nettamente la lunghezza di numerosi flame, ove questi non aggiungano nulla alle discussione passate. Parlo di php5, invero.

  1. php non ha namespace. Qualunque linguaggio che debba essere usato per un compito complesso dovrebbe fornire un metodo per segregare funzionalità diverse in spazi diversi da quello globale. PHP, simpaticamente, non lo fa.
  2. php ha un sistema ad oggetti ridicolo, in quanto:
  3. non esiste la possibilità di manipolare le metaclassi
  4. non esiste la possibilità gestire l'inizializzazione e l'allocazione di un oggetto distintamente, e numerose hot head di php non sanno neanche cosa significhi.
  5. non esiste una convenzione ne' forzata tramite sintassi ne' a livello sociale nel dare nomi a librerie, variabili, classi.
  6. Non c'è supporto per la metaprogrammazione a nessun livello.
  7. Non ci sono funzioni di ordine superiore, currying, e lambda. Manipolare una funzione in php significa fare l'eval ogni volta
  8. non c'è supporto per le coroutine
  9. non c'è supporto per directed coroutine (i generatori di python)
  10. non c'è call-with-current-continuation
  11. non ci sono eccezioni resumabili
  12. è impossibile estendere php in php (cfr tcl o lisp o in qualche misura ruby/python/smalltalk)
  13. SimpleXML è stato scritto da una manica di ubriachi. Ad esempio non è possibile gestire tag con nomi non nell'intervallo a-z.
  14. non c'è supporto per multilingualization, ovvero la possibilità di manipolare encoding vari in modo univoco. Addirittura non si possono usare encoding a più di otto bit.
  15. non esistono ne' mixin ne' trait ne' ereditarietà multipla, quindi mostruosa duplicazione del codice.
  16. hanno inventato un sistema di controllo dei tipi che avviene per ogni chiamata a funzione, ogni volta, controllando il tipo dei parametri. Vi lascio intuire che performance.
  17. lo zend engine è notoriamente un colabrodo a livello di sicurezza.
  18. php è un interprete lento, cercate sui benchmark del Grande Shootout o di scutigena.
  19. non c'è ottimizzazione delle tail call
  20. le classi non sono modificabili a run time
  21. le classi non si sa se siano oggetti, gli autori di php a riguardo non rispondono
  22. php non è completamente ad oggetti. Se pensate che non essere full OO sia un vantaggio in termini di semplicità, vi prego di postare un esempio, e ve lo mostrerò più semplice.
  23. non c'è DBC e dato #12 non si può infilarcelo
  24. per qualche strano motivo gli array sono degli hash
  25. il sistema di controllo d'accesso è antiquato
  26. non c'è un sistema di sicurezza degli script builtin (vedi #17)
  27. il sistema di type check è ridicolo per la sua imprecisione. Lo avessero lasciato completamente dinamico sarebbe meglio.

Se ritenete che Queste motivazioni siano errate o incomplete vi prego di commentare.

7 Comments:

  • ahhaha grande post, me lo segno per i vari php lovers che mi scasseranno in futuro :P

    ciao!

    By Blogger Lawrence, at August 20, 2004 at 2:37 PM  

  • Ma hai mai programmato per il web? Se si, quanto tempo ti hanno dato i tuoi clienti?

    By Anonymous Anonymous, at August 31, 2005 at 1:57 PM  

  • si, l'ho fatto ed in un certo modo lo faccio anche ora.
    Mi hanno dato troppo poco tempo, come a tutti.
    Però non ho capito il flusso di pensieri..

    By Blogger verbat, at August 31, 2005 at 2:30 PM  

  • Hey, you have a great blog here! I'm definitely going to bookmark you!

    I have a test php script site/blog. It pretty much covers test php script related stuff.

    Come and check it out if you get time :-)

    By Blogger Infactahost.com, at October 25, 2005 at 9:05 PM  

  • Create your own Blog Community with Host-Press, a blog hosting script based on Wordpress.

    By Anonymous Anonymous, at October 28, 2005 at 3:54 PM  

  • sei solo una sfigato che vuole sentirsi meglio degli altri.
    Dal 2004 php ha fatto innumerevoli progressi e di fatto ci sono innumerevoli applicazioni e progetti che si possono sviluppare in php in modo piu semplice di molti altri linguaggi.
    PHP è un linguaggio che è stato volutamente reso snello fin dall'inizio per permettere ai programmatori una maggior comodità e rapidità di sviluppo.

    By Anonymous Anonymous, at June 15, 2010 at 7:03 AM  

  • beh tra poco esce il 6 ne ha fatti di passi avanti!

    By Anonymous Anonymous, at March 16, 2012 at 6:15 AM  

Post a Comment

<< Home