On Jun 6, 6:45 am, Chris Angelico <ros...@gmail.com> wrote: > On Thu, Jun 6, 2013 at 11:37 AM, Steven D'Aprano > > <steve+comp.lang.pyt...@pearwood.info> wrote: > > What prevents bugs is the skill of the people writing the code, not the > > compiler. > > +1 QOTW.
In many Indian languages there is a saying: A poor dancer blames the crooked floor. [Yeah… sounds tame in English] -- which is probably what Steven is saying. However in defence of the crooked floor… <wink> When I taught C at the university in the early 90s[1], every third/ fourth compile+run of the kids would result in 'segmentation fault' if they were lucky enough to be on unix, and OS crashes if they were on DOS. At first I would rail at the kids for not doing due diligence. Over time I came to the conclusion that if a system is designed in such a way that everyone is wrong, then its the system that is wrong and not everyone. When we switched from to python (via Scheme and a haskell- predecessor), I dont remember ever getting a segmentation fault. [Well once RR gave some Wx code that I tried and python core dumped. Whether this speaks for RR or Wx or a dangerous combo...] So yes, elegant programming languages are not proof against inelegant programmers. Nevertheless, programming languages can be made in a way that makes certain class of errors harder/easier to make. Joel Spolsky moans that: Java is not, generally, a hard enough programming language that it can be used to discriminate between great programmers and mediocre programmers. http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html And Paul Graham is even more provocative: Java programmers are not as smart as python programmers http://www.paulgraham.com/gh.html [1] Prompted a paper in the 90s, with some modernizing modifications http://blog.languager.org/2013/02/c-in-education-and-software-engineering.html -- http://mail.python.org/mailman/listinfo/python-list