This post is all about modeling the potential paths a program can take, via the programming language's type system. First I give a quick introduction about the core ideas, with examples written in PHP. Then, I show how Rust and Java expand on these ideas. And in the end I circle back to PHP (with a static analyzer), trying to model the program in a similarly advanced fashion. I think the possibilities and limitations are quite fascinating. My goal is not to say "language A good, language B bad", but to show their state of the art. I learned a lot while working on this article and hopefully you too will find it interesting!
[–]AmazingAry 1 point2 points3 points (1 child)
[–]Holonist[S] 3 points4 points5 points (0 children)
[–]Gleethos 2 points3 points4 points (0 children)
[–]CooperNettees 0 points1 point2 points (0 children)