Oberon space
General Category => Общий раздел => Тема начата: Geniepro от Октябрь 04, 2012, 03:26:15 am
-
На Хабре появился перевод статьи "Как два программиста хлеб пекли" (http://habrahabr.ru/post/153225/), в ней разбирались примеры архитектуры ПО от труЪ-ООП-программиста и от процедурщика.
Так же есть вариант "Как пекут хлеб программисты на Haskell" (http://eax.me/haskell-bread-task/) -- функциональный взгляд.
А как такую задачку идиоматично решать на Обероне?
-
А как такую задачку идиоматично решать на Обероне?
Оберонщики берут муку и воду. Все остальное добавляется по вкусу. Включая и печку.
-
Оберонщики решают, что хлеб проще купить, чем печь. Упрощают задачу )
-
Оберонщики решают, что хлеб проще купить, чем печь. Упрощают задачу )
На самом деле правильная статья. Хотя я бы и по-другому "правильно" сделал :)
-
Оберонщики решают, что хлеб проще купить, чем печь. Упрощают задачу )
чушь оберонщикам вполне хватает одной муки - все остальное развращающие дух и тело излишества
-
На самом деле правильная статья.
Какая именно?
-
На самом деле правильная статья.
Какая именно?
Которая в первом сообщении: http://habrahabr.ru/post/153225/
-
Я откровенно слаб в построении объектной иерархии, да еще, на беду, не люблю UML. Поэтому не могу оценить красоту построенной картины.
Но, по моему скромному мнению, после того как программисты получили указание "нужно, чтобы делался хлеб" они должны ни хрена не делать.
И продолжать заниматься этим до последнего указания в статье включительно.
-
Но, по моему скромному мнению, после того как программисты получили указание "нужно, чтобы делался хлеб" они должны ни хрена не делать.
И продолжать заниматься этим до последнего указания в статье включительно.
Угу. Только так не бывает в реальной жизни :)
-
А как определить, какое указание действительно последнее?
-
А функциональщики как пекут?
-
А как определить, какое указание действительно последнее?
Никак. Делать с самого начала как можно проще. Можно пытаться "угадать", да, но не закладывать предположения в архитектуру. Т.е., первая итерация вообще может быть аморфной и "безархитектурной". Вторая итерация закрепляет архитекутно устоявшиеся вещи, чтобы было к чему лепить новые и т.д. Конечно это не гарантирует выбрасывания и тотального переписывания после 10-й итерации. Но хотя бы не приходится хэкать каждую очередную итерацию, чтобы вписать новые требования в существующий "придуманный" мегафрэймворк.
-
А функциональщики как пекут?
В первом сообщении же есть ссылка.
-
В данном случае решение на Haskell можно переписать на любом императивном языке, где есть функции.
С помощью IF и какой-то матери.
-
В данном случае решение на Haskell можно переписать на любом императивном языке, где есть функции.
С помощью IF и какой-то матери.
А на Аде и Модуле вообще переписывается влегкую. Вот на обероне - уже хуже.
-
http://habrahabr.ru/post/153845 больше ада
-
http://habrahabr.ru/post/153845 больше ада
Всю статью не осилил, но то что в начале - максимально близко к моему "подходу". Теперь знаю, что для него даже аббревиатуру придумали - YAGNI.
-
Принцип YAGNI применяется непоследовательно.
В конце концов выяснится, что надо было сделать систему противопожарной безопасности, совмещенную с сигнализацией.
-
Принцип YAGNI применяется непоследовательно.
В конце концов выяснится, что надо было сделать систему противопожарной безопасности, совмещенную с сигнализацией.
Я не собираюсь доказывать, что такой принцип лучше других подходов. И я упомянул, что вполне может оказаться, что придется переписывать с нуля (с точки зрения кода, но не с точки зрения понимания). Я просто говорю, что такой принцип хорошо работает, когда никто не знает, что в конце-концов надо получить. Есть другие ситуации с другими подходами. Есть даже другие психологии конкретных индивидуумов - кто-то не может работать без законченной модели, отлитой в совершенный код без "шорткатов". Кто-то не может просто взять и выбросить собственный код. Ну и т.д.
-
Конечно это не гарантирует выбрасывания и тотального переписывания после 10-й итерации.
Оставлю здесь ссылку вот на это сообщение (http://forum.oberoncore.ru/viewtopic.php?p=80577#p80577) как иллюстрацию того, почему я не люблю фрэймворки.
-
Конечно это не гарантирует выбрасывания и тотального переписывания после 10-й итерации.
Оставлю здесь ссылку вот на это сообщение (http://forum.oberoncore.ru/viewtopic.php?p=80577#p80577) как иллюстрацию того, почему я не люблю фрэймворки.
:) скорее как иллюстрацию отсталости общего развития коровцев (не прошло и 10 лет как до них начали доходить преимущества удобств.. которые стали стандартом лет 15 назад.. глядишь лет через пять доразовьются до важности нормальной подсветки кода). Но лично я плюсую им это.. самые мхомнеобросшие - хоть как то, но развиваются..