gns_ua: (Default)
[personal profile] gns_ua
На тридцать первом году жизни и двадцатом программирования, со мной случилось это.

Глядя на собственный говнокод такого типа:

def getitems(workers):
    items = []
    for w in workers:
        items.extend(get_worker_items(w))
    return items


- я вдруг перестал понимать, зачем вся эта унылота и почему не сделать просто:

def getitems(workers):
    for w in workers:
        for i in get_worker_items(w):
            yield i


Ведь дальше-то этот лист большой опять кто-то будет сканить, опять формировать новый лист, опять кому-то отдавать. Так зачем? Пусть вся йилдят! Корутины! А в промежутках каждый, возможно, успеет ещё что-нибудь где-нибудь отметить, что тоже хорошо.

Это прорыв в сознании, я щетаю. Как говаривал Владимир Леви: - повелело освободить новый код от школярской линейной последовательности. И, далее там же: - я эту прямоходность «системы» неосознанно почитал за достоинство, с детства вбита. Пытался, с малым успехом, протащить сквозь весь код, протоптать магистраль.

И вроде ж знаешь уже много разных вещей, - серьёзно занявшись программированием после нескольколетнего перерыва, ничего, впрочем и к сожалению, не отнявшего от предварительного пути бейсик=>паскаль=>фокспро=>qt=>пхп (шелл сюда не включаю по ряду очевидных причин). Но вот чтоб сразу мыслить в этих терминах...

2012-08-22 10:09 (UTC)
- Posted by [identity profile] gns-ua.livejournal.com
Ну да, современные языки все реализуют разные интересные штуки. В меру своей испорченности.

Profile

gns_ua: (Default)
gns_ua

April 2017

M T W T F S S
     12
3456789
10111213141516
17181920212223
24252627282930

Expand Cut Tags

No cut tags