Re: Re: PHP development practices from a Java Architects eye Re: Re: pratiche di sviluppo di PHP da un occhio Architetti Java
In response to my post In risposta al mio post PHP development practices from a Java Architects eye Pratiche di sviluppo di PHP da un occhio Architetti Java , Jeff Moore had some , Jeff Moore ha avuto alcuni thoughts pensieri .
I posted my response (to his reponse to my post) in his post. Ho pubblicato la mia risposta (per la sua risposta al mio post) nel suo posto di lavoro. Dizzy yet? Dizzy ancora?
However after 12 hours it was still not approved! Tuttavia dopo 12 ore non era ancora approvato! So I thought of posting it here in my blog. Così ho pensato di distacco qui nel mio blog. To get an idea what this is about, read my Per avere un'idea di quanto si tratta di leggere il mio original post post originale and his e la sua response risposta .
Here’s my response to his (rather strange) response: Ecco la mia risposta alla sua (piuttosto strano) risposta:
Jeff> The author doesn’t make this paradigm shift and erroneously implies that PHP is not scalable. Jeff> L'autore non fare di questo cambiamento di paradigma ed erroneamente implica che PHP non è scalabile.
I am not assuming anything here. Non sto qui supponendo nulla. I am stating the facts as I see it Sono i fatti per come la vedo io
Opening and writing to multiple files in the course of serving a single request doesn’t improve scalability. Apertura e la scrittura a più file in corso di servire una singola richiesta non migliora la scalabilità. Specially when you are trying to scale across multiple machines. Specialmente quando si sta cercando di scala su più macchine. No amount of imaginary paradigm shift isn’t going to change that. N. importo di immaginario cambiamento di paradigma non è destinato a cambiare la situazione. Such practices also makes php a low throughput system. Tali pratiche anche php un basso volume di sistema.
Jeff> There is a name for this. Jeff> C'è un nome per questo. It is called premature optimization. Si chiama ottimizzazione prematura.
You have mis-named it. Hai dal nome. It is called *architecture and design*. Si chiama * architettura e design *.
I was talking about thinking, not optimizing then. Sono stato a parlare di pensare, non ottimizzando quindi.Jeff> PHP pitches a large tent. Jeff> PHP piazzole una grande tenda. There are many amateur and professional programmers using PHP. Ci sono molti dilettanti e professionisti che utilizzano i programmatori PHP.
You bet. Tua puntata. Unfortunately most of the much-talked open source php projects have a significant share of these amateur developers. Purtroppo la maggior parte dei parlato molto-php open source, i progetti hanno una quota significativa di questi sviluppatori amatoriali.
Jeff> The interesting thing is that some of the most popular PHP applications are not the ones that I would point to and tell people “this is a good example of programming in PHP.” I won’t name names, but I would hate for people to form their opinions about PHP solely on the design of these applications. Jeff> La cosa interessante è che alcuni dei più popolari applicazioni PHP non sono quelli che mi a punto e dire alla gente "questo è un buon esempio di programmazione in PHP." Io non nomi, ma che odio per persone per formare le loro opinioni sul PHP soltanto per il design di queste applicazioni.
I agree. Sono d'accordo. Please do point me to some succesful php projects of exmplary code. Si prega di fare il punto a me alcuni progetti di successo php exmplary di codice.
Jeff> That realization was that project success has far more to do with how closely your software meets requirements than how technically advanced it is. Jeff> che la realizzazione del progetto che è stato il successo è molto più a che fare con il modo strettamente il software soddisfa i requisiti di tecnicità, come essa è.
It also has to do with how manageable and maintainable a project is over the long run. Ma ha anche a che fare con il modo gestibile e manutenzione è un progetto nel lungo periodo. I have seen too many projects with “amateur” coding became so unmaintainable so fast that they had to be abandoned and had to go for total rewrite. Ho visto troppi progetti con "dilettanti" di codifica diventato così unmaintainable così veloce che ha dovuto essere abbandonato e ha dovuto andare per il totale di riscrittura.
Jeff> “high architecture” projects that never finished Jeff> "alta architettura" progetti che mai finito
I don’t know what “high architecture” means. Non so che cosa "alta architettura". However you are probably referring to over-architected projects. Tuttavia è probabile che si stia facendo riferimento a più di-architected progetti. A good projects stands on optimal architecture, nothing more nothing less. Un buon progetti erge su architettura ottimale, niente di più niente di meno.
Jeff> That is why software built by their users, such as many visible PHP projects are, can be very successful. Jeff> Questo è il motivo per cui il software costruito dai loro utenti, come ad esempio visibile molti progetti sono PHP, può essere molto successo.
The arguments don’t stand up. Le argomentazioni non convincono. You are trying to prove a point that isn’t there. Stai tentando di dimostrare un punto che non c'è. Programming is about programmers. Programmazione è di circa programmatori. Some language make it easy to write bad code like php or perl, some language make it harder like Java or C#. Alcuni lingua rendono facile scrivere male come codice PHP o Perl, alcuni lingua rendere più difficile come Java o C #. However bad code can be written anywhere. Tuttavia cattivo codice può essere scritto da nessuna parte.
Having none or minimal architecture in a project doesn’t make it a candidate for success or make it more suitable to meet customer requirements. Avendo nessuna o minima architettura in un progetto non ne fanno un candidato per il successo o renderlo più adatto a soddisfare le esigenze dei clienti.
If you are looking for minimal architecture approach then you may be interested in extreme programming. Se siete alla ricerca di architettura approccio minimo, allora potreste essere interessati in condizioni di estrema programmazione. XP projects are very successful in meeting customer requirements as the projects revolves around the customer all the time. XP progetti sono molto successo nel soddisfare i requisiti dei clienti, come i progetti ruota intorno al cliente tutto il tempo.
Interestingly there are more XP programmers in Java then in all other languages combined. Interessante ci sono più XP programmatori in Java quindi in tutte le altre lingue combinato.I think you need to delve deeply into Java, which will dispel lot of myth you have regarding Java. Penso che avete bisogno di approfondire profondamente in Java, che dissipare molte mito che avete in materia di Java.
Filed under Elencato sotto Java Software Software Java , PHP , Web , Web Services Servizi Web | |
| |
RSS 2.0 RSS 2,0 | |
Email this Article Invia questo articolo
You may also like to read Si può anche leggere come |




April 26th, 2005 at 8:16 am 26 aprile 2005 a 8:16 am
I usually check the queue a few times a day. Di solito controllare la coda di un paio di volte al giorno. Once I’ve approved one message from your email, the rest should auto approve. Una volta approvato da un messaggio email, il resto dovrebbe approvare auto. Sorry that you got on the “spam slow track.” Dispiace che avete ottenuto in merito alla "spam lenta traccia".
I posted a reply on my blog. Ho pubblicato una risposta sul mio blog.
April 26th, 2005 at 7:48 pm 26 aprile 2005 a 7:48 pm
“The arguments don’t stand up. "Gli argomenti non alzarsi. You are trying to prove a point that isn’t there. Stai tentando di dimostrare un punto che non c'è. Programming is about programmers. Programmazione è di circa programmatori. Some language make it easy to write bad code like php or perl, some language make it harder like Java or C#. Alcuni lingua rendono facile scrivere male come codice PHP o Perl, alcuni lingua rendere più difficile come Java o C #. However bad code can be written anywhere.” Tuttavia cattivo codice può essere scritto da nessuna parte. "
Since you mind is closed it is not a conversation, just a soapbox. Visto che si è chiusa mente non è una conversazione, solo un palco per i tuoi. Who determines what “programming is” and what “bad” means? Che determina ciò che "la programmazione è" e quali "cattivi"? Surely not you. Sicuramente non l'utente.
April 26th, 2005 at 8:52 pm 26 aprile 2005 alle 8:52 pm
@Christopher Christopher @
> Since you mind is closed it is not a conversation, just a soapbox. > Visto che si è chiusa mente non è una conversazione, solo un palco per i tuoi.
I try to keep it open at all times. Cerco di tenere aperta a tutti i tempi. Would love to know the reasoning behind your rather strange conclusion Piacerebbe conoscere le motivazioni alla base il tuo piuttosto strana conclusione
Have you have read the original article? Hanno aver letto l'originale articolo? That portion I quoted didn’t really make sense. La parte ho citato non ha davvero senso. It is better to be upfront when something is illogical rather then sweet talk it. E 'meglio essere in anticipo quando qualcosa è piuttosto illogico parlare poi dolce. It is better for everyone in the long run. E 'meglio per tutti nel lungo periodo.
> Who determines what “programming is” and what “bad” means? > Chi determina ciò che "la programmazione è" e quali "cattivi"?
Common sense. Il senso comune. Unfortunately as Eistein said… Eistein, purtroppo, come ha detto…
April 26th, 2005 at 8:54 pm 26 aprile 2005 a 8:54 pm
@Jeff @ Jeff
Thanks. Grazie. It was getting late and I got tired E 'stato sempre in ritardo e mi sono stancato
April 27th, 2005 at 4:11 am 27 aprile 2005 a 4:11 am
Not a strange conclusion. Non una strana conclusione. Your opinion about what “programming”, “bad”, “good” and “common sense” mean is just that — your opinion. Il tuo parere su ciò che "programmazione", "cattivo", "buono" e "senso comune" significa solo che - il vostro parere. What you seem to be blind to is that there are meanings beyond your limited ones. Ciò che sembrano essere ciechi a è che ci sono al di là di significati il tuo limitata. Jeff makes a very central point in your misunderstanding: Jeff rende un punto centrale nella vostra equivoco:
“That is why software built by their users, such as many visible PHP projects are, can be very successful.” "Questo è il motivo per cui il software costruito dai loro utenti, come ad esempio visibile molti progetti sono PHP, può essere molto successo."
The revolution of scripting languages is in part due to the fact that it changed the meaning of what “programming” and “bad” mean. La rivoluzione di linguaggi di scripting è in parte dovuto al fatto che è cambiato il significato di ciò che "programmazione" e "cattivi". The thing you do not understand about languages like PHP is that while they allow your definition of “programmer” to produce your definition of “good” programs, they also allow people people who do not fit your definition of “programmer” to produce programs that you define as “bad”. La cosa che non capisco su linguaggi come PHP è che, mentre essi permettere che la tua definizione di "programmatore" per produrre la vostra definizione di "buone" programmi, ma anche permettere alle persone di persone che non corrispondono ai tuoi definizione di "programmatore" per la produzione di programmi che si definisce come "cattivo". Languages like Java really do not allow this. Linguaggi come Java e veramente non consentono questo.
The fact that there are many widely used and very useful PHP scripts is a fact. Il fatto che ci sono molte diffuse e molto utile script PHP è un dato di fatto. Whether your definitions apply to them really does not matter. Se il tuo definizioni si applicano alle loro davvero non importa. The fact that they could be written (and rewritten) outside your definitions is the revolution. Il fatto che essi potrebbero essere scritto (e riscritto) al di fuori del suo definizioni è la rivoluzione. That they can also be used to develop programs that are completely within you definition is a separate point. Che possono essere utilizzati anche per sviluppare programmi che sono completamente dentro di voi definizione è un altro punto.
But because something is beyond your understanding does not make it “bad”. Ma perché è qualcosa oltre la vostra comprensione non la rende "cattivo".
April 27th, 2005 at 5:03 am 27 aprile 2005 a 5:03 am
@Christopher Christopher @
Now you are making less and less sense Ora si stanno rendendo sempre meno senso
Let me illustrate… Permettetemi di illustrare…
> The revolution of scripting languages is in part due to the fact that it changed the meaning of what “programming” and “bad” mean. > La rivoluzione di linguaggi di scripting è in parte dovuto al fatto che è cambiato il significato di ciò che "programmazione" e "cattivi".
So in scripting languages bad programming means good programming? Così in linguaggi di script cattiva programmazione significa buona programmazione? WOW!
> The thing you do not understand about languages like PHP is that while they allow your definition of “programmer” to produce your definition of “good” programs, they also allow people people who do not fit your definition of “programmer” to produce programs that you define as “bad”. > La cosa che non capisco su linguaggi come PHP è che, mentre essi permettere che la tua definizione di "programmatore" per produrre la vostra definizione di "buone" programmi, ma anche permettere alle persone di persone che non corrispondono ai tuoi definizione di "programmatore" per la produzione di programmi che si definisce come "cattivo". Languages like Java really do not allow this. Linguaggi come Java e veramente non consentono questo.
This is plain BS. Si tratta di pianura BS. You can use any language, Java included, to produce really crappy code. È possibile utilizzare qualsiasi lingua, inclusi Java, per la produzione di veramente crappy codice. Language cannot prevent you in that. Lingua non può impedire che in. You need to get more exposure with other languages Avete bisogno per ottenere più esposizione con altre lingue
I have seen tons of bad Java code in my career, legacy projects which we re-factored and moved forward. Ho visto di tonnellate di cattivo codice Java nella mia carriera, eredità progetti che abbiamo ri-factored e spostato in avanti.
BTW: Are you saying such “bad”, unmaintainable programs are good? BTW: Sta dicendo che il "cattivo", unmaintainable programmi sono buoni? And they should be encouraged? Ed essi dovrebbero essere incoraggiati? AFAIU Jeff also wouldn’t agree with you on that, whose post you are defending. Jeff AFAIU anche non d'accordo con lei su questo, il cui posto si difendono.
> The fact that there are many widely used and very useful PHP scripts is a fact. > Il fatto che ci sono molte diffuse e molto utile script PHP è un dato di fatto.
Sure. Sicuro. Who is arguing with that? Sostenendo che è con ciò?
It seems you missed the crux of my arguments. Sembra che perdere il nocciolo della mia argomenti.
> But because something is beyond your understanding does not make it “bad”. > Ma perché è qualcosa oltre la vostra comprensione non la rende "cattivo".
I haven’t seen anything in PHP beyond my understanding or the understanding of any 12th grader (It is a simple language and a simple paradigm). Non ho visto niente in PHP oltre la mia comprensione o la comprensione di qualsiasi classificatore 12 (Si tratta di un semplice linguaggio semplice e un paradigma). You keep saying that. Di avere sempre a dire che. You need to justify it better Avete bisogno di giustificare meglio
And just to clarify. E solo per chiarire. I have never said php is “bad”. Io non ho mai detto php è "cattivo". I have a distinct feeling you have completely misunderstood my articles. Ho una distinta sensazione che hai completamente frainteso i miei articoli.
You may love php as much as you want. È possibile che l'amore php quanto più si desidera. You cannot prevent any honest criticism of the shortcomings of the language and it has some. Non è possibile impedire qualsiasi critica onesta delle carenze della lingua e che ha un po '. I also praised it where it deserved. Ho anche elogiato dove si meritava.
The intention of the post was just to highlight the differences between the languages and put forth some observations as a architect. L'intenzione del post era solo per evidenziare le differenze tra le lingue e presentato alcune osservazioni come un architetto.
April 27th, 2005 at 6:07 am 27 aprile 2005 a 6:07 am
“You may love php as much as you want. "Potreste amore php quanto più si desidera. You cannot prevent any honest criticism of the shortcomings of the language and it has some. Non è possibile impedire qualsiasi critica onesta delle carenze della lingua e che ha un po '. I also praised it where it deserved.” Ho anche elogiato dove si meritava. "
I like Java as well as I like PHP. Mi piace Java così come mi piace PHP. If you want criticism of PHP listen to the PHP community. Se si desidera critiche di PHP ascoltare la comunità PHP. They say very little bad about Java but have a lot to say about PHP. Si dice molto poco male su Java, ma hanno molto da dire su PHP. Vice versa is not as true. Viceversa non è così vero.
“So in scripting languages bad programming means good programming? "Così in linguaggi di script cattiva programmazione significa buona programmazione? WOW!” WOW! "
Exactly. Esattamente. And you still don’t get it. E lei ancora non lo otterremo. You like many programmers think programming is to only point. Ti piace pensare molti programmatori di programmazione è di solo punto. Programs are the important thing. Programmi sono la cosa importante. Certainly quality programming methodologies are a positive, especially for groups of professional developers. Certamente la qualità delle metodologie di programmazione sono un positivo, soprattutto per i gruppi di sviluppatori professionali. But that is not the only group that develops software. Ma che non è il solo gruppo che sviluppa software.
“This is plain BS. "Questa è la pianura BS. You can use any language, Java included, to produce really crappy code.” È possibile utilizzare qualsiasi lingua, inclusi Java, per la produzione di codice realmente crappy ".
That is is BS is still only your opinion. È che è ancora BS è solo il vostro parere. Realistically Java is not an option for the millions of people who want to develop a website. Realisticamente Java non è un'opzione per milioni di persone che vogliono sviluppare un sito web. Learning curve, tool chain, availablity are all against it. La curva di apprendimento, strumento catena, disponibilità sono tutti contro di essa. Scripting languages are generally easier to learn, require simpler tools and are much more widely available. Linguaggi di scripting sono generalmente più facile da imparare, richiedono strumenti più semplici e sono molto più ampiamente disponibili. It is their nature. E 'la loro natura.
“You need to get more exposure with other languages “ "È necessario per ottenere più esposizione con le altre lingue"
I know a dozen and am currently learning Ruby. So una dozzina e sono attualmente apprendimento Ruby.
“Are you saying such “bad”, unmaintainable programs are good? "Sta dicendo che il" cattivo ", unmaintainable programmi sono buoni? “ "
I’m saying they are neither “bad” or “unmaintainable”, the were just developed in a different way than you develop. Sto dicendo che non sono né "cattivo" o "unmaintainable", sono stati i soli sviluppato in modo diverso a sviluppare. By a different type of developer with different requirements. Di un tipo diverso di sviluppatori con differenti esigenze.
I liked your articles and thought you made some good points. I liked tuoi articoli e di pensiero hai fatto qualcosa di buono punti. Better than most of the “PHP from a Java POV” articles. Meglio che la maggior parte dei "PHP da un'applicazione Java POV" articoli. I understand that your intention “was just to highlight the differences between the languages” but you unknowingly made some erroneous statements in the process. Capisco che la vostra intenzione "è stato solo per evidenziare le differenze tra le lingue" ma inconsapevolmente apportato alcune dichiarazioni errate nel processo.
If a village needs a hospital they can use 100 shovels or an excavator. Se un paese ha bisogno di un ospedale può usare 100 pale o di un escavatore. According to you, if they don’t have an excavator they shouldn’t build the hospital. Secondo lei, se non si dispone di un escavatore che non dovrebbero costruire l'ospedale. But from their point of view they don’t care how (the important thing to you), they just need a hospital. Ma dal loro punto di vista non come cura (la cosa importante per te), hanno solo bisogno di un ospedale. Maybe they don’t have an engineer either, so they use new prefab parts and limit it to one level. Forse non hanno né un ingegnere, in modo da utilizzare le nuove parti prefabbricate e di limitare queste cose a uno solo livello. And maybe it is not as easy to maintain or could have been better. E forse non è così facile da mantenere o avrebbe potuto essere migliore. But they have a hospital. Ma essi hanno un ospedale.
If you reduce you argument fully, you are actually against invention. Se si è ridurre completamente argomento, si sono effettivamente contro invenzione. You belive that only self approved professionals should be allowed to build things and only with tools they bless as “good”. Si belive che solo professionisti di autoregolamentazione approvato dovrebbe essere consentito di costruire cose e solo con strumenti di cui hanno benedica come "buone". But that’s not where invention usually occurs. Ma questo non è invenzione dove di solito si verifica.
April 28th, 2005 at 3:21 am 28 aprile 2005 a 3:21 am
> But that is not the only group that develops software. > Ma non è l'unico gruppo che sviluppa il software.
Well sure. Ben sicuro. And that is why we have so much poorly made software which are horror to maintain. Ed è per questo che abbiamo così tanto male fatto software che sono orrore da mantenere.
If you ever have to maintain millions of line of poorly written code, you will know the immense pain associated with it. Se si hanno sempre a mantenere milioni di linee di codice mal scritto, saprete l'immenso dolore ad esso associati. If you ever have such experience you will understand why we talk about good code and maintainability. Se si hanno mai tale esperienza che capirete il motivo per cui si parla di buon codice e la manutenibilità. Just yesterday I was viewing code of a scientist who have written a cool application in Java. Proprio ieri mi è stato la visualizzazione di codice di uno scienziato che hanno scritto un fresco applicazione in Java. However no coding standard was maintained. Tuttavia, non codifica standard è stato mantenuto. It was very hotch-potch code. E 'stato molto hotch-potch codice. Did you say that Java doesn’t allow writing bad code? Ti è dire che Java non permette la scrittura di codice cattivo? Well, it does. Beh, sì. However I wouldn’t encourage it with my professional integrity. Tuttavia io non incoraggiare con la mia integrità professionale. Anyway I ended up in rejecting him for employment. In ogni modo ho finito per nel rifiuto di lui per l'occupazione.
> Realistically Java is not an option for the millions of people who want to develop a website. > Realisticamente Java non è un'opzione per milioni di persone che vogliono sviluppare un sito web.
Do you want to develop websites in java for under 10$. Volete sviluppare siti web in Java per di sotto dei 10 $. I can suggest you several web hosts which provides that. Posso suggeriamo di diversi web host che prevede che.
People are free to write anything in any language. Persone sono liberi di scrivere qualsiasi cosa in qualsiasi lingua. The core issue is if they develop poor code, then they should be the only one maintaining it. La questione fondamentale è se essi sviluppare codice poveri, allora dovrebbe essere il solo mantenimento. They have no business in releasing that code for mass consumption. Essi non hanno alcun commercio a rilasciare il codice per il consumo di massa. It is brutality to human race E 'la brutalità di razza umana
> If a village needs a hospital they can use 100 shovels or an excavator. > Se un paese ha bisogno di un ospedale può usare 100 pale o di un escavatore. According to you, if they don’t have an excavator they shouldn’t build the hospital. Secondo lei, se non si dispone di un escavatore che non dovrebbero costruire l'ospedale.
I never said that! Non ho mai detto che! I never said you shouldn’t use php! Non ho mai detto non si dovrebbe usare il PHP! You misunderstood me completely. Lei mi ha completamente frainteso. I am curious to know how you made that conclusion from my article above. Sono curioso di sapere come avete fatto che la conclusione del mio articolo di cui sopra.
> If you reduce you argument fully, you are actually against invention. > Se si è ridurre completamente argomento, si sono effettivamente contro invenzione. You belive that only self approved professionals should be allowed to build things and only with tools they bless as “good”. Si belive che solo professionisti di autoregolamentazione approvato dovrebbe essere consentito di costruire cose e solo con strumenti di cui hanno benedica come "buone". But that’s not where invention usually occurs. Ma questo non è invenzione dove di solito si verifica.
Please see above. Vedi sopra. I have no idea how you came to that illogical conclusion. Non ho idea di come sei venuto a conclusione che illogico. I am not against php or any language. Io non sono contro PHP o qualsiasi lingua. What made you make that assumption. Che cosa ti ha fatto fare questo assunto.
I think this whole argument is centered on your mistaken belief that I am somehow prohibiting people from using php. Credo che questo argomento è tutta centrata sul tuo errata convinzione che io sono in qualche modo le persone che vieta di utilizzare php. Far from it. Lontano da esso. I personally use it on this website. Personalmente uso su questo sito web. My post was intended to highlight the differences and pros and cons. Il mio post è stato destinato a mettere in evidenza le differenze e le pro e contro.
Hope that clarifies the situation. Speranza che chiarisce la situazione.
If you want you can communicate with me offline also. Se volete potete comunicare con me anche offline.