Hacker News new | ask | show | jobs
by ejcx 4067 days ago
I really like writing hack and haven't tried PHP7. It makes a huge difference having types. If you have a function

    function dowork(@?string $w)
You can allow execution to continue but still log the error. It's made me aware of all sorts of edge case bugs that I never would have been able to find before.

XHP has allowed me to do the same, by forcing me to write well formed html and I love it

1 comments

You should seriously consider trying a language with a more complete and robust type system that is checked at compile time. If you like the fact that these kind of corner cases can be logged, imagine if you can find them before you ever hit them at compile time.
Which Hack does too (static checking). What he describes (logging) can be enabled as an alternative to that.

Maybe you should try it?

If you're logging, the only good reason to do so instead of fixing errors which your type checker found at compile time is if you're mixing PHP and Hack, which is where you'd get type errors that couldn't be determined at compile time. I'm suggesting using a language with an environment that is more completely statically checked (and preferably also has a more complete type system, something functional perhaps).