Newsgroup: it.lavoro.professioni.webmaster
Titolo: ASP.NET o PHP?

Tempo fa ho sviluppato un progetto non banale con Php4 che mi ha
permesso di prendere confidenza con il linguaggio, che mi è piaciuto
molto. Poi, recentemente, ho messo le mani su un progetto Asp.Net per
delle marginali modifiche che mi hanno permesso di vedere alcune delle
principali differenze tra le due tecnologie.
Ora, dovendo progettare e sviluppare una applicazione web non banale
da zero mi trovo nella posizione di poter scegliere quale tecnologia
adottare. Tralasciando i costi materiali di sviluppo (la licenza
VS.Net mi servirebbe comunque per un progetto Desktop ed essendo
ancora studente per ora non la pago) rimangono due variabili, i costi
materiali di deployment e i costi immateriali di sviluppo (ergo
semplicità e facilità di sviluppo).
Ovviamente sui costi materiali di deployment Php ha un forte
vantaggio, i contratti di hosting su Linux sono tipicamente più
economici e/o più convenienti ed è questa la ragione per cui mi
piacerebbe poter scegliere php.
Asp.Net però ha un punto di vantaggio riguardo ai tempi e costi
immateriali di sviluppo e manutenzione. Php, almeno nella versione che
ho usato io, che non è l'ultima, vede ancora le pagine web come pagine
web, invece 
asp.net
 vede le pagine web come applicazioni cosa che
rende molto più semplice progettare e sviluppare siti web non banali,
che, di fatto, sono applicazioni e non collezioni di pagine web. In
effetti Asp.Net è un linguaggio di programmazione fortemente orientato
agli oggetti, fortemente tipizzato quindi più adatto a progetti più o
meno complessi e più semplice per il debug e testing. Php invece si
porta dietro il suo bagaglio da quando è nato, e, per quanto si sia
sviluppato rimane un linguaggio scarsamente tipizzato e con un
supporto lasco agli oggetti, più adatto forse quindi come linguaggio
di scripting che come linguaggio di programmazione.
Adesso vi chiedo, Php è in circolazione da diversi anni, ha una
community ricchissima, e, specialmente dopo l'uscita dell'ultima
versione, che ancora non conosco in dettaglio ma so che ha migliorato
il supporto alla OOP, dovrebbe avere arricchito le librerie standard e
non standard.
Quali sono le possibilità che un programmatore Php ha per
automatizzare fortemente meccanismi tipici di applicazioni web
(visualizzazione e paginazione di tabelle provenienti da selezioni su
basi dati, modifiche ai dati presenti in tabelle, gestione e
validazione dei form eccetera) senza riscriversele da zero?
Con Asp.Net mi sono ritrovato una vista sql paginata senza dover
scrivere una riga di codice e mi è bastato chiamare una funzione per
aggiungere un paio di colonne custom alla tabella. Per non parlare
della validazione dei form, che in Php andava fatta a manina mentre
Asp.Net usando il controllo apposito per la validazione può generare
la validazione lato server e lato client in Javascript quasi allo
stesso tempo.
In PHP queste cose non si potevano fare, con la versione 5 è cambiato
qualcosa?

> 
vuoi essere libero?

 vuoi essere libero?
No. Voglio essere efficace.

 vuoi essere libero?
Ma perche' dovete mascherare l'incapacita' di rispondere a quesiti tecnici 
con questi aut-aut del cazzo ?
Con PHP puoi usare un framework alla Symphony o alla CakePHP - che sono cloni 
di RubyOnRails - che dovrebbero darti quel che cerchi - a meno che si siano 
dimenticati di clonare giusto la paginazione :p
ASP.net per me non va bene, non voglio tra le palle linguaggi tipati 
staticamente, sono troppo disabituato. PHP per me non va bene, OO pressoche 
inutile (niente namespaces... ma se po' ?), debolmente tipato ... siamo nel 
2007 cristo.
Io uso RubyOnRails, altri Django - entrambi mi piacciono piu' di ASP.net/PHP, 
e in entrambi ti scegli il deployment.
  ngw
-- 
"ma gavte la nata." -- Jacopo Belbo
http://www.tochunky.org

 2007 cristo.
Dopo Cristo.

 
Se non sei libero, non puoi essere efficace, se non in maniera limitata.

ngw ha scritto:

   Lui non ha descritto il progetto che intende portare a termine, 
quindi una risposta tecnica mi sembra meno approriata di una risposta 
relativa alla filosofia di sviluppo.
  Secondo me, in caso di dubbi sulla tecnologia da utilizzare, conviene 
optare per il software libero. RubyOnRails lo è, per cui va bene, anche 
se, poichè lui già conosce PHP, forse fa prima a sviluppare in PHP.