Would you agree this is the definition of a PHP framework?

They both describe how to take a piece of software and break it down into smaller units, with the smallest being a class. They both say that separating out the logic for the GUI, business rules and database access should be the outcome of the exercise. In that respect they represent the same concept, the only difference being that they describe it using different words.

Ah, that better explains your prior response. Thanks. I didn’t read your prior response as that (ah interpretations received differently – see what I did there; see it? see it? :slight_smile: ).

Yes, just as a “horseless carriage” and a “motor car” are different ways to describe the same concept. Do you like that analogy?

But they have the same definition. You have said that:

SoC does not include Coupling or Cohesion
SRP includes coupling and cohesion

SRP is a redefiniiton of SoC (they have different definitions)… but somehow they are the same thing… in fact you’ve said “mean exactly the same thing”. You’ve contradicted yourself somewhere!

They are the same in that they are both operating systems. Modern computers come with the latest version as all earlier versions have been superseded just as SoC has been superseded by SRP. They are different versions of the same concept, not different concepts.

So you’ll agree that these posts:


Are utter nonsense?


And the follow statements by your logic are also true: All programming languages are the same because they are the same concept, all cars are the same because they’re the same concept, all computers are the same because they are the same concept.

You misunderstood me, they do, and they do it today. Engineers are beginning to use induction heating to spot place a weld and then radiant heating to put it fully in place. The induction heating allows the parts to be set temporarily until they can be put together entirely. Thus both processes used to result to a single outcome, two pieces of metal pieced together (both of which produce that out come on their own too).

Therefore, it is reasonable to say the same could be true for programming principles/concepts.

I do not put display logic it the Model, it is all in the View. However, it is perfectly acceptable to have data in the Model, even meta-data, which is then passed to the View for processing.

“Is this page a CSV or a HTML page” is display logic, not data and belongs in the view. Interesting that you omitted my [citation needed] because you couldn’t provide a reference despite calling it SOP.

Similar maybe, but NOT identical. Besides “adding new records to the database” is not the same as “generating similar code”.

If each time I run the same piece of code to generate new records in the database, how does the act of running the code violate the DRY principle?

You need to repeat the process each time. This is by definition repeating yourself.

Not unless they comply with the Wikipedia definition!

Have you learnt nothing about authority?

They use different words because they were written years apart, but they still describe the same concept. It is possible in the English language to use different words to describe the same concept, or didn’t you know that?

Can we PLEASE get over talking semantics and “Letter of the Law”? From a high level, they are the same concept. SRP might have a slightly more narrow definition of successful compliance as it’s essentially SoC 2.0, but from a basic, mile high perspective, they are the same,

Sorry, that’s not true. One is a refined version of the other, to say they are the same thing is a fallacy of composition ( https://en.wikipedia.org/wiki/Fallacy_of_composition )

And lets be clear, tony is arguing that they are “EXACTLY THE SAME”. This is completely nonsensical when you actually look at the meanings behind them. Tony didn’t say “They are similar” or “they are related” or “one is a refinement of the other” his argument is “They are exactly the same”. If you look from a mile high “all cars are the same”. Of course on a car message board we would discuss in detail the differences between a bugatti and a mazerati. On a programming forum we should discuss the differences between programming concepts.

You are the only one who is using perverse logic to state that coupling and cohesion have no meaning, so I am not going to join in with your perversity.

Avoiding the question again, eh?

Please answer the question: How the hell can two terms with different definitions mean the same thing?

Answer this please:

and this:

Stop avoiding the question because you’ve been proved wrong. Are SRP and SoC “EXACTLY THE SAME THING” or are they different?

I am saying that no sensible programmer would apply SoC and then apply SRP on the same piece of code. He would either apply the concept under the label SoC OR he would apply it under the label SRP.

By applying the same concept under different labels you are not actually applying different concepts.

They are using different words to describe the same concept. The WORDING is different but the CONCEPTS are the same. This is possible in the English language, or didn’t you know that?