Pull to refresh

Comments 13

Зачем Python, когда *trollface* все уважающие себя книги по алгоритмам используют Scheme — единственный язык, способный выражать чистую мысль без уродливого налёта синтаксиса и сомнительных решений создателя языка.
Книга больше о том, как ловко используя сомнительные решения создателя языка, строить эффективные алгоритмы. Т.е. там на первом месте все же алгоритмы, реализованные на Python, а не теория алгоритмов сама по себе. Другое дело, что вот этот переведенный кусок может быть применим к другим языкам, но и он немного пропитан духом остальной книги.
Lisp — это не язык, а строительный материал.
— Alan Kay

(исходя из этой логики, схема — это сырье для стройматериала :) )

з.ы. против схемы ничего не имею, сам ее люблю :)
Можете обвинить меня в недостаточном умственном развитии, но лично мне примеры на Python читать проще — причём как раз из-за синтаксиса.
Ваше умственное развитие и лично ваше удобство никакого отношения к алгоритмам не имеет. В этой теме синтаксис — это лишнее. Точка.
Кому и для чего вот нужен ваш Scheme?

использование как альтернативы брейнфака не в счет…

Scheme нужен тем же и для того же что и ваш Python.

// К.О.

Пометка *trollface* там не спроста. Я понимаю почему в данной книге именно Python. В ней описаны не алгоритмы, а именно использование специфических питоньих решений и избегание питоньих костылей при их реализации. Пригодится только тем, кто пишет на Python, на большее и не претендует.
Смотря о какой области идет речь. Если речь идет о тяжелых числодробильных алгоритмах, то схема, как и любой не императивный язык, идет лесом. Если о компиляторах, скажем, то код на схеме приемлим. И не за счет «отсутсвия уродливого синтаксиса». Синтаксис — дело 10-е.
timeit удобнее использовать из IPython:

In [7]: %timeit sum(range(10))
1000000 loops, best of 3: 769 ns per loop
Спасибо, с нетерпением жду главу по графам и деревьям! Кстати, когда стоит ожидать увидеть этот перевод?
UFO just landed and posted this here
Sign up to leave a comment.

Articles

Change theme settings