avva: (Default)
[personal profile] avva
Питер Норвиг, автор (помимо множества прочих заслуг) знаменитых книг об 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.

Все всегда звучит очень заманчиво. Все всегда звучат очень убедительно. Все полемики и манифесты можно просто не читать, а если читать, то ни в коем случае не воспринимать всерьез. Читайте код. Или, если есть время и желание, пробуйте сами. А манифесты и методологические книги - пусть себе скрипит губерния.

Date: 2009-10-06 05:44 pm (UTC)
nine_k: A stream of colors expanding from brain (Default)
From: [personal profile] nine_k
TDD — он не про то ведь, как написать красивый и эффективный код. Он про то, как контролировать для себя корректность кода.
Agile — не про то, как [...]. Он про то, как всегда иметь прототип для показа заказчику и последовательно его рихтовать и оживлять.

Могу вообразить, что хороший системный программист напишет решение судоку на ассемблере коротко, понятно и легко читаемо, а плохой программист на хаскеле — длинно, непонятно и медленно. Но точно так же может выйти наоборот; всё зависит от того, на какой стороне окажется хороший программист.

Date: 2009-10-06 06:00 pm (UTC)

Date: 2009-10-08 05:03 am (UTC)
From: (Anonymous)
Вопрос только, стали ли вы учиться у плохого программиста Методологии Программирования?

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 11:43 am
Powered by Dreamwidth Studios