Weekly linkdump #133

С подачи Вадима Войтюка сегодня будут ссылки по программированию (surprise, surprise!)

40 комментариев

Подписаться на комментарии Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Комменты на developers.org.ua вполне интересное чтиво, пока вы не начинаете участвовать в дискуссии.

2Всеволод Соловьев: я с Вами не согласен.Вспоминается профессор Преображенский: «Не читайте перед завтраком советских газет», что в переводе на текущую ситуацию выглядит так: «Не читайте комменты на developers.org.ua — там сплошное гуано».

2bialix

Впрочем это явный бессмысленный флейм, а мне влом быть троллем.

Видимо, это уже привычка — хоть и лень, но вы им являетесь. Перечитайте 29-ый комментарий.

2Щетинин: аргумент 2008й год на дворе — не канает. В фразе «Си — отстой» название языка можно подставить любое: ассемблер, С++, Objective C, C#, D, Perl, PHP, Java, Haskell, Python, Lisp, Lua — name it yourself. И при этом фраза не потеряет ни в своей экспрессивности, ни в своей бессмысленности.Впрочем это явный бессмысленный флейм, а мне влом быть троллем.И статью того ёси я начал читать и бросил — нафига мне лишние помои? XP мне и так не нужно, а читать критику какой-то книжки — только время тратить. Я стараюсь применять методологию от Joel Spolsky. Мне она помогает.

Количество информационного мусора под этой записью — #1 на developers.org.ua, не?

Думаю, что нет:)

Капец, ну вы и жжоте. Количество информационного мусора под этой записью — #1 на developers.org.ua, не?

Вы правы, это не чушь — это энтерпрайз.

Вот список паттернов из книги, например optimistic lock и pessimistic lock. Знать эти штуки надо, но учить их явно по другой книжке, потому что приведенные схемы понимание только усложняют. Автора можно понять — надо продавать толстые непонятные книжки, а потом по страшным рейтам разьяснять че он там имел в виду. То что всё это было до него за двадцать лет как минимум, так это не беда, назвали паттернами, наворотили вокруг всего и понеслась.

Да и шаблоны бывают разные, не только Core, а и еще, к примеру Enterprise. Читайте «Enterprise Design Patterns» — настольная книга Java и.NET разрабов от Мартина Фаулера и пусть бросит в меня камень тот, кто считает, что это все чушь.

Вы правы, это не чушь — это энтерпрайз. Только неизвестно ещё, что хуже: D

(Ну как, флейм и флуд бьют по популярности задачки для собеседования? =)

По интересности — как минимум;)

2all: очень скоро у нас будет вот такая классная штука: http://testing.developers.org.ua/forum/. Будет где развернуться.;)

Прочитать не позволили религиозные убеждения? Или может силой мысли удалось решить проблемы автора?

Автор ваш, извините, птица из семейства Piciformes.Перед тем как утверждать подобное, он должен был тысячу все проверить.Его проблема связана с особенностью компиляции template’ов в GNU C++. Ему всего то нужно было явно создавать template’ы STL библиотеки и использовать cfront модель компилятора с помощью ключа -fno-implicit-templates. Существует проблема только в GNU, например в SUN C++ в последней версии ее точно решили. Планируют и в GCC. Так что это проблема компилятора, а не самого языка.Вопрос подробно описан тут -http://gcc.gnu.org/onlinedocs/...Так что лучше бы ваш «авторитет» почитал документацию вместо выливания ушата помоев на язык, авторов STL, линкеры, и.т.д.to Paco

At that point, Mr. Ballmer picked up a chair and threw it across the room hitting a table in his office. Mr. Ballmer then said: «Fucking Eric Schmidt is a fucking pussy. I’m going to fucking bury that guy, I have done it before, and I will do it again. I’m going to fucking kill Google.»

Баллмер один из самых влиятельных людей в мире. Он на деле показал себя состоятельным менеджером, будучи правой рукой Гейтса. Такие люди создают правила вместо следования им. Такое право надо заслужить.

Где я говорил про собственную исключительность?

Извините если обидел, имел ввиду"Дураками НАС делает понимание собственной исключительности не имея для этого никаких обьективных причин, кроме самомнения."

(Ну как, флейм и флуд бьют по популярности задачки для собеседования? =)

Ярослав, попробую быть краток. Ёсю я впервые прочитал увидев ссылку в этом линкдампе, по многим вопросам его позиция показалась мне обоснованой (чаще всего опытом) не смотря на грубую форму изложения и на то что он ненавидит любимый мной Python.

А лучше всего пообщаться в ОпенСпэйсе, который является детищем Agile, который вы так сильно не любите

=) точно, если OpenSpace хорошо значит всё из Agile рулит. Если я не слышал опровержения разумной критики Agile (может просто не довелось еще) это значит я его не люблю. Если Керниган был умным, значит он не делал ошибок. Если китайцев везде больше, значит они умнее. Всё логично!!!

А вообще кто такие эти ваши авторитеты Yossi Kreinin и Phillip J. Eby?

Я как раз не хотел устраивать битву у кого авторитет длиннее, понимаете? PJE я упомянул не как авторитета и никаких его цитат не приводил, может он вообще считает что XP рулит — я не знаю. Я привел пример что безусловно компетентный разработчик, пишуший к коду очень много тестов (уж поверьте на слово) всё равно оказывается вот в таких ситуациях. Что уж говорить о штампованом кодере?

Зато нашел я статью — C++: a bigger pile of shite.

Прочитать не позволили религиозные убеждения? Или может силой мысли удалось решить проблемы автора? Groovy, паттерны, шаблоны... о чем речь? Может еще макросы забыли? — тоже похожая шняга) Насчет актуальности паттернов, есть паттерны как названия решений (хорошо) и есть паттерны как собственно boilerplate. Если приходится его писать, то это плохо, так? Если язык ни поддерживает этого самостоятельно и не позволяет реализовать поддержку в виде библиотеки, то это неудобно, так? Поэтому, когда пишется паттерн непосредственно в самом коде это отстой, так? Про паттерны еще не упоминалось о том как их пользуют не понимая — если в книжке так написано, так и будем делать, «вот у меня на столе книжка про это! ». Глобальная переменная — нельзя, а синглтон покатит. То что без шпаргалки писать на JAVA и.NET невозможно, это не новость, там не только за паттернами по книгам надо бегать, а вообще за половиной библиотечных вызовов. Хорошо что у них для этого есть толковые книжки, от души за них рад.Возвращаясь к отстой / не отстой. Такое впечатление что иногда читают комментарии в полукоматозном состоянии и просыпаются на отдельных словосочетаниях. «С — отстой» это мне понятно! На это я отвечу! Какой был контекст это как будто без разницы. Речь шла о том что «так можно договориться до того что паттерны — отстой», на что я ответил, что да, в определенном смысле можно, точно в таком же как и С — отстой (т.е. несмотря на весь позитив, там много о чем есть сказать «отстой», многие даже считают что по большей части именно он и есть). В общем дело не в том что паттерн всегда определенно плохо, а о том, что нельзя использовать паттерны как неоспоримую истину, как опору в споре. «Так можно показать что и паттерны отстой» не проходит как контрпример. Да, можно показать и можно оказаться правым, конечно абсолютной истиной это не будет как не будет и противоположное. Окей? Понятно?

Ой. firefox забыл. И спросить, когда у Вас в последний раз windows vista выдала BSoD?:)

офисный пакет лучше MSOffice, создадут сервер баз данных лучше DB2 или MSSql, среду разработки лучше Visual Studio или Eclipse, список длинный, тогда и будут считать.

Не слышал и не знал, что MSSql имеет преимущества, кроме того что он от микрософта. Но я честно признаю, что не разбираюсь в этом вопросе.В OpenOffice — да, некоторых важных фич не хватает. А научные журналы почему-то принимают публикации в LaTeX.Мне честно гораздо приятней работать в Ubuntu Linux и возвращаться к WinXP совсем не хочется.А про LAMP стек и linux-сервера вы сознательно не упомянули? Вы лично какую систему контроля версий используете?

Дураком вас делает понимание собственной исключительности не имея для этого никаких обьективных причин, кроме самомнения.

Где я говорил про собственную исключительность? Я хотел показать, что при выборе методологии Вы руководствуетесь мнением большинства. Хотя в других случаях (может музыки, может еды, может в вопросе «завести мне кошку или собаку? ») Вы не соглашаетесь с массами.

Задорнова вы батенька пересмотрелись.

А вы, батенька, тонкий психолог, так быстро меня раскусили. Аргумент про индусов был вовсе не в том, что «они действительно дураки». Вы написали примерно что «индусы считают, что надо использовать Agile, значит Agile однозначное благо», а я ответил «а ведь советские программисты считают индусов дураками».

At that point, Mr. Ballmer picked up a chair and threw it across the room hitting a table in his office. Mr. Ballmer then said: «Fucking Eric Schmidt is a fucking pussy. I’m going to fucking bury that guy, I have done it before, and I will do it again. I’m going to fucking kill Google.»...

Все ли так благополучно? Или google search тоже сделали по методологии CMMI? Да и если так хорош и CMMI и Agile, то почему они такие разные? Может один из них хуже? А может тогда существует что-то третье, что еще лучше? Знаю, мне сейчас ответят: для разных задач, для разных комманд или CMMI или Agile. Но я не хочу спорить, я хочу опять вернуться к своей первой мысли: ни статья из linkdump-a ни уважаемые флудеры не приводят объективных аргументов в пользу той или иной точки зрения. Сплошные ссылки на авторитетов «свой богатый жизненный опыт» и мысленные эксперименты.Хоть кто-нибудь может написать «мы перешли с чистого RUP на ХР и начали работать лучше». Или «мы начали работать, как пишут в книгах про ХР, но даже через 3 месяца производительность все равно была меньше чем при нашей старой cowboy coding методологии».Ну почему никто не хочет признать, что только такие факты могут о чем-то говорить, а все остальное — простое ля-ля-ля???

to pako:

Майкрософт развили успех благодаря инертности мышления клиентов, маркетингу, пиару, низкому уровню компьютерной грамотности среднестатистического юзера, взяткам и коррупции.

ну так ИМХО сотни тысяч советских программистов именно так и думают про китайцев и индусов.

Ха-ха. Пускай себе думают. Задорнова вы батенька пересмотрелись. Американцы, ну туппые, а индусы с китайцами — так вообще идиоты. Сильнейшая социальная конкуренция, государственный английский, мощнейшая система образования (это вам не наши гнилые университетики), отсутсвие лени, особенности мировозрения, которое ограничивает собственное эго и открывает для познания... Посмотрите авторов в западных IT изданиях, докладчиков в конференциях, лидеров проектов — половина китайцы и индусы. Бывали на прошлом Ukraine Agile Meeting — называется, приехал «тупой индус» украинцев опыту учить. Мы живем в высококонкурентном глобальном мире. Бороться в нем за свое место с помощью понтов уже не получается.

Ваше любимое блюдо всегда идет первой строкой в каждом ресторане города? Нет? Тогда что же, это делает Вас дураком???

Дураком вас делает понимание собственной исключительности не имея для этого никаких обьективных причин, кроме самомнения.
Некорректно называть его языком програмированния, все таки человекочитаемые алиасы на машинные коды...
очень многие именно так считают. все заслуги Микрософта даже авторитеты в определенных community списывают на «оказались в нужном месте в нужное время (отсутствия конкурентов) » и развили успех благодаря инертности мышления клиентов, маркетингу, пиару, низкому уровню компьютерной грамотности среднестатистического юзера, взяткам и коррупции.

Завистливые бараны так считают. Создадут виртуальную машину лучше JAVA или.NET, напишут офисный пакет лучше MSOffice, создадут сервер баз данных лучше DB2 или MSSql, среду разработки лучше Visual Studio или Eclipse, список длинный, тогда и будут считать.

то Сергей Волошин В том то и дело, что в ответе не было «XP — дерьмо, а MSF — вообще отстой». Да, что-то свое, но основаное на идеях других фрэймворков. В ответе просто сказано, что нет никаких религиозных догм. Да и поверьте, у многих фрэймворков очень много общего -, а имеено здравый, смысл, опыт, знание психологии. И не стоит отбрасывать весь этот опыт.

Если вы говорите что CMMI (MSF, RUP) ненужная ерунда — значит Майкрософт, IBM лет 15 страдают ерундой.

очень многие именно так считают. все заслуги Микрософта даже авторитеты в определенных community списывают на «оказались в нужном месте в нужное время (отсутствия конкурентов) » и развили успех благодаря инертности мышления клиентов, маркетингу, пиару, низкому уровню компьютерной грамотности среднестатистического юзера, взяткам и коррупции.Доминирование какой-либо идеи ничего не значит. Даже умные люди могут двигаться в тупик, по слепой ветке эволюции.Ваша любимая музыкальная группа всегда на первой строке хит-парада МTV? Ваша любимая партия всегда набирает 51% на выборах? Ваше любимое блюдо всегда идет первой строкой в каждом ресторане города? Нет? Тогда что же, это делает Вас дураком???

Если вы считаете что Agile — это ахинея — значит миллионы индийских и китайских разработчиков просто дураки с Кент Беком и Майком Коном вместе взятыми.

ну так ИМХО сотни тысяч советских программистов именно так и думают про китайцев и индусов.

В Яндексе много собственных инструментов для управления разработкой. Их использование — не догма, в первую очередь ведь нужно, чтобы разработчикам было удобно работать и проекты делались.

Нет, не в тему:) То что яндекс (микрософт/IBM/кто-угодно) большой, или делает успешный продукт, или дает на собеседовании задачки, проверяющие интеллект, не означает что все проекты делаются там самым лучшим в мире способом. Ведь если они напишут, что «нам не важно, сортируется ли массив 100К элементов за O (NlogN) или O (N^2), главное чтоб программа доход приносила», никто не заявит, что теория алгоритмов выдумки менеджеров, пузырьковая сортировка форева.

С всегда будет, даже тогда когда, питон издохнет. Хотя бы потому, что сравнимых с ним в производительности нет.

Assembler...А еще много флуда возникает из-за того, что когда Сергей пишет «Х — отстой», эта мысль означает что «Х имеет существенные недостатки»:)

Обьясните с чем и почему, но сначала убедитесь что ваш оппонент действительно это говорил"Design patterns вообще адский отстой "" Сторонники методологий поголовно несут ахинею. Лгут ли они сознательно или просто с головой непорядок не имеет никакого значения, просто смотришь на это и только у виска покрутить можно. "" C — полный отстой.«Это ваши высказывания из предыдущих постов. Не я их выдумал.Обьяснить в комментах тяжело. Из за «впадло детально обьяснять» общение в данном месте переходит в словесную эквилибристику. Тут хотя бы нужно форум с нитями. А лучше всего пообщаться в ОпенСпэйсе, который является детищем Agile, который вы так сильно не любите.- Можно сколько угодно соревноваться во вспоминании имен авторитетовА вообще кто такие эти ваши авторитеты Yossi Kreinin и Phillip J. Eby? Я из адептов Питона никого кроме Гвидо не знаю. Чего-бо я не могу нагуглить никаких упоминаний о их заслугах или авторитете или ссылок на них других авторов и.т.дЗато нашел я статью — C++: a bigger pile of shite. А питон понимаешь с TCL — центр мироздания. Если я правильно понимаю перевод этой фразы, то пусть катятсяэти злобствующие питониста к чертовой матери.Это статьи ихние дерьмо. Нафига так категорично? Насчет Design Pattern — я считаю оштбочным утверждение, что паттерны теряют актуальность в динамических языках. Посмотрите на Groovy — его прообразом был питон.Но в решениях на нем часто используют шаблоны. Да и шаблоны бывают разные, не только Core, а и еще, к примеру Enterprise. Читайте «Enterprise Design Patterns» — настольная книга Java и.NET разрабов от Мартина Фаулера и пусть бросит в меня камень тот, кто считает, что это все чушь.

Андрей, для определенных задач он лучший, это очевидно. Но, как и везде, лучший не значит даже хороший. Чтоб привести какой-то пример, чисто для ориентира, представьте лучшее кафе Кабула — оно совсем не обязательно хорошее. То что на чем-то что-то делают не обязательно значит что это достаточно хорошо, а скорей то, что лучше там ничего нет или еще ряд возможных причин. Я так думаю заявление что «С — отстой» воспринимается в штыки потому что кажется что это какое-то отрицание его заслуг, полезности, нужности итд, это не так. Си принес не только пользу, но он также приносит много бед, причем во многом не по вине самого дизайна языка, а той роли которую он исполняет. На этом надеюсь можно сойтись? Также я не хочу обидеть тех у кого С основной инструмент, например я во многом полагаюсь на wx, и к сожалению ничего лучше в этой нише нет (может разве qt), но я же первым скажу что wx — отстой.

очень долго обьяснять почему живучесть Си не делает его хорошим языком.

Аналогично, тот факт, что на C код получается не такой «красивый», как на том же python, не делает его плохим языком. Если на С пишут, значит он достаточно хорош для определенного рода задач.

Не знаю, в тему ли: Интервью с киевским Яндексом:

Какой процесс разработки программного обеспечения используется и почему (RUP, MSF, CMMI, что-то своё)? В Яндексе много собственных инструментов для управления разработкой. Их использование — не догма, в первую очередь ведь нужно, чтобы разработчикам было удобно работать и проекты делались.

Ярослав, очень долго обьяснять почему живучесть Си не делает его хорошим языком. Еще дольше обьяснять почему Керниган и Ричи могут быть очень умными или наоборот вне зависимости от того хороший ли язык С. Также я уже задолбался разграничивать что было сказано, а что было додумано возражающим. Можно сколько угодно соревноваться во вспоминании имен авторитетов — это не просто ничего не показывает, это вообще отношения к делу не имеет. Вы с чем-то не согласны? Обьясните с чем и почему, но сначала убедитесь что ваш оппонент действительно это говорил.

—Си — древний никудышний язычок, который к сожалению никуда уже не денется. Мало того что в его парафии ничего лучше нет, так на нем же пишут еще очень много чего для чего он мало годится. Тому есть обьективные причины, но среди них нет того, что язык хороший.С всегда будет, даже тогда когда, питон издохнет. Хотя бы потому, что сравнимых с ним в производительности нет.Жаль, похоже, динамические языки десвуют на неокрепшие умы развращающе.Я бы поспорил с с вами предметно о ценности XP и фрэймворков, например Spring в Яве, но, боюсь, комменты не место для этого.Поэтому, разрешите о другом.Сергей, можно поинтересоваться, ваши основные разработки на питоне и относятся к вебу? И работаете вы в основном сам или с небольшой групой? И проекты скорее всего у вас небольшие? Работали ли вы с проектом, который длится 10 лет? Было ли у вас в команде одновременно 20−30 разработчиков которые приходили и уходили? 50 млн. кода? Несколько разных серверов баз в связке? Были ли у вас сотни техзаданий в неделю? Если вы говорите, что С ерунда, то это значит что вы считаете что Керниган и Ритчи глупцы.Если вы считаете что Agile — это ахинея — значит миллионы индийских и китайских разработчиков просто дураки с Кент Беком и Майком Коном вместе взятыми.Если вы говорите что CMMI (MSF, RUP) ненужная ерунда — значит Майкрософт, IBM лет 15 страдают ерундой.Если вы говорите, что Design Patterns — не нужны. Значит никому не нужны десятилетия консультативной работы Ериха Гаммы и Мартина Фаулера на ThoughtWorks в ведущих американских компаниях.Значит вы не уважаете десятилетия практического опыта и математических иследований людей, миллионы программных подуктов, которые стоят за этими технологиями. А тут и рукой подать до того чтобы назвать никудышными Неймана, Кнута, Тьюринга, и.т.д. Если эти имена кому-то ничего не говорят, то нужно не питон учить, а для начала что-то другое.Не много ли вы на себя берете? Повторите ли вы вышесказанное? Если да, то с вами просто не о чем говорить. Вы живете в своем мире, не видя сотни направлений и метолологий в программировании. Не видя огромный сегмент корпоративных приложений.

@bialix, 2008й год на дворе, Си — древний никудышний язычок, который к сожалению никуда уже не денется. Мало того что в его парафии ничего лучше нет, так на нем же пишут еще очень много чего для чего он мало годится. Тому есть обьективные причины, но среди них нет того, что язык хороший.Насчет размягчения мозга, у меня другой опыт, после многолетнего перерыва в течении которого писал только на Python пришлось снова писать на Си и код на нем стал гораздо лучше.

2Щетинин: после таких заяв:

Вот например C — полный отстой, а хоть как-то его знать нужно обязательно, а кое-где приходится даже применять.

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

В чей адрес было вот это возражение?

Это было в адрес вашего заявления что если есть тесты, то ничего не поломается.

Не являюсь адвокатом паттернов, но согласитесь что «паттерны — отстой» или «вот в этом смысле паттерны — отстой» совершенно разная смысловая нагрузка.

Кхм, точнее сказать вообще «паттерны программирования в своем изначальном смысле — отстой», смысл термина расползся и потому нужно было уточнять. Кроме того нужно наверное пояснить что я понимаю под «отстоем», чего я точно не имею в виду, так это то что их не нужно знать. Вот например C — полный отстой, а хоть как-то его знать нужно обязательно, а кое-где приходится даже применять. Возвращаясь к теме, в своем фанатизме сторонники проявляют размягченность своего мозга, т.е. если человек может всерьез говорить некоторые вещи (см. цитаты в статье), то это ставит под вопрос абсолютно все его заявления. Сторонники методологий поголовно несут ахинею. Лгут ли они сознательно или просто с головой непорядок не имеет никакого значения, просто смотришь на это и только у виска покрутить можно. Вот если найдется кто-то со сбалансированной точкой зрения на вопрос, но всё же сторонник той или иной методологии, вот его почитать будет интересно, а пока что такие не попадались. Да и есть вполне разумные доводы в пользу того что таких на самом деле нет. Например agile и пересмотр требований, опять таки корни похоже в менеджеризме — общается значит командир с заказчиком, тот от него чего нибудь требует, а что стоит согласиться? Да ничего. Зато так здорово — с вот этими важными людьми хорошие отношения! А то что в итоге проект просран, програмисты держат за получеловека итд, так это они козлы, а методология хорошая) С учетом того что ничего не было документировано, так тем проще остаться всему в белом итд. А в книжках эта вся подоплека проскакивает в виде феерических «I like to program with someone new every couple of hours» итп.

Тогда я тоже не понимаю:

...отвечу просто контрпримером. Вот представьте человека который написал очень много тестов, но... это как раз отличный пример того о чем я говорил раньше: «они всерьез в это верят?! »

В чей адрес было вот это возражение?

Разные приемы знать надо, но составлять канон «как правильно» — дурь.Применять приемы которые XP ставит во главу угла не то же самое что пользоваться XP, опять таки в комментариях к статье об этом говорилось

Вот с этого все и началось. Можно прочитать Extreme Programming Explained и увидеть там советы использовать те же тесты, и т.п., а можно кричать что книжка отстой, потому что она содержит сплошные религиозные заявления «увольнять всех еретиков».Я именно это и хотел сказать. «В комментариях говорилось» — значит статья плохо написана, раз приходится ее еще дожевывать в камментах.Не являюсь адвокатом паттернов, но согласитесь что «паттерны — отстой» или «вот в этом смысле паттерны — отстой» совершенно разная смысловая нагрузка.Как я понимаю, мы спорим не про нужностьи полезность тестов/ХР/методологий, а о том что намой_взгляд_ статья слишком драматизирует фанатизм ХР и пытается навязать мнение, что следовательно ХР — сплошной отстой. И именно этим переходом: «фанатизм-ошибка», «книга про ХР местами пропагандирует фанатизм», следовательно «ХР большая ошибка» — статья плохая.И второй момент:, а он пробовал? честно пытался проникнуться? (я Карузо не слышал, но мне Рабинович напевал). Это второй момент который сразу бросается в глаза.Вот так я прочитал пост Ёси.Мне не нравится форма, из которой ИМХО очевиден «теоретический» подход и акцент на мысленные эксперименты. И я считаю что такой подход не может привести к правильным выводам.Извините, если я неточно формулировал свою критику.

Или нужно сделать вывод, что тесты — пустая трата времени, лучше б он сидел без них?

Продолжается отсебятина. И я и Ёся и Филип (независимо конечно) пользуемся в своей работе тестами, они полезные, они помогают. В чей адрес было это возражение?

Пожалуйста: возьмем пример с VHDL — нельзя ломать чужой код, значит ХР тут не катит.Во-первых, если есть нормальные тесты — ты ничего не сможешь сломать, ведь сразу увидишь какой тест запорол. «Не зачет».

Так или не так? Панацея тесты или нет? Если не панацея, то в чем тогда возражение тому что не нужно давать любому ломать любой код? «Когда дорастете» пожалуй было лишним, извините, я к тому что как-то не встречались люди которые одновременно а) писали сложные системы б) серьезно относились к методологиям. Разные приемы знать надо, но составлять канон «как правильно» — дурь.Применять приемы которые XP ставит во главу угла не то же самое что пользоваться XP, опять таки в комментариях к статье об этом говорилось:

Regarding taking what works from methodologies — sure, the way secular laws or morality are not unlike religious laws, and you can see holy scriptures quoted at times in «secular wisdom»... I’m going to use the quote about overproduction being the greatest waste myself, and it’s from the book (although itself some Toyota-related quote).I just don’t want to be anywhere near a religion or a methodology in its full glory.

Про паттерны вы вообще как, читали книжки или что? Вот double dispatch — есть задача и есть решение. Как паттерн double dispatch это подсказка как организовать классы в ригидном языке так, чтобы это задачу можно было начать хоть как-то решать. Абсолютно точно так же как с паттерном «итератор» — он решает не задачу, а неудобство языка. А как задачи те же factories, commands итд в описании не особо нуждаются, точно так же как не нуждается в них задача «вызов подфункции», вот в этом смысле паттерны — отстой.

Вы говорите «не прав», но ленитесь объяснять, где именно.

А что мне обьяснять? Что «никто не может придумать ничего лучше чем» автор не утверждал? Что отсутствие тестов автор назвал преступлением и нигде у него не было «тратят время на бсполезные тесты, а не на продукт»? Что кондиционеры ни при чем? Просто придерживайте свое мнение если не можете хотябы нормально TFA прочитать.

баги которые надо было править не только в коде, но и в тестах. И это всё при том, что человек — единственный кто работает над этим кодом. Если ваше мнение о ситуации что программисту «незачет»,

Человек где-то ошибся, не досмотрел — с кем не бывает. Даже с великим PJE. Или нужно сделать вывод, что тесты — пустая трата времени, лучше б он сидел без них? Быстренько написал, быстренько вручную протестил весь функционал, потом быстренько подправил, опять вручную все быстренько потестил.Почему тут виноваты только тесты? Может виновата ОС, или фреймворк, или ООП, или (не дай бог) язык??? Не существует такого подхода или инструмента, который сам заставит все предусмотреть, ни разу не ошибиться. (Если есть — урл в студию, мне правда очень эта вещь нужна, ASAP)

Когда дорастете...

Хороший аргумент, согласен. Вы жизнь прожили, Вы знаете.

вы не поняли о чем говорит Ёся.

Так он все-таки писал парами? Почему-то об этом не упомянул в статье. Сначала применял ХР, а потом прочитал книжку, что это такое, и как это рекомендуют делать те, у кого получилось извлечь из ХР пользу.Про паттерны — хорошая ссылка, все по сути. Без красноречивого раздувания отдельных _не_ключевых_ отрывков.

many patterns aren’t really addressing recurring design problems in object-oriented programs; they are actually addressing deficiencies in object-oriented programming languages

Первое слово — «many», а не «all», а вы пишите «Design patterns вообще адский отстой» — "straw man argument«отсебятина??? Статья не о том, что паттерны отстой, а о том, что:

The correct place to implement a common solution to a recurring design problem is in the programming language, if that is possible.The stance of the «Design Patterns» movement seems to be that it is somehow inevitable that programmers will need to implement Visitors, Abstract Factories, Decorators, and Façades.

Или я и тут ничего не понял?

Может как-нибудь дойдут

...но тут и без того богато

Вы говорите «не прав», но ленитесь объяснять, где именно. Неправильно и точка. Я возможно и сам таким грешу, но с таким подходм этот спор никуда не приведет.

Я так смотрю аргументы приводить не в моде, поэтому отвечу просто контрпримером. Вот представьте человека который написал очень много тестов, но часть из них оказалась тестирующими имеющееся поведение, которое на самом деле неверное, также часть комбинаций осталась непокрытой и поэтому в будущем обнаруживались баги которые надо было править не только в коде, но и в тестах. И это всё при том, что человек — единственный кто работает над этим кодом. Если ваше мнение о ситуации что программисту «незачет», то это как раз отличный пример того о чем я говорил раньше: «они всерьез в это верят?! », потому что программист о котором я писал — PJE.Когда дорастете работать с задачами решенными до вас менее ста тысяч раз, то станет ясно методологии ваши блажь и может даже станет немного стыдно за былую наглость.Design patterns вообще адский отстой. Может как-нибудь дойдут руки составить на потеху публике список «как определить некомпетентность интервьюирующего», почетное первое место зарезервировано для «1) вас спросили знание паттернов и упомянули синглтон».И еще раз обращу ваше внимание на то, что вы не поняли о чем говорит Ёся. Комментарии чтоли прочитайте хотябы, вот например:

To DGentry: myself, I always liked working in pairs, [...]. However, (1) that it’s fun doesn’t mean that it doesn’t decrease productivity and (2) that it’s fun to me doesn’t mean it’s even tolerable for other equally or more productive people and (3) 1 and 2 aren’t compatible with the firing practices advocated by XP.

(Отсебятина это когда кто-то опровергает то чего никто и не утверждал, «straw man argument», но тут и без того богато)

что есть отсебятина? автор не пробовал ХР на практике, вся его критика — «я не ел ананас, но судя по внешнему виду и запаху у него вкус отстойный». Не знаю как цитатами это показать — не всю же статью копипастить...

Это вечная менеджерская мечта о том что правильная организация труда заставит и обезьян сделать конкурентноспособный продукт. Иначе ведь все решает компетентность работников, а не то какой менеджер умный. Ну не хотят менеджеры быть обслуживающим персоналом и всё тут.

Никто не говорит, что правильная организация — панацея, но ИМХО в любом деле есть вещи, которые непосвященному кажутся неудобными или неэффективными, или вредными. И не попробовав не узнаешь, хорошо оно или плохо.Я, к сожалению, далеко не менеджер. А книги по методологии думаю должны читать именно программисты, не реже чем по языкам, алгоритмам и патернам.Нужно ближе к делу, без отсебятины? Пожалуйста: возьмем пример с VHDL — нельзя ломать чужой код, значит ХР тут не катит.Во-первых, если есть нормальные тесты — ты ничего не сможешь сломать, ведь сразу увидишь какой тест запорол. «Не зачет».Во-вторых, сложные взаимодействия регистров — это и есть «big hairy program» (а вот и цитата: -Р) в пределах одного модуля. Не только ХР ими грешит, но и авторские контрпримеры.Я не програмирую парами — просто не с кем. И тестов у меня меньше, чем кода.Кто из здесь присутствующих пытался проникнуться ХР «по-настоящему»? Так чтоб минимум 2 месяца без читерства следовать всем догмам ХР? Если нет — в праве ли он теоретизировать, что это х%ня? Если есть кто-то, кто по-честному через это прошел и может поделиться негативным опытом — тогда я конечно обломаюсь и заткнусь.Но в статье нет таких доводов, только размышления, потому она мне не нравится.Много бла-бла-бла про бессмысленность «best practices»? Так можно теоретизировать и показать, что design patterns тоже отстой — надо свои задачи решать, а не учить решения проблем, с которыми столкнулись разработчики GUI на SMalltalk.Много бла-бла-бла про то, что парами пишут в два раза меньше кода и тратят время на бсполезные тесты, а не на продукт? Помните тут был перевод статьи про анти-паттерны? Коммандос, Авральный Метод, Визитор из Ада — они ведь тоже на первый взгляд ускоряют работу, но все знают, что это боком вылезет. Почему никто там не теоретизирует? Все тут ИМХО сводится к мысли «я сижу в своей пещере и придумаю тысячу причин, почему я самый умный, и почему необходимо убить любого, кто посоветует кондиционер».Никаких перемен, ведь от них только разруха — вот ключевая позиция, так? Я с этим не согласен.Вот так я прочитал эту статью про ХР. Сплошная философия, и никаких практических результатов, никаких полевых испытаний. Точно так же я могу попустить Питон за отсутствие проверки соответствия типов на этапе компиляции, за некрасивые init (), за выделение блоков пробелами без фигурных скобок, за производительность хуже чем в С.Что мне возразят? Спросят сколько строк я написал на питоне. Какие задачи я на нем решал.Извините за флуд.

Ну как... чтобы предметно возражать нужно чтобы было на что возражать, а вот смотришь на заявления XP и думаешь, «что, кто-то воспринимает это всерьез? » Ёся хотя бы прямые цитаты приводит, а pako отсебятину несет.Это вечная менеджерская мечта о том что правильная организация труда заставит и обезьян сделать конкурентноспособный продукт. Иначе ведь все решает компетентность работников, а не то какой менеджер умный. Ну не хотят менеджеры быть обслуживающим персоналом и всё тут.

Забавно что вам не понравилось про XP.;) Не хочу флеймить тут, вот запустим форум — можно будет поспорить. Мне вот позиция автора близка.

Статья yosefk по поводу ХР показалась натянутой. Кажется, що у блоггера какая-то религиозная нелюбовь к agile.

А мне про XP вообще не понравилось.Звездеть-то каждый может, но единственный дельный аргумент — Conway’s Law, и тот сомнительный.Способ изложения не очень — так много тексту и так мало мысли (та знаю, знаю — это не вода, а понятный язык, много примеров и сравнений с другими областями).Против раздутых до религии хороших идей ХР он выдвигает свою религию — «любая методология отстой, никто не может придумать ничего лучше чем тот „процес“, который мне удобен, я его еще в школе изобрел».ИМХО слабо.Есть в Киеве конторы, которые используют «чистый» ХР, а не «что-то среднее между RUP и ХР»???

вау, линкдамп с полезной информацией...

У yosefk оказалось дофига хороших статей, вот например глас разума: http://www.yosefk.com/blog/red...

Предлагаю принимать решения к вопросам на собеседовании только на лол/факе!!! Сразу станет видно кто слишком гордый, а кто тру програмер!

У настоящих асов программирования есть свои любимые инструменты, например BrainF*** interpreter in LOLCode

Awib — оптимизирующий компилятор для брейнфака, который написан на брейнфаке.

Подписаться на комментарии

Ctrl+Enter