Dunque, propongo di mettere un po' di ordine portando alcune statistiche e la mia personale (ma neanche tanto) opinione.
Questo
sondaggio, risalente a luglio 2012, dunque a meno di un anno fa, mostra Apache nettamente in testa rispetto a IIS (64,33% contro 13,76%).
Tuttavia, per quanto sia raro che un'applicazione sviluppata in ASP.NET giri su Apache, bisogna prendere in considerazione anche questa eventualità. Quest'altro
sondaggio mostra la diffusione delle due diverse tecnologie, e PHP sembra essere in testa con il 79,5%.
Non ho mai provato ASP.NET, né mi sono mai informato particolarmente al riguardo, dunque quello che dico è da prendere con le pinze. Ma i motivi per cui non l'ho mai usato sono principalmente questi:
- Non è open source. Non mi piace affatto l'idea di non sapere come funziona la tecnologia con cui sto lavorando, e non mi piace l'idea che solo chi lo distribuisce possa metterci le mani. Come sviluppatore voglio avere il controllo totale sulla mia applicazione.
- Non ci sono molte librerie o, perlomeno, non ce ne sono tante quante ne esistono per PHP. Quando scrivo un'applicazione voglio concentrarmi esclusivamente sui problemi posti da quell'applicazione, non su quelle decine di funzionalità addizionali (autenticazione e autorizzazione solo per fare un esempio) che poco hanno a che fare con lo scopo del progetto.
- Trovo che abbia una sintassi sostanzialmente macchinosa e poco flessibile. Questa è una delle ragioni che mi ha spinto, recentemente, ad abbandonare anche PHP in favore di Ruby.
Ovviamente questo non significa che ASP.NET sia da buttare: non ho dubbi che ci siano alcune situazioni in cui è utile, per esempio nel caso ci si trovi a sviluppare in parallelo un'applicazione Web e una desktop (a quanto leggo), solo che io non mi sono mai trovato a doverne avere bisogno.
Trovo poi che quella della sicurezza sia una storia senza fondamento: ASP.NET è sicuro tanto quanto qualsiasi altro linguaggio configurato correttamente. Il fatto che la maggior parte degli sviluppatori PHP abbia imparato a programmare su manuali del 2005 non significa che PHP sia insicuro di per sé.
Stessa cosa vale per i server Web: sia Apache che IIS sono sicuri se configurati da una persona capace. Come spesso accade l'unico bug si trova tra il monitor e la sedia...
Un'ultima cosa: Vale2, mi pare che Fez abbia educatamente chiesto dei motivi per utilizzare ASP.NET rispetto ad altre tecnologie (e in particolare rispetto a PHP). Sei pregata quindi di dare una spiegazione, se ce l'hai, e astenerti dal fare commenti sulla preparazione degli altri utenti. Se qualcuno ha sbagliato, spiegagli perché e come evitare di ripetere l'errore invece di ridicolizzarlo.