4 ms·
> My own prediction is that TDD is the deciding factor. If this turns out to be the case, then people would reach for statically typed languages to augment & c
by joslin01 10y ago
> My own prediction is that TDD is the deciding factor.
If this turns out to be the case, then people would reach for statically typed languages to augment & cut-down on tests.
Like everyone here is saying, the pendulum is moving toward statically typed. The next generation will probably be in higher kinded types as we continue to attempt to write more generic code that cuts down on number of lines, but still preserves type guarantees.
Finally, I don't think it's appropriate to regard `Option[T]` as some mystical type. It's just a regular old generic class that wraps something. Scala programmers (and I'm sure others) have been doing this with `Either[A,B]` & `Option[A]` for awhile, but Swift was really clever in building it into the language with the `?` & `!` operators.
- paulddraper 10y ago"Clever" or "overly specialized", depending on your viewpoint.
- joslin01 10y agoAgreed, but I will say it's been a boon to my iOS development.
- paulddraper 10y agoAnd to my Scala development :) https://www.lucidchart.com/techblog/2015/08/31/the-worst-mistake-of-computer-science/ https://www.lucidchart.com/techblog/2015/08/31/the-worst-mis...
- jroesch 10y agoI think they made a much better decision then everyone else even if verbose. Nearly every language has continued to repeat Tony Hoare's "billion dollar" mistake of allowing null to inhabit any type. I think approaches like Rust's and Swift's are steps to stamp out something that never should of existed in the first place.
- paulddraper 10y ago> Nearly every language has continued to repeat Tony Hoare's "billion dollar" mistake of allowing null to inhabit any type. Perhaps I was unclear. I could not agree more with this assessment (see link to my blog post in sibling). I was merely commenting on Swift's choice to do it in a (to quote the OP) "clever" way, rather than a general one like Rust or Scala.