Hacker News new | past | comments | ask | show | jobs | submit login

In a few years down the road I hope that the JS folks take a very very close look at Rule engines. These kind of errors can be easily avoided with them.

I agree up to a point, but I think off-the-shelf rule engines will only ever get us so far.

Front-end web development in recent years has been going through its “Visual Basic phase”. We’ve been developing tools to help automate basic UI interactions and communications between front- and back-end. Those often get the job done better than the more manual techniques we used to use, but mostly they work best with simple presentation like forms or charts, and with simple data models and limited relationships — in other words, the kind of thing you need for a simple CRUD app UI where the tricky issues like scalability are handled on the back-end, like a lot of the web apps being developed today.

However, you didn’t see a many people trying to build more demanding UIs in Visual Basic, things like CAD applications or DTP software or flight simulator games or tools for visualising and exploring tricky data sets. I agree that to build more sophisticated web apps, the front-end world is going to need to broaden its horizons. Tools that let you systematically represent large numbers of rules without hand-crafting a custom function for every one of them will surely be necessary in some cases. As with so much of web development, lot of lessons learned some time ago in other programming fields will be relearned by a new group of developers.

However, that’s all still relatively easy. The hard part is how you reconcile the effects of those rules when they conflict, and there aren’t any universal right answers to that one. In fact, often there aren’t any good answers at all that can be fully automated. That can create a whole new world of nasty, awkward interactions where users have to actively deal with those conflicts. Maybe even that isn’t going to be scalable or efficient enough, and you have to design the entire system to operate with only incomplete or potentially incorrect information and still have acceptable if not always ideal behaviour. There are lots of interesting problems at this level, but a basic rule engine is never going to solve them alone.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: