Pagina 1 di 15 1 2 3 11 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 142
  1. #1
    Utente bannato
    Registrato dal
    Nov 2008
    Messaggi
    22

    Asp.NET vs PHP 4 anni dopo

    Ho letto con molto piace questo thread:

    http://forum.html.it/forum/showthrea...hreadid=490329

    L'ho trovato cercando quale tecnologia sfruttare per il mio sito web. A 4 anni di distanza cosa è cambiato?

    Mi piacerebbe sapere cosa ne pensano ora le voci dell'altro thread.

  2. #2
    Non so se questo thread rimarrà aperto o meno, oppure verrà accorpato a quello che hai indicato, dipende dai mod, ma voglio comunque dir la mia

    PHP, secondo me, ha perso tanto in questi anni di sviluppo principalmente per via del fatto che funzionalità gestite tranquillamente da tutti i linguaggi oggi, da php, o non sono proprio gestite o sono gestite male: in primis il supporto per le codifiche dei caratteri, o per lo meno il supporto a UTF8.

    Inoltre a php manca un vero e proprio framework ufficiale, un utente che inizia deve districarsi lottando con symfony, zend, codeigniter e tanti altri (PS: non menzionatemi pear perché è una, sotto specie, di insieme di librerie pesantissime di cui tante scritte male, core e poche librerie fondamentali escluse).

    Un'altra cosa è la mancanza dei namespace, che stanno introducendo su php 5.3 ma chissà quando si vedranno in hosting, cosi come una cattiva gestione degli errori (l'error handler personalizzato non può gestire un parse error perché non si può perché quando ci sono parse error l'engine zend entra in uno stato non definito e non è in grado di continuare l'esecuzione, cosa che andrebbe interpretata con un ... dato che l'engine è buggato non possiamo far continuare l'esecuzione dopo un parse error e dato che la cosa è poco richiesta rimane cosi).

    Proprio per farla estrema ... mi domando il perché dell'esistenza dei notice e del perché questi non vengano trattati come warning dato che l'80% delle volte sono la fonte del problema.

    Ancora un'altra cosa è la mancanza di librerie grafiche VELOCI, avete mai provato a fare elaborazioni grafiche su fogli A4 a 300dpi? Ad esempio provate a fare una rotazione che non sia 90/180/270 gradi (queste vengono fatte tramite altro codice) e vedete quante risorse si mangia (per un A4 a 300 dpi richiede appena 220mb di memoria e passa per una rotazione)

    A questo si ci aggiunge che dato che php continua a rilasciare versioni e versioni, sugli hoster si può trovare di più e di tutto: il modello di sviluppo per una tipologia di software a me non piace per niente. Sarebbe stato molto più furbo sviluppare il core di php, magari con un engine jit che faccia bene il suo lavoro, e poi il resto tramite classi di php stesse in modo da poter rilasciare aggiornamenti con facilità per i componenti e aggiornare il core solo ed esclusivamente quando necessario! Questo avrebbe evitato la mancanza di importanti librerie in hosting (vedi gd o mbstring) o meno importanti (come mcrypt, mhash, curl e via dicendo). O ancora, se si vuole continuare, tramite un engine jit si sarebbe potuto ottenere performance notevolmente superiore sfruttando anche il caching dato che php spesso gira come modulo di apache o come fastcgi

    Detto tutto ciò, io penso che tra non molto passerò ad ASP.NET (C#) perché mi sono stancato di php: può andare bene all'inizio ma quando le cose si fanno serie e ci sono esigenze particolari poi lui non regge più

  3. #3
    Accidenti Daniele.... hai cantato il De Profundis!
    A parte gli scherzi.

    A mio modesto parere le differenze sostanziali tra i due linguaggi, io le ho trovate nella filosofia di base.
    Da una parte la classica filosofia Microsoft del "faccio tutto io, tu pensa solo a poche cosettine", dall'altra la community di sviluppo di PHP che deriva dall'ambiente Linux del "volemose bene e facciamo anche vedere quanto siamo smanettoni".

    Passatemi questa brutale separazione, ma io ce la vedo tutta.
    Con Visual Studio ho visto fare cose fenomenali senza scrivere una riga di codice.
    Con PHP ho visto fare cose magari altrettanto fenomenali ma con grande dispendio di energie dello sviluppatore.

    Quale linguaggio consigliare ad un neofita???
    Boh... non c'è una risposta univoca.
    Se vuoi un ambiente di sviluppo rapido e più o meno affidabile (ma che lascia davvero poco spazio alla fantasia), pensa ad orientarti verso Asp.Net e C# (peraltro copia carbone di Java).
    Se capisci al volo che non devi programmare l'azione (in senso stretto) ma gestire gli eventi di azioni già presenti nel framework, allora quella è la soluzione più veloce e rapida!
    Non fraintendetemi: parlo di start-up, non di progetti avanzati!
    Se preferisci cimentarti con una pagina bianca e vedere quello che esce fuori, allora PHP ti darà molte soddisfazioni.
    Secondo me, PHP è ottimo per imparare l'approccio alla programmazione in senso generale.

    Una critica che mi sento di aggiungere alla fantomatica versione 6 del linguaggio è, tra l'altro, quella di introdurre i namespace, continuando a spingere fortemente verso la OOP e non passare per esempio alla sintassi a punti per accedere ai metodi e alle proprietà di un oggetto.
    Visto l'approccio generale della OOP (Java, C#, C++, ma anche il più umile javascript), credevo fosse il passo in avanti minimo e sicuro.... invece mi sembra di potere dire che non sia ancora così.


    p.s. Bella questa discussione.... mi piace!
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  4. #4
    PHP fa così schifo, che è la teconologia che gestisce tutti i siti più visitati al mondo
    - wikipedia, facebook, amazon solo per citarne alcuni. E' alla base dei software più scaricati ed utilizzati del web: wordpress, joomla, phpBB, Gallery.

    Questo dimostra, a dispetto di quanto dice daniele, che anche quando le cose si fanno serie si utilizza php. Poi si può discutere di cosa si intenda per cosa seria, ma non mi sembra di aver citato delle cosettine da principianti!

    A me piace l'ambiente del "volemose bene" come lo definisce riduttivamente Alcio. Lo vedo molto bene nella comunità ubuntu della quale faccio parte. Quando tutti si collabora a favore di tutti si possono raggiungere degli importanti livelli di eccellenza. Lo svilupparote, l'utente-sviluppatore e l'utente sono legati da motivazioni comuni e da una comune consapevolezza.
    Alla base c'è la voglia di condividere e di migliorare. Tutte cose nelle quali credete anche voi, altrimenti mi spiegate cosa ci fate in questo forum a dare consigli e risolvere problemi di altri gratuitamente?
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  5. #5
    Merda, vuoi dire che sono l'unico a non essere pagato?
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  6. #6
    concordo col dll, il modello di sviluppo di PHP non è serio e non perchè sia open source stile bazaar, ma perchè è progettato male dalle basi... una cosa che PHP gestisce bene e velocemente sono le stringhe e poi mi va a cadere sul mb

    in PHP mancano delle tecnologie di basso livello ormai irrinunciabili...

    sul fatto che non ci sia un solo framework, beh quale linguaggio ha un solo framework di riferimento? forse proprio solo c#

    bah il framework di riferimento per PHP dovrebbe essere lo Zend, ma anche quello ha alcune cose strane...

    buona l'idea di usare la sintassi a punto, ma dubito che lo facciano

  7. #7
    Questa discussione andrebbe unita all'altra come dice daniele, però l'altra è chilometrica, se questa non prende una piega troppo brutta quasi quasi faccio diventare questa ufficiale e ci linko la vecchia nel primo post :-D

    dopo la premessa dico la mia

    Php ha i suoi pregi e i suoi difetti, personalmente mi trovo benissimo.

    Tra i pregi uno è sicuramente la compatibilità. Codice del php 4.2 (2002 se non erro) gira tranquillamente o quasi su versioni attuali.

    Di recente dove lavoro abbiamo migrato un server linux-apache-php e un server win-iis-asp
    la differenza è stata enorme, il server php girava quasi alla prima, quello asp non è ancora completamente in produzione nonostante avesse anche meno domini.

    Personalmente non ho dubbi
    ciao

  8. #8
    Originariamente inviato da bubu77
    Tra i pregi uno è sicuramente la compatibilità.
    la retrocompatibilità non mi pare una buona cosa... se hai bisogno di php 4.2 ti metti php 4.2, come fanno con qualsiasi altro linguaggio

  9. #9
    Faccio una doverosa aggiunta, perché non so se si è capito.
    Anche io sono un PHP-enthusiast!
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  10. #10
    Originariamente inviato da mtx_maurizio
    PHP fa così schifo, che è la teconologia che gestisce tutti i siti più visitati al mondo
    - wikipedia, facebook, amazon solo per citarne alcuni. E' alla base dei software più scaricati ed utilizzati del web: wordpress, joomla, phpBB, Gallery.
    Ma php FA schifo: allora dato che windows è il più usato tra i sistemi operativi è perfetto? è un ragionamento più che errato!

    Dei software che hai citato, solo joomla è l'unico decente (decente != ottimo, fa il suo lavoro e cerca di farlo bene ma cose da migliorare c'è ne stanno tantissime) a livello di codice

    Per quanto riguarda i portali, spesso, non sono le ragioni "tecniche" a far fare loro una scelta ma sono più le ragioni commerciali. Per fare un esempio: sito X viene creato nel 2000 in perl, nel 2002, ha un notevole incremento è viene sviluppata ad hoc un architettura, in php perché costava MOLTO meno di altre architetture (a tempi il .NET non c'era e l'unica alternativa valida era il java che però avrebbe fatto levitare i costi di sviluppo sproporzionatamente senza considerare i costi di gestione). Passano altri 3 anni ed il portale è cresciuto, siamo a 5 anni dall'inizio, ma a questo punto è un problema cambiare piattaforma TOTALMENTE perché oltre al costo, molto più elevato, ci sarebberò problemi tecnici perché il database, ad esempio, andrebbe convertito ... ma hai mai provato a convertire un db che contiene 5 anni di informazioni? senza considerare le problematiche dovute alla codifica dei caratteri, senza considerare la riscrittura dei template e tanta tanta altra roba e quindi si tende ad evolvere la piattaforma o a riscrivere qualche pezzettino ma usando i software già presenti.

    Ovviamente non è legge, ma è quello che spesso è accaduto ed accade. Se poi ci aggiungi che molti sviluppatori ed anche commerciali sono un pò spaventati dal .NET o da Java vedi qual'è il punto di arrivo! Magari mono che funziona tranquillo per quanto riguarda l'ambiente Web (ergo System.Web e componenti vari) viene scartato a priori perché non è considerato "stabile" o perché si pensa che il .NET non è nel suo ambiente "nativo" e può funzionare male ... ma questi sono solo concetti ed ILLUSIONI che la maggior parte della gente ha e che sono senza fondamento e sono le cose che poi ti spingono a scegliere altre tecnologie.

    Cosa manca al .NET, o all'ASP.NET, rispetto al python, ruby, php, perl? nulla, anzi, ha molta più roba e ovviamente NESSUNO ti costringe ad utilizzare i sistemi incorporati per gestire i template, la cache, l'autenticazione, le sessioni e tanta altra bella roba ... puoi sempre scriverti i tuoi!!!!! Eppure c'è questa avversione per il .NET o per Java!

    Il .NET ti fa levitare i costi di sviluppo? Rispetto al PHP un pò perché chi programma deve avere il cervello collegato al resto del corpo e non deve essere un noob, ma a parte questo ti riduce CONSIDEREVOLMENTE il costo di mantenimento, un architettura basata su:
    - nginx come reverse proxy e caching
    - nginx come web server
    - mono come fastcgi
    - memcached per sfruttare il caching dei dati
    - mysql come backend

    e vedi che viene fuori che i tempi di esecuzione delle pagine sono ridotti di 10 volte (già, con il .NET il codice viene compilato il linguaggio macchina ed eseguito ... ma siccome il tutto rimane in memoria una volta fatto non viene più rieseguito ... cosa che per fare con php devi utilizzare componenti come APC o eAccelerator è noto che abbiano problemi a gestire la cache con gli oggetti ad esempio e comunque rendono relativamente perché tengono in cache il bytecode da passare all'engine zend che lo interpreta, non viene compilato nulla in codice macchina). Poi viene fuori che invece di usare squid per il bilanciamento tra i server (reverse proxy) e la cache dei contenuti statici con nginx hai un carico infinitesimale cosi come per il webserver (non per niente nginx risulta, se ben configurato, avere prestazioni superiori a lighttpd) e per concludere con memcached il codice del portale può tenere la roba in memoria cosi come lo può fare il reverse proxy e il webserver per i contenuti.

    Non è un architettura CONSIDEREVOLMENTE superiore? Si. Viene usata? Di rado. Perché? Perché c'è paura dato che i prodotti non si conoscono.

    Questo dimostra, a dispetto di quanto dice daniele, che anche quando le cose si fanno serie si utilizza php. Poi si può discutere di cosa si intenda per cosa seria, ma non mi sembra di aver citato delle cosettine da principianti!
    Prova a sviluppare un framework come si comanda e vedrai quanti strani rigiri devi fare per realizzarlo.

    Nessuno ti impedisce di fare le cose serie con php, però semplicemente se devo lottare con lui per farle bene, preferisco spendere questo tempo per farle ancora meglio con un linguaggio che non mi faccia perdere tempo inutilmente, no?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.