Object Relational Mappers are evil (a meditation)

r0g aioe.org at technicalbloke.com
Wed Dec 16 10:26:01 EST 2009


J Kenneth King wrote:
> Steven D'Aprano <steve at REMOVE-THIS-cybersource.com.au> writes:
> 
>> On Fri, 11 Dec 2009 19:20:21 -0500, Steve Holden wrote:
>>
<snip>

>>> Hear, hear!
>> That's all very well, but some languages and techniques encourage the 
>> programmer to write bad code.
> 
> That's just BS.
> 
> Bad code doesn't just write itself.  Programmers write bad code.  And
> ignorance is not an excuse.
> 
> Just because a language allows a programmer to write sloppy code doesn't
> put the language at fault for the bad code programmers write with it.



Okay, as long as you realize the corollary of your argument is:

It is impossible for a language to encourage programmers to write good
code and promote good programming practices by design.

I'm not sure that's entirely true either.

I think python's "one way to do something" design philosophy goes some
way toward that, as does Smalltalk's enforced message passing. I think
PHP's superglobals and namespacing encourage bad practices (or used to
back in the day), as do Basic's GOTO and Ecmascript's prototype overriding.

Surely a language CAN be said to encourage kludges and sloppiness if it
allows a good way and a bad way and makes the bad way much easier to
implement or understand for noobs.

Roger.



More information about the Python-list mailing list