I'm sensing that we're on the verge of an SML renaissance. Over the last month I've been building web tools with SML and I have to say, that I'm moving faster than I ever have in any other language, when looking holistically at my project timeline. Dynamic languages give you the illusion that you're quickly developing, but when taking into account bug fixes that you have to exhaust hours of energy on after your product is deployed, they don't seem as "fun" and "free spirited" anymore. Loose(Dynamic) typing costs lives and billions of dollars. If you don't understand your data enough to describe the their types, then you should take a moment and sketch out your understanding. Otherwise, you're not developing quickly - you're spinning your wheels senselessly whether or not you believe it, and demonstrating that you're not the type of developer who has a deep understanding of the systems you build.
Software engineering is not a bunch of sequential statements that happen to deliver results that we desire. Software engineering is artfully encoding your human understanding.
But that being said, SML is insanely practical if you care about the results as much as you do about the design.
Comments
I'm sensing that we're on the verge of an SML renaissance. Over the last month I've been building web tools with SML and I have to say, that I'm moving faster than I ever have in any other language, when looking holistically at my project timeline. Dynamic languages give you the illusion that you're quickly developing, but when taking into account bug fixes that you have to exhaust hours of energy on after your product is deployed, they don't seem as "fun" and "free spirited" anymore. Loose(Dynamic) typing costs lives and billions of dollars. If you don't understand your data enough to describe the their types, then you should take a moment and sketch out your understanding. Otherwise, you're not developing quickly - you're spinning your wheels senselessly whether or not you believe it, and demonstrating that you're not the type of developer who has a deep understanding of the systems you build.
Software engineering is not a bunch of sequential statements that happen to deliver results that we desire. Software engineering is artfully encoding your human understanding. But that being said, SML is insanely practical if you care about the results as much as you do about the design.