программистское: посмотрите и сравните
Oct. 6th, 2009 03:08 pmПитер Норвиг, автор (помимо множества прочих заслуг) знаменитых книг об AI и Лиспе, автор эссе Teach Yourself Programming in Ten Years, которое следует прочитать каждому программисту, рассказывает, как написать программу, решающую любую задачу Судоку. 100 строк на Питоне.
Рон Джеффриз, один из изобретателей системы XP Programming, один из духовных отцов движения Agile и авторов Agile Manifesto, пытается написать программу для решения Судоку: раз, два, три, четыре, пять. На Руби, с использованием TDD (test-driven development).
Прочитайте эти два описания двух разных попыток - включая все пять записей Джеффриза, не поленитесь, чтобы как следует их оценить - сравните, и вы будете знать все, что вам надо знать, об XP и Agile.
Бонус:
Роберт Мартин ("Uncle Bob Martin"), один из главных создателей Agile, специалист по Agile, XP и UML, автор книг обо всех этих методологиях, пишет код на Clojure, с помощью TDD, вычисляющий результат игры Bowling Game, простого варианта боулинга. Вот его код.
Матиас Джованнини пишет код на OCaml, без TDD, для решения той же проблемы. Вот его код.
Сравните, и вы будете знать все, что следует знать об XP, Agile и TDD.
Все всегда звучит очень заманчиво. Все всегда звучат очень убедительно. Все полемики и манифесты можно просто не читать, а если читать, то ни в коем случае не воспринимать всерьез. Читайте код. Или, если есть время и желание, пробуйте сами. А манифесты и методологические книги - пусть себе скрипит губерния.
Рон Джеффриз, один из изобретателей системы XP Programming, один из духовных отцов движения Agile и авторов Agile Manifesto, пытается написать программу для решения Судоку: раз, два, три, четыре, пять. На Руби, с использованием TDD (test-driven development).
Прочитайте эти два описания двух разных попыток - включая все пять записей Джеффриза, не поленитесь, чтобы как следует их оценить - сравните, и вы будете знать все, что вам надо знать, об XP и Agile.
Бонус:
Роберт Мартин ("Uncle Bob Martin"), один из главных создателей Agile, специалист по Agile, XP и UML, автор книг обо всех этих методологиях, пишет код на Clojure, с помощью TDD, вычисляющий результат игры Bowling Game, простого варианта боулинга. Вот его код.
Матиас Джованнини пишет код на OCaml, без TDD, для решения той же проблемы. Вот его код.
Сравните, и вы будете знать все, что следует знать об XP, Agile и TDD.
Все всегда звучит очень заманчиво. Все всегда звучат очень убедительно. Все полемики и манифесты можно просто не читать, а если читать, то ни в коем случае не воспринимать всерьез. Читайте код. Или, если есть время и желание, пробуйте сами. А манифесты и методологические книги - пусть себе скрипит губерния.
no subject
Date: 2009-10-08 10:51 pm (UTC)no subject
Date: 2009-10-08 10:54 pm (UTC)Я тоже собираюсь написать, на форте.
no subject
Date: 2009-10-08 11:00 pm (UTC)Единственное что бы я добавил, пожалуй, это небольшую оптимизацию: выбирать клетку, для которой я перебираю значения, по наименьшему количеству вариантов. Но и так решает 50 судоку возрастающей сложности за 16 секунд на моей совсем не резвой машине.
no subject
Date: 2009-10-16 11:15 am (UTC)