Ev_genusСначала для меня было только процедурное и ООП. Так сложилось.
Что б разобраться с ООП раз и навсегда, нужно взять побольше патронов и наведаться к нему ночью. ))
Советую рассмотреть и другие парадигмы программирования т.к. повальное использование ООП (и в тех местах где не следовало бы) всего лишь мода. Мода которая может стремительно измениться на что-то другое. Что б поверить в это могу предложить вспомнить пример COBOL, Delphi… ммм… и C# тоже потом вспомните.
И ещё вот это хотел предложить почитать http://en.wikipedia.org/wiki/Programming_in_the_large
Сейчас больше:
Функциональное, когда нужно.
Аспектно-ориентированное.
Конечные автоматы, конечно же (Питон позволяет замечательно их реализовывать с yield).
DSL aka domain specific languages.
Метапрограммирование - практически всегда и повсеместно.
Событийное (Event-driven). Кстати, куда peak.events.trellis отнести? Вроде бы event-driven, но уж сильно непохож на прочие аналоги.
При этом всегда на нижнем уровне конечные кирпичики - объекты. Даже если алгоритм сделан в функциональном стиле. А как иначе, если все в Питоне - объект.
P.S.
Кстати, о Треллисе. Если кто еще не видел - советую посмотреть
После того, как попробовал - обходиться без него в широком круге задач становится тяжко. Т.е. можно, но не хочется.
Порог вхождения довольно высок, потребуется переосмыслить привычные подходы. Но зато потом!!!