2 ms·
You really just made my point with your response > For example; both Dijkstra's GCL and Hoare's Triples (fine granularity) vs. Meyer's DbC (coarse granularity)
by ativzzz 6y ago
You really just made my point with your response
> For example; both Dijkstra's GCL and Hoare's Triples (fine granularity) vs. Meyer's DbC (coarse granularity) can be expressed using Assertions to build Preconditions/Postconditions/Invariants as "correctness proof" throughout a real-world software system
The average dev at an average company will read this and not understand 90% of your sentence. Again, the vast majority of devs are not computer scientists nor mathematicians.
They are good at what they do, which is building what their bosses ask for using whatever web framework they specialize in.
- rramadass 6y agoI think you are giving too little credit to the "average programmer's" intelligence. He/She is after all a self-learning, problem solving biological machine :-) An organisation that treats its programmers as morons will soon have programmers that are willing and able to act like morons only. -- Bjarne Stroustrup We all were "average programmers" at one time and didn't know better. But at some point some of us came to know(from whatever source) of a "better and correct way" of doing things and then realized that this should have been taught from the beginning. It is not enough to just teach people the syntax of a language and let them loose on the World; we have to be taught "discipline" and how to use it "correctly". In the context of this thread, that was exactly what Dijkstra strongly advocated for (see my other reply to you listing some paragraphs from EWD288). References (Wikipedia is a good starting point though sometimes overly complicates simple ideas): * Dijkstra's GCL - https://en.wikipedia.org/wiki/Guarded_Command_Language https://en.wikipedia.org/wiki/Guarded_Command_Language * Hoare's Triples - https://en.wikipedia.org/wiki/Hoare_logic https://en.wikipedia.org/wiki/Hoare_logic * Meyer's DbC - https://en.wikipedia.org/wiki/Design_by_contract https://en.wikipedia.org/wiki/Design_by_contract * Assertions/Preconditions/Postconditions/Invariants - https://en.wikipedia.org/wiki/Assertion_(software_development) https://en.wikipedia.org/wiki/Assertion_(software_developmen... - https://en.wikipedia.org/wiki/Precondition https://en.wikipedia.org/wiki/Precondition - https://en.wikipedia.org/wiki/Postcondition https://en.wikipedia.org/wiki/Postcondition - https://en.wikipedia.org/wiki/Invariant_(mathematics)#Invariants_in_computer_science https://en.wikipedia.org/wiki/Invariant_(mathematics)#Invari...