PHP vs. Resto del Mondo

Martedì 20 Ottobre 2009 - 14:14

di Riccardo Degni

PHP e Open Source

Dopo avere largamente parlato in queste pagine delle novità di PHP 5.3, dei vari framework PHP e dei vantaggi/svantaggi derivanti dal loro utilizzo, penso sia arrivato il momento di dare la possibilità ai lettori di Edit di mettere in paragone PHP con qualsiasi altro linguaggio di scripting che si prefissi i medesimi obiettivi..

Dal mio punto di vista posso affermare di conoscere ogni possibile anfratto di PHP, ma di altri linguaggi, quali Ruby e Phyton, ho solo basi teoriche.

La domanda è rivolta dunque sia agli sviluppatori fedeli a PHP, sia a quelli che hanno preferito intraprendere lo studio di nuove soluzioni. Dovete convincere la controparte a cambiare rotta: perché PHP è la scelta migliore? Perché PHP è ormai superato?

E soprattutto, quali sono le argomentazioni a sostegno della vostra tesi?

Tags:

Categoria: PHP e Open Source | Permalink

Commenti

1

Parlare di Php in pensione mi sembra davvero una blasfemia!
La forza di questo linguaggio è sempre stata quella di rimanere al passo con soluzioni sempre moderne, dai framework alle interazioni Ajax…dal mio lato di sviluppatore continuo a non vedere soluzioni in grado di spodestarlo davvero, guardiamo che fine ha fatto il vecchio Asp!

# - postato da Alessio - 20 Ottobre 2009 - 14:56

2

Se parliamo di siti web, non penso che un linguaggio lato server faccia la differenza più di un altro.

Se parliamo di web application penso semmai che la differenza la faccia Javascript.

# - postato da Francesco - 20 Ottobre 2009 - 15:16

3

il problema non è di quanto sia in voga un linguaggio di programmazione.

un linguaggio dovrebbe lasciare libertà d espressione al programmatore, adattandosi al modo di pensare del programmatore o del problema dal risolvere.

# - postato da sasuke - 20 Ottobre 2009 - 15:39

4

Secondo me, il vero problema di php è l’assenza di librerie/codice pronto di livello “Enterprise”.

Mentre per un livello più “terra terra” rimane sempre un’ottima scelta (compromesso qualità/ore-lavoro).

(che poi sia pieno di funzionalità “cool” o non, spesso non frega a nessuno)

# - postato da goetas - 20 Ottobre 2009 - 16:02

5

Siccome sull’argomento ho scritto un intero articolo vi rimando a quello:
http://www.doxaliber.it/php-py.....alisi/1093

ciao

# - postato da Doxaliber - 20 Ottobre 2009 - 16:16

6

Secondo me le applicazioni stanno diventando sempre più 70% javascript e un 30% di logica lato server che alla fine si limita a gestire autenticazione e accesso al db quindi utilizzare un linguaggio al posto di un altro fa poca differenza; quindi perchè non usare php che è rodato, c’è buon supporto ed usato anche da diversi big? Io più volentieri che passare da php a python/ruby etc… al limite uso più volentieri perl e catalyst ma se potessi davvero esprimere un desiderio vorrei vedere un javascript ben consolidato anche lato server così da sviluppare con un unico linguaggio serverside e clientside.

# - postato da michelangelog - 20 Ottobre 2009 - 16:54

7

Conosco pochissimo di php, ma quel pochissimo che conosco è sufficiente per farmi dire che non fa per me.
A partire dal discorso sicurezza, per proseguire alle naming convention, con tappa alle funzioni duplicate e per finire ad una sintassi del linguaggio che a me fa orrore.

Cioè io dovrei scrivere tutte le volte

# - postato da Mik - 20 Ottobre 2009 - 16:57

8

> + premo shift + ? + tolgo shift + p + h + p
perché tu #§$@a! per non impiegare 3 secondi a scegliere una stringa più facile da digitare, ne fai perdere 3 x miliardi agli sviluppatori php?
Anche se ha poco senso di parlare di sviluppatori php, dato che la maggior parte installa la pappa pronta di altri, che, lavorando a gratis, coglioni!, se ne fregano altamente di sicurezza, prestazioni ecc.

# - postato da Mik - 20 Ottobre 2009 - 17:02

9

Secondo me PHP oggi è lo standard per programmazione Web Server Side, Signori Facebook E’ fatto in PHP

# - postato da Marco Bruni - 20 Ottobre 2009 - 17:39

10

Il maggior problema, e per assurdo la maggiore forza di PHP, è secondo me quello di essere C based.

Dal C eredita la sintassi verbosa, e lo stampo tipicamente procedurale (che poi si sia andati in un altra direzione è un altro discorso, PHP non è un linguaggio completamente object oriented). Può piacere o no.

Io finora ho lavorato solo con PHP, ma ho comprato ultimamente un libro su Ruby 1.9 e devo dire che come approccio è stilisticamente molto migliore. Inoltre in fatto che le funzioni siano nominate in maniera logica è un fattore importante per chi ci tiene ai coding standards come me.

In definitiva, PHP è secondo me un ottimo linguaggio, completo e semplice da apprendere. Però ha delle pecce di design (gestione degli errori? safe mode? register globals? magic quotes?) che ad un professionista danno sinceramente fastidio. PHP è anche l’unico linguaggio che bisogna fare davvero attenzione a com’è configurato il server (tra la versione, le librerie installate, le configurazioni…), tutti gli altri linguaggi al 99% non c’è possibilità d’errore, o sbagliata configurazione, se funziona.

Direi che a medio lungo termine passerò a Ruby comunque.

# - postato da davide - 20 Ottobre 2009 - 17:40

11

A me piaceva molto quando potevo prendere sfondoni tipo dire che oggi le applicazioni sono 70% JS. Da quando ho la fortuna e l’esperienza per asternermi dal fare commenti del genere, mi sono reso conto che un linguaggio come PHP -molto potente ma dal mio punto di vista poco incline a diventare come AS3 o C#- non fa per me. Resto comunque un autore di sfondoni ma, come si dice, con l’aumentare della complessità delle cose che si studiano aumenta in proporzione l’ignoranza di chi studia.

# - postato da Pino - 20 Ottobre 2009 - 18:07

12

Siccome sull’argomento ho scritto un intero articolo vi rimando a quello:
http://www.doxaliber.it/php-py.....alisi/1093

Ho letto l’articolo: non lo trovo poi così lucido come commento; l’integrazione di html e php insieme non è necessariamento un malus

# - postato da Cristiano - 20 Ottobre 2009 - 18:51

13

@Cristiano,

da un punto di vista progettuale lo è perché la manutenzione del codice diventa davvero problematica. Mischiare html e codice può andar bene per piccoli progetti (leggasi sitarelli) ma è davvero impensabile per qualsiasi progetto di medio-alta complessità.

Naturalmente la possibilità di incorporare html e php così facilmente risulta in un “vantaggio” per php rispetto agli altri linguaggi presi in oggetto nell’articolo. Questo, insieme alla facilità di deployment di un’applicazione php concorrono moltissimo al suo successo.

# - postato da Doxaliber - 20 Ottobre 2009 - 21:33

14

Ciao,
volevo portare un punto di vista diverso sui linguaggi di programmazione.

Secondo una teoria della linguistica sviluppata all’inizio del 900, il linguaggio influenza il modo di pensare.

Quindi il modo di pensare è influenzato dal modo in cui comunichiamo.
Ora, siccome, i linguaggi di programmazione sono a tutti gli effetti strumenti di comunicazione col computer e con altri programmatori che influenza e limita il nostro modo di pensare il codice.

Recentemente ho tenuto un corso di javascript a programmatori abituati a programmare solo in modo procedurale, e persone che non conoscevano quasi niente di programmazione.
Beh la cosa interessante e che chi non aveva nozioni di programmazione riusciva ad arrivare prima su certe cose, anche complesse, rispetto a chi programmava da anni.

Proprio perhcè avevano oramai una particolare forma mentis, formatasi con anni di programmazione solo con certi tipi di linguaggio.

Se volete approfondire certe tematiche vi consilio di leggere i libri di Paul Graham.

Per fare un esempio provate a vedere come viene fatto l’operazione 1+1 in C, in Ruby (o smalltalk), e in lisp.
E poi provate a togliere l’1 finale e a lasciare solo 1+ . e vedrete le diffenrenze su come reagiscono questi tre linguaggi.

P.S. in lisp bisogna fare (+ 1 1) proprio per la particolarità su come è costruito

# - postato da sasuke - 20 Ottobre 2009 - 21:35

15

@Doxaliber, l’altra faccia della medaglia di poter mischiare codice e HTML è che è relativamente facile creare un template engine molto semplice, pratico e flessibile, come secondo me è quello di Codeigniter :P

# - postato da Francesco - 20 Ottobre 2009 - 22:18

16

ero al phpday di Verona quest’anno dove è intervenuto Rasmus Lerdorf in persona, il quale ha chiarito quasi subito con un: “non me ne freaga un tubo di quanto sia bello il vostro codice sorgente” che lui ritiene importante la velocità con cui gira e con cui si sviluppa la soluzione e odia le astrazioni eccessive, per una semplice ragione: sono lente.
ha precisato che php è progettato per essere semplice, veloce ed affidabile, non per farsi pugnette guardando un listato.
analizzate senza paraocchi alla prova dei fatti constaterete che php5.3, risulta estremamente efficace ed economico, con cui è possibile produrre codice di qualità come symfony, in grado di ispirare con alcune delle soluzioni adottate anche gli sviluppatori dei maggiori framework degli altri linguaggi.
Siccome se non vi piace, siete liberi di usare quello che vi pare(!), non giustifico l’acrimonia di qualche troll frustrato che si scaglia contro un linguaggio che può, come tutti gli altri, essere usato per produrre buono o cattivo software.
Pensi forse che un niubbo non possa scrivere schifezze in ruby o in python?
se il linguaggio x fosse più semplice/diffuso di php, avremmo un sacco di niubbi a scrivere un sacco di ‘monnezza in x.
ritengo un errore, che vedo spesso commesso, comparare l’eleganza del’ultima versione uscita ieri del “pet language” x, con nozioni pretestuose e valide anni fa in php4 come registerglobals, che è off di default dal 2002.
se proprio devo muovere una critica agli sviluppatori di php, penso che solo negli ultimi anni si sia posta attenzione a sviluppare test automatici numerosi e solidi e che nel complesso php sia investito di un successo che non ha “cercato”, non è frutto dell’ambizione del suo creatore che davvero fa di tutto per non “pensare in grande”. Rasmus ha ripetuto che php è un linguaggio per il solo web, non per programmare a tutto campo. fatalmente, questo linguaggio “degli ultimi”, è il primo nella sua categoria.

# - postato da devsmt - 20 Ottobre 2009 - 22:29

17

@sasuke hai fatto molto bene a condividere queste interessanti nozioni di linguistica, ma non capisco il tuo punto, cosa ci sarebbe di eccitante nella balzana idea che in lisp una banale addizione si debba fare in modo deltutto innaturale???
Aggiungo che senza ombra di dubbio affido la realizzazione del mio software alla mente irrigidita di un programmatore procedurale esperto piuttosto che a quella estremamente elastica e ricettiva di un niubbo: quei paletti mentali che irrigidiscono la mente del programmatore esperto, lo fanno andare dritto verso la soluzione come un treno sulle rotaie, gli impediscono di scrivere monnezza che, o non risolve il problema, o lo fa con performance inaccettabili, o sarebbe immantenibile 2 iterazioni dopo.

# - postato da devsmt - 20 Ottobre 2009 - 22:45

18

@Francesco, non conosco Codeigniter, quindi non mi esprimo in merito. Tuttavia non ritengo che i template engine per Python e Ruby siano più difficili da apprendere di un qualsiasi template engine per PHP. Le difficoltà nell’apprendere questi linguaggi sono altre. Tieni presente tra l’altro che comunque è possibile mischiare codice ed html anche con Ruby e Python. :-)

@devsmt, non mi sembra di aver letto trollate in questo thread.

# - postato da Doxaliber - 20 Ottobre 2009 - 23:03

19

Recentemente ho tenuto un corso di javascript a programmatori abituati a programmare solo in modo procedurale, e persone che non conoscevano quasi niente di programmazione.
Beh la cosa interessante e che chi non aveva nozioni di programmazione riusciva ad arrivare prima su certe cose, anche complesse, rispetto a chi programmava da anni.

Molto acuto: ho imparato JavaScript dopo PHP e in effetti ho avuto i miei problemi :)

da un punto di vista progettuale lo è perché la manutenzione del codice diventa davvero problematica. Mischiare html e codice può andar bene per piccoli progetti (leggasi sitarelli) ma è davvero impensabile per qualsiasi progetto di medio-alta complessità.

Scrivo programmi di alto livello, ed essendo anche designer non mi accontento di “stili di getto”. Tuttavia condivido almeno il fatto che la parte HTML non si mescoli con il programma (ovvero codice php, codice html fuori dai tag php, nuovo codice php).

# - postato da Cristiano - 20 Ottobre 2009 - 23:15

20

@devsmt Ciao,
Primo: L’esempio del 1+1 con Lisp, Smalltalk e C era solo per far vedere come una semplice operazione matematica è implementata in questi 3 tipi di linguaggio ( Funzionale, Orientato agli oggetti, e Procedurale ), e quindi a come ad ogni linguaggio ci sia un modo di pensare diverso.

Secondo: L’elasticità mentale che intendo non è certo quella di un niubbo ma se mai di un programmatore che dopo anni di programmazione procedurale (c,java, ecc) è passato a linguaggi con una maggiore libertà di espressione e creatività.

Poi ovviamente dipende ciascuno di noi cosa cerca nel programmare. Per me programmare non è solo un lavoro, ma soprattutto un piacere, ed è in base a questo mio sentire che ho espresso quello scritto sopra.

Adoro studiare linguaggi nuovi e ampliare sempre di più il mio modo prima di pensare e poi di scrivere codice.
Per me scrivere codice deve essere il giusto equilibrio tra performance, espressività linguistica e sintesi. Io cerco questo.

Secondo me, c’è molto ignoranza “culturale” sui linguaggi di programamzione qui in Italia.

Mancanza di conoscenza storica, su perchè un certo linguaggio è nato, quali sono i suoi ambiti di pensiero, da quali altri linguaggi è stato influenzato ecc. ecc.

Giusto una postilla finale. Vorrei ricordare che linguaggi da niubbo come lisp e smalltalk hanno 40 anni di esistenza, in un periodo in cui c’era molta più sperimentazione proprio sull’espressività del linguaggio piuttosto che sulla performance.

# - postato da sasuke - 20 Ottobre 2009 - 23:16

21

Rispondo a qualcuno che parlava di sviluppatori php che se ne fregano delle prestazioni…

Sarà vero, ma è pur vero che anche a livelli medio-alti, capita di imbattersi in software web-based scritto prevalentemente in .net i cui sviluppatori, oltre a fregarsene delle prestazioni, sono in difficolta proprio per la carenza di prestazioni della piattaforma stessa.

php è il regno di quelli che installano roba opensource bell’e pronta, ma .net (che vedo come il “rivale maggiore”) è il regno di tanti che ancora programmano senza capire granchè di codice, accrocchiando soluzioni pronte messe a disposizione da visual studio ad esempio.

Mi sono trovato a lavorare con un CMS scritto in c#, elogiatissimo, premiato, citato come work experience sul sito microsoft, che è qualcosa di abominevole a livello di prestazioni, usabilità, codice ecc. ecc.

In conclusione, direi le “pecore nere” ci sono dappertutto… Magari php è più alla portata dei neofiti e quindi più soggetto a essere mal-utilizzato, ma .net e altri non possono essere considerati superiori solo per questo.

Chi sa scrivere codice php seriamente, ha tra le mani uno strumento potente, che poco ha da invidiare ad altri…

Sono un pò OT dall’argomento del post, sorry…

# - postato da Giuseppe - 20 Ottobre 2009 - 23:46

22

Questo blog è proprio scaduto, non c’è più alcun articolo interessante e si pensa solo ad agitare la folla. Non so voi ma io trovvo abbastanza triste tutto ciò.

I miei 2 centesimi, chi se ne frega di quale linguaggio utilizzate, sviluppatelo bene e fatemi vedere un risultato strabiliante.

Riguardo al commento “Facebook è fatto in php”… ROTFL

# - postato da Luglio7 - 21 Ottobre 2009 - 09:44

23

Ma perché, come dice Giuseppe proprio qui sopra, PHP dovrebbe essere più alla portata dei neofiti piuttosto che altri linguaggi.
Ho sempre trovato semplice, una volta compreso il “funzionamento” del codice programmare in questo o quel linguaggio, poi sta al linguaggio o meglio, a chi l’ha sviluppato renderlo sicuro più ancora che semplice. E PHP non è affatto un linguaggio sicuro, soprattutto perché essendo il linguaggio per il Web, parole di Rasmus seppur riportate qui sopra, ebbene è assurdo che il linguaggio principe per il Web abbia tanti buchi della sicurezza intrinsechi del linguaggio.
Poi, ed è solo la mia personale opinione, basta con questi discorsi del: “vuoi più bene alla mamma o al papà”.

M.

PS: ah! Dimenticavo, non portate ad esempio Facebook come applicazione principe; fa schifo è scritta peggio che male e non è che ci voglia poi tutta “’sta scienza” per fare una cosa come quella.

# - postato da Marco Grazia - 21 Ottobre 2009 - 10:03

24

Condivido con Luglio7 sull’andamento del blog. Php vs Asp, php vs Resto del mondo, PHP: framework standalone o ready to use? basta vi prego…..ma perchè dobbiamo sempre fare i processi ai linguaggi di programmazione?

# - postato da eugenio - 21 Ottobre 2009 - 10:22

25

Questi discorsi sono diventati, a mio avviso, inutili e fuorvianti:

1. Ogni sviluppatore è convinto (comprensibilmente) che il linguaggio da lui utilizzato sia meglio degli altri. Questa è soggettività (isterica come direbbe qualcuno).

2. Vedo tantissima superficialità nell’esporre le proprie argomentazioni, ad esempio si parla di prestazioni ma nessuno espone un dato concreto. Si dice che facebook sia fatto in PHP, quindi php è il miglior linguaggio, allora io posso dire che Youtube è fatto in Python e Twitter in Ruby (On Rails). Che cosa vuol dire? Assolutamente NULLA, sono argomentazioni dettate da integralismo e scarsa conoscenza.

3. Addirittura qualcuno dice che le web application “ormai” sono 70% javascript e il 30% un linguaggio qualunque di server side. Se affermate ciò, probabilmente non avete capito granchè dell’industria del web e non meritate di rimanervici. Quando ci si deve misurare con applicazioni user-critical venitemi a dire che un linguaggio server-side vale un altro.

4. Sono sicuro che la maggior parte delle persone che difende il “proprio” linguaggio non è mai andato oltre. Non ha mai esplorato niente e quindi parla più per paura che per reale convinzione.

# - postato da Simone - 21 Ottobre 2009 - 10:36

26

condivido con voi un tentativo di obiettività nel comparare i linguaggi,
si prendono in considerazione solo prestazioni ed espressività(perché è possibile misurarli), che non sono tutto, è un inizio per una ricerca che deve essere seria ma rimane influenzata da innumerevoli fattori umani e personali:
http://shootout.alioth.debian......shapes.php

# - postato da devsmt - 21 Ottobre 2009 - 11:18

27

ciao a tutti, scusate ma molti hanno scritto solo per rabbia o per altre ragioni insulti e cose cattive..alla fine ho trovato pochi commenti concreti, purtroppo penso che non lavorerò più in questo campo, ma farò qualcosina hobbysticamente..però penso che la scelta di un linguaggio di scripting o di programmazione, client o server side, sia dettata da varie motivazioni(la tua azienda,il cliente,ecc..) ma alla fine dovrebbe essere più una questione di ambito su cui bisogna applicare l’uno o l’altro..
non è giusto insultare chi usa questo o quello, personalmente non mi piace chi fa pagare strumenti indispensabili cifre da mutui e quindi si agisce in un certo modo ma illuministicamente c’è chi crea strumenti liberi e migliorabili da tutti(non arriverò mai al sapere per poterlo fare, ma ci sono persone più dotate) e li prediligo pur sapendo che potrebbero avere qualcosa in meno..

# - postato da Ferdinando - 21 Ottobre 2009 - 13:03

28

qualunque linguaggio di programmazione e’ il peggiore se usato male o con scarse nozioni di programmazione

qualunque linguaggio di programmazione e’ il migliore se usato al 100% delle sue potenzialita’

nessun linguaggio di programmazione implica skills - i salari dovrebbero essere gli stessi che sia scripting (puntando ai tempi di sviluppo), bytecode (puntando alla portabilita’), o machine code (puntando alle performances estreme)

le performances sono comunque sempre relative e dipendono 90% da come si ha scritto/pensato l’applicazione e 10% dal mero linguaggio, qualunque branch sia (scripting/VM/compiled)

PHP 5.3 e’ l’unica versione di PHP degna di essere sfruttata OOP quindi piu’ che superato, io lo definirei rinato.

Tutto questo e’ ovviamente un’opinione personale

# - postato da andr3a - 21 Ottobre 2009 - 14:17

29

Al di la della crescente delusione verso questo blog, ho messo insieme in modo analitico tutte le tesi uscite fuori dal discorso e risposto nel migliore dei modi e in maniera analitica qui.

# - postato da Cristiano - 21 Ottobre 2009 - 15:18

30

Rispondo brevemente a Cristiano, dato che, leggendo il suo articolo, diventa doveroso fare delle precisazioni.

Nel suddetto articolo ho letto affermazioni del tipo “la serie, forse di cattivo gusto, di creare un confronto fra diversi linguaggi di programmazione” o “il post che è purtroppo semplicemente innesto di discussione”.

Rispondo semplicemente dicendoti che gli articoli che non entrano nella categoria delle ’segnalazioni’ sono creati appositamente per dare modo agli utenti ed agli sviluppatori di mettere a confronto le loro idee, i loro pareri, le loro opinioni e le loro statistiche su tutte le tematiche che il lavoro di sviluppatore Web comporta. E anche, perchè no, per offrire nuovi spunti e nuove prospettive a chi li legge e a chi legge i commenti. Questo è quello che deve accadere su ogni blog che si prefissa l’obiettivo di dare modo agli utenti di discutere, scambiare idee e soprattutto guadagnare nozioni.

Non esiste nessuna guerra, nè si vogliono screditare linguaggi a vantaggio di altri: è un semplice scambio di idee tra sviluppatori.

Non trovo dunque il motivo delle tua guerra personale: se questa discussione per te risulta poco interessante, semplicemente passa a leggere gli altri post, senza togliere agli altri utenti la possibilità di esprimere le loro opinioni.

# - postato da Riccardo Degni - 21 Ottobre 2009 - 16:48

31

Assolutamente non mi permetterei mai di fare attacchi personali; semplicemente raccolgo ed ospirmo opinioni (fra cui la mia), opinabili: la mia è una pacata costatazione di superficialità nel trattare alcuni argomenti che forse potrebbero essere meglio sviluppati.

Ora, sbaglio, il blog ha un taglio più giornalistico (diversamente dal forum): ogni articolo si dovrebbe proporre come stimolo di riflessione (e con questo concordo con Riccardo) ma non riflessione scardinata o avulsa da qualsiasi dato oggettivo, bensì guidata da fonti e dati concreti (e magari puntuali) presentati in prima posizione dall’articolo.

Ripeto, la mia vuole essere una considerazione generica senza nessuna connotazione aggressiva.

# - postato da Cristiano - 21 Ottobre 2009 - 18:20

32

@Cristiano: la tipologia di articolo che definisci è grosso modo quella delle segnalazioni, su cui si possono avere dati oggettivi e statistici, conditi di tanto in tanto con opinioni personali.

Questo articolo mira soprattutto al dibattito, allo scambio di idee: la mancanza di riscontri oggettivi è assolutamente voluta, per offrire la più totale libertà di parola agli utenti. Non deve esserci dunque nè un vincitore nè un vinto, ma solo un confronto tra pareri differenti che possa permettere a tutti i visitatori di ampliare le proprie conoscenze personali.

# - postato da Riccardo Degni - 21 Ottobre 2009 - 21:27

33

Utilizzando un framework, PHP diventa un sistema per sviluppare pratico e moderno. Per il resto concordo con Luglio7: il linguaggio non ha molta importanza rispetto a ciò che si deve sviluppare.

# - postato da Sergio - 22 Ottobre 2009 - 08:18

34

@Cristiano il tuo post in pratica e’ identico a questo: tante opinioni personali, mancanza di fatti, e nella tua ottica falsita’, dato che ci sono molte inesattezze.

Un paio di esempi?

JavaScript è utilizzato per lo più come motore grafico

JavaScript e’ il general purpose scripting language per eccellenza e piu’ diffuso al mondo, presente di default ed usato anche dal tuo sistema operativo.
E’ assolutamente falso pensare a JavaScript come linguaggio client e niente piu’
http://en.wikipedia.org/wiki/S.....JavaScript
http://couchdb.apache.org/

Al livello di prestazioni matematiche non si può classificare JavaScript

JavaScript per molte operazioni e soprattutto quelle Object Oriented e’ molto piu’ veloce di PHP, anche qui superficialita’, zero analisi, e poca competenza sull’argomento, ma tanta presunzione nell’esporlo:
http://shootout.alioth.debian......&box=1

Io metterei il titolo: Bugie trovate in verita’ e bugie

Torniamo a parlare di quanto siano interessanti le nuove features di PHP5.3 e che il vero limite sono gli host non aggiornati? Ha molto piu’ senso di sparate a zero senza resto.

# - postato da andr3a - 22 Ottobre 2009 - 14:01

35

@ andr3a : mi dispiace ma sbagli :) leggere un articolo significa leggerlo e capirne il contesto: io parlo di applicazioni webbased, quindi di un uso di javascript lato client;
per quanto riguarda JavaScript V8 (che se non sbaglio è un motore di chrome e basta, visto che ogni browser ha il suo) probabilmente hai ancora frainteso, se leggi tutta la frase:

Al livello di prestazioni matematiche non si può classificare JavaScript, essendo l’unico linguaggio che, utilizzato per sviluppare algoritmi, impiega tempi sensibili per risolvere problemi.

Ora io non so quale sia la tua esperianza ma, banalizzando, prova a ordinare 5′000 righe con Javascript e poi con PHP. Vedi chi fa prima :D (ps: quando scrivo, più che quando parlo, cerco di evitare problemi di disinformazione: su una cosa però hai ragione, non ho riportato i dati così come sono, credimi non per superficialità visto che sono tutti problemi che ho in prima persona affrontato).

# - postato da Cristiano - 22 Ottobre 2009 - 16:37

36

cara redazione, non date retta a coloro che non vogliono discussioni come questa…

IL CONTRADITTORIO A RUOTA LIBERA è LA GARANZIA CONTRO LE STUPIDAGGINI CHE è NORMALE CHE EMERGANO…

altrimenti magari finisce che uno crede al primo post in inglese che afferma qualcosa…

per le (poche) cose che ho imparato io la ricetta è semplice ed emerge proprio da questa poltiglia:

un etto di Fulciniti
un soffritto di andr3a
e una spruzzata di Marco Cilia

(per non citare che i primi nick che mi vengono in mente…)

insomma per i “riscontri oggettivi” di cui sopra basta approfondire gli SPUNTI che emergono, farsi sorgere un DUBBIO, seguire i LINK ai siti personali…

# - postato da Anonimo - 22 Ottobre 2009 - 17:14

37

Il post in questione su html è scadente ed i commenti ancora peggio.
Ad il lettore che dovesse leggere queste pagine vorrei semplicemente spiegare che non esiste un linguaggio migliore di un altro.
Ognuno ha i suoi aspetti positivi e negativi e molto dipende anche dalla mentalità intesa come modo di apprendere e lavorare del programmatore.
Oltre a tutto questo non va dimenticato che alcuni linguaggi sono anche mode del momento o sono più utilizzati semplicemente perché hanno alla base solide aziende in grado di diffonderne ed incentivarne l’uso.

# - postato da cristian76 - 22 Ottobre 2009 - 17:49

38

@Cristiano …

mi dispiace ma sbagli :)

spessissimo, ma non credo questa volta

leggere un articolo significa leggerlo e capirne il contesto

dovrebbe valere anche per commenti e repliche. Rileggi la mia risposta perchè ti ho linkato una lunga lista di webserver basati su JavaScript, da Rhino o Helma (Apache+Java), SpiderMonkey (Apache+Jaxer), v8cgi e tutte le altre salse (Apache+v8cgi o tutte le altre salse), Database (Apche CouchDB project) … e vedi che per un full web stack puoi usare un solo linguaggio: JavaScript - questo è web development, o solo una delle tante alternative, con i numerosi vantaggi che comporta, come lo è PHP ed i suoi simili ma limitati vantaggi (limitati perchè non presente di default ovunque e perchè devi validare o sfruttare logiche simili ma implementate due volte, client e server, piuttosto che una volta sola per client, server, e eventualmente db)

io parlo di applicazioni webbased, quindi di un uso di javascript lato client;

per l’appunto, anche io parlo di applicazioni web based tramite l’uso di JavaScript

Per gli altri: certo non è un post da ultima novità, ma in questo settore le opinioni derivate da esperienza contano molto e spesso si può imparare qualcosa o si può analizzare qualche punto magari non considerato in precedenza.

Non applaudo al post di per se, che esplicitamente chiede uno scambio di opinioni, ma essendo questo il 38esimo commento, non posso definirlo propriamente un “fallimento”, tanto più che qualcuno ha letto tutto (beata pazienza che avete :-))

Spero di aver almeno contribuito con qualche link/risorsa interessante o utile, di certo almeno Cristiano smetterà (?) di pensare a JavaScript come a un motore grafico ma sicuramente continuerà con il buon vecchio PHP.

Buona serata

# - postato da andr3a - 22 Ottobre 2009 - 19:54

39

Ma scusa, quelli che mi hai citato non sono motori di rendering? (almeno quelli che conosco, alcuni non li ho mai sentiti). E’ ovvio che la discussione è su un utilizzo di JavaScript orientato agli eventi (se quelle piattaforme - non so come chiamarle - hanno le stesse caratteristiche di gestione degli eventi, perfetto ai vinto :D) [banalizzando mootools o prototype]…
Se invece parli di un uso di JavaScript come script CGI taccio perchè non conosco l’argomento (e comunque non era quello a cui mi riferivo e a cui il commento #6, che ha originato il verboso diverbio, si riferiva, come puoi notare leggendo attentamente il commento).

Che il post in extremis non sia un fallimento: “ni”; ho forse scoperto un uso di javaScript inaspettato.

# - postato da Cristiano - 22 Ottobre 2009 - 20:34

40

eventi? tutte le form utente sono “eventi” nel server e comunque no, non parlo di eventi come li intendi tu, parlo dello stesso uso che fai di PHP via JavaScript. Creazione risposte, interfacciamento MySQL o qualsivoglia database, tutto quello che faresti con Java o PHP o C# o Ruby o Python o altro, JavaScript è un linguaggio di programmazione ramo scripting tale quale PHP.
Hai visto che questo post è servito a qualcosa?

Se ci tieni a non disinformare fai almeno un update nella tua critica.

Buona serata

# - postato da andr3a - 22 Ottobre 2009 - 21:28

41

se posso dire la mia opinione, penso che il punto di vista di cristiano sia completamente errato: aprire (inutili) discussioni nei commenti di un articolo mi sembra una perdita di tempo. a mio parere il post pone uno scambio di opinioni interessante, in cui ognuno può fornire il proprio punto di vista sulla domanda posta nell’articolo in questione.

Non solo in questo, ma in quasi tutti gli altri articoli relativi a php o simili o a javascript ho ricavato qualcosa che prima non conoscevo e lo dico con sincerità. se tutti stessimo a scrivere ‘questo articolo mi piace, questo no, questo si, questo no…’ sarebbe un casino e rovinerebbe, come in questo caso, la discussione iniziale.

Per rispondere alla domanda del post, dico: uso php e non lo cambio perchè per impararlo ci sono milioni di risorse free sulal rete, mentre non ho trovato abbastanza esaurienti le risorse su Ruby e simili.

PS: se comprate domini esteri che hanno i supporti per le ultime release di php, allora avete a disposizione tutto quello che occorre per realizzare lavori di qualità. Esteri, mi raccomando.

# - postato da frost - 22 Ottobre 2009 - 22:28

42

eventi? tutte le form utente sono “eventi” nel server

E questa è pignoleria :-)

avaScript è un linguaggio di programmazione ramo scripting tale quale PHP.

Non nell’ambito tradizionale, non in quello relativo al famoso commento 6, non nell’ambito relativo alla mia critica.

Se ci tieni a non disinformare fai almeno un update nella tua critica

;-)

uso php e non lo cambio perchè per impararlo ci sono milioni di risorse free sulal rete, mentre non ho trovato abbastanza esaurienti le risorse su Ruby e simili.

Quoto.

ognuno può fornire il proprio punto di vista sulla domanda posta nell’articolo in questione

Infatti.

# - postato da Cristiano - 22 Ottobre 2009 - 23:31

43

tornando in tema, PHP ha sempre avuto una filosofia “share nothing” … dove il ciclo di vita di una chiamata al server comincia e finisce con la chiamata in se (eccetto implementazioni di Comet per PHP che sono infatti abbastanza esose o eccetto socket non-blocking per le prossime WebSocket di HTML5 o la collaudata XMLSocket di Flash Player da credo il 2002 …)

Ebbene, tutti i linguaggi in voga, Ruby, Java, altri, stanno venendo fuori con tutti questi servizi RESTful … dove RESTful è estremamente adatto per il protocollo internet, e dove PHP nasce nativamente compatibile, essendo RESTful uno “share nothing”.

Se vogliamo questo è uno dei motivi per cui PHP ha sempre avuto un gran riscontro.

Qui possiamo quindi dire PHP vinca VS resto del mondo :-)

ma come ho detto all’inizio, il linguaggio scelto sta a zero se non c’è un buon utilizzatore dietro.

# - postato da andr3a - 22 Ottobre 2009 - 23:57

44

andr3a che c’entra Javascript con CouchDB?

# - postato da Andrea Paiola - 24 Ottobre 2009 - 16:15

45

Ah ho capito… probabilmente intendi applicazioni Javascript che comunicano con CouchDB :D

Da coem l’avevi scritta sembrava che CouchDB fosse fatto in Javascript e invece è Erlang ;-)

# - postato da Andrea Paiola - 24 Ottobre 2009 - 16:34

46

@andr3a

Cosa intendi quando dici che PHP nasce nativamente compatibile con RESTful? E che “tutti i linguaggi in voga stanno venendo fuori con tutti questi servizi RESTful”?

Da quel che so io il RESTful è uno stile di rappresentazione di risorse sulla rete, che sfrutta i metodi del protocollo HTTP.

E’ utilizzato tantissimo in quelle API di alto livello che appunto attraverso un WebService RESTful forniscono accesso in input/output a delle risorse. Ad esempio Twitter e Facebook
utilizzano un Web Service di tipo REST.

Però cosa c’entra con PHP?

# - postato da Simone - 24 Ottobre 2009 - 21:05

47

@Andrea Paiola

probabilmente intendi applicazioni Javascript che comunicano con CouchDB

probabilmente non conosci CouchDB e non sai che invece di SQL utilizzi JavaScript … non è questione di quale linguaggio usi per comunicare, infatti van tutti bene dato che non comunichi via linguaggi, è come usi CouchDB, invece di SQL (sopra engines per lo più in C) hai JavaScript (sopra un engine in Erlang)

@Simone grazie per la delucidazione su RESTful, spero non fosse per me … hai dimenticato di aggiungere che RESTful è uno “share nothing” e PHP nasce “share nothing”.
Quindi intendevo quello che ho detto: PHP è “share nothing”, non ci sono concetti come “continuation” ad esempio .NET o Java ne condivisione. Chi arriva invia e prende, questo è RESTful, che non è una API, e questo è PHP. Un commento di un post non è sufficiente per approfondire CouchDB, PHP, o RESTful e “share nothing”, abbiate pietà

# - postato da andr3a - 26 Ottobre 2009 - 00:55

48

Ciao bello vedere che si aprla di linguaggi di programmaziine
nelo stesso modo in cui al lunedi mattina si commentano i risultati di inter e milan…..

# - postato da marco - 26 Ottobre 2009 - 09:16

49

Programmo da diversi…decenni. Ho usato un po’ tutti i linguaggi in pasrticolare su M/F e dipartimwentali. La mia esperienza mi dice che parlare di linguaggi migliori è abbastanza retorico. Il consiglio che dò ai nefiti è : scegli un linguaggio (oppure accetta quello in uso presso la tua struttura) , approfomdiscine la conoscenza e usa sempre quello. 30 anni fa dicevano che il linguaggio X era destinato ad essere abbandonato poi dal momento che vi erano miliardi di righe di codice in giro per il mondo la cosa non ha avuto seguito, anzi il linguaggio stesso è stato aggiornato. Per quanto riguarda il mondo PC, però, ho visto nascere e morire fior di linguaggi (Chi vuole lagga un libro Mondadori titolo Alla ricerca della stupidità. 20 anni di disastri hightech), ciò scritto io uso PHP e MYSQL, forse esiste qualcosa di più performante ma sono (se ci sono) prodotti di nicchia.
p.s. Ho inziato nel 64 (schede perforate) quando probabilmente i vostri genitori erano ragazzini ma continuo ad essere appassionato

# - postato da Daniele - 26 Ottobre 2009 - 12:38

50

@andr3a

Anche una pagina html è RESTful.

E anche altre applicazioni scritte in altre linguaggi, possono essere distribuite su un’architettura shared-nothing.

Vuoi essere più preciso per favore? E’ solo una richiesta di delucidazione.

# - postato da Simone - 26 Ottobre 2009 - 13:28

51

Daniele i linguaggi si evolvono, così come si evolvono i computer. Francamente una mentalità “conservatrice” non credo si adatti moltissimo ad un settore in continua evoluzione come l’informatica. Rispetto alle schede perforate ne è passata di acqua sotto i ponti ed anche se ancora oggi c’è mercato per programmatori Cobol (tanto per citare un linguaggio vecchio più 30 anni, che tra l’altro ho avuto la sventura di studiare a scuola) è anche vero che si tratta di un settore di nicchia.

Io credo che studiare un solo linguaggio ed impararlo bene non sia produttivo. Non esistono linguaggi di programmazione adatti a tutto e conoscere più linguaggi è solo un vantaggio. Anche se poi si avrà sempre una preferenza verso uno o l’altro.

# - postato da Doxaliber - 26 Ottobre 2009 - 14:40

52

Sono passato da PHP ad ASP.NET.

Purtroppo non ci sono confronti. In primo luogo ASP.NET è compilato. Ci accorgiamo subito se è presente un errore.

Il debugger è potentissimo, e l’ambiente di sviluppo in generale è strepitoso. Inoltre plugin come Resharper favoriscono un codice pulito, e l’utilizzo di Best Practice che in PHP sono meno usate.

Chiaramente tutto è possibile, ma in PHP l’utilizzo di pattern e best practice non è incentivato quanto in C# / ASP.NET.

Se in PHP la maggior parte dei programmatori usa variabili globali, codice procedulare, costrutti poco chiari, include, ecc, ecc. In C# abbiamo classi, funzioni, proprietà, membri statici, pattern MVC che vengono addirittura implementati a livello di linguaggio!

Non c’è un confronto. E inoltre Visual Studio Express è gratuito!

# - postato da Gianluigi Salvi - 31 Ottobre 2009 - 01:53

53

Sul fattore performance c’è molto da ridire. Spesso viene fatta passare l’idea che performance sia un problema legato a una manciata di cicli processore. Non è così.
I processori odierni hanno una velocità impressionante. I colli di bottiglia sono la trasmissione dei dati, l’accesso ai db, la cache, la ram e i cicli for ripetuti un numero elevatissimo di volte.

Per questo diventa indispensabile utilizzare strumenti come i Profiler. Su .NET esistono tool di notevole potenza e utilizzabilità come ANTS Profiler. Su php…

Editor, refactoring, debugger (php supporta i debugvisualizer?), profiler, controllo a compile time… il confronto è davvero improponibile.

# - postato da Gianluigi Salvi - 31 Ottobre 2009 - 02:05

54

beh… fondamentalmente mi accorgo di una cosa: che molti sviluppatori che sono passati dalla piattaforma php alla asp.net, hanno trovato quest’ultima più performante e più facile nello sviluppo di applicazioni web secondo la best practice… semplice, il problema principale è perchè non si sa programmare bene in php… php dispone di frameworks, librerie e accessori vari che, ahimè, asp.net se li sogna(e questo per tanti motivi), bisogna semplicemente informarsi studiare e lavorare sodo, quindi detto questo penso che secondo me non c’è un linguagio migliore degli altri , anche perchè troviamo migliore quello che per noi è migliore e non per altri, ma dire che php linguaggio open source per antonomasia, figlio del c(ad oggi il linguaggio compilato migliore al mondo), linguaggio di scripting sviluppato di giorno in giorno è utilizzato dagli utenti linux sia un linguaggio obsoleto e addirittura insicuro mi viene da ridere… e permettetemi di dire, che un’affermazione del genere può venire solo da gente non proprio a conoscenza dei fatti…
ad esempio un consiglio a chi usa php, e studiare framework potenti come zend che è il framework utilizzato dai migliori sviluppatori php della comunità open source e vi renderete conto delle potenzialità dello strumento che avete in mano, io che non sono neanche lontanamente uno sviluppatore di quel livello mi rendo conto di essere veramente ignorante in php, pur conoscendo tanta roba, php ogni giorno cresce in modo impressionante e per via della comunità open source anche più di altri, se poi si creano applicazioni web senza sufficienti conoscenze tanto per creare e ci si lamenta del linguaggio utilizzato , rispetto ad altri, è dovuto ad un vostro problema e non al php.

# - postato da walter - 07 Novembre 2009 - 16:49

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