Без заголовка
Показ книг разными шаблонами делается во всех системах легко. Тут черт не в "наследовании" (для книг -- какое такое наследование? Обычные иерархии, и процедура показа разных кусков иерархии на одной странице), а в многочисленных деталях. Все это -- как суп из топора, топор везде одинаковый, а вот детальков и проварка куча разных, получаются разные библиотеки.
Пункты 2 и 3 самые интересные -- это реалзиовано во всех системах плохо.
Четвертый пункт можно писать и на ассемблере ;) Никогда не задумываюсь, на каких языках написан работающий продукт -- задумываюсь о том, что этот продукт делает, и долго ли будет существовать команда, его развивающая и поддерживающая. Ежели такой продукт написан на хаскеле, то сомнения у меня, что я его бы взял -- именно из-за редкости языка. Я бы взял какой OpenCYC, ежели был уверен, что он говорит по-русски ;)
Тут речь не идет о "разрабатывать", тут речь идет о выборе из того, что сейчас есть.