I've been catching up on the Lang.NEXT videos and I just watched the one about Hack and converting lots of PHP code to Hack at Facebook.

https://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2014/Hack

The essence of the talk is essentially gradually introducing strong constraints on a codebase to improve quality. I think the most interesting part for us is that about thirty minutes in the question is asked, can this be done generally in the industry, automatically? He is again talking about something which I think is a lot like 'gofix' for Go.

Now Rob Pike pin pointed a point for Go's growth coming from fixing on a version 1.0 for the language, so everyone could know what was going to happen. So there's evidence of guarantees of stability leading to increased adoption, although correlation doesn't imply causation. but it does make me wonder. Should we be developing ways of saying, "We're just going to change this thing which isn't so great, here's a warning, run the tool to fix it for you," or similar?

I know one of my pet peeves is null pointers and null class references, as an example. Either that or an Option/Maybe monad are nice to have for when you want to implement linked lists and so on, but I think actually the number of times you want to allow for something which is either something or nothing are quite small. So it would be nice to have tools so we could one day say, "Nah, we're going to make it harder to create null pointer errors, and here's a tool to assist you with that transition."

I just tossed in one hot topic with another one, so I'll duck for now to avoid a beheading.

Reply via email to