Qualche riflessione su PHP

Mercoledì 20 Settembre 2006 - 10:25

di Gabriele Farina

PHP e Open Source

Nei commenti al post di due giorni fa a proposito linguaggi da imparare per sviluppare, ho notato che per l’ennesima volta si è finiti a discutere di PHP; vorrei dare anche la mia opinione in proposito, sperando di riuscire a chiarire anche a me stesso il perché di alcune scelte effettuate in questo ultimo anno.

Come ormai molti avranno capito (e come sottolineato da And3a) PHP non rientra più tra i linguaggi con cui sviluppo (a parte alcune situazioni in cui non ci sono alternative al suo utilizzo). Le motivazioni sono veramente tante (e spesso soggettive), ma una su tutte secondo me merita attenzione: PHP è sempre un passo indietro rispetto alla concorrenza. PHP è nato inizialmente come un progetto di un giovane sviluppatore che aveva come unico obiettivo quello di facilitarsi il lavoro nello sviluppare gli script Perl con cui creare semplici siti web. Con il tempo si è evoluto, ma la mancanza di design iniziale ha finito per influire parecchio sul processo evolutivo del linguaggio. PHP è sintatticamente povero, poco duttile e veramente mal organizzato dal punto di vista delle funzionalità fornite nella libreria standard: non è possibile che ogni libreria standard segua le proprie regole per la definizione delle funzionalità esposte, come non è possibile che nella libreria standard manchino funzionalità ormai essenziali quali il supporto Unicode.

Cerco di non divagare e torno un attimo al punto iniziale: PHP è sempre rimasto indietro rispetto alla concorrenza. Le prove sono lampanti: un supporto accettabile alla Reflection ed alla programmazione ad oggetti sono stati aggiunti quando già da anni gli altri contendenti parlavano di Metaclassi, programmazione ad Aspetti e programmazione basata sugli attributi; il supporto a Unicode verrà addirittura introdotto nella versione 6 (che spero venga rilasciata al più presto e dia una ventata di aria pulita al fumo che attualmente inquina, a mio parere, il nome di PHP) quando in realtà è un’esigenza da svariato tempo; per non parlare delle performance, alle quali si darà (forse) una strigliata in PHP 6 con l’aggiunta alla libreria standard del package APC.

Ovviamente sono miei pensieri, condivisibili o meno, ma questo è uno dei motivi per cui non ritengo PHP un’ottima scelta per chi vuole scegliere un linguaggio padre per sviluppare sul web.

Prima di chiudere vorrei precisare un altro punto: secondo me ha poco senso sminuire o elevare PHP in risposta a discorsi fatti a proposito del supporto da parte degli hosters. Al giorno d’oggi le versioni di PHP supportate sono obsolete, e quindi ci si trova nella stessa situazione se si decide di utilizzare PHP 5.2 o Haxe; però è anche vero che oggi molto più di ieri si può accedere con costi contenuti a server virtuali o spazi hosting eccellenti che offrono il supporto per un gran numero di soluzioni o la libertà di configurarsi a piacimento il proprio sistema. Sono pochi i clienti che hanno la necessità di spendere pochissimo per il proprio server (e con la parola pochissimo mi riferisco a pochi euro all’anno), ed in questi casi non richiedono mai l’appoggio a soluzioni specifiche, quindi non vi sono problemi nell’adottare soluzioni alternative (magari estere) che rispondano alle nostre esigenze.

Tags:

Categoria: PHP e Open Source | Permalink

Commenti

1

Però fa strano leggere queste riflessioni su una pagina che si chiama: qualche-riflessione-su-php.php

# - postato da Senamion - 20 Settembre 2006 - 10:54

2

beh nn sarà un linguaggio all’avanguardia, ma ha permesso a tanti come me che nn si occupano principalmente di informatica , di avvicinarsi a questo mondo grazie alla semplicità del linguaggio!!

E’ un ottima base di partenza per poi migrare ad altri linguaggi con basi solide e consolidate, quali possono essere il python e altro!!

# - postato da Robertes - 20 Settembre 2006 - 11:02

3

concordo ;)

Rimane il fatto che, se ci lavorano buoni programmatori, è sempre possibile fare ottimo software (come quello utilizzato per questo blog) indipendentemente dalle mancanze o dai problemi del linguaggio.

# - postato da Gabriele Farina - 20 Settembre 2006 - 11:05

4

@Robertes #2

Sicuramente non è un linguaggio pessimo, ma nel momento in cui c’è la necessità di sviluppare progetti di un certo tipo PHP viene a mancare sotto alcuni aspetti fondamentali (a mio parere).

# - postato da Gabriele Farina - 20 Settembre 2006 - 11:17

5

Ho intercettato questo post rapidamente dal mio lettore di Feed e temo che non rimarrà vuoto a lungo. Immagini che molti miei colleghi avranno molto da ridire. Non so se PHP è davvero così arcaico, ma se quello che dici fosse vero questo significherebbe che milioni di sviluppatori programmano un po’ così, a caso… ma…

# - postato da Fabrizio - 20 Settembre 2006 - 11:17

6

Forse hai ragione e il futuro del web sarà senza PHP. Ora, nel presente, è innegabile che sia la soluzione più usata!

Microsoft insegna che non vince il software migliore, ma quello più diffuso… Purtroppo!!!

# - postato da Maurizio Panese - 20 Settembre 2006 - 11:20

7

@Gabriele
Purtroppo nn ho l’esperienza adatta per rispondere [soprattutto in ambito OOP]. Penso che php sia un ottimo linguaggio per progetti medio-grandi nel web.Poi tutto dipende dal programmatore naturalmente…

Ma per quale tipo di progetti secondo te nn si può utilizzare?

# - postato da Robertes - 20 Settembre 2006 - 11:23

8

@Robertes #7

Secondo me non è questione di poterlo utilizzare o meno. Il fatto che ci abbiano sviluppato sistemi complessi come Yahoo fa capire che il linguaggio di per se può ricoprire gran parte delle richieste.

E’ un po’ come costruire una casa a mani nude o farsi aiutare dalla betomiera per fare il cemento, dalle gru per trasportare i mattoni ecc …
Nei grossi progetti PHP può essere utilizzato, ma con lavoro aggiuntivo da parte dei programmatori per coprirne le lacune.

# - postato da Gabriele Farina - 20 Settembre 2006 - 11:36

9

Quando un’azienda ha già un buon numero di progetti sviluppati in PHP, passare ad un nuovo linguaggio può essere un grande problema.
Servono nuove macchine, per evitare possibili incompatibilità, gli sviluppatori devono imparare il nuovo linguaggio, rallentando i tempi di sviluppo, obbligandoli però a non perdere “la mano” su quello/quelli vecchi, visto che sarebbe improponibile riconvertire tutti i lavori vecchi. Magari in un po’ di anni, con la varie ristrutturazioni richeste dai clienti si potrà migrare, ma senza fretta.
L’unica scelta è sperare nell’evoluzione del linguaggio in uso…

Naturalmente chi inizia ADESSO ha il vantaggio di poter scegliere senza spade di Damocle, come una volta si sceglieva tra PHP e ASP…

# - postato da Andrea - 20 Settembre 2006 - 11:46

10

Intanto PHP 4 rimane il linguaggio più presente sui server italiani…

# - postato da Andrea Paiola - 20 Settembre 2006 - 12:35

11

i ragionamenti fatti sono giusti, però:
gli sviluppatori si confrontano col mercato, e in qualche modo sono costretti a scegliere una tecnologia che sia immediata, comune e facile da imparare ed implementare;
PHP, a mio avviso, è ottimo per progetti web piccoli, intendo il sito dinamico senza servizi particolari, cosa che riguarda un buon 90% dei siti mondiali..

per il resto, applicazioni complesse, il budget e l’esperienza decidono cosa utilizzare e quindi anche “fare ricerca” ed aggiornarsi..

purtroppo, io stesso sono costretto ad usare molto spesso soluzioni copia-incolla perchè o il tempo a disposizione è brevissimo, oppure il budget non ti permette di suggeirre al cliente qualcosa di diverso;

poi, gli aggiornamenti professionali riguarderanno lo sviluppatore (studiare, provare etc..) fino a quando sarà in grado di proporre una soluzione, fatta bene, e offrirla in prova a prezzo scontato (il cliente difficilmente ci capirà qualcosa).

# - postato da massi - 20 Settembre 2006 - 12:43

12

@Gabriele

Allora, partiamo da quelle che sono considerazioni pratiche:

1) ci sono moltissimi progetti evoluti sviluppati in PHP: se le società che li hanno sviluppati abbandonassero quei progetti (parlo di Italia e situazione italiana) per passare ad un altro linguaggio perché quel linguaggio è più evoluto:
a) dovrebbero prendersi il tempo per formare gli impiegati su quel linguaggio per portarli almeno al livello a cui stavano in PHP;
b) dovrebbero smantellare i progetti su cui hanno guadagnato;

2) uno zoccolo duro (anzi, durissimo) di developer PHP esiste da anni: questi milioni di persone vorranno che PHP si evolva o vorranno passare a Python? Secondo me la prima: chiederanno che il linguaggio che hanno sempre usato venga fatto evolvere.

3) un tempo, Python non c’entrava nulla: la “lotta” nei linguaggi di scripting era tra ASP e PHP (con JSP e ColdFusion parecchio lontani). Adesso anche nel web tira un’aria OOP ma spesso, come si è fatto notare, c’è di mezzo un po’ di marketing, un po’ di integralismo insano e solo raramente, come nel tuo post, sincera richiesta di strumenti migliori con cui lavorare. In Italia sembriamo in attesa di uno scoppio che nona rriva mai: lo stesso ActionScript 3 -per esempio- ha una potenza spropositata rispetto a quel che offre il mercato. Ma, con quel linguaggio, ci si prende la responsabilità di lasciare molti developer entry-level ad usare Swish: considera anche questo! :-)

4) Se si pensa che PHP non sia più buono è a volte perché non ci si aspettava che altri linguaggi si sarebbero evoluti: il problema di alcuni sembrerebbe in fin dei conti quello di non aver cominciato a sviluppare con Java. Ricordo discorsi in cui si scherzava sulla lentezza di quest’ultimo, a vantaggio della grande rapidità che richiedeva l’impiego di PHP. A volte sembra più un discorso come: “molti sono arrivati a conoscere il PHP, sto perdendo il mio mercato, passo a Eiffel subito, così li frego”.

5) sono dell’idea che non è detto che un grosso progetto vada a forza sviluppato in un unico linguaggio general-purpose: PHP può comunicare con altri linguaggi che si incaricano di fare altre cose, non vedo il problema. Wrapper se ne sono fatti sempre nella storia della programmazione e nessuno dice che siano una cattiva pratica. A parte Yahoo, comunque, un progetto come Symphony non è che mi faccia a forza turare il naso…

6) il web nacque per portare contenuti online: si è anche evoluto, ma meno di quanto le “voci di tendenza” dicano: il web 2.0 non esiste, è l’1.0 terminato a dovere in assenza di differenze tra piattaforme.

7) una domanda: quale è il mercato italiano della applicazione enterprise realizzata con strumenti open-source? Sono d’accordo in toto con massi.

# - postato da Elvio - 20 Settembre 2006 - 12:59

13

Siamo pratici, php non è certo il miglior linguaggio ma per per una svariata serie di motivi è quello che va meglio attualmente.

# - postato da Sandro - 20 Settembre 2006 - 14:50

14

il post di Elvio mi ha fatto riflettere molto, soprattutto per il discorso con quel linguaggio, ci si prende la responsabilità di lasciare molti developer entry-level ad usare Swish: considera anche questo.

Io credo che questo sia il punto focale di tutto il web attuale … tutti si sentono programmatori, gli unici ad aver fatto il vero boom negli ultimi anni sono proprio i linguaggi o le piattaforme open source, e non, di sviluppo.

Una volta si buttava la cassetta da 50 mila lire nel nintendo, tutti dicevano che costava troppo ma tanti la compravano e non perdevano nemmeno mezzo millesimo di secondo a pensare cosa ci fosse dietro quel videogioco (uno a caso, Zelda o Mario Bros, quanti meno bugs allora rispetto i giochi attuali ? … aggiornavate le cassette ?).

Il web, continuando il paragone, è diventato il posto dove tutti vogliono sviluppare i videogiochi, anche se di videogiochi non ne sanno poi molto, spesso praticamente niente.

Ecco perchè prima i programmi su misura costavano uno sproposito, perchè nessuno aveva voglia di studiare C o assembler per fare quello o quell’altro programma da migliaia di codice, ecco perchè oggi questo settore è quasi allo sfascio, in italia, o comunque in declino, salvo rare eccezioni, a livello globale.

Un’infinità di offerta di medio basso, bassissimo livello, superiore alla richiesta che vorrebbe qualità ma sapendo che tizio o caio lo fanno per “quella cifra” non sono disposti a spendere di più (non potendo spesso nemmeno vedere le differenze, finchè qualcosa non va storto …).

Io stesso sono fermamente stra-convinto di avere ancora migliaia di chilometri di codice da imparare, ma ad un certo punto, continuando a studiare anche per i fatti propri, è inevitabile accorgersi delle lacune pazzesche che ha un linguaggio rispetto altri.

PHP, oggi, è probabilmente il peggiore (o tra i peggiori) linguaggio per il web (ASP classic sei morto e non ti considero, JavaScript è addirittura più divertente seppur “limitato al client”), l’unico vanto che ha e forse l’unico arpiglio che lo terrà in vita, è l’elevatissima curva di apprendimento che ha permesso a tutti (o almeno a tantissimi), dai più incompetenti (me compreso), ai più preparati (me … forse … in un futuro migliore), di tirare su una paginetta mediamente complessa senza troppi sforzi (e troppo spesso con troppi buchi).

Ebbene, man mano questa vita “facile e comoda” credo (spero) scomparirà da questo settore … passi a swish ? vai a giocare con i gatti, vai avanti e ti sudi la preparazione ? era ora che si smettesse di parlare dei giochini e si passasse a qualcosa di serio, tipo un lavoro, quello dello sviluppatore, oggi troppo spesso ridicolizzato dai nostri stessi “colleghi”.

Morale ? se non vi siete appollaiati nella vostra sedia rileggete tra qualche tempo questa mia odiosa e forse anche un pò str*nza risposta :D

P.S. PHP te l’ho scritto anche di la, è stato amore a prima vista, ora sei un sacchetto di plastica in testa che non riesco ancora a togliere del tutto!

Saluti a tutti quelli che se le cose si fanno serie si passa swish

@Elvio non è rifetiro a te e purtroppo il fatto di swish e tutto il resto che hai detto, è maledettamente vero o almeno mi trovo d’accordo su tutto, quindi anche “le major” saranno vincolate da questo dato di fatto, prevedo il caos più totale entro il 2008!

# - postato da andr3a - 20 Settembre 2006 - 15:48

15

ma allora se php è il peggiore, io come novellino cosa dovrei iniziare a studiare??

# - postato da riot - 20 Settembre 2006 - 16:22

16

Parlate male di php, ma forse non avete visto coldfusion :-)
Fino alla versione 5 non c’erano neanche le funzioni, o almeno erano limitatissime.

# - postato da Alessio Michelini - 20 Settembre 2006 - 17:30

17

Ho cercato invano un server seriamente decente dove metterci le mie classi java e le mie jsp ma alla fine ho comprato un bel server php, forse e’ una moda, forse cambiera’…

# - postato da Marco - 20 Settembre 2006 - 17:35

18

Ma non è mica una novità che il PHP sia indirizzato prevalentemente a progetti medio-piccoli.
L’ho già ripetuto tante volte, il vero problema di questo linguaggio di programmazione è volerlo paragonare con linguaggi pensati per ambiti decisamente più avanzati.

Ogni tanto ci vorrebbe un po’ di pragmatismo in più.
Se la soluzione che cerco è limitata nella complessità, ho a disposizione un budget ridotto, voglio implementare soluzioni sviluppate da altri, non devo usare database esotici, oggi la migliore soluzione è il PHP.
Se invece questi limiti non ci sono allora il PHP diventa decisamente riduttivo.

# - postato da Chris - 20 Settembre 2006 - 18:25

19

Se la soluzione che cerco è limitata nella complessità, ho a disposizione un budget ridotto, voglio implementare soluzioni sviluppate da altri, non devo usare database esotici, oggi la migliore soluzione è il PHP.

l’IT italiana praticamente … comunque hai fatto bene a specificare ed aggiungo che per “tra i peggiori” non intendo che non è da imparare, usare per piccoli o medi progetti o altro, intendo un’insieme di cose che rispetto altri lo rendono quasi ridicolo.

il vero problema di questo linguaggio di programmazione è volerlo paragonare con linguaggi pensati per ambiti decisamente più avanzati
giustissimo, quindi siccome oggi i linguaggi più usati per il web, l’ambiente DEL php, sono oltre questo stesso Java su JSP, Python su psp, py, handler di funzione, Zope, CherryPy e tanto altro ancora, C# o Jscript, entrambi in grado di girare anche loro su Win come su Linux … Ruby (nun me piace), “rivoluzionato” su Rails e arrancano ancora dietro Perl o ColdFusion (che invece m’ha sempre fatto palesemente schifo) … dimmi tu con chi se la batte PHP tra questi linguaggi ?

Con chi puoi paragonarlo ? parliamo di bugs ? un delirio negli ultimi tempi, dai più mastodontici ai più ridicoli, parliamo di prestazioni ? deludenti se non si forzano con alternative più o meno valide, parliamo di sintassi ? una ciofeca meticcia tra lo strict, forse, ed un procedurale a cui piacerebbe stare bene in una pseudo struttura ad oggetti.
Allora, di cosa parliamo quando parliamo bene del php ?

per avere una lambda che in realtà è una funzione anonima devo usare create_function che mi valuta ogni carattere al suo interno (ma eval non era il male ?)

per prendere un parametro/metodo uso “$v->nome”, tutti gli altri non sono oggetti e devo usare $v[”nome”]

i riferimenti sono come gli pare anche in php4, qualcosa è sempre duplicato (ma perchè ???) qualcosa no, fortuna il 5 che almeno qui ha aiutato i servers a insaputa degli sviluppatori …

Tanto ma tanto altro ancora, compresa la doc che un tempo era la migliore mentre ora andrebbe aggiornata parecchio per via degli innumerevoli cambiamenti più o meno piccoli che fanno ogni mese.

Quindi … la velocità di scrittura non c’è, il debug va fatto a mano e molto hard, di 10.000 pacchetti o librerie ce ne saranno 1.000 che possono competere con progetti analoghi di altri linguaggi …. allora cosa vi piace di PHP ???

echo $hello;

??? … no, hello va minuziosamente parsata e le register_globals sono stra-deprecate …

include ?
beh … questo ve lo concedo, assieme ai rischi che si corrono in host condivisi

è comodo ? … insomma, se non si considera che teoricamente per ogni cosa che si sviluppa si dovrebbe usare la versione del server sul quale andrà il progetto … mica è poi così comodo…

Quello che sto cercando di dire, e parte dell’odio scaturito in me, è che non esiste un ambiente di produzione ufficiale, stabile o affidabile, e che si potrebbe correre anche il rischio di dover riscrivere quasi da zero un intero applicativo se l’host ha fatto un aggiornamento e voi non siete poi così esperti.

Per questo mi son fatto il mio WAMP personale, per lavorare in E_ALL compatibile col 4 sempre con l’ultima versione del 5.X … almeno stò tranquillo che dove schiaffo schiaffo … PDO o versioni del db a parte … ma anche li ci si ritrova costretti ad usare sintassi SQL 92, e neanche tutta … :incupitissimo:

Queste cose con diversi altri linguaggi esistono o possono accadere molto più sporadicamente, per il resto buon phping ^_^

# - postato da andr3a - 20 Settembre 2006 - 19:42

20

Non diciamo ca**ate. Che sia povero sintatticamente, che non ci siano il supporto UniCode o altre cose frega solo ai puristi.

Chi si sporca le mani a scrivere codice, me compreso ama PHP.

Poi mando te a spiegare al cliente che l’hosting costa X euro di più perché uso QuelloCheVuoi al posto del PHP e del mio fornitore di hosting abituale.

I tuoi ragionamenti, per quanto validi teoricamente sono ragionamenti che in ambienti come quello italiano non vale neanche la pena fare al giorno d’oggi.

Ne riparliamo tra 10 anni.

# - postato da Napolux - 20 Settembre 2006 - 21:22

21

Gestisco un progetto su server dedicato LAMP, serviamo circa 20 milioni di pagine al mese (è una community) e il sistema fa uso massiccio di mysql/gd. Per alleggerire il carico del server ho installato eaccellerator che fa il caching del codice sorgente. Le prestazioni sono buone, problemi ridotti al minimo.

Tutti parlano bene di python ma c’è una cosa che non mi spinge per niente a fare il passaggio: la documentazione. Sono giorni che cerco una documentazione seria per programmare web con python e salvo html.it non ho trovato nulla di davvero utile. Altra cosa che mi tiene legato a php sono le librerie. Ci sono librerie per qualsiasi cosa; se, per esempio, devo fare il resize di un immagine ho la funzione nativa della gd e in 3 righe di codice php la thumb è pronta.

Non ho ancora trovato una guida seria che indichi come programmare in python per il web e non ho idea di come risolvere il problema della lentezza di python come cgi. Qualcuno mi da una soluzione? Premetto che non intendo lasciare MySQL perchè si è dimostrato molto affidabile con un db di oltre 5gb con 60 query al secondo in media. Se possibile vorrei tenere anche apache perchè ormai ho imparato bene a configurarlo. Qualcuno mi aiuta nel passaggio? Che benefici avrei? Ho server dedicato quindi carta bianca sul software da installare

# - postato da Paolo - 20 Settembre 2006 - 21:33

22

@Andr3a: il fatto che gli altri linguaggi web abbiano determinate funzionalità non significa che queste siano necessarie per lo sviluppo di soluzioni medio-piccole.
Per l’ambito web a cui era indirizzato il php, secondo me, erano sufficienti le caratteristiche supportate dalla versione 4 arricchite dall’ampia comunità di sviluppo sempre attiva che esiste intorno al linguaggio.
Tutto il resto sono sofisticazioni necessarie per un altro livello di utenza.
È un po’ come cercare di avere una coppa di champagne in una bettola perché viene servita nei locali di lusso.

Insomma, chi vuole trovare java o python o ruby o altro nel php si rivolga a quei linguaggi: il php è un’altra cosa.

# - postato da Chris - 20 Settembre 2006 - 22:09

23

@Napolux … l’hosting non costa mica di più … anzi, spesso python è presente e nemmeno “lo sappiamo” o spesso l’ambiente è windows e php è in FastCGI (o anche CGI!!!) sotto IIS mentre C# magari è già li a disposizione. UniCode invece è lievemente importante … pensa a quante operazioni di modifica in utf-8 (che non è unicode) siamo spesso costretti a fare mentre al suo interno la gestione non è comunque utf-8, non a caso nel 6 hanno cambiato codifica.

Le mb ? raramente presenti, purtroppo … sfruttare JSON tramite classi PHP ad esempio è un massacro per il server (secondi di parsing, non decimi o centesimi) ed oggi che Ajax è sempre più presente bisogna ricorrere a metodi alternativi tipo la serializzazione, almeno quella veloce, ma non garantisce compatibilità totale di stringhe col JS, non tanto quanto farebbe JSON con le sue conversioni (e provate a leggervi il sorgente della Pear per farvi un’idea delle enormi difficoltà di PHP con le stringhe, che ironicamente erano proprio uno dei suoi punti di forza maggiore, quando non si tratta di lavorare con “se stesso”).

@Paolo, il tuo caso è a parte, poichè hai un server tuo e le cose cambiano e di molto. Hai PDO, PHP >= 5.1, sei tu ad aggiornarlo, quindi hai già tanti problemi in meno e l features del 5.X puoi già sfruttarle traendone i benefici mentre i miei discorsi sono molto più generici. Comunque Python ha tanti tipi di gestione web (cosa che per me lo penalizza anche per lo sviluppo di moduli o altro), uno a caso è mod_python, sviluppato e supportato da Apache stessa come sotto progetto “ufficiale” per Python (mentre PHP la Apache stessa non è che lo considera molto seppur ne sia il maggiore utilizzatore). Con mod_python hai anche psp (Python Server Pages) … che è un embed “tale quale” PHP, ma ce ne sono altri, ben sviluppati e altrettanto ben documentati, vero che non è semplice trovare info ben organizzate ma qualcosa si trova.

@Chris, io mi trovo d’accordo con quanto dici, ma considera anche questo
Per l’ambito web a cui era indirizzato il php…
era indirizzato … oggi abbiamo tante novità poco supportate dai vari hosts … io resto appeso alla speranza che PHP6 sarà una mezza rivoluzione, in caso contrario trovo contro producente continuare ad aspettare “il miracolo” mentre perdo tempo utile per imparare o farmi le ossa su altri linguaggi … tutto qua.

PHP Pro => tanto hosting, tanto semplice, potente grazie alle tante librerie in C ed adattissimo al web per piccoli medi o grandi progetti (dove però serve parechia skill). Eccellente per cominciare, ottimo per andare avanti, soffocante, secondo me, dopo un pò.

… che poi per me poteva anche restare alla versione 4, solo avessero tolto i bugs invece di stravolgerlo ed aggiungerne di nuovi ad ogni passo successivo :(

# - postato da andr3a - 21 Settembre 2006 - 05:45

24

@Andrea, hai perfettamente ragione. Essendo il mio un server dedicato posso ottimizzare al meglio il php compilandolo solo con i moduli necessari e tenendolo sempre aggiornato. Grazie per la dritta sul mod_python, mi era completamente passata di mente; in teoria dovrebbe funzionare meglio del mod_php :) A questo punto inizio a testare python e a valutarne il passaggio, mi spaventa un po l’idea di cercare ogni volta i moduli necessari però se come prestazioni python riesce a fare di meglio, perchè no :)

Temo che questo pomeriggio passerò un po di tempo con 2 vecchi amici: Google e AB (Apache Benchmark)… :)

Una domanda veloce per fare un esempio: se voglio settare un cookie con php vado su php.net/setcookie e ho la mia bella funzione, per python dove posso trovare documentazione a riguardo?

# - postato da Paolo - 21 Settembre 2006 - 07:36

25

Attenzione che Python non è molto più veloce di php, ma è molto più orientato agli oggetti e divertente, sintatticamente parlando.

Ha, presumo, molti meno bugs del php (visto che non cambia con la rapidità del php) e se ottimizzato in utilizzo (-O) ha un discreto aumento di prestazioni.

mod_python è meglio di mod_php per il semplice fatto che è supportato e sviluppato dalla Apache stessa … sempre che Apache sia il webserver, pare che anche in FastCGI python vada più che bene e su lighttp (mi sembra si chiami così), ad esempio, ci va quasi a nozze.

Concludo col dire che in generale se serve solo o soprattutto velocità di esecuzione, consiglio C# o ambiente .NET … ma il passaggio da PHP a C# potrebbe essere anche più “complicato”, quindi tempi di apprendimento e sviluppo almeno iniziali maggiori.

# - postato da andr3a - 21 Settembre 2006 - 10:10

26

Boh.. non sarà un linguaggio elegantissimo o superaggiornato, ma a parer mio è straordinariamente facile da usare. Lo dico che non sono un programmatore, ma un astronomo, e l’ho trovato assai comodo per stendere un semplice progetto di interazione e interrogazione di un database di ammassi globulari da una interfaccia web…

Forse il punto è proprio questo: il “non programmatore” ha un angolo di visione un po’ differente, in cui la rapidità d’uso e la semplicità di apprendimento, prevalgono sull’eleganza del linguaggio o sulla presenza di particolari costrutti…

Marco

# - postato da mcastel - 21 Settembre 2006 - 11:35

27

@Andrea #14

Ciao Andrea, io non so che web vivi tu ma il web non mi sembra, né mi è mai sembrato, il posto dove tutti vogliono sviluppare i videogiochi: il web è molte cose e tra questi qualche (a volte sano) videogioco, che rimane uno degli usi più interessanti che si possa fare della tecnologia. Spesso questi videogiochi sono realizzati con Director, altre volte con Flash. Inutile dire che in Italia, il mercato del videogioco online realizzato con Director è quasi inesistente. E dire che Director è dato per morto da tempo (peccato!), ma ancora oggi in USA è impensabile realizzare un gioco online senza usarlo. C’è qualche team di volenterosi che di tanto in tanto crea una applet Java allo stesso scopo, ma con risultati non sempre rimarchevoli, da vari punti di vista. Flash sarebbe parecchio più utile se si stabilizzasse e non cambiasse API a ogni versione (l’API della sola parte relativa al remoting è cambiata 3 volte in 3 anni): lo seguo dalla 4, dalla 5 lo uso, dalla MX lo stimo, dalla MX 2004 mi interessa meno, la 8 poteva tranquillamente chiamarsi 7.5 in attesa della 9 che non solo poteva chiamarsi 8, ma è un oggetto molto misterioso che da una parte promette sogni ai developer Java (che non si sa bene cosa debbano farsene), dall’altra annichilisce la vasta maggioranza che lo ha portato dov’è. Ed è lì perché era uno strumento dato a creativi-programmatori: non “grafici”, non “programmatori”, ma gente dedita allo sviluppo di interattività. La storia del web (parlo del web delle web agency) l’hanno fatta autori di contenuti, laureati in lettere, diplomati di talento che ne hanno intuito le possibilità comunicative ed hanno investito se stessi per realizzarci dei progetti. Ora il mercato vuole che al loro posto vi siano dei tecnici con background tecnico e pedigree? Bene: mi si dica dove vanno a finire gli impiegati della prima ora con i loro oramai vasti progetti in PHP e mi si dica quale è la direzione da far intraprendere ai tecnici. E anche chi dovrebbe dirigere chi. :-)

# - postato da Elvio - 21 Settembre 2006 - 13:09

28

Approvo molte osservazioni fatte dagli altri utenti prima di me. Tuttavia, mi permetto di aggiungere qualche commento personale:

@Gabriele
Sicuramente la tua abilità e professionalità nel campo della programmazione ti ha permesso di raggiungere dei livelli molto elevati al riguardo. Di conseguenza è normale che ti lamenti di un linguaggio come php che è deficitario per la mancanza di diverse innovazioni di cui sono padroni gli altri linguaggi. Queste “macanze”, però non sono avvertite da tutti nello stesso modo… mi spiego meglio: un programmatore del tuo calibro le considera ingenti, mentre un semplice programmatore che usa php e non si interessa della mancanza del supporto “Unicode” continuerà ad usare php senza preoccuparsi di nulla!
Personalmente quello che mi fa riflettere di più in questo periodo è il problema che riguarda la sicurezza di php, verso la quale nutro ampia fiducia.
In conclusione ritengo che php sia molto adatto ad un pubblico che non necessità di funzionalità particolari. Per il resto della platea consiglio un linguaggio che secondo me prenderà il sopravvento in futuro… JSP (Java Server Page)!!!!!

# - postato da Luca - 21 Settembre 2006 - 13:56

29

@Elvio … probabilmente non mi sono spiegato bene.

Il flash, dall’ MX in poi (ma ce ne sono che gli fumano anche col 5, vedi Negatyve o altri della “vecchia scuola” di HTML.it), non è più uno strumento per una persona, è uno strumento per almeno 2 persone, un grafico ed uno sviluppatore AS.

Se tu vuoi fare entrambi ma ti occupi di grafica hai sbagliato prodotto, se passi a swish significa che la tua azienda non ha soldi per prendere uno sviluppatore. Flash è uno strumento potentissimo che va (andrebbe) usato in team, il designer deve essre in grado di presentare un FLA con nomi di istanza, descrizione di eventi o effetti ed altro, lo sviluppatore AS deve preoccuparsi della gestione eventi, sincrona o asincrona che sia, comprensiva di eventuali interazioni, raggirando spesso bugs o problematiche di pura programmazione.

Un terzo eventuale sviluppatore potrebbe (dovrebbe) preoccuparsi del back-end per gestire le interazioni client (una bestemmia in Italia … 3 persone per usare Flash al meglio ??? …. naaa, meglio una con risultati …. spesso discutibilissimi !!! … ma prodotti medi, retribuzione media, anche se ha fatto tutto uno da solo e che s’è fatto un mazzo assurdo per imparare un pò di tutto, velocemente e presumibilmente male! … ecco, lui non lo contraddirei se passasse a swish)

In poche parole, i Programmatori non passano a SWISH, anzi sono sempre più entusiasti del linguaggio che per altro è preso da ECMA 4, quindi molto meno “strano” di quello che si possa pensare, simile per certi versi a tanti degli ultimi linguaggi (C# o altri).

Al limite ci si incavola per il fatto che cambiano namespace e metodi di continuo, questo non permette a nessuno di sfruttare a pieno il linguaggio (per usare un linguaggio serve teoria e tanta pratica, 1 anno tra un linguaggio ed un altro non bastano per la tanta pratica).

I Designers invece dovrebbero non considerarsi programmatori e, se soli, passare anche a swish, chissenefrega, io parlavo proprio di programmatori (che poi anche uno sapesse alla perfezione PHP difficilmente potrebbe definirsi “programmatore”, più “scripter” … magari … quale presumo di essere).

@Luca
JSP ??? esistono da anni ma raramente sono state adottate fuori dall’enterprise … sarà che li servono i Programmatori e non gli entry-level … ma i risultati spesso sono visibilissimi anche senza vedere una sola linea di codice ;)

Io credo che a breve ci sarà un boom delle PSP, embed come PHP, sintatticamente come Python, quindi “uniche” :D

# - postato da andr3a - 21 Settembre 2006 - 14:25

30

un pò di documentazione su queste PSP dove la trovo? grazie!

# - postato da lloyd27 - 21 Settembre 2006 - 15:08

31

@andr3a #29

Non sono convito che le PSP avranno quel successo che ti aspetti … secondo me programmare web in Python appoggiandosi a FastCGI (soluzione che è ENORMEMENTE meglio di mod_php e portabile su tutti i server che supportano il protocollo) e magari sfruttando i framework MVC (vedasi Django o Turbogears per dirne due) sarà una delle scelte più allettanti.

Le PSP, come gli script PHP, tendono ad essere caotici se non si lavora per dividere la presentazione dal contenuto. A questo punto conviene usare sistemi che già offrono questa possiblità, o sbaglio ?

Per quanto riguarda Flash sono d’accordo con te, anche se sono felice dei passi fatti da Flash 5 a Flash 9. Da qualche mese mi sto divertendo con l’alpha di Flash 9 e con Flex 2, e devo dire che le potenzialità non sono neanche paragonabili a quelle offerte precedentemente dall’ambiente e dal player (non so se vi siete guardati le demo di André Michelle … le performance del player nuovo sono eccezionali)

Sul fatto del discorso che in italia siamo messi male e quindi continuiamo su quella strada sono, ovviamente, completamente contrario. Direi che è ora di cambiare … non è possibile che per lavorare decentemente si debba andare all’estero e quando si parla con i colleghi stranieri (per lo meno all’inizio - a meno che nn si sia un po’ conosciuti) questi guardino a noi italiani sempre con un sorriso di compassione

# - postato da Gabriele Farina - 21 Settembre 2006 - 15:22

32

Le PSP, come gli script PHP, tendono ad essere caotici se non si lavora per dividere la presentazione dal contenuto.
io considero sempre che se PHP ha fatto il boom PSP potrebbe fare altrettanto (per quanto non mi piacciano un granchè).

A questo punto conviene usare sistemi che già offrono questa possiblità, o sbaglio ?
no, non sbagli

anche se sono felice dei passi fatti da Flash 5 a Flash 9
anche io sono felice, ma Flash 8 m’ha lasciato troppo amaro in bocca (una miriade di bug per un ambiente “pseudo closed”) e mi sto concentrando molto più su javascript che su AS 3, che prima o poi dovrò cominciare a masticare … ma forse prima è meglio aspettare che mi passi l’arrabbiatura per l’8 …

in italia siamo messi male e quindi continuiamo su quella strada
… io non penso questo, sono solo un pò realista (e forse troppo pessimista) … perchè alla fine il concetto è questo:

questi guardino a noi italiani sempre con un sorriso di compassione …

:incupito:

# - postato da andr3a - 21 Settembre 2006 - 16:57

33

Effettivamente PHP non sta andando per il verso giusto spero solo pure io che si arrivi ad avere una chiara line a non 3 progetti aperti e tutti a rischio di bug..

m’è capitato proprio l’altro giorno di perdere 1h e mezzo perchè non era stato fatto un inizializzazione di una var che pensavo php facesse in automatico come al solito

oppure qualche mese fa uno stupido problema con gli heredoc che richiedono un \n alla fine c’ha fatto perdere un pomeriggio per sentirsi dire che quello che per noi era un bug rimaneva una cosa normale chiarita poi nella documentazione..

troppo spesso ultimamente perdo tempo per minchiate del genere che a volte non vengono chiarite nella doc.

preferisco di gran lunga i linguaggi come C# che hanno un bell’IDE e cmq danno ordine a quello che fai..

Quelli di PHP devono concentrarsi su una sola versione se vogliono riguadagnare credibilità nell’ambito degli sviluppatori..

# - postato da ringo_mato - 21 Settembre 2006 - 23:16

34

Il punto di partenza è imho questo:

- lavori per un web pubblicitario;
- lavori per un web “di servizio”;

Se lavori nel primo, ti è richiesta creatività, rapidità di esecuzione e cose del genere per progetti che a volte non durano poi tanto, ma che quasi sempre sono piuttosto differenti l’uno dall’altro. Il lavoratore di questa realtà sa un sacco di cose (una volta si diceva che era “cross-skilled”) in diversi ambiti, più o meno approfondite, ma con un focus sulla comunicazione. La ditta che lo ha assunto lo ha anche fatto crescere perché lui si è messo lì buono buono e se l’è cavata in più situazioni: se non ha lasciato nel 2002/2003 ha raggiunto un discreto livello con PHP e strumenti multimediali anche perché è un tipo in gamba. A volte ha preso certificazioni credendo che potessero essergli utili, ma altre volte ha riso delle stesse definendo se stesso “prosciutto dop”. Ha guardato negli anni all’OOP come ad un modello cui avvicinarsi, ma non sempre da applicare tutti i giorni per qualsiasi cosa, spesso perché, data la stramberia di alcune consegne e i tempi a disposizione, non sempre si può stare a fare i filosofi su quale sarà il design pattern da applicare in questa situazione. Questo tipo di web ha prodotto due tendenze:

una “multimedialista” che tende alla realizzazione di un oggetto interattivo di qualità (videogioco o altro) e una “tendenza Swish”: cioè, ci sono società che ancora oggi ritengono che non si debba formare che un grafico per far girare una scritta con il logo del cliente. In Italia queste società non sono poche e sono queste società che non passeranno a Flash 9 (a patto che siano passate a Flash 8 e a MX 2004): non si sono evolute dall’Età di Flash 5, non hanno clienti che “capiscono la differenza”, non sanno cosa ci si può fare precisamente con questa tecnologia, se qualcuno presenta loro una idea ammiccano un sorriso ma non sono in grado di apprezzarne il potenziale, non sanno a chi venderla e la intro rimane per loro sempre una gran figata e li fa sentire orgogliosi come se li avesse intervistati un grande giornalista al TG di prima serata. Queste società stanno comunque sul mercato, che lo si creda o meno: producono cose che ai clienti piacciono e guadagnano regolarmente. Tra queste qualcuna ha di recente avuto “deviazioni” in ambito marketing e adesso parla di ottimizzazioni, SEO, banner, logs, statistiche ecc.ecc.

Il web di servizio è un’altra cosa: intanto produce prodotti più o meno durevoli. Allo stesso tempo, però, richiede ai programmatori di diventare sempre più assemblatori di codici scritti da altri e tramandati. Cioè, chiede ai programmatori di non reinventare ruote (molto di quello che si vuol realizzare è già stato realizzato e un esercito di programmatori realizza in breve tempo qualsiasi cosa sia realizzabile). Fa del programmatore un meccanico specializzato che, una volta capito come funziona un sistema, diventa in grado di aggiornarlo (o di tradurre ciò che è stato realizzato un tempo, chessò, in PHP, venga tradotto in un altro linguaggio) e di farlo crescere.

Ora, non so, dipende da cosa si vuol fare…

# - postato da Elvio - 22 Settembre 2006 - 08:41

35

(uno a caso, Zelda o Mario Bros, quanti meno bugs allora rispetto i giochi attuali ? … aggiornavate le cassette ?)
All’epoca di Super mario i giuochi venivano scritti
da Veri programmatori,
nemmeno SMB e’ esente da Bug vedi il “walljump”
ma i bug a quel tempo non erano bug ma “features” nascoste, un altro bug “famoso” e in SMB3 dove ci sono livelli extra accessibili solo tramite codici Action Replay ;)

Tornando a noi php si sta scavando la fossa da solo.
Il 6 sarà la sua ultima possibilità di risorgere, troppi bug ultimamente mi hanno spinto ad abbandonare questo linguaggio

# - postato da kentaromiura - 22 Settembre 2006 - 09:24

36

salve
vorrei dire la mia su questo argomento dato che sono un coder php e mi occupo solo di quello.

volevo fare all’autore del post una domanda.. se php ti pare cosi limitato.. cosa usi per il web?
ora, se tu rispondi ASP, sinceramente mi fai ridere e scema la mia stima verso di te (diciamo che si annulla)
se tu rispondi ruby,python,tcl, gia possiamo esserci.. ma la forza di php sta nella semplicita anche se, per alcune cose strane ti devi appoggiare a bashscript oppure script in python..

detto questo.. php e’ una scelta non e’ obbligatorio usarlo.. inoltre da programmatore e quasi ingegnere informatico, mai mi sono preso la liberta di criticare un “linguaggio” in maniera cosi aspra e aperta, dato che non posseggo una cosi sfacciata presunzione (io nn ho mai creato un linguaggio)
spero che l’autore si renda conto e si prenda la responsabilita di quello che ha scritto..

cmq ai posteri l’ardua sentenza.. vedremo in futuro.. mi conservero il post

# - postato da blackout - 22 Settembre 2006 - 20:52

37

A parte il fatto che fa davvero senso sentire una critica al PHP in un blog fatto in PHP… per lo meno la coerenza :P

Php ha i suoi pregi e i suoi difetti. Va bene, lo sappiamo ma il discorso secondo me va impostato in maniera diversa. Tu stesso, o mio omonimo, dici che non sviluppi in PHP aggiungendo una postilla fondamentale: “a parte alcune situazioni in cui non ci sono alternative al suo utilizzo”.

Ecco questo è il punto cruciale e la vera forza del Php. Con Php sviluppi dal progetto piu semplice al progetto piu complesso con il miglior rapporto possibile qualità/prezzo e tempo/qualità.

Se Php è “male” allora cosa è “bene” ? non sarò espertissimo ma ho una infarinatura di quasi tutti i linguaggi.. dal basic al pascal al c al perl passando per java e finendo ai linguaggi di scripting. La versalità che mi da php non me la da nessun linguaggio da me conosciuto sinora. In php posso scrivere applicazioni miste, un pò procedurali, un pò ad oggetti, posso integrare facilmente classi terze, posso fare un pò quel BEEP che mi pare. E posso fare tutto quello che fanno gli altri linguaggi e pure qualcosa in piu.

Concettualmente non è il massimo ma praticamente molte volte dobbiamo essere pratici e sinceri. Ti chiama un cliente che vuole un qualcosa in tempi strettissimi.

Se installi decentemente php sul tuo server hai già tutto quello che ti può servire, ftp, xml, pdf, basta leggere tutto quello che ci puoi fare.

L’unica cosa che manca al php è un buon sistema di debugging ma si può ovviare.

C’è poco da fare tutti se devono realizzare qualcosa web-related lo sviluppano in Php. Perchè alternative non ce ne sono. Beh certo JSP non è male.. ha buone classi e un ottimo futuro ma è un linguaggio rigidissimo e poco versatile.

# - postato da Gabriele Del Mese - 23 Settembre 2006 - 02:59

38

@Blackout #41

Per lo sviluppo web ho usato PHP per 8 anni, ora sto migrando verso Python, che più si adatta alle esigenze medio grandi. Ora, non ho voglia di rifare il discorso fatto mille volte, ma, dato che mi occupo anche di design ed implementazione di DDL e linguaggi di scripting, ritengo per lo meno di avere un minimo di competenza per poter fare delle piccole riflessioni sulle potenzialità e funzionalità di un linguaggio. Mi pare comunque che il mio modo di approcciarmi non sia stato totalmente all’attacco, cercando di essere costruttivo aspettando che PHP 6 risolva i problemi.

@Gabriele del Mese #42

Come già detto in precedenza, nessuno dice che un buon programmatore non sia in grado di fare buon software anche con strumenti limitati.
Non sono assolutamente d’accordo sul discorso della qualità/prezzo (dato che non dipende dal linguaggio ma da moltissmi altri fattori) e ben che meno sul discorso del tempo/qualità: per esempio in Python (te lo dico per esperienza) sviluppi software web in meno tempo di PHP e con una stabilità e manutenibilità sicuramente superiori.
Per il discorso della versatilità ti consiglio di studiarti Python, tra un anno cambierai SICURAMENTE idea ;)
E non mi venire a dire che in PHP puoi fare qualcosa di più che con altri linguaggi … almeno fammi qualche esempio per convincermi :)

Alternative a PHP ce ne sono, ed attualmente (non tutte - poi si può discutere del discorso delle “richieste da parte del cliente”) sono migliori di PHP da un punto di vista della velocità di sviluppo e della stabilità (ovviamente bisogna saper programmare nell’altro linguaggio :D).

Una precisazione su chi ritiene che Unicode sia una cosa tralasciabile: avete mai fatto un sito internet multilingua ? Avete mia provato, in quella situazione, ad utilizzare le librerie fornite da PHP (mb_string ed iconv) oppure soluzioni fatte “a mano” ?

E comunque, come diceva Andr3a (mi pare) non capita così spesso che un cliente chieda la piattaforma ed il linguaggio di sviluppo da utilizzare e, nel caso accada, è perché ci troviamo di fronte a grossi clienti con i quali è assolutamente possibile discutere.

# - postato da Gabriele Farina - 23 Settembre 2006 - 12:56

39

Scusa ma causa tarda ora non mi sono espresso bene. Intendevo dire che attualmente dato che la stragrande maggioranza del mercato utilizza php puoi trovarti nella condizione di dover fare dei ritocchi a siti web già esistenti e a quel punto, visto che c’è molta probabilità che il sito sia sviluppato in php, conviene continuare ad usare quel linguaggio per migliorare il sito web esistente.

Un esempio recente è un cliente che per un sito web già esistente mi ha chiesto l’aggiunta di alcune funzionalità (generazione automatica listini in vari formati per vari fasce, sms di notifica e gestione etc etc). A quel punto sia per una questione di tempo che di budget uno opta per php.

Io ho interpretato quel tuo “quando non ci sono alternative” in questo senso: “sito esistente in php e quindi devo svilupparlo in php”. Può darsi abbia frainteso.

Riguardo Python, il primo linguaggio di scripting che ho imparato è stato il Perl, poi sono passato a Php e poi ho imparato Python nel framework Zope.

Sulla manutenzione del codice sono d’accordo in Php a meno che non programmi codice pulito. Io ho sempre programmato in modo tale che l’ossatura del codice non subisce variazioni e ovviamente non sono il solo ma con Python avrei meno problemi.

Sulla versatilità è mia opinione personale ma non mi trovi d’accordo forse perchè sono abituato ad una programmazione ibrida e a seconda di necessità e budget decido lo stile di programmazione e Php è il linguaggio che mi da la maggiore possibilità.

Riguardo le potenzialità non ho visto cose (per il web) che si possono fare in Python e che non si possono fare in Php e inoltre sono convinto (ma ovviamente posso sbagliarmi) che un grande vantaggio di php è la bassa curva di apprendimento che ha creato una community di utenti php ben formata e capaci di utilizzare al meglio php scrivendo funzioni e classi per qualsiasi cosa.

Attualmente quando devo sviluppare una classe nuova per php mi faccio un giro su phpclasses e ho sempre trovato tutto quello di cui avevo bisogno. Lo faccio solo per curiosità alla fine utilizzo quasi esclusivamente codice scritto da me.

Bella discussione e ottimi spunti negli interventi.

# - postato da Gabriele Del Mese - 23 Settembre 2006 - 19:33

40

ha tirato fuori phpclasses.
non so se esiste qualcosa del genere con python, anche se come concetto è semplice quindi realizzabile. anche pear non so se ha il suo corrispettivo in python.. in più la documentazione è ovunque per php, la rete è piena di script completi e facilmente adattabili (basta vedere phpmyadmin come esempio..) non ho mai controllato bene però non mi sembra accada anche con python questo

# - postato da lloyd27 - 24 Settembre 2006 - 15:57

41

@lloyd27 #40

Senza dilungarmi troppo: non esiste nulla come phpclasses perché la libreria standard di Python fornisce già centinaia di moduli che rendono un repository di classi pubblico (per lo più mal programmate oltretutto) poco utile.

Per quanto riguarda PEAR abbiamo easy_install che funziona molto meglio, ha tantissimi moduli, viene aggiornato spessisimo e presenta moltissimo materiale di qualità.

Infine per quanto riguarda gli script della rete, ti ricordo che la maggior parte del codice che puoi trovare in rete su PHP è spesso scadente e mal documentato (PhpMyAdmin, anche se utile, è un esempio lampante di quello che intendo - salvo la documentazione del codice, che hanno fortunatamente integrato). Non si può dire lo stesso per Python, per il quale oltretutto sono presenti moduli e funzionalità che PHP (PEAR e PECL) si sogna …

E comunque ripeto che un linguaggio non si valuta in base alla disponibilità di materiale utile ai newbie. Non ho discusso la popolarità di PHP, ma le sue attuali potenzialità e la sua arretratezza rispetto alla concorrenza.

# - postato da Gabriele Farina - 24 Settembre 2006 - 18:50

42

Beh, tre anni fa PHP era tra i linguaggi meglio documentati. Ho una domanda: chi ti assicura che Python rimarrà migliore, sia dal punto di vista della documentazione che per il resto delle problematiche elencate? Io dico che PHP è collaudato: ha avuto un calo fisiologico ma secondo me (pinco pallino) si riprenderà. E poi: quando Python avrà un calo, lo abbandonerai? A favore di cosa? Ciao!

# - postato da Stan - 24 Settembre 2006 - 20:19

43

@Stan #42

L’hai detto tu: ERA tra i linguaggi meglio documentati (ed oltretutto ci si riferiva alla documentazione sul manuale ufficiale, non ai documenti e gli articoli che ci si trovava in giro). Ora sarebbe meglio aggiornassero un po’ la documentazione, eliminando anche tutti quei commenti che spesso e volentieri propongono soluzioni pessime ai problemi riscontrati (non tutti ovviamente, alcun sono molto utili).

Non ritengo che Python sia in generale il linguaggio migliore (magari lo ritengo, ma non voglio imporlo a nessuno). Dico solo che, allo statio attuale, è superiore a PHP sotto tutti i punti di vista.

Per quanto riguarda il “collaudato” ti ricordo che Python è nato nel 91, PHP nel 95 … poi è vero che PHP si è diffuso prima, ma il fatto che Python sia rimasto di nicchia per un po’ di anni ha fatto si che il linguaggio crescesse senza le influenze (spesso negative) fatte dal business e dalla comunità newbie.

Quando Python avrà un calo (che nella mia situazione si intende quando Python non soddisferà più tutte le mie esigenze di sviluppatore) mi sposterò verso qualcosa di più consono. Attualmente non ho di questi problemi ed i progetti futuri su Python mi soddisfano pienamente.

# - postato da Gabriele Farina - 25 Settembre 2006 - 09:14

44

Ok, tutto quello che vuoi. Ma a me Python non piace: la sintassi e la scarsa flessibilità sono dei limiti che si pagano cari. Altra cosa è dire: “sì, ma adesso voglio dedicarmi a grossi progetti”. Bene, buona fortuna, Gabriele. Inoltre, non si può per forza ritenere che ciò che è stato pensato per il web debba a forza seguire le antiche regole su cui si basano le applicazioni per il desktop. PHP è un linguaggio che ha queste caratteristiche per determinati motivi: essendo più maneggevole ha avuto vita lunga fino ad ora. Un’altra cosa che mi domando è: protestate conto PHP, protestate contro la documentazione. Questo normalmente lo si fa contro una software house, non contro un software open source. Se ci vedete tutte queste limitazioni, perché non date una mano fattivamente? Un ultima cosa: ma siamo sicuri che il linguaggio Bidon (:-)) non sia un modo per abbandonare PHP e destituirlo di serietà e validità, quando oramai ci si è fatto di tutto e ci sono soluzioni stato dell’arte freeware un po’ ovunque, dal forum all’e-commerce? Come dice un amico a Roma: “nun è che qui quarcuno ce va de puzza”?

# - postato da Stan - 25 Settembre 2006 - 19:30

45

@stan #44

Mi puoi fare degli esempi in cui Python risulta meno flessibile di PHP ? Ritieni che una sintassi caotica sia più corretta di una semplice, snella ed ordinata ?

Per quanto riguarda il resto del discorso non posso darti molta corda. Python esiste da prima di PHP e si è sviluppato enormemente in altri campi; ora il suo utilizzo nel web è solamente la conseguenza del fatto di avere sotto mano uno strumento completo e ricco di funzionalità.

Per quanto riguarda la documentazione non posso darti torto, ma quello che critico io è il basso livello della documentazione presente attualmente rispetto a quella per Python, non certo la possibilità di migliorare quella di PHP!

Il web sta evolvendosi e con lui le esigenze dei linguaggi lato server. Non per nulla PHP sta cercando di adeguarsi introducendo feature essenziali per la sua sopravvivenza.

Se poi a qualcuno basta PHP non ci sono problemi; non ho detto che sia inutile: io ci ho fatto un sacco di cose fino a poco tempo fa, quindi, se sono stato in grado io di risolvermi i problemi usandolo, penso sia in grado di farlo chiunque.
Ritengo solo che sia indietro sotto molti punti di vista.

# - postato da Gabriele Farina - 25 Settembre 2006 - 20:25

46

Sulla flessibilità: ho riletto tutti i post e Blackout #36 dice quello che volevo dire io.

Quanto alla sintassi Python, imho, non è affatto immediata.

E non sono sicuro che davvero esista questa evoluzione che necessita di strumenti fatti in questo modo. Insomma, a me ’sto PHP non mi sembra così lento a progredire. Se poi dai un’occhiata al mercato italiano (ed io non ho clienti in Arabia Saudita o comunque all’estero) non si capisce a cosa serva avere strumenti “ulteriori”: seguo anche altri post e per Flash è lo stesso. Questi strumenti, per ora, sono eccessivi. Questo assolutamente imho.

Vorrei anche avere da te degli esempi pratici di cosa secondo te manca al PHP: prendi delle situazioni, confrontale, fammi capire! :-)

# - postato da Stan - 25 Settembre 2006 - 20:51

47

@Stan #46

Bhe, non mi pare che nel post #36 si parli di flessiblità. Comunque la sintassi di Python non è immediata probabilmente perché la maggior parte delle persone che si avvicina al linguaggio ha già esperienze con linguaggi C-like. Gente che non aveva mai programmato (ne ho le prove ;) ) e si è avvicinata a Python ha trovato migliore la sintassi di quest’ultimo. Comunque per quanto riguarda l’argomento sintassi sono d’accordo sul fatto che sia una cosa personale.

Per quanto riguarda il discorso del mercato italiano torno ancora al discorso fatto precedentemente: in italia il mercato dello sviluppo software è preso poco in considerazione e, salvo alcune circostanze, mal pagato rispetto all’estero. Questo, secondo me, è dovuto anche al fatto che si continua a lavorare a livelli bassi, accettando dei compromessi che ledono la qualità in favore delle richieste (a volte fatte per incompetenza) del cliente. Non dico che si debbano rifiutare i lavori o rischiare di perderli, ma bisognerebbe nel nostro piccolo lavorare affinché i programmatori e l’attività dello sviluppatore software siano prese più in considerazione. Continuare a fare lavori male perché mal pagati ci porterà a continuare sempre su questa strada. Il discorso è indipendente dal linguaggio utilizzato: il mercato italiano è messo male e bisogna dargli un attimo una strigliata, indipendente dalle soluzioni adottate. Proponiamo qualcosa di alternativo, facciamo capire al cliente che i quattro soldi in più che chiediamo gli permettono di avere risultati migliori. Se seguiamo questo concetto a poco a poco tutto cambierà e potremo goderci il nostro lavoro senza continuare a sviluppare venti ore al giorno come facchini (nulla contro i facchini!!!) e un minimo di considerazione.

Io da quando ho cambiato il mio atteggiamento ed ho cercato di migliorare la qualità del prodotto ne ho solo giovato, perdendo i clienti poco produttivi da questo punto di vista e guadagnandone altri più interessati alla qualità ed alla serietà. E se ci sono riuscito io sicuramente ce la può fare qualunque altro programmatore.

Per quanto riguarda Flash purtroppo sono di parte: ritengo la nuova virtual machine ed ActionScript 3.0 talmente un ottimo lavoro che purtroppo qualunque critica si infrange contro una barriera. A dir la verità forse posso essere d’accordo con te sul fatto che si progredisca in fretta, ma devi pensare al fatto che Adobe, dal momento dell’acquisizione di Macromedia, sta spingendo molto in avanti i suoi software in modo da renderli il meglio sul mercato (pensa ad Apollo per esempio). L’evoluzione dalla vecchia scuola di programmazione Flash alla nuova era necessaria, date le esigenze. Come era necessaria una riscrittura della virtual machine per ottimizzare l’esecuzione degli script. Oltretutto devi pensare al fatto che attualmente Flash è diventato uno strumento per lo sviluppo in team. A parte per i progetti molto semplici, solitamente c’è chi si occupa di scripting e chi di grafica in modo collaborativo. Flash 9 ottimizza questo concetto concedendo moltissime libertà e potenzialità al programmatore e permettendo al grafico di focalizzarsi sulle sue esigenze senza doversi limitare nella struttura delle sue produzioni.

Per quanto riguarda il confronto ti posso solo dire che prima o poi pubblicherò qualcosa. Ora ho altro in scaletta per php.html.it; magari posterò qualcosa sul blog o attenderò novembre. Comunque contaci, ci tengo ad informarvi un po’ sulle potenzialità del linguaggio Python rispetto a PHP (e magari anche viceversa), giusto per farvi capire il perché della mia scelta.

# - postato da Gabriele Farina - 26 Settembre 2006 - 10:28

48

Ok, sulle tue ultime 5 righe: attendo degli esempi concreti. :-)

Per il discorso Flash: sono anni che la Formerly parla della differenziazione tra grafico e developer e questo già si fa da tempo tra professionisti freelance che collaborano. Invece, le società, a patto che siano rimaste in vita e vogliano andare avanti, non hanno capito e cercano un tuttofare che sa di grafica, programmazione, progettazione, “prende poco”, max 25 anni, patentato, militesente, buona conoscenza della lingua inglese, disponibile a orari flessibili. Aggiungo che per alcuni progetti ci vorrebbe un team formato da più developers e spesso in alcune regioni e con alcuni lavori malpagati (come tu dicevi GIUSTAMENTE) è praticamente impossibile formare questo team: di fatto, non esiste l’impresa in grado di accogliere questo team, se non con finanziamenti e per poco tempo. Forse sarebbe il caso di cominciare a dire anche queste cose…

Per quanto concerne le potenzialità della VM, siamo sempre lì: nessuno ha pensato di fare applicazioni “serie” con Flash perché ci si è sempre fatto dell’altro. Un amico mi ha passato un link tempo fa: era un esperimento di Fabio Serra (Faser) che aveva diviso lo schermo in 4 parti e faceva caricare gli stessi dati a 4 tecnologie differenti per vedere “chi faceva prima”. Non ho più quel link, ma il test dice diverse cose interessanti. Imho, Flash dovrebbe essere spinto nel multimediale, non nell’applicazione enterprise (credo pochino nella “RIA” sul mercato italiano).

Poi si deve capire cosa è Apollo e che potenzialità ha.

# - postato da Stan - 26 Settembre 2006 - 11:24

49

ActionScript 3 cmq per me ora come ora è addirittura troppo. togliessero il troppo e lo dessero a php6.. :D i’m joking of course

# - postato da lloyd27 - 26 Settembre 2006 - 14:45

50

Ragazzi una curiosità,
Quindi state dicendo che l’unica alternativa valida a PHP è Python?

# - postato da Damiano - 04 Ottobre 2006 - 00:58

51

@Damiano #50

No, assolutamente. Il discorso si è indirizzato verso il paragone tra i due linguaggi, ma questo non vuol dire che Python sia l’unica valida alternativa a PHP.

Personalmente ritengo Python una spanna sopra agli altri linguaggi attualmente usati per il web (ed in generale rispetto agli altri linguaggi con VM o interpretati), a parte forse C# (grazie soprattutto al framework .NET che è veramente un ottimo lavoro) che però non rientra nei linguaggi verso cui vorrei spostarmi (almeno fino a quando Mono non potrà essere cosiderato alla pari di .NET).

# - postato da Gabriele Farina - 04 Ottobre 2006 - 11:06

52

@Gabriele Farina#51

Si anche a me python piace molto peccato però che molti hoster non lo installino nei loro server, toccherebbe avere un server dedicato in modo tale da piazzarci ogni cosa.

# - postato da Damiano - 04 Ottobre 2006 - 11:20

53

beh io rimango fedele a php per ora..

# - postato da lloyd27 - 04 Ottobre 2006 - 13:40

54

Bhe io vorrei spostarmi verso il linguaggio di programmazione considerato il “migliore”. In modo da sapere UNA cosa ma saperla molto bene.
Quindi dite che con PHP è meglio lasciar perdere?

# - postato da Damiano - 04 Ottobre 2006 - 13:59

55

@Damiano #54

In realtà non esiste il linguaggio migliore, dipende dalle esigenze che hai e dai progetti che vuoi sviluppare. Python rispetto a PHP ha il grosso vantaggio di essere adatto ad una moltitudine molto più ampia di applicazioni e piattaforme.

# - postato da Gabriele Farina - 04 Ottobre 2006 - 15:00

56

Stò sentendo parlare solo di Python, non esiste un altro linguaggio, sempre migliore di Php?

# - postato da Damiano - 05 Ottobre 2006 - 00:04

57

E’vero che php può essere indietro rispetto alla concorrenza, ma come mai negli States molti non vendono hosting asp, ma solo linux? Al di la dei problemi di linguaggio, penso che php sia il miglior linguaggio per programmare sul web. In fatto di elasticità e di molteplicità di funzioni non ha eguali.

# - postato da Andrea Fiori - 05 Ottobre 2006 - 15:04

58

beh per programmare sul web python deve ancora prendere php. su applicazioni offline è un altro discorso (ok php può venire eseguito anche offline ed ora addirittura supporta le GTK, però si vede che non è roba nativa..), però scrivere un pagina php per il web è molto (ma molto) più semplice ed immediato di python. quest’ultimo non è nato per il web, come php non è nato per il desktop

# - postato da lloyd27 - 06 Ottobre 2006 - 14:49

59

Si può fare tutto con una macchina di Turing ma questo non significa che la macchina di Turing sia la scelta migliore.

# - postato da Ash - 14 Ottobre 2006 - 19:53

60

Ciao a tutti,
ho letto quasi tutti i commenti lasciati da programmatori e studenti di PHP ma mi risulta difficile riuscire a capire quali siano i problemi relativi a PHP su piattaforma Linux.
Sto sviluppando un software di gestione aziendale completamente scritto in PHP (con qualche piccolo script in JSP) e devo dire che rimango sempre più sorpreso dalle potenzialità di questo linguaggio che (IMHO) non ha rivali. Attualmente sono inciampato in alcune piccole lacune (probabilmente mie) che ho prontamente risolto cercando on-line una soluzione: si trova di tutto e di più, dalla documentazione agli script di funzioni, alle librerie complesse. Si ha il supporto per scambiare dati con qualsiasi DB, si può lavorare con immagini, grafici statistici, file, e la velocità di reazione credo che non abbia rivali (a meno che non si vada a parlare di WAMP o EasyPHP).
Devo dire che sono pienamente soddisfatto di questa piattaforma di sviluppo che non abbandonerò così facilmente ma integrerò probailmete con pyton, perl, ruby…
Un saluto a tutti.

# - postato da Alessio - 22 Ottobre 2006 - 11:45

61

Ciao a tutti,
ho letto quasi tutti i commenti lasciati da programmatori e studenti di PHP ma mi risulta difficile riuscire a capire quali siano i problemi relativi a PHP su piattaforma Linux.
Sto sviluppando un software di gestione aziendale completamente scritto in PHP (con qualche piccolo script in JSP) e devo dire che rimango sempre più sorpreso dalle potenzialità di questo linguaggio che (IMHO) non ha rivali. Attualmente sono inciampato in alcune piccole lacune (probabilmente mie) che ho prontamente risolto cercando on-line una soluzione: si trova di tutto e di più, dalla documentazione agli script di funzioni, alle librerie complesse. Si ha il supporto per scambiare dati con qualsiasi DB, si può lavorare con immagini, grafici statistici, file, e la velocità di reazione credo che non abbia rivali (a meno che non si vada a parlare di WAMP o EasyPHP).
Devo dire che sono pienamente soddisfatto di questa piattaforma di sviluppo che non abbandonerò così facilmente ma integrerò probailmete con pyton, perl, ruby…
Un saluto a tutti.

# - postato da Alessio - 22 Ottobre 2006 - 11:46

62

salve, credo che il problema di php sia la sua semplicità…. Questo permette da un lato un’ampia diffusione e dall’altro uccide il mercato assecondando la voglia di “svendersi” che alcuni pseudo programmatori mettono in evidenza realizzando siti web a due lire, o andando a lavorare per 15-18000 euro l’anno…. meno di quanto guadagna uno scaritore ai mercati generali!!! Purtroppo l’utente finale spesso non è in grado di distinguere e php è talmente flessibile,per certi versi, che comunque permette alla “baracca” di funzionare anche se mal realizzata!!! A fronte di un annuncio “cercasi programmatore PHP” rispondono almeno 30 persone…. Va da se che se ci si “svende”…. anche il php diventa un “oggettino” al cospetto di linguaggi ben più blasonati e complessi!!! Ad oggi io penso che il 90% delle problematiche web siano discretamente risolvibili via PHP, ma attenzione valorizziamo PHP e per farlo non c’è necessariamente bisogno di complicarlo!!!

# - postato da plf - 28 Luglio 2008 - 17:32

63

Bella discussione.
Oggi, 20 luglio 2010, confermate quanto avete scritto … ormai … quattro anni fa?
Sul fatto che si lavori per 15-18.000 euro l’anno, be’, siamo in troppi a contenderci pochi progetti.
Triste dirlo, ma si deve pur campare! ;)

Ciao

# - postato da Eugenio - 20 Luglio 2010 - 15:37

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento