4 ms·
> Maybe you could write tests as queries that would test a whole set of possible programs, not only the current version of your program at the moment. I think
by Taikonerd 4y ago
> Maybe you could write tests as queries that would test a whole set of possible programs, not only the current version of your program at the moment.
I think that the future of programming is more sophisticated static analysis. Programmers will write statements like, "every code path that writes to the Payments database must have called validate_user()." Then, the tooling will confirm that rule with every commit.
We kind of have this already (for example, Facebook's Infer tool [0]), but I think it will become much more important in the coming decade.
0: https://github.com/facebook/infer https://github.com/facebook/infer
- hcarvalhoalves 4y agoWatch this (skip to 1:17:28 to see a quick demo, the rest of the video is the explanation): https://youtu.be/OyfBQmvr2Hc https://youtu.be/OyfBQmvr2Hc It’s exploiting logic programming to query for a program that satisfies some condition.
- spikej 4y agoBut take a step higher and you get this https://youtu.be/FvNRlE4E9QQ https://youtu.be/FvNRlE4E9QQ
- vsareto 4y agoTo set up an example, Azure has some API management stuff that could let you do this before you even got to your code. Writing a tool to make sure that API management rule exists would be different than static analysis. I'd agree with you, but not all of the business logic like that is going to live in code in the future.