I completely agree. Of course stuff like Active Record can save a lot of typing for back-end code. But:
1) a large system often requires hand-crafted SQL anyway.
2) hand-crafted SQL performs MUCH better for anything but the trivial stuff.
The biggest issue for me: FRONT-END development. Most web apps are pretty simple on the back-end, and coding database access by hand doesn't take long at all, I can live just fine without ActiveRecord.
Where I end up spending 90% of development time is on the front-end. Writing HTML code by hand (and visual tools don't help here) makes me feel like I'm in the dark ages: I miss one character and have to spend ages hunting down design issues. Javascript isn't much better for that matter.
IMO What's needed is server-side UI libraries, along the lines of windowing toolkits for desktop apps.
Reason I say server-side is because client-side libraries exist already (eg GWT) and most web apps still need SEO, perhaps unfortunately.
ASP.NET and Java Faces components don't really count either - you still have to write HTML code by hand to glue things together.
Ask any designer what a pain it is to get the layout correct in all the different browsers. How many CSS hacks are required? Just look how long it took Google engineers to make those Gmail buttons. Crazy.
Why can't we pull all these "best-practices" of laying out and rendering common components into a server-side UI framework, so a programmer can use his knowledge of the programming language of his choice to build a web application?
Moreover, encapsulating everything into components leads to re-usable code with proper inheritance (instead of html template "inheritance") - something every programmer appreciates.
This is what I'm working on now - a java library to do just that.
Sceptics will say this is a "one-size-fits-all" and it won't work. That's not what I've experienced so far. Sure, some web app may need a custom "component" - so you need to write one yourself. But from then on - it's re-usable.
Will all apps look the same, like on Windows? Although that may not be a bad thing, they won't - proper separation of concerns allows designers to style components to their liking with CSS.
The aim of a GUI framework like this is to make sure web apps stick to proper design guidelines, instead of a developer deciding that he'll make his own ajax scroll-bar cause it looks cool, though most visitors can't figure out what it is. There's a reason Apple apps look so professional. They are designed around human interface guidelines. Why re-invent the wheel for each web app?
I'm only doing this cause I got too frustrated with all the frameworks out there when trying to create my new web app. They don't solve my UI needs.
Who else feels the same way? I plan to open source the code, so if anyone wants to help, give me a shout.