I don't consider anything ad-hoc that has the proof of billions of lines of code in working software. Also, I am certain that there are plenty of Scala and Haskell FP purests that write horrible code that few can reason about.
-
This Tweet is unavailable.
-
-
This Tweet is unavailable.
-
I think there's a tendency for FP purists to exaggerate the brokenness of software. Most people have lower standards. But perfect purity is the only position from which anyone can claim the absence of certain classes of bugs... and they do.
1 reply 0 retweets 3 likes -
And they get confidence from the fact they write thousands of lines of code, and they never see certain kinds of bug. And from their perspective, amongst those thousands of lines of code, a single impure method call will look egregious.
1 reply 0 retweets 0 likes -
Replying to @propensive @1ovthafew
Are there any Scala and Haskell bugs that programmers feel confident don't exist because the compiler assured them?
1 reply 0 retweets 0 likes -
Replying to @VaughnVernon @1ovthafew
As one example, if you have no mutable state, there's no chance of a race condition caused by another thread mutating some state underneath you. In Haskell, you can't mutate state, though in Scala you rely on being careful not to use any mutable state.
2 replies 0 retweets 0 likes -
Replying to @propensive @1ovthafew
I don't have to worry about var state = State...() being raced in an actor because actors by definition prevent that.
1 reply 0 retweets 0 likes -
Replying to @VaughnVernon @1ovthafew
In Scala (well, Akka), actors don't really offer you much protection, actually. They just give you a model which helps manage mutable state by conventions rather than compiler guarantees. Again, not so convincing.
1 reply 0 retweets 0 likes -
Replying to @propensive @1ovthafew
If I know because of the programming model that some object cannot possibly be entered by multiple threads simultaneously, that's a guarantee. If someone breaks the model then the model can't guarantee.
1 reply 0 retweets 1 like
I would say it's different degrees of "cannot possibly". In Haskell, you cannot possibly mutate state because the language simply doesn't support it. In Scala it's because you've been careful to define things that way.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.