Artykuł Petera Norviga cytowany przez Brendana Eicha


10

Czytam Coders at Work, a Brendan Eich cytuje artykuł Norviga z czasów, gdy był w Harlequin, „o tym, jak wzorce projektowe są tak naprawdę wadami w twoim języku programowania”.

Czy ktoś może podać link do tego artykułu?

Odpowiedzi:


19

Myślę, że „papier” to tak naprawdę prezentacja wzorców projektowych w dynamicznych językach , cytowana również w Wikipedii w związku z tym konkretnym roszczeniem:

Wzorce projektowe mogą być jedynie znakiem niektórych brakujących funkcji danego języka programowania (na przykład Java lub C ++). Peter Norvig pokazuje, że 16 z 23 wzorców w książce Design Patterns (która skupia się głównie na C ++) jest uproszczonych lub wyeliminowanych (poprzez bezpośrednie wsparcie językowe) w Lisp lub Dylan.

W podobny sposób Paul Graham opisuje wzorce projektowe jako „ludzki kompilator w pracy” w Revenge of the Nerds :

Ta praktyka jest nie tylko powszechna, ale zinstytucjonalizowana. Na przykład w świecie OO słyszysz sporo o „wzorach”. Zastanawiam się, czy te wzorce nie są czasem dowodem na przypadek (c), ludzkiego kompilatora, w pracy. Kiedy widzę wzorce w moich programach, uważam to za oznakę kłopotów. Kształt programu powinien odzwierciedlać tylko problem, który musi rozwiązać. Każda inna prawidłowość w kodzie jest dla mnie znakiem, że przynajmniej używam abstrakcji, które nie są wystarczająco potężne - często generuję ręcznie rozszerzenia niektórych makr, które muszę napisać.

Oba cytaty są podstawą dyskusji na temat brakujących cech językowych Are Design Patterns na Wiki Warda.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.