понедельник, 3 ноября 2014 г.

Эволюция парадигм

Изучая в университете давно почившую в бозе  СУБД FoxPro, писал я код типа этого:

SELECT MyBigTable

scan
    scatter name oRecord memo

    if oRecord.Id < 20000
        select SmallTable1
        append blank
        gather name oRecord memo
    else if oRecord.Id < 40000
        select SmallTable2
        append blank
        gather name oRecord memo
    else 
        select SmallTable3
        append blank
        gather name oRecord memo
endscan 

И он мне казался, понятным, привычным и  правильным.
Весь мой предыдущий опыт был похож Paradox с его языком pal.

И выйти самостоятельно за рамки этой парадигмы я не мог.

Один из моих сокурсников, к тому времени, уже устроился на работу, и работал там с БД.

И вот однажды мы писали какую то лабораторную вместе, и он решил ее через обычный SQL.

Это сейчас я пишу эти sql в диком количестве, и с трудом представляю себе другой подход, а тогда это напрочь сломало мне голову.

Вспомнил я это потому, что проходя сейчас курсы по функциональному программированию, прямо таки проникаюсь этим подходом.

После, простенького и красивого кода типа:


совсем уже не хочется писать как раньше.

А прямо таки хочется побольше лямбдочек, рекурсий и разных генераторов.


Это я такой внушаемый или идея в самом деле хороша?