5 ms·
I've been doing python and ruby full time for the past 8 years. In that time I can count on one hand the number of bugs which got into production because of a l
by jshen 16y ago
I've been doing python and ruby full time for the past 8 years. In that time I can count on one hand the number of bugs which got into production because of a lack of static typing. The gain in productivity from using dynamic languages in that time far far exceeds the cost of those few bugs.
- rwmj 16y agoWell Red Hat have suffered from thousands and thousands of such bugs. Don't believe me? Check for yourself: http://www.google.co.uk/search?q=site%3Abugzilla.redhat.com+%22traceback%22+%22AttributeError%22 http://www.google.co.uk/search?q=site%3Abugzilla.redhat.com+... http://www.google.co.uk/search?q=site%3Abugzilla.redhat.com+%22traceback%22+%22NameError%22 http://www.google.co.uk/search?q=site%3Abugzilla.redhat.com+... http://www.google.co.uk/search?q=site%3Abugzilla.redhat.com+%22traceback%22+%22ValueError%22 http://www.google.co.uk/search?q=site%3Abugzilla.redhat.com+... (There are many more searches of this type you can do).
- kenneth_reitz 16y agoRedHat clearly needs better developers.
- jshen 16y agoThere are a few conclusions that we can draw. Red hat engineers suck (I know this isn't true) I'm a genius (this isn't true either) Different types of software have different needs and we shouldn't generalize about all software development based on our particular niche. Writing code that runs on other peoples systems is much harder than writing code that will run on servers I control. Python and ruby are great for the latter. I've never done the former at the scale of redhat. Writing code with a lot of collaborators is harder than writing it with a few collaborators. What language do you prefer for your type of work?
- rwmj 16y agoOCaml
- hogu 16y agoyou don't get more bugs in python vs statically typed languages, you just get different types of bugs also - there are code parsers like pylint that help you sanity check your source code in that manner. speed - python is slow. We use python in scientific computing in extremely CPU intensive problems because python makes it very easy to control C and C++ layers that do the underlying work. that power in an interactive environment, complete with good visualization tools is great for science
- jshen 16y agoI'm a huge proponent of dynamic typing, but I don't think your statement about bugs is true. If I typo something in ruby, I will not know unless that code path gets executed through a test. This would never happen in a statically typed language. However I think the productivity benefits of dynamic typing far outweighs this risk in my experience.