On Tuesday, October 8, 2013 6:26:20 AM UTC-4, Paul Butcher wrote: > > The best explanation of these misunderstandings I've come across is "What > to Know Before Debating Type Systems": > > http://cdsmith.wordpress.com/2011/01/09/an-old-article-i-wrote/ > > In particular it asserts (correctly in my view) that what static type > system proponents mean by "type" and what dynamic type system proponents > mean by "type" are very different things. Most debates founder on a failure > to recognise that difference. > > -- > paul.butcher->msgCount++ >
Thanks for that link, it's a pretty good article. No amount of proof is going to make your software ironclad. You could start the program, but the operating system only has half as much memory available as it requires. Your network connection could be down. The database could be off, or someone could have changed the user account password. The configuration file could be corrupted. The SQL statement in your code (or properties file, or whatever) could have a spelling error. You could have a dependency on a library with an undiscovered bug. We take for granted that outside of our programs' specific internals, the rest of the world can go insane, break our software completely, and there's nothing we can do but try to detect the error early and fail gracefully. I like the Scala language, but even if you push its static type system to its limits, it's like building a house with invincible walls on one side - you better hope the tornado winds all blow from that direction, because otherwise you're in just as much trouble as the people living in a lean-to. But back to practicality - Ebay was originally written in Perl. Myspace was written in ColdFusion. Facebook was written mostly in PHP. Youtube was written in Python. Twitter was writtin in Ruby. Most of the tools around KVM virtualization in the Linux kernel are written in Python. Slashdot was written in Perl. Of course most or all of these sites had to do extra work once they were dealing with a massive volume of traffic, but how many of us have that problem? When I'm making a million dollars a month and programming language X has some fundamental aspect that prevents better scaling, I'll look into languages with better performance. But I see the state of the modern web as proof enough that non-static type systems work just fine for an overwhelming number of use cases. -Mike -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.