4 ms·
I've always had this process described as "inner platform effect". Also, I've written a system like that before I was skilled enough to use parser generators. D
by fleitz 15y ago
I've always had this process described as "inner platform effect". Also, I've written a system like that before I was skilled enough to use parser generators. Database driven rules engines are teh suck.
It powers some pretty heavy duty stuff for a Fortune 20 and I still await the call from the company in question if they need to update those rules. Luckily, there is no user interface for this system so they can't screw it up. The funny thing is the program actually digests the whole database of rules and then builds an AST to execute the rules.
edit: Isn't the system described by the article essentially the entire basis of SAP?
- raganwald 15y agoThis came up on Reddit. IMO, Inner platforms are a superset of duck programming. “Inner platform” describes the implementation, while “duck programming” describes the process. If we make a DSL that encodes business rules, I think you could say it’s an inner platform of sorts. If that DSL is updated live in production by design without being wrapped in risk management process, I think you have duck programming.
- fleitz 15y agoInteresting, I never thought of it that way, the bureaucratic process around those rules virtually ensures that it will never be updated. There is a test corpus of about 50,000 items that it correctly classifies so at least it's well tested.
- roryokane 15y agoSomeone has posted the “Inner-platform effect” Wikipedia article, and there is some discussion about that, too: http://news.ycombinator.com/item?id=3442497 http://news.ycombinator.com/item?id=3442497
- GFischer 15y agoI'd read about the Inner Platform effect on the Daily WTF: http://thedailywtf.com/Comments/The_Inner-Platform_Effect.aspx?pg=2 http://thedailywtf.com/Comments/The_Inner-Platform_Effect.as... and the relevant quote: "Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp." - Greenspun's Tenth Rule