Any language that lets you mix it in among standard HTML is going to generate spaghetti a lot of the time, because page order display and logic flow are inherently contradictory. Logic flow should be hierarchical and static, while page display is a text representation of visual UI choices having little or nothing to do with the logic of the data behind them. But for generating models, it's nice and quick. And for writing form/json/flash service code it does certain things extremely well; you can take a json object, parse it, escape it, run it through a mysql query and return a nicely formatted result object in about five lines. Again, it's whatever you want it to be.
Comments
Any language that lets you mix it in among standard HTML is going to generate spaghetti a lot of the time, because page order display and logic flow are inherently contradictory. Logic flow should be hierarchical and static, while page display is a text representation of visual UI choices having little or nothing to do with the logic of the data behind them. But for generating models, it's nice and quick. And for writing form/json/flash service code it does certain things extremely well; you can take a json object, parse it, escape it, run it through a mysql query and return a nicely formatted result object in about five lines. Again, it's whatever you want it to be.