From: Michal Suchanek Date: 2010-11-29T16:27:26+09:00 Subject: Re: Ruby's "More than one way to do things." On 29 November 2010 05:40, Tim Roberts wrote: > Shadowfirebird wrote: >> >>> Ruby: "There is more than one way to do it." >>> Python: "There should be one - and preferably only one - obvious way to >>> do it." >> >>Programming languages -- at least, good programming languages -- shouldn't >>try to make programmers into better programmers, or force them to work in >>a certain way in order to get results.  (Imagine a toolbox that told you >>off for using the wrong screwdriver!) > > I believe that's almost 100% wrong.  A programming language that doesn't > try to make better programmers ends up enabling poor programming practices, > which ends up producing poor programs.  That results in programs and web > sites that crash, which brings on a bad reputation for programmers in > general. I believe you are 100% wrong, There is no way to force people into writing good code as there is no way forcing people into writing good novels. You can learn to write decently one or the other by education and training but neither can be forced, and the less expressive the language the poorer the result. While the programs are also read by the computer good code should be readable by humans and freedom in choosing your expression gives you the option to express things differently to fit a particular context. > > PHP is a great example.  It is possible to write good programs in PHP, but > it's also very, very easy to write bad programs in PHP.  The result is that > most of the PHP samples you find on the web are absolute crap -- delicate, > unsafe, unmaintainable.  The programmers don't realize this, and so the > crap reproduces like a virus. PHP is a poor example as it is a poor language in general. By its inconsistency, inflexibility and lack of crucial features it encourages poor code and code duplication so it is much harder to write good code in a Personal Homepage Preprocessor than an actual programming language. Thanks MIchal