Jump to content
Sign in to follow this  
guest

PHP vs resto del mondo (qualità del codice)

Recommended Posts

piu' indietro s'e' parlato di forum in java: qualche esempio "famoso"?

 

ciao

 

Ci sono diversi software anche ben fatti, il problema è che la maggior parte è a pagamento (dai una occhiata al prodotto di Customers - Jive Software ad es.)

 

Come CMS, scritto in java in versione community, c'è Magnolia - Simple Open Source Content Management System (CMS) written in Java.

Share this post


Link to post
Share on other sites

Algoritmi+Strutture Dati=Programmi

 

E penso che dall'epoca in cui Wirth lo scrisse poco o nulla sia cambiato se non nella forma.

Giusto per la cronaca, anche il buon vecchio Pascal, linguaggio strutturato per eccellenza ed anti-spaghetti code, che tanti informatici ha contribuito a formare nell'era post crisi del software, prevedeva e prevede tra i suoi costrutti il goto !

Ora, personalmente penso che un linguaggio di programmazione, per essere realmente un tool di sviluppo, debba fornire tutti gli strumenti e i costrutti di cui un utilizzatore può aver bisogno fosse anche una sola volta nel corso dello sviluppo delle proprie applicazioni.

Un linguaggio di programmazione, poi, non può prescindere dalla libreria runtime a cui si appoggia e dall'insieme di funzioni base che la costituiscono ( "LA LIBRERIA E' IL LINGUAGGIO").

Onestamente ho sempre pensato che un progetto prescinda dal linguaggio di programmazione con cui poi sarà implementato e soprattutto che in ambienti eterogenei sia preferibile un approccio misto volto all'utilizzo del migliore strumento di codifica e testing per ciascuna delle parti da implementare.

Ciò che significa? Semplice che se devo dare un'interfaccia (front-end) ad un'utilizzatore darò quella più comunemente usata (nel caso specifico ad esempio PHP) ma nel fare le gestioni operative del "core" della mia applicazione mi affiderò ad altro (che sia java, python, C, Ruby o ASM non è importante) basta scegliere lo/gli strumento/i più "espressivo/i" che mi consenta/no di realizzare le componenti del progetto.

Se ad esempio devo scrivere il firmware di una lavatrice non uso di certo PHP a prescindere dal fatto che sia o meno un buon linguaggio di programmazione, semplicemente non è adatto alle risorse che andrò ad impiegare. Ed ecco un altro problema : che risorse dovrò impiegare per far girare il mio applicativo ? Quante me ne richiederà il runtime del linguaggio ? Quanto efficiente (attenzione efficiente non significa necessariamente veloce) sarà il runtime nel sistema tipo su cui vorrò far girare l'applicativo ? (analisi delle risorse minime richieste)

 

Concludendo, volendo rientrare nei binari della discussione, penso:

1) un linguaggio vale l'altro ma se un linguaggio è più indicato per determinate implementazioni è da preferire.

2) è responsabilità del software architect progettare "a regola d'arte" un' applicazione

3) è responsabilità del programmatore implementare le componenti del progetto "a regola d'arte" ed aderenti alle specifiche imposte dal progetto.

Share this post


Link to post
Share on other sites
Algoritmi+Strutture Dati=Programmi

 

E penso che dall'epoca in cui Wirth lo scrisse poco o nulla sia cambiato se non nella forma.

Giusto per la cronaca, anche il buon vecchio Pascal, linguaggio strutturato per eccellenza ed anti-spaghetti code, che tanti informatici ha contribuito a formare nell'era post crisi del software, prevedeva e prevede tra i suoi costrutti il goto !

Ora, personalmente penso che un linguaggio di programmazione, per essere realmente un tool di sviluppo, debba fornire tutti gli strumenti e i costrutti di cui un utilizzatore può aver bisogno fosse anche una sola volta nel corso dello sviluppo delle proprie applicazioni.

Un linguaggio di programmazione, poi, non può prescindere dalla libreria runtime a cui si appoggia e dall'insieme di funzioni base che la costituiscono ( "LA LIBRERIA E' IL LINGUAGGIO").

Onestamente ho sempre pensato che un progetto prescinda dal linguaggio di programmazione con cui poi sarà implementato e soprattutto che in ambienti eterogenei sia preferibile un approccio misto volto all'utilizzo del migliore strumento di codifica e testing per ciascuna delle parti da implementare.

Ciò che significa? Semplice che se devo dare un'interfaccia (front-end) ad un'utilizzatore darò quella più comunemente usata (nel caso specifico ad esempio PHP) ma nel fare le gestioni operative del "core" della mia applicazione mi affiderò ad altro (che sia java, python, C, Ruby o ASM non è importante) basta scegliere lo/gli strumento/i più "espressivo/i" che mi consenta/no di realizzare le componenti del progetto.

Se ad esempio devo scrivere il firmware di una lavatrice non uso di certo PHP a prescindere dal fatto che sia o meno un buon linguaggio di programmazione, semplicemente non è adatto alle risorse che andrò ad impiegare. Ed ecco un altro problema : che risorse dovrò impiegare per far girare il mio applicativo ? Quante me ne richiederà il runtime del linguaggio ? Quanto efficiente (attenzione efficiente non significa necessariamente veloce) sarà il runtime nel sistema tipo su cui vorrò far girare l'applicativo ? (analisi delle risorse minime richieste)

 

Concludendo, volendo rientrare nei binari della discussione, penso:

1) un linguaggio vale l'altro ma se un linguaggio è più indicato per determinate implementazioni è da preferire.

2) è responsabilità del software architect progettare "a regola d'arte" un' applicazione

3) è responsabilità del programmatore implementare le componenti del progetto "a regola d'arte" ed aderenti alle specifiche imposte dal progetto.

 

 

Tanto di cappello.

Io ti quoto tutto, la penso esattamente così, sopratutto il punto 2 è fondamentale. In molti programmi PHP manca la progettazione iniziale, ma non è un problema del linguaggio, bensì di chi lo utilizza.

Share this post


Link to post
Share on other sites
E basta con 'sto php.

Chi dice che PHP fa schifo e non è adatto è perchè non sa programmare ed allora cerca di nascondersi dietro il fattore linguaggio.

 

Se uno sa programmare, programmerà bene anche in php perchè saprà come strutturare il software, con o senza framework.

Se non sai programmare, php, ruby, quelchevuoi farai sempre e comunque spaghetti code.

 

solo perchè in php c'è il "goto" non significa che lo devi usare obbligatoriamente, non si usa e basta, tanto per dirne una.

 

Questo post nasconde estrema ingenuità.

Evidentemente non conosci le potenzialità ed i framework di J2EE.

Adesso vorrai farmi credere che è per una questione di moda che tutte le aziende di ALTO livello ( banche, aziende di telecomunicazione, di intrattenimento ecc... ) snobbano PHP ed usano JAVA?

 

In ambito consulenza di un certo livello le offerte di lavoro PHP sono INESISTENTI.

Share this post


Link to post
Share on other sites

Non esiste una soluzione unica ad ogni problema.

Per soluzioni enterprise confermo che java sia il migliore ma non mi pare si stesse parlando di soluzioni per banche qui.

 

Oppure vuoi mettere java o Oracle anche per il sito personale con cui organizzare il fantacalcio?

Edited by guest

Share this post


Link to post
Share on other sites

Che si intende per "di un certo livello"?

 

Il sitino lo calcoliamo basso, ok.

 

Lo studio professionale con intranet e decine di impiegati lo calcoliamo sempre basso? Perchè c'è chi sviluppa gestionali in php (soprattutto in ambito commerciale/commercialista in cui ogni tot mesi c'è da modificare qualcosa) anche se a volte certi macellai li timbrerei con PHP in fronte :asd:.

 

Se andiamo oltre si usa spesso java ma anche spesso sempre php per i siti e i frontend... se poi non parliamo solo di gestione (intendo impiegati che si interfacciano) ma sistemi come per esempio quelli che tengono in piedi telefonia e simili di certo non usano java, ma anche i sistemi centrali di grosse banche.

Share this post


Link to post
Share on other sites

Salve,

Si parla di banche ...:sbonk:... non posso non essere "presente" ...

Personalmente penso che non esista il "meglio" assoluto ... esiste il meglio per la risoluzione di uno specifico problema, nel senso che , a seconda dello "scenario" che dovrò risolvere, applicherò di volta in volta gli algoritmi e i linguaggi di programmazione più appropriati.

Nello specifico, il Java , è molto spinto da IBM e da Oracle che hanno, al loro interno, interi laboratori dedicati al suo sviluppo e supportano a pieno titolo le varie community open source.

Microsoft è rimasta "al palo", nel senso che si è "accontentata" di dire la sua nel mondo "client" con il suo Office & Co ... e secondo me ha sbagliato, perchè alcune tecnologie e linguaggi di programmazione proprietari non sono affatto male, anzi ...

Le grandi Banche ... come dicevo prima, IBM in primis e anche Oracle spingono molto ... è altrettanto ovvio che una grande azienda, poi, ha bisogno di supporto e quindi, 1+1 = 2 ... anche noi, ci stiamo muovendo dall' area Microsoft verso mondi un po' più "open" ... vedremo ... anche a breve ...

Da non dimenticare, poi, che si fa "centro" quando si rispettano in pieno i requirement di progetto uniti alle performances e questo, a volte, indipendentemente dal linguaggio utilizzato. Esempio classico a livello di Mainframe dove si programma in Cobol , PL/I , Assembler ...

 

Ciao !!

Share this post


Link to post
Share on other sites
Esempio classico a livello di Mainframe dove si programma in Cobol , PL/I , Assembler ...

 

Esatto, ogni tanto siamo d'accordo :), ma anche Erlang (in telefonia), tanto per fare un esempio al di fuori dei soliti nomi.

 

Java e Php a certi livelli servono sempre per i frontend, per i gestionali a cui debbono accedere impiegati etc... ma sui grandi sistemi sotto ci sono altri linguaggi, linguaggi su cui intervengono solo tecnici con interfacce spartane, se ci sono.

 

Se poi vogliamo solo vedere la punta dell'iceberg basta mettersi d'accordo su quanto è alto il livello del mare :D

Share this post


Link to post
Share on other sites
Salve,

Si parla di banche ...:sbonk:... non posso non essere "presente" ...

Personalmente penso che non esista il "meglio" assoluto ... esiste il meglio per la risoluzione di uno specifico problema, nel senso che , a seconda dello "scenario" che dovrò risolvere, applicherò di volta in volta gli algoritmi e i linguaggi di programmazione più appropriati.

 

Esattamente.

Non smetterò mai di dire che proporre un unico linguaggio passando come ottimale per ogni soluzione sia una grossa limitazione e indice di incapacità per chi lo propone.

 

Un esempio banale: il C/C++ viene usato per fare praticamente tutto, compreso dei sistemi operativi o come linguaggio di programmazione di altri linguaggi di programmazione.

sembrerebbe perfetto, chi programma in C++ dovrebbe essere in grado di fare tutto, beh, non è vero, non è adatto per fare un sito web.

 

Eppure sono molti i "consulenti" che vanno da aziende a dire: basta conoscere il c++, tutto il resto è superfluo.

Meglio non avere questo consulente come consulente, a mio modesto avviso.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×