На главную страницу AlgoNet В сотрудничестве с ZDNet
АРХИВ СТАТЕЙ 2005-4-25 на главную / новости от 2005-4-25
AlgoNet.ru
поиск

 

Место для Вашей рекламы!

 

Все новости от 25 апреля 2005 г.

Разработчики open source подают «проблеск надежды»

Эксперт по программному обеспечению утверждает, что качество ПО снижается везде, за исключением сектора open source, однако другие настаивают на том, что проприетарное ПО по своей природе ничуть не хуже.

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

Джеймс Коплиен, эксперт в области разработки ПО, который сейчас работает архитектором объектов в американской софтверной компании DAFCA, сказал в интервью на конференции ACCU в Оксфорде, что пока потребители не начнут требовать более высококачественного ПО, софтверная индустрия вряд ли изменится.

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

Единственный сектор индустрии, где люди все еще гордятся качеством программного обеспечения, по мнению Коплиена, это сообщество open source. «Единственным проблеском надежды остаются те, кто говорит: „Смотрите, мы напишем замечательное ПО и отдадим его даром”, — иными словами, движение open source. Я снимаю шляпу перед этими людьми. Linux — один из примеров программного обеспечения высочайшего качества».

По словам Коплиена, есть много причин, по которым у ПО open source качество лучше, чем у проприетарного ПО. Коллективный труд программистов в сочетании с центральной группой разработчиков проекта open source — лучший способ создания надежных ИТ-систем. «Безопасность — это системное понятие, сложная система. Как природа поступает в случае сложных систем? Каждая клетка делает свое дело. Взаимодополняющие, независимые, бескорыстные вклады тысяч индивидуальностей позволяют решать системные проблемы — тысячи людей делают систему более надежной. Без координации это не работало бы, но есть ядро — центральная группа разработчиков».

Однако другие эксперты, выступавшие на конференции ACCU, не согласны с тем, что ПО open source часто превосходит по качеству ПО с закрытым исходным кодом. Создатель языка С++ Бьорн Страуструп, который сейчас работает в Техасском университете, сказал, что качество ПО open source не всегда лучше. «Open source — хорошая идея, но не любой код open source одинаково хорош. В мире не-open source тоже есть примеры отличного кода. Например, посмотрите на код, разработанный для программы Mars Rover. Он отработал на Марсе 15 месяцев и сделан так, что все ошибки устраняются дистанционно».

Коплиен утверждает, что ПО open source лучше тестируется, так как на него обращено «больше глаз», и люди заинтересованы в том, чтобы найти ошибки. «Если мне удастся найти ошибку в Linux, этим можно гордиться всю жизнь. В Linux-сообществе найти ошибку почитают за честь», — сказал он, добавив, что разработчики open source заинтересованы в создании превосходного кода, так как знают, что за ними наблюдают многие другие.

Однако безопасность программного обеспечения open source — спорный вопрос. На этой неделе один из мэйнтейнеров ядра Linux Эндрю Мортон сказал, что недостаток «доверия, или денег, или чего-то там еще» для тех, кто тестирует операционную систему с открытым исходным кодом, может угрожать ее долгосрочной стабильности.

А профессор по технике безопасности Кембриджского университета Росс Андерсон заявил на конференции ACCU, что ПО open source по своей природе не является более безопасным, чем ПО с закрытым исходным кодом, так как хотя пользователям, когда в их распоряжении есть код, легче находить и устранять уязвимости, это же помогает и злоумышленникам.

Однако когда вводится асимметрия, которая дает нападающим или защищающимся дополнительное преимущество, это влияет на относительную безопасность ПО с открытым или закрытым кодом. К факторам, которые способствуют снижению уровня безопасности закрытого кода, Андерсон относит коммерческие факторы, когда компания не исправляет ошибок из-за высоких затрат, или маркетинговые факторы, когда компания пытается скрыть информацию об ошибке, чтобы сохранить репутацию.

Исследование Андерсона, посвященное этой проблеме, представлено в виде файла PDF на веб-сайте Кембриджского университета. 

 Предыдущие публикации:
2005-03-31   Торвальдс: «Пусть Linux тестируют чаще»
2005-04-06   Sun критикует популярную лицензию open source
2005-04-21   Торвальдс предложил собственную систему управления проектом Linux
 В продолжение темы:
2005-06-01   ИТ-гигантов обвиняют в эксплуатации движения open-source
Обсуждение и комментарии
Linfan
25 Apr 2005 10:44 AM
Я не знаю за весь софтверный рынок, но приходилось сталкиваться с проектами, в которых сдача через пару дней, а он даже не на уровни бета. В OSS такого нет, но зато скорость написания ниже - в свободное время все-таки... Да и усталость после рабочего дня тоже сказывается... В аутсорсинге штурмовшина - дело регулярное. Чем больше манагер выдавит из девелопера - тем больше заработает.
 

нц
25 Apr 2005 11:09 AM
да в OSS нет сроков сдачи. как заставить уставших людей после работы что-то сваять?
Кстати: http://sourceforge.net/softwaremap/trove_list.php?form_cat=6
 

Zzz..
25 Apr 2005 11:34 AM
"В аутсорсинге штурмовшина - дело регулярное"

потому как планирование через "место"...

P.s.: zdnet, вы так траффик себе подымаете? :)
 

Linfan
25 Apr 2005 12:26 PM
Zzz..:"потому как планирование через "место"..."

не без этого :) + классическая жадность :) сразу же вспоминается газеваген для специфической IT-группы как средство радикального лечения :)
 

Mikhail Elashkin - imhoelashin.com
25 Apr 2005 1:27 PM
Интересный мужик. Классический пример бреда по мотивам.
Я просто обратил внимание, что ни одного факта или доказательства он не привел. Просто он "верит" в то, что так и есть, а фактов для веры не нужно :(
 

eXOR
25 Apr 2005 2:49 PM
2 Mikhail Elashkin:
Если 1000 раз повторить слово халва, то кто-нибудь из 100 слушателей может почувствовать вкус халвы во рту.
 

Mikhail Elashkin - imhoelashin.com
25 Apr 2005 4:20 PM
2 eXOR
Вот к сожалению это очень популярный мотив выбора OSS. Я верю, что это хорошо :(
Я не говорю, что плохо, но выбирать по религиозным соображениям?
 

dr-Wicked
25 Apr 2005 4:32 PM
2 Mikhail Elashkin
Никому примеров и не надо
В статье говорится о тенденции. А она действительно такова, что многие продуктьі OSS стали лучше. Так OpenOffice лучше StarOffice, а FireFox лучше Netscape Navigator. Разработчики Open Source действительно научились управлять проектами. И зачастую более качественно, чем ориентированньіе на Windows en-US локаль проприетарщики.
 

Zzz..
25 Apr 2005 4:56 PM
2eXOR:

а "лимон" - достаточно одного раза, чтобы слюна потекла :)))
 

Михаил Елашкин - imhoelashkin.com
25 Apr 2005 6:40 PM
2 dr-Wicked
Ой, не надо автора кастрировать. Он много чего наговорил:

>По словам Коплиена, есть много причин, по которым у ПО open source качество лучше, чем у проприетарного ПО.
Доказательства есть? Ну покажите мне нормальную работу, где нормально сравнивается качество ПО коммерческого и OSS, а не говорится, что "я так чувствую".

>Коллективный труд программистов в сочетании с центральной группой разработчиков проекта open source — лучший способ создания надежных ИТ-систем.
Серьезно? Ну назовите мне очень надежную OSS. И пожалуйста расскажите какие доказательства этого.

>«Безопасность — это системное понятие, сложная система. Как природа поступает в случае сложных систем? Каждая клетка делает свое дело. Взаимодополняющие, независимые, бескорыстные вклады тысяч индивидуальностей позволяют решать системные проблемы — тысячи людей делают систему более надежной.

Ну это из серии про миллион обезьян за печатной машинкой.
Дикая смесь - вместо доказательств используются эмоциональные эпитеты "бескорыстные", "индивидуальности" в противовес "кровососам корпоративным"? И далее основываясь на эмоциях как на факте вывод - ну не могут такие бескорыстные бойскауты сделать плохую систему.
Кстати, есть такое слово "демагогия", которое определяется как обращение к "эмоциям и чувствам толпы" вместо фактов.

PS Еще раз дисклеймер. Я не говорю, что OSS по своей сути отстой. Вопрос в том, что его сторонники практически не приводят фактов.
 

VicTor
26 Apr 2005 12:32 AM
2 Михаил Елашкин:

>> По словам Коплиена, есть много причин, по которым у ПО open source качество лучше, чем у проприетарного ПО.
>
> Доказательства есть? Ну покажите мне нормальную работу, где нормально сравнивается качество ПО коммерческого и OSS, а не говорится, что "я так чувствую".

А вы вообще много видели за последние годы серьёзных исследовательских работ, посвящённых проблеме качества кода? Или анализу алгоритмов? Работ, в которых обосновывались бы и методики измерения качества кода, и единицы измерения этого качества, и приводились бы реальные результаты исследований?

Хотелось бы надеяться, что ошибаюсь, но по-моему последние работы на эту тему датированы началом 80-х годов прошлого века, когда перед программистами ещё стояли задачи по оптимизации кода, поскольку труд программиста был дешевле машинного времени (ну или хотя бы соизмерим с ним). А потом взрывное развитие аппаратных средств IT привело к тому, что эти работы перестали быть востребованными. Для бизнеса стало дешевле вкладываться в аппаратуру, чем в мозги программистов. Корявый экспоненциальный алгоритм, едва применимый в сегодняшних условиях, будет давать вполне приемлемые результаты на аппаратуре завтрашнего дня примерно за те же деньги. Коряво написаный код, жрущий память, как свинья помои, и не влезающий на средних задачах в нынешние стандартные мегабайты, будет вполне презентабелен завтра на гигабайтах. То же касается и дисковых подсистем, да и всего остального. Нет нужды писать программы хорошо, красиво и экономно (с точки зрения программирования), есть задача сделать быстро (пусть даже и кое-как).

Так что работ таких скорее всего не будет на практике, поскольку теория похоже умерла. Ну и кроме того, чтобы сравнивать проприетарный код со свободным, надо хотя бы иметь свободный доступ к проприетарному коду :)
 

EygeneP
26 Apr 2005 12:40 AM
Gluposti vseo
1. Nikto bez bagov ne pishet
2. Vezde bili est i budut bagi, kakoey bi eto ne bilo OSS ili Commercial
3. Bug vech chisto lichnaya psihologicheskaya

Koroche mozhno bez kontza, mogu privesti analogiu slov v stat'e s selskogo hozyaystva
"kto bolshe nadoet zhinih komochkov v moloke toy zhe korovi, programmist OSS ili programmist Commerecial" :) esli ya ne prav popravte
 

VicTor
26 Apr 2005 12:58 AM
2 EygeneP:
Качество кода измеряется отнюдь не багами.
 

EygeneP
26 Apr 2005 1:01 AM
2VicTor
V konechnom schete imenno functional i performance bugami
 

Не Лох
26 Apr 2005 1:12 AM
2 Михаил Елашкин

>>>Ну назовите мне очень надежную OSS. И пожалуйста расскажите какие доказательства этого.

Apache, Tomcat, JBOSS, Eclipse, Zope, Plone

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

 

Не Лох
26 Apr 2005 1:12 AM
В догонку

Hibernate, Spring, Tapestry
 

Не Лох
26 Apr 2005 1:15 AM
Продолжаем:

Python, Jython, NHibernate, Ruby

Про MySQL и Interbase говорить не буду просто потому что не использую их.
 

Не Лох
26 Apr 2005 1:17 AM
Доказательства надежности - ежедневная и бесперебойная работа перечисленных мною продуктов на протяжении многих месяцев или лет.
 

EygeneP
26 Apr 2005 1:18 AM
Nu pro Python i osobenno Jython ne nada, nakushalis etogo :)
 

VicTor
26 Apr 2005 1:19 AM
2 EygeneP:
Количество багов в программе есть величина постоянная (вспомним незабвенное "исправлены старые ошибки, добавлены новые") и характеризует не код, а кодописателя (например, грамматика постов человека с ником Black-что-то-с-чем-то характеризует именно его как писателя под каким бы ником он не прятался :)
 

Хрю
26 Apr 2005 1:49 AM
2VicTor"
Вот именно. Для того, чтобы сравнивать нужна а) методика замеров; б) сопоставимые выборки.
Второго нет.
А первого... не то чтобы нет, хуже того, оно _не_нужно_ самим утверждающим (независимо от позиции). У них другая задача - утверждать.
Задачи _доказывать_ утверждения давно ни у кого нету.

"...поскольку теория похоже умерла..."

Ну еще бы....
 

MOHTEP
26 Apr 2005 4:19 AM
Чтобы качество измерять методика не нужна. Это вопрос вкуса, вернее - брезгливости. Нормальных людей от этой кухни мутит, а вот такие как "не дох" - жуют да нахваливают. Даже гордятся - смотри какое г..но калорийное - годами "работает".
 

Михаил Елашкин - imhoelashkin.com
26 Apr 2005 7:58 AM
Времени нет на развернутый ответ. Поэтому если критерием является "работа годами без ошибок", то я тоже назову абсолютно безглючный софт - это калькулятор встроенный в Винды - ни разу не глюкнул сколько пользуюсь им :)
 

rezuq
26 Apr 2005 8:32 AM
LOL! Сравнил сложность какого-нибудь gcc и калькулятора:)))
 

Black Bat
26 Apr 2005 8:41 AM
to VicTor:

качество кода измеряется в том числе и количеством багов! (по стандарту ISO нужно вроде не более 10 на 1000 строк кода)
 

Linfan
26 Apr 2005 10:03 AM
EygeneP: Ты мил человек на Питошу бочку -то не кати. Это язык хороший. Ничем не хуже Жабы. Просто некоторые криворуких дел мастера почему-то его под Выменем юзать пытаются, а он ведь для *nix написан. Наличие и качество виндозного порта - не критерий. Gtk в Виндозе глючит безбожно и большинство из-за этого считают, что GIMP напр. корявая и глючная поделка. Хотя оригинал и в глаза не видели, только виндузячий порт.
 

Linfan
26 Apr 2005 10:07 AM
А Jython - ето непонятное создание, типа для писания на Питоне с использованием Свингаря. Нафиг? уж проще на Жабе корячиться...
 

fi
26 Apr 2005 12:55 PM
да, да "калькулятор встроенный в Винды" -)) Это тот самый, который многие годы 2x2 с ошибкой считал? ;-)))
 

fi
26 Apr 2005 1:00 PM
то Михаил Елашкин
У меня тоже мало времени на развернутый ответ, но если коротко: Вы не правы! Сказывается профессиональная деформация маркетолога.
 

Михаил Елашкин - imhoelashkin.com
26 Apr 2005 1:20 PM
2 fi
можно еще короче :)
вы неправы во всем. сказывается возросшая солнечная активность.
 

Tolik
26 Apr 2005 2:42 PM
Как всегда, взявшись спорить со специалистом (аналитиком рынка) неспециалисты (программисты) понесли чушь.

Для начала советую договориться о понятии "качество". Например, входит ли в него, для конечного потребителя составляющая "сроки поставки". Разговор станет чуть предметнее.

 

Tolik
26 Apr 2005 2:59 PM
В принципе, всю статью можно свести к тезису, что программист, который пишет не спеша совершает меньше ошибок, чем такой-же, но в условиях прессинга по срокам.

Равно (не имея доказательств) можно медитировать на тему, что зато коммерческий разработчик имеет лучшие условия на работе, что в серьёзной компании-разработчике есть специально обученные тестеры, есть правильнее организованный процесс разработки, методики и т.п.

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

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

Linfan
26 Apr 2005 4:20 PM
Tolik: "коммерческий разработчик имеет лучшие условия на работе, что в серьёзной компании-разработчике есть специально обученные тестеры, есть правильнее организованный процесс разработки, методики и т.п."
Вы как думаете, OSS пишуть бомжи привокзальные или все-таки профи в свободное от работы время (может даже и твои подчиненные :)? У которых все это есть, а условия дома - всегда лучше :)
 

Tolik
26 Apr 2005 4:24 PM
Дома? Лучше?

У кого дома есть пара-тройка серверов, для разработки? Тестеры? Высокоскоростной выход в интернет? Возможность проверять программу на разных конфигурациях оборудования и с разной перефирией? На свои денги всё это покуать?

Что серьёзное можно разрабатывать на отдельно стоящем писюке? Как моделировать работу в сети и многопользовательскую нагрузку? Серверы для разработки дома он сам администрировать будет?

Жена, дети, пиво, телевизор ...
Это условия для разработки? В таких условиях только утиль шароварный писать и то некрупный.
 

Linfan
26 Apr 2005 4:29 PM
Во первых, смотря ЧТО писать, во вторых, а работа для чего? ;) А в-третьих, у людёв дома ДАВНО УЖЕ локалки с выделенными (пусть и не мощными) серверами. А насчет администрирования, гм... ну не учите дедушку кашлять :) Кому как не линуксоиду, быть админом? Эт виндовознику положено по иконкам мышой тыкать... ;)
 

Linfan
26 Apr 2005 4:31 PM
:))) "Как моделировать работу в сети и многопользовательскую нагрузку?" - а у вас это моделируют 300 китайце, которые такую нагрузку и создают ? :)))
 

Tolik
26 Apr 2005 4:32 PM
Ну, в общем уровень аргументации понятен. Примерно такой же, как бл за деловой софт - лозунги, домыслы, доходим до конкретики - тут же плавный уход в сторону.

Вопрсы понимания качества поребителем софта нам неинтересны, дома программировать лучше, всё ясно
 

Linfan
26 Apr 2005 4:40 PM
"Вопрсы понимания качества поребителем софта нам неинтересны"
Вот объясните, у манагеров свойство слушать самих себя это возрастное, приобретенное или врожденное? Где ЭТО в дискуссии обсуждалось? И схему работы OSS вы вообще знаете? Или для вас есть только ваша конторка, а все остальные Васи Пупкины? Вы б все-таки почитали бы статьи по данному вопросу...
 

Linfan
26 Apr 2005 4:44 PM
P.S. Насчет деловарного софта - посещайте иногда LOR.
"Напомню, OPEN-XCHANGE - свободный сервер для организации совместной работы в организации. Может управлять задачами и расписаниями работ (для конкретного исполнителя и группы), поддерживает базу клиентов, имеет внутренний форум. При наличии MTA и IMAP серверов организует полноценный web-доступ к корпоративной почте."
Если непонятно, то поясняю - ото самое которое у вас почту осблуживает (Эксчендж) только от OSS плюс SharePoint.
 

Linfan
26 Apr 2005 4:47 PM
Да, добавьте к этому из "кедиков" Kontact (типа MS Outlook) - глядишь и не только браузеры заметите :)
 

Zzz..
26 Apr 2005 5:42 PM
2LinFan:

лучше обрати внимание, кто тянет ядро, гномы и кде, mysql и прочие штучки. Фирмы с программистами на зарплате.
 

sm4 - post314mail.ru
26 Apr 2005 5:49 PM
Конечно, такого парка компьютеров , как в музее MS , где имеются все модели , начиная с Intel 8080 ни у кого нет. Но это аргумент не за MS , а скорее против. Тот кто Анаконду для Linux написал , на 3 головы выше. Тут можно вспомнить только сюжетик из старого Ералаша, когда городской , экипированный спинингами, эхолотами, блеснами, приехал в деревню рыбу ловить, а деревенские, с поплавком из пробки и гусиного пера его уделали.
Что касается сверки кода , то , действительно, неплохо бы его увидеть. А в отношении принципов безопасности, положенных в основу ОС , тот тут, господа, очевидно, что не Unix плывет к Windows , а как раз наоборот, Windows, самым бездарным образом, копирует принципы , которые умные люди из AT&T ещё в 1969 придумали.
 

RIK
26 Apr 2005 7:13 PM
2 Linfan
>И схему работы OSS вы вообще знаете?

Я не знаю - а узнать было бы интересно. В частности:

- Как в OSS делается code review?
- Как организовано тестирование?
- Как происходит согласование и утверждение design-specs?
- Кто отвечает за внешние спецификации - сами программисты? Есть ли специальные люди, выполняющие функции Program Manager'ов?

 

Vezyk - vezykyandex.ru
26 Apr 2005 8:22 PM
Это лишь мое мнение:
1. Многих зацепила эта статья и впервую очередь это говорит, о том что она очень актуальна. И здесь важен вопрос - почему... Чем она цепляет... и т.д.
2. В статье по сути затрагиваются вопросы не что лучше nix или win, а всего лишь общие тенденции снижения качества кода с течением времени и для "остроты" взяты 2 известных направления. Я считаю, что если бы автор просто рассмотрел вопрос качества, то его статья оказалась бы голословной (неполноценной)... но весьма точной.
3. В сегодняшнем мире часто неспециалисты диктуют специалистам что делать, как делать и чаще всего результат нужен был еще вчера, и о вопросах качества начальники говорят... что-то не припомню...
4. Качественную программу можно разработать практически на любом языке программирования.
Не напрягайтесь, сколько людей столько и мнений, а если кто хочет самостоятельно статью написать, так нынче это не проблема )))
 

Linfan
27 Apr 2005 10:06 AM
Zzz..: Голые системы никому не нужны. А работает пользователь с продуктом как правило третьей стороны. Тот же кде - не будь kde-apps, кому б он нужен был? Мертвых оконных менеджеров - море. И опять же KDE - некоммерческая организация. Эт так сказать высокого уровня организации OSS тим. Но например для написания какого-нибудь англо-русского словаря такая контора не нужна.
 

Linfan
27 Apr 2005 10:21 AM
RIK:
От размера тима. Если одиночка - сам себе режисер. Маленькая группа уже автоматически подразумевает наличие Project Leader.
Большие тимы (напр. KDE) с юридическим статусом ничем не отличаются от обычных компаний среднего уровня. Кстати Skull может подробнее рассказать - у него опыт больше :).

"- Как в OSS делается code review?
- Как организовано тестирование?"
Как правило в коммерческих проектах наружу вываливают релизы. В OSS - это больше похоже на снапшоты (версии <1.0). Хотя некоторые коммерсанты такую лажу гонят... 1.0 часто больше на снапшот похож, который более менее стабилен.
Если продукт завоевал признание и созрел до уровня релиза, он проходит стадию RC1, RC2 и потом уже релиз. Тестит как правило коммюнити, которое этот продукт уже использует. Вот и все отличия. А в остальном - все тоже, что и в коммерческих компаниях. Не марсиане же OSS пишут. Может я в чем-то не прав. На абсолютную истину - не претендую :)
 

VicTor
27 Apr 2005 10:45 AM
Ну что ж, попробуем рассеять дым над полем сражения :)

2 Не Лох:
> Доказательства надежности - ежедневная и бесперебойная работа

Но это отнюдь не характеристика качества кода, это характеристка вашей конкретной вычислительной системы (среды), где крутится этот код. При изменении характеристик среды - всё может пойти прахом. Очень яркий пример - это смерть клипперизма (мир праху его! :) ), который окончательно добило превышение процессорами отметки 133 МГц.

2 Black Bat:
> качество кода измеряется в том числе и количеством багов! (по стандарту ISO нужно вроде не более 10 на 1000 строк кода)

Вы ошибаетесь. Стандарт ISO гарантирует, что при соблюдении технологий, предлагаемых стандартом, с вероятностью больше X на каждые Y строк будет не более Z ошибок. Но это опять же не характеристика качества кода, это характеристика технологии.

Ошибка - вещь случайная и как правильно написал EygeneP: "3. Bug vech chisto lichnaya psihologicheskaya" и к характеристикам качества кода не имеет отношения. Хотя портят кровь именно ошибки :) Но вы же не планируете ошибки на стадии разработки, не управляете их появлением, вы можете только надеяться, что данная группа разработчиков при соблюдении стандарта допустит их не больше нормы, а вот качество кода - вещь вполне управляемая.

2 Tolik:
> Для начала советую договориться о понятии "качество". Например, входит ли в него, для конечного потребителя составляющая "сроки поставки".

В своё время неспециалисты (программисты) специально для специалистов (менеджеров) написали несколько знаменитых книжек, например, "Мифический человеко-месяц" и "Смертельный марш". Советую. Вопросы о сроках, бюджете и качестве, кто ими управляет и чем жертвует в первую очередь, там описаны так, что понятно даже менеджеру.

> Никому оно отдельно взятое "качество кода" не нужно.

Вот и оценивается работа программистов с помощью категорий, "данных в ощущениях", а не с помощью объективных методов. И оценки прямо противоположные от "И увидел он, что это хорошо!" до "Да ви посмотрите на этот мир и на ЭТИ БРУКИ!" :)

 

Zzz..
27 Apr 2005 11:06 AM
2LinFan:

"Тот же кде - не будь kde-apps, кому б он нужен был?" Это что за apps? QT - знаю, Konqueror - знаю, kde-apps - не знаю :)
 

Skull - sibskullmail.ru
27 Apr 2005 11:25 AM
2VicTor:
> Очень яркий пример - это смерть клипперизма (мир праху
> его! :) ), который окончательно добило превышение процессорами
> отметки 133 МГц.
Правда? А я думал, что он умер, поскольку CA облажалась с Visial Objects и потихоньку забила на Clipper. :)
Вообще-то хорошие идеи переживают своих создателей. :)
 

VicTor
27 Apr 2005 11:51 AM
2 Skull:
> Правда? А я думал, что он умер, поскольку CA облажалась с Visial Objects и потихоньку забила на Clipper. :)

Я не об ошибках менеджмента CA, а о том, что переход через 133 Мгц разом поставил точку на всех имевшихся и работавших на то время приложениях. Костыли для ClipperTools, конечно, были придуманы, а вот приложения с FastPro и FastTools кончились одномоментно.
 

Linfan
27 Apr 2005 1:27 PM
Zzz..: "kde-apps - не знаю "
гм... можно было бы и додуматься, что в конце надо добавить ".org" и сходить туда :)
 

sm4 - post314mail.ru
27 Apr 2005 5:30 PM
А что-же тогда понимать под качеством кода? Это же не просто набор смысловых, синтаксических, физических ошибок.
Здесь правильно поднимали вопрос об американском и европейском стилях программирования. Перечитайте Ершова и того же Кнута. Наш стиль был сделать максимально короткий и, следовательно, быстрый код. Вспомните, на какой ламповой БЭСМ 1 - 4 разряда, 0.5 бит (это шутка)памяти Келдыш рассчитал траекторию первого спутника. И американский - давай больше памяти, больше разрядности, больше мощности. В результате производительность компьютеров возрасла за последние 20 лет в миллиард раз, а делают они по-сути теже вещи и столько же ошибок.
 

rezuq
28 Apr 2005 3:53 AM
>не Unix плывет к Windows , а как раз наоборот,
>Windows, самым бездарным образом, копирует
>принципы , которые умные люди из AT&amp;T ещё в
>1969 придумали.
Ну не надо гнать, ядро NT скопировано с VMS, а не с UNIX, MS кучу специалистов из DEC переманила к себе для разработки новой OC
 

RIK
28 Apr 2005 7:54 AM
2 Linfan
Разумеется, я говорю про большие проекты.
>Тестит как правило коммюнити, которое этот продукт уже использует.

Понятно. А сколько обычно времени проходит от беты до релиза? И не получается ли так, что когда сравнивают OSS и коммерческий софт, то говоря о стабильности OSS имеют в виду достаточно старый релиз, а о фичах - новейшую бету?

>Большие тимы (напр. KDE) с юридическим статусом ничем не отличаются от обычных компаний среднего уровня.

Если это программисты, которые ходят на работу и получают зарплату - тогда все понятно. В этом случае организация разработки может вообще ничем не отличаться от коммерческой. Но ведь говорят о том, что в OSS другая модель? Скажем, по моему опыту, code review - очень полезная вещь, я считаю что весь код (как новый, так и исправления) должен его проходить. И мне не понятно, как это может быть организовано, если программист сидит дома - эффективность code review по e-mail'у заметно ниже.

Scull, у вас было (есть) обязательное code review перед check-in? Если да - то как было организовано?

>Маленькая группа уже автоматически подразумевает наличие Project Leader.
Да, но я говорил о Project Managers, а не о руководителе проекта. PM - это люди, хорошо понимающие требования кастомеров и при этом достаточно технически грамотные, чтобы оценить, во что каждое из этих требований выливается. Наличие таких людей в проекте очень важно. Принято ли такое разделение труда в OSS?
 

RIK
28 Apr 2005 7:57 AM
Skull, прошу прощения - опечатка.
 

VicTor
28 Apr 2005 8:02 AM
2 sm4:
> А что-же тогда понимать под качеством кода?

Например, одной из характеристик качества кода является характеристика реализуемого им алгоритма (есть платформонезависимый код, нет алгоритмонезависимого :) ) - экспоненциальный, степенной, линейный.

Отсюда тянется много других характеристик качества, в том числе и различные ограничения, например, границы применимости.

> Это же не просто набор смысловых, синтаксических, физических ошибок.

Повторюсь ещё раз - ошибки не являются характеристикой качества кода. И я уже объяснял почему.

> Здесь правильно поднимали вопрос об американском и европейском стилях программирования.

Перечитал всё с начала треда. Ничего такого не заметил. Пальцем ткните, пожалуйста.
 

Tolik
28 Apr 2005 10:54 AM
2 Viktor

В своё время неспециалисты (программисты) специально для специалистов (менеджеров) написали несколько знаменитых книжек, например, "Мифический человеко-месяц" и "Смертельный марш".

Э-э-э-э-...

Ты эти книжки читал ?
И Брукс и Йрдон - МЕНЕДЖЕРЫ. Не заметить этого, прочтя книжки невозможно. Где ты там видел обсуждение вопросов программирования? А вот поняие "достаточно хорошего качества" обсуждается довольно подробно. Так, что должно быть понятно даже программиста ;-)

"Вот и оценивается работа программистов с помощью категорий, "данных в ощущениях", а не с помощью объективных методов"

Я бы тебя адресовал по даному вопросу к Минцбергу и Котлеру, но,боюсь заставлять чисого прграммиста читать книги по маркетингу и метдам управления не до коца гуманно :-)

Но мы отвлеклись. Ты просто не воспринимашь, что "качество" выраженное "объекивным" показателем в виде кличества переполнений буфера на 1000 срок кода - просто абстракция, никому не нужная. Ну не надо бухгалтеру эих 10.2 средних шибки, ему надо баланс посчитать. И качество он измеряет в понятиях - когда ему эта штука позволит посчитать баланс. А поскольку - платит он - то приходится ему подавать то, за что он платит. Если ты найдешь однажды того, кто тебе закажет е расчет баланса, а 9 ошибок на 1000 строк - тогда оно будет востребовано.

2 Linfan

Ты так и не понял, о чем я. Пвторяю. Если мы оцениваем качество - надо понятие качества определить, что это. Определяет это потребитель. сли ты не готов дискутировать в подобных термиах - не лезь в подобную дискуссию - будешь выглядеть неадекватно. Поэтому я и попытался навести тебя на мысль, что давай определим понятия, о которых говорим. Но ты желаешь говорить качестве не договорившись, что это такое - тебе это не интересно. Ну ради Бога, но тогда просто говорить не о чем, это будет беседа слепого с глухим
 

Поручик
28 Apr 2005 11:15 AM
2 Tolik

> Ты так и не понял, о чем я. Пвторяю. Если мы оцениваем качество - надо понятие качества определить, что это. Определяет это потребитель.

Не только потребитель. Кроме него еще и те, кто это ПО будет сопровождать и те, кто этот код будут развивать и дорабатывать.
 

Tolik
28 Apr 2005 11:26 AM
Это тоже потребители.

Хотя и не конечные

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

И вот только после этого можно начинать всерьёз обсуждать, что мы вложить в понятие "качества" и какое качество нам нужно. До этого - разговор попросту беспредметен, что я и пытаюсь донести. Дальше - мы или пытаемся разобраться в проблеме - и тогда придется разобраться со всеми этими маркетинговыми наворотами - или начинаем кидаться какашками, дискутируя о мнениях, что (менеджеры это знают ;-)) - плохая тема для дискуссии и ни к чему хорошему, кроме флуда не приводит.
 

fi
28 Apr 2005 12:39 PM
> Ну не надо гнать, ядро NT скопировано с VMS, а не с UNIX, MS кучу специалистов из DEC переманила к себе для разработки новой OC

Ещё один миф ;-)))
 

rezuq
28 Apr 2005 2:01 PM
Не миф, а факт. Источников в интернете много, вот например тут:
http://en.wikipedia.org/wiki/Windows_NT
http://en.wikipedia.org/wiki/Dave_Cutler
"Cutler left Digital and joined Microsoft in 1988 and became co-leader of the team that developed Windows NT. Later, he worked on targeting Windows NT to Digital's 64-bit Alpha computer (itself based on the Prism design), then on Windows 2000. According to Microsoft's website, Cutler is (as of 12 March 2005) working on the 64-bit version of Microsoft Windows."
 

rezuq
28 Apr 2005 2:11 PM
2fi: Вообще на microsoft.com много упоминаний об этом.
"We went out and recruited a great world-class operating system team to pull off that strategy. We recruited Dave Cutler, who had years and years of experience working in the VMS operating system"
http://www.microsoft.com/BillGates/speeches/Scalability/sca lePaul.asp
 

Tolik
28 Apr 2005 2:15 PM
Т.е., если кого-то взяли откуда-то на работу - значит всё содрали, включая у себя им разработаное.

А веcь .NET, стало быть содран у Борланда, раз его Хейльсберг делал.
 

xfs
28 Apr 2005 3:50 PM
под "приближение к *nix" имелось по всей видимости удобство работы с системой. ее управляемость. так к примеру аналог syslog-а мс только-только начала дотягивать к *nix-овому все больше приближаясь с каждым новым релизом своей ос.
и так со всем остальным.
вот черный ящик к примеру - это же просто фильтрованная корка которой сто лет в обед =)
 

Skull - sibskullmail.ru
28 Apr 2005 5:07 PM
2RIK:
> Если это программисты, которые ходят на работу и получают
> зарплату - тогда все понятно. В этом случае организация
> разработки может вообще ничем не отличаться от коммерческой.
> Но ведь говорят о том, что в OSS другая модель?
Кто так говорит? Например, в KDE руководители (Этрич и Фаур) сидят в Trolltech и MandrakeSoft и занимаются проектом fulltime. Но это - рулевые. Помимо них есть сотни программистов, вносящих вклад. Но они контролируются лидерами. Такая же практика и с ядром Linux.

BTW, сегодня на OpenSource Forum Russia Jon maddog Hall привёл цифры: в OSS сейчас 97тыс. проектов и 1млн. разработчиков. Лидеров крупных проектов - по пальцам пересчитать.

> Scull, у вас было (есть) обязательное code review перед
> check-in? Если да - то как было организовано?
CVS-коммиты проверяются мейнтейнерами в обязательном порядке. Если ситуация выходит из их компетенции - вмешивается лидер. В OSS достаточно жёсткая вертикаль управления кодом. Причём постоянная (так как любой срез CVS рассматривается как работающая версия), а не от случая к случаю... :)

> Принято ли такое разделение труда в OSS?
Конечно! Есть core developers, прикладники, координаторы перевода, artwork designers. Все - в иерархии управления. Маркетологов нету, правда... :)

Людей, которые сидят на feedback с простыми пользователями тоже нет как таковых, так как feedback осуществляется централизованным способом через bugtrack. И можно лично обратиться к ЛЮБОМУ разработчику. Гарантированно не пошлют (если недостаточно багтрака).

К тому же софт OSS люди пишут, не как приказали, а для себя. Поэтому он более удобный, чем закрытые аналоги. :)
 

sm4 - post314mail.ru
28 Apr 2005 8:05 PM
2 rezuq
Я говорю про принципы, а не про передранный код. Что касается NT , то действительно, его делала и делает команда RSX-11 для PDP-11. Это бала самая мощная операционка на PDP и вовсе не UNIX, а вот VMS для VAX, как раз Unix подобная.
Какие же это принципы,? да очень простые -
- исполбзовать защищенную файловую систему,
- отделить программы пользователей от системных,
- не применять DLL библиотеки и не хранить их совместно с системными,
- не работать никогда под Admin (root), только для системных работ,
- не хранить cookies в системном каталоге.
- не исполнять системные команды под простым User- ом, и т.д. и т. п.
Некоторые из этих требований MS " осознал " только в 2003-2004 году и обещает выполнить в Long Horn.
 

Black Bat
28 Apr 2005 11:28 PM
to VicTor:

таки большинство серьёзных контор отслеживают качество работы, используя отраслевой стандарт. Для этого применяютсы в том числе и такие параметры, как LOC/PH (строк кода на человеко-час) и Defects per KLOC. Первое должно быть не меньше 20 (вроде бы как я помню), второе не больше 10
 

Доктор
29 Apr 2005 6:52 AM
Интересный спор. Немного личного сюда. Мы занимаемся проблемами моделирования структуры некоторых белков, для этого нужны специальные программы и нехилые мощности техники. Так вот, я вам по секрету сообщаю - работы по оптимизации алгоритмов и оценке качества реализации алгоритмов (то бишь качества кода) ведутся, и даже очень интенсивно, но они не затрагивают рядового программиста и пользователя, которому не нужно перемалывать миллиарды чисел в секунду и каждый день. Эта область теоритического программирования незаметно переместилась в очень специализированные журналы, которые даже программисты не читают. Ну кому придет в голову искать новые эффективные алгоритмы многопараметрического поиска в журнале "Биохимия"?:-) Или алгоритмы распознавания образов, упаковки изображений и т.д. Параллельные алгоритмы на кластерах и многопроцессорных машинах тоже скрыты от широкой общественности:-). С моей точки зрения не так важны принадлежность кода (частный или открытый) и способ его разработки, сколько ответственность (внутренняя порядочность, если хотите) каждого отдельно взятого программиста и менеджера. Из моей практики следует, что ответственный программист и хороший менеджер в настоящее время - это все равно что трезвый сапожник, изредка, но встречаются. И ни за какие деньги и убеждения переломить эту экзистенциальную безответственность не получается. Кину камень в огород российских сторонников (я так понимаю, их в этом форуме большинство) Open Source - как правило, проще получить такой код откуда - нибудь из - за бугра, из архива какого - нибудь университета, чем найти его в России или найти программиста, который такой код напишет. С другой стороны, качество программного кода, который свободно доступен в России, как правило, крайне низкое, если говорить о:
1) Количестве ошибок
2) Комментариях к коду
3) Возможности модификации
Исходные тексты, свободно доступные в других странах(в основном, я говорю о библиотеках для вычислений laspack, linpack и др.) хорошо документированы, легко модифирцируются и авторы почему - то содержательно отвечают на вопросы по e-mail. Наши же (по крайней мере те, с кем мне приходилось общаться) ограничиваются дежурными фразами: см. исходный текст, пришли 10 баксов, поставь пиво:-)) Я не против не только пиво, но и коньяк поставить, если это приведет к получению результата. Мне кажется, очень многие в России рассматривают Open Source как своеобразную замануху - кинуть кость в виде недоделанного, но полезного и недорого продукта, а потом попросить денег за его доведение до ума. Я на эти грабли наступал уже больше, чем любой индеец (раз пять:-). В результате получилось следующее: я широко использую код Open Source, который написан не в России, я общаюсь с программистами различных сообществ за пределами России, я регулярно принимаю и увольняю программистов в России и стараюсь избегать открытых исходников российского происхождения, за исключением русских версий Linux и при всем при этом я работаю в России и уезжать не собираюсь. Наверное, болею:-))).
Еще одна исключительно российская фишка - некоторые программисты после того, как получили деньги за код, начинают рассматривать этот код как свое имущество, хотя за ними по договору сохраняется только авторское право. Я несколько раз с удивлением обнаруживал программы, за которые я заплатил приличные деньги, через пару месяцев в разделе shareware на Downloads.ru. Хотя с коллегами я ими делюсь совершенно бескорыстно, точнее, через бартер:-)) Никому больше они не нужны:-). На вопрос - почему ты это сделал - обычно следует ответ - да пошел ты со своим договором, я сторонник Open Source!:-). Налицо противоречие. Во - первых, программист распространяет без исходников. Во - вторых, только я, как владелец кода, могу решать, как его распространять. Дорогие россияне, сторонники Open Source! Не подменяйте понятий!
 

fi
29 Apr 2005 9:01 AM
то rezuq
Ну и где здесь "ядро NT скопировано с VMS"? И где "кучу специалистов из DEC"? Про то и речь. И кстати, кем Dave Cutler был в DEC? Лично у меня есть информация, что он ушел из него из-за того, что его идеи не пошли в VMS.

A unix внутри NT, так он был еще в Dos2.x. Что уж говорить про NT. Просто многие привыкли к испозованию posix-call и забывают что раньше все делалось совсем по другому.
 

Ender
29 Apr 2005 9:01 AM
"К тому же софт OSS люди пишут, не как приказали, а для себя. Поэтому он более удобный, чем закрытые аналоги."

Я бы сказал что оно более удобный для тех кто его пишет, а не вообще более удобный для всех.
 

RIK
29 Apr 2005 9:13 AM
2 Skull

>Например, в KDE руководители (Этрич и Фаур) сидят в Trolltech и MandrakeSoft и занимаются проектом fulltime. Но это - рулевые. Помимо них есть сотни программистов, вносящих вклад.

Мой опыт показывает, что code review, при котором показываешь и объясняешь свой код другому программисту - вещь исключительно полезная. Но для этого программисты должны лично присутствовать на работе, а не сидеть дома. "Cотни программистов, вносящих вклад" - они где физически находятся?

>CVS-коммиты проверяются мейнтейнерами в обязательном порядке.

Это хорошо, хотя и не заменяет code review. А какого рода feedback приходит от майнтейнеров, проверивших код?

>Есть core developers, прикладники, координаторы перевода, artwork designers. Все - в иерархии управления. Маркетологов нету, правда... :)

PM - это не маркетологи. И не tech support/quick fix. И вообще не управленцы. При этом их непосредственное участие в проекте очень полезно. Как я понял, в OSS принято совмещать работу PM и программиста, но это скорее недостаток.

>К тому же софт OSS люди пишут, не как приказали, а для себя. Поэтому он более удобный, чем закрытые аналоги. :)

Собственно, для того PM и нужны, чтобы заботиться о том, чтобы софт был удобен не только для программистов, которые писали "для себя", но и для остальных пользователей ;)

 

rezuq
29 Apr 2005 9:22 AM
2sm4:
Что касается схожести NT и VMS, то я тоже про принципы.
Сначала её разрабатывали для PDP11, а после переноса на VAX, RSX-11M переименовали в VMS.
VMS вовсе не unixподобная. Только в 1991году туда добавили POSIX API и тогда её переименовали в OpenVMS. Сейчас OpenVMS работает не только на VAX, но и на alpha и itanium серверах.
>Что касается NT , то действительно, его делала и делает команда RSX-11 для PDP-11
VAX/VMS появилась в 1978 году, часть команды VMS перешли в MS в конце 80х, так-что и над VMS они работали, а не только над RSX-11M
Посмотри на файловую систему VMS: полное имя файла формируется
том:[каталог.подкаталог]имяфайла.расширение;версия
Ничего не напоминает? Хотя в NT и unix нет поддержки версий файлов на уровне ФС, но всё же это больше похоже на windows, чем на unix.
В VMS и NT изначально были ACL, чего тогда в unix ещё не было, до сих пор многие unixlike системы используют более простую традиционную для unix систему прав.
Библиотеки в VMS используют calling conventions независимые от языка программирования, в отличии от unix, где всё завязано на С.
Изначально в VMS и NT драйверы использовали HAL (hardware abstraction level), даже сейчас это не во всех unixподобных системах есть.
>не применять DLL библиотеки и не хранить их совместно с системными,
Я не понял! DLL есть во всех системах и unixlike, и vms, и windows, а куда без них? Хотя внутреннее устройство DLL в windows несколько отличается от unix и больше похоже на VMS.
>не работать никогда под Admin (root)
Ни в VMS ни в NT, нет аналога unix root,
подобное в unixlike systems ограничение прав root появилось позже, до сих пор во многих unixподобных системах есть всесильный пользователь (root).
>Некоторые из этих требований MS "осознал"
>только в 2003-2004 году и обещает выполнить в
Long Horn.
В NT эти требования всегда можно было выполнять раньше, кто-то их выполнял. А кто-то нет, но тот сам себе злобный буратина и MS тут нипричём!
>не хранить cookies в системном каталоге
Это где в NT можно увидеть cookies в системном каталоге???! LOL! Афтар жжот!!! Комментарии излишни...

 

rezuq
29 Apr 2005 9:23 AM
>A unix внутри NT, так он был еще в Dos2.x. Что уж говорить про NT
Где UNIX в DOS? И каким образом UNIX в NT?
 

RIK
29 Apr 2005 9:36 AM
2 fi
Почитайте, например, здесь:
http://www.windowsitpro.com/Articles/Print.cfm?ArticleID=44 94
 

VicTor
29 Apr 2005 10:36 AM
2 Tolik:
> Ты эти книжки читал ?
> И Брукс и Йрдон - МЕНЕДЖЕРЫ. Не заметить этого, прочтя книжки невозможно. Где ты там видел обсуждение вопросов программирования?

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

> Ты просто не воспринимашь, что "качество" выраженное "объекивным" показателем в виде кличества переполнений буфера на 1000 срок кода - просто абстракция, никому не нужная.

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

Linfan
29 Apr 2005 2:29 PM
Tolik: Может быть будет интересно, в плане бизнес приложений
http://dot.kde.org/1114617940/
"Knoda Meets MS Access
---
Knoda is a database frontend for KDE. Besides tables and queries, Knoda lets you create forms and reports, scriptable via Python. With its latest release, Knoda has introduced a driver for MS Access databases (mdb files). Knoda is the first KDE-based database frontend to be able to read MS Access databases natively and is getting closer to its goal to be a full replacement for MS Access."
 

Skull - sibskullmail.ru
29 Apr 2005 4:25 PM
2Доктор:
> Кину камень в огород российских сторонников
> (я так понимаю, их в этом форуме большинство) Open Source
> - как правило, проще получить такой код откуда - нибудь
> из - за бугра, из архива какого - нибудь университета,
> чем найти его в России или найти программиста, который
> такой код напишет.
Пардон, вы сами запутались! При чём тут сторонники OSS (которые не пишут проектов с нуля, а улучшают текущие) и разработка специализированных приложений. Каким боком тут OSS? Если хотите обратить внимание общественности на низкое качество и объёмы работ российских программистов в вашей области, так и пишите.
Если вы общаетесь с программистами, требующими пиво, знайте - это студиозусы-переростки, которых, как мартышек учили Дельфи в российских вузах. Почему тренировали "мартышек"? Вопрос задайте нашим чиновникам, западным спонсорам и дяде Соросу. :)
Опять же, при чём тут OSS?

> Мне кажется, очень многие в России рассматривают Open Source
> как своеобразную замануху - кинуть кость в виде недоделанного,
> но полезного и недорого продукта, а потом попросить денег
> за его доведение до ума.
Есть такие примеры. Однако на их основании не надо делать выводы об ущербности разработчиков российского сегмента OSS. Гнать таких "мартышек" надо. Расплодились на благодатной почве пиратства и низкого качества образования. BTW, лучший программист в России, IMHO, это не выпускник программистского факультета. Потому как умеет думать, а не возить мышью, как приучили... :)

Желаю найти нормальных разработчиков! :)
 

Skull - sibskullmail.ru
29 Apr 2005 4:27 PM
2Ender:
> Я бы сказал что оно более удобный для тех кто его пишет, а не
> вообще более удобный для всех.
Только на первоначальном этапе. Дальше продукт улучшается, так как очень быстро учитываются пожелания других пользователей. В мире закрытого ПО нужно ждать несколько лет. :)
 

Skull - sibskullmail.ru
29 Apr 2005 4:43 PM
2RIK:
> "Cотни программистов, вносящих вклад" - они где физически находятся?
По всему земному шарику. В основном - Европа. Практика KDE, кстати, показала, что американские проекты (типа Gnome) проигрывают европейским по дружественности к пользователям. Другой менталитет, наличие богатой культуры даёт о себе знать... Сугубо IMHO :)

> Это хорошо, хотя и не заменяет code review.
Однако при грамотной распределённой разработке метод общения через CVS/багзиллу доказал свою эффективность.

> А какого рода feedback приходит от майнтейнеров, проверивших код?
Feedback приходит в случае конфликта. По умолчанию код просматривается и, если нет замечаний, то остаётся в CVS. В случае переводов, к примеру, я сам правлю переводы локализаторов, не имеющих доступа к CVS или корректирую в CVS в случае прохождения ошибочных переводов через другого координатора (естественно, уведомляя его).

> Как я понял, в OSS принято совмещать работу PM и программиста,
> но это скорее недостаток.
В крупных проектах лидеры отходят от постоянного программирования. Фактически так отделяются PM и программисты. В малых проектах такое разделение приведёт к путанице, IMHO.
 

sm4 - post314mail.ru
29 Apr 2005 7:03 PM
2 rezuq
VMS может и начали создавать в 78, но RSX к этому времени давно работал. И язык С туда приплыл примерно в это же время и дурацкая приставка - mobile system в VMS оттуда-же. С тогда играл ту же роль , что и Java сейчас. На нем и начали все системы переписывать. Так что не надо путать яйцо с курицей. RSX лет на 15 старше. Ядро сделано только на Ассемблере.
Файловая система "том: каталог..." , как раз была везде , кроме Unix, и на IBM 360 и на Бэсм- 6- Альфа, и на Бэрроуз 6700 и даже в MS DOS, что это должно напоминать ? Тут Unix как раз исключение, а NT - правило.
Администрирование прав - тоже самое, UNIX- исключение.
Дальше я вообще не понял , что коллега пытается доказать - родственные связи VMS и NT или отличия от Unix? Перестал понимать логику. Сам VMS проект - это перенос RSX на новую в то время, 32 разрядную машину VAX. Насколько криво этот процесс происходил сейчас сказать трудно. Единственное , что можно сказать - ассемблер начал сдавать позиции в пользу "С".
Библиотеки - не применять, по-возможности , а хранить отдельно. А что в System и System 32 лежит ? Кто-нибудь точно знает ? Admin и (root) я и написал в скобочках. Естественно -это не прямой аналог, т.к. и системы не аналогичны. И где у MS NT 3.0, 3,5 , 4.0,2000, XP хранились временные файлы от разных программ ? где каталог Temp и Tmp ?
Я не злобный Буратино, но положа руку на сердце, что NT самая надежная в мире платформа ???? Для меня комментарии тоже излишни.
 

Ender
29 Apr 2005 10:13 PM
Skull: "Только на первоначальном этапе. Дальше продукт улучшается,"

Вот так Linux занял целых 5% на рынке десктопных ОС, за всю историю своего существования. Оно и понятно, все заняты только тем чтобы угодить конечному пользователю.

"так как очень быстро учитываются пожелания других пользователей. В мире закрытого ПО нужно ждать несколько лет. :)"

Что в мире ОSC, что в мире коммерческого ПО все зависит от конкретных разработчиков. Есть случаи когда все решается мнговенно, стоит только feature request запостить, есть случаи когда тебя чуть ли не на три буквы посылают.
 

hail
30 Apr 2005 9:06 AM
Надо всего лишь вырастить технологический процесс для конкретных задач и условий девелопмента и соблюдать полученную технологию и растить ее дальше.
 

Zzz....
30 Apr 2005 7:31 PM
"И где у MS NT 3.0, 3,5 , 4.0,2000, XP хранились временные файлы от разных программ ? где каталог Temp и Tmp ? "

Вообще-то, начиная с 95-ой винды (NT4.0, 3.51 просто не помню), у МС последовательно проводится в жизнь идея "Documents and Settings". Названо несколько коряво (пробелы), но тем не менее работает великолепно. Просто некоторые программы слишком умничают и требуют административных прав и желания писать в тот каталог, куда установлены.

Я уже больше двух лет не под "администратором" в Win XP. Никаких проблем не вызывает. И пользуюсь каталогом "Documents and Settings" (правда, переименнованным в home при инсталляции). В нем хранятся _все_ рабочие файлы. А так же временные, настроечные и прочие.
 

RIK
2 May 2005 4:25 AM
2 Skull
>американские проекты (типа Gnome) проигрывают европейским по дружественности к пользователям. Другой менталитет, наличие богатой культуры даёт о себе знать... Сугубо IMHO :)

В коммерческом программировании ситуация прямо противоположная. Другой менталитет, возможно, играет роль - но скорее дело в том, что в Америке интересную работу квалифицированным специалистам найти много проще, соответственно они принимают меньшее участие в OSS. Кстати, американская культура, действительно, менее богата, чем европейская, однако она она есть и очень интересна. Притом европейцы ее знают плохо. Для меня, например, были открытием такие композиторы, как Джордж М. Кохэн, Джером Керн, Гарольд Арлен, Коул Портер, Ирвинг Берлин.

>Feedback приходит в случае конфликта. По умолчанию код просматривается и, если нет замечаний, то остаётся в CVS.

Плохо. Я бы предпочел, чтобы feedback приходил всегда - с комментариями и замечаниями по качеству кода.

>В крупных проектах лидеры отходят от постоянного программирования. Фактически так отделяются PM и программисты. В малых проектах такое разделение приведёт к путанице, IMHO.

Еще раз - PMы - это не руководители проекта, в прямом подчинении у них никого нет. Сколько у "непрограммирующего лидера" программистов? Если больше трех - то я сомневаюсь, что он сможет качественно совмещать работу dev lead'а и PM'а. Про малые проекты я не говорю - там все проще.

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

Tolik
2 May 2005 12:59 PM
2Viktor

>Конечно, читал. Конечно, авторы - менеджеры

Во, а тольк что программистами были

>но за каждым из них немалый опыт программирования.

И чем прославлено имя Брукса в области программирования? Или, может быть, Йордона?

>Вы почему-то упорно не желаете признать (или прикидываетесь),
>что именно менеджер, управляя проектом, определяет приоритеты
>в троице "бюджет - сроки - качество".

Ой. Расскажи, где я этого упорно не признавал? С цитатой.
Именно менеджер это и поределяет. Он этому обучен, потому что. Теперь расскажжи, в OSS кто менеджером работать будет? Ну программисты "на халяву" бывают, но менеджеры "на халяву" - это что-то новое.

>И именно менеджер, в конечном счёте, отвечает за >пользовательские качества продукта.

Ты сказал
(с) И. Христос

И ты теперь будешь утверждать, что без него качество бужет выше?
Тогда расскажи почему.

>Tolik, мне не лень, я ещё раз повторю - ошибки не имеют
>отношения к качеству кода.

Уже интересно.

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

Ага, предположим, что не могу. Ну и что?
Ему. программисту для того зарплату и платят, чтобы он это сам оценивал. Нафига я в алгоритмы полезу?

>А если вы не в состоянии оценить такое качество кода как
>документированность (а писать комментарии, ох, как непросто),
>то вы не сможете оценить и возможности развития вашего
>продукта.

Ты и правда полагаешь, что для оценки перспектив развития надо комментируемость оценивать? Я как-то думал, что гораздо интереснее - соответствие, скажем, иерархии классов предметной области, перспективы удержания ведущих разработчиков, документированность предметной области, востребованность продукта у потребителей.

Отож показатель - комментируемость.

Ну вот у меня под рукой (и управлением) проект примерно на 1 млн. строк, уже 5 лет развивается, с чего бы перестать должен - непонятно, так там комментариев вообще практически нет. Хороший код не нуждается в комментариях, он сам себе комментарий.
 

VicTor
3 May 2005 7:40 AM
2 Tolik:

Хммм... Ну что сказать...

>> Tolik, мне не лень, я ещё раз повторю - ошибки не имеют отношения к качеству кода.
>
> Уже интересно.

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

В статье утверждается, что "качество ПО снижается везде, за исключением сектора open source". Доказать это объективными методами невозможно. Теория умерла, методик нет.

С другой стороны, надеюсь вы не станете отрицать, что в это же время пользовательское качество ПО (юзабилити) выросло. Пусть в коммерческом ПО - больше, в OSS - меньше, но выросло.

Не странно ли? Качество кода упало, а юзабилити выросло. И падение качества кода ощущается явно (добавлю, в OSS тоже), несмотря на потрясающий рост вычислительных мощностей, хотя и выражается это сегодня в категориях ощущений - "что-то мой пень тормозит на этой задаче, надо бы ему мозгов добавить".

Именно поэтому ваши попытки притянуть сюда вопрос о сроках, бюджете и юзабилити - безосновательны. Менеджеры прекрасно рулят этими вопросами - честь им и хвала - и юзабилити растёт. А качество-то кода падает... Значит менеджеры не умеют (и, как выяснилось, не желают) управлять качеством кода. И, что характерно, не дают заниматься этими вопросами программистам, взваливая на них другие задачи, например, вопросы юзабилити - "раньше думай о юзере, а потом о себе", подпирая это бюджетом и сроками.

Кстати, вы совершенно зря придумали себе из меня "чистого программера" и "сторонника OSS" и пытаетесь спорить со мной, исходя из этой позиции. Я озабочен лишь отсутствием инструмента объективного контроля качества кода. Повернуться к этой проблеме лицом всё равно придётся - и менеджерам тоже, потому что всё юзабилити ничего не стоит, если ПО плохо выполняет свои основные функции (вон в Штатах двух пацанов на лодке унесло, а с расчётом района поиска ошиблись на 200 миль. Теперь с программатурой разбираются. Если бы этот код был из категории OSS, то к анализу его можно было бы привлечь большое количество независимых экспертов. Анализ был бы более достоверным. А так остаётся надеяться на добросовестность и квалификацию специально отобранных экспертов).

И в алгоритмы лезть придётся, потому как менеджер, как и капитан, отвечает за всё. И про комметируемость вы сразу вспомните, как только вас поставят поднимать чужой проект с новой командой. И т.д., и т.п.

И последнее, на счёт Брукса и Йордана, достаточно набрать в поисковике их имена и посмотреть библиографию. Вопросы о славе в области программирования уйдут.
 

Tolik
3 May 2005 9:29 AM
Правильно ли я тебя понял, что:

- ты "озабочен лишь отсутствием инструмента объективного контроля качества кода"

и при этом

"Качество кода упало", причем "Доказать это объективными методами невозможно"

Тогда спорить не о чем - это твоё субъективное мнение. Изменить его (и то лишь при твоём на то желании) может лишь психоаналитик. Равно как и моё.

Итоговый вывод - статья - изложение веры автора в недоказуемое, подтвержденное его заклинаниями "верьте мне". Согласны?
 

RIK
3 May 2005 10:26 AM
2 VicTor
А я вижу, что качество кода заметно _выросло_. Что естественно, поскольку сложность современных программ также заметно возрасла.

2 All
Кстати, я считаю что очень скоро решающим условием повышения качества кода будет использование автоматических средств анализа и верификации. Насколько я знаю, в крупных коммерческих фирмах ведется довольно интенсивная разработка таких средств. А как дела с этим обстоят в OSS?
 

Skull - sibskullmail.ru
3 May 2005 1:44 PM
2Ender:
> Оно и понятно, все заняты только тем чтобы угодить конечному
> пользователю.
Зря подкалываете. Вы не учитываете тот факт, что нужно продвигать в условиях сильной монополии MS.

 

Skull - sibskullmail.ru
3 May 2005 1:53 PM
2RIK:
> А как дела с этим [aвтоматическими средствами анализа и
> верификации] обстоят в OSS?
Не буду говорить про весь OSS, но работы также ведутся. Например, в KDE есть серьёзный инструментарий по оптимизации производительности - kcachegrind
 

fi
3 May 2005 4:56 PM
> Где UNIX в DOS? И каким образом UNIX в NT?

Господи, какой наив ;-)), а откуда по вашему open, read, write, close calls? Или PTR: COM: LPT:? И если даже поменять слешь в другую сторому (из-за лиценз. чистоты), mount на join - по суте это тоже самое. А путь в VMS [дир1.дир2.дир3] также пришел оттуда же, как и в Unix. Поверте, в RSX этого не было!!!

И кстати, если на чистоту, то разделение ролей в VMS это такой бред оказался, что по сравнению с ним root само совершенство - если зашел под него, то конролируй каждое свое движение. Хотя в теории все выглядит чудесно, как в прочем и в НТ.

 

sm4 - post314mail.ru
3 May 2005 5:20 PM
2 fi . безусловно. Тем более , что MS купил собственные права на Unix , но хода этому проекту не дал. Почему ? Вот что интересно. Одно только понятно, если бы MS стал распространять собственную версию Unix , а не DOS 1-7, Windows 1-2003, то никогда не заработал бы столько же денег.
2 Victor По-моему ошибки, всё-таки могут быть связаны с качеством кода. Недаром в .Net , MS жестко навязал наследование от "протокласса", т.е. , дюбой класс созданный в среде .Net, будет только наследником, никакого самиздата , как в С++,по их мнению это резко уменьшает количество ошибок. Правда природа "изобрела " это до них, 4 млрд. лет назад. Все гены - наследники только одного ген. кода. И , действительно, как видим, количество ошибок кода невелико.
 

#$%
3 May 2005 5:33 PM
> И , действительно, как видим, количество ошибок кода невелико.

Эта потому, что те кто с ошибками не выживают.
Я надеюсь, что через пару миллиардов лет, на рынке будут действительно стабильные оси :)
 

RIK
4 May 2005 8:29 AM
2 Skull
Посмотрел kcachegrind на sourceforge - выглядит неплохо. Но это, похоже, просто профайлер. А в обласли source code анализа существует что-нибудь в OSS?
 

Skull - sibskullmail.ru
4 May 2005 10:53 AM
2RIK: я не профессиональный программист, чтобы говорить о средствах анализа кода.
 

Ender
4 May 2005 10:55 AM
2Skull: "Зря подкалываете. Вы не учитываете тот факт, что нужно продвигать в условиях сильной монополии MS."

И что-же нужно продвигать?
 

VicTor
4 May 2005 10:59 AM
2 Tolik:
> Тогда спорить не о чем - это твоё субъективное мнение. Изменить его (и то лишь при твоём на то желании) может лишь психоаналитик. Равно как и моё.

Ну, конечно, каждый из нас высказывает свою личную и, конечно, субъективную точку зрения и отстаивает её в этом споре :) Правда вот, аргументы с психоаналитиками, по-моему, появляются тогда, когда возразить по существу нечего, а согласиться - религия не позволяет. Поэтому тезис о том, что пользовательские качества ПО не имеют отношения к качеству кода в контексте проблемы, поднятой в статье, я буду считать доказаным :)

2 RIK:
> А я вижу, что качество кода заметно _выросло_.

Возможно, но это тоже доказуемо только на уровне ощущений.

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

А вы можете попытаться ответить на вопрос - повышению каких именно характеристик качества кода будет способствовать применение этих средств?

Потому что системы управляющие качеством кода всё-таки существуют. Оптимизирующие компиляторы позволяют получить код различного качества. И качество кода, оптимизированного по производительности, например, заведомо выше качества неоптимизированного кода. Но весьма нередки случаи, когда вот такая автоматическая оптимизация приводит к ошибкам выполнения. Что делает программист, подстёгиваемый сроками и бюджетом? Правильно, отключает оптимизацию. И даже не делает попыток выявить какая часть кода не поддаётся оптимизации :(

2 sm4:
> По-моему ошибки, всё-таки могут быть связаны с качеством кода. Недаром в .Net , MS жестко навязал наследование от "протокласса", т.е. , дюбой класс созданный в среде .Net, будет только наследником, никакого самиздата , как в С++,по их мнению это резко уменьшает количество ошибок.

Т.е. всё-таки это характеристика технологии программирования. Не правда ли? Т.е. при пользовании этой технологией вероятность совершить ошибку меньше.

 

Tolik
4 May 2005 11:28 AM
Ну, если объявить абстрактный неизмеримый и неосязаемый критерий "качество кода", измерение которого не поддается объективным критериям, кроме как "кожей чую" - то да, вот это качество никак не связано ни с пользовательскими качествами ПО, ни с какими бы то ни было другими его характеристиками. Этот тезис безусловно доказан.

Особенно удобно - что кожей теперь можно чуять что угодно. Автор вот чует, что в OSS оно выше. Ну ладно, пусть себе чует.

Вопрос в другом - мы опять ушли в никуда. Выход в белый свет - опять в понимании термина "качество". А оно, тем не менее всегда определяется в терминах потребителя. Посему - ищи, кто у него у кода потребитель - и старайся понять, что ему, потребителю от КОДА нужно.
 

RIK
5 May 2005 8:37 AM
2 VicTor
Говоря о качестве кода я имел в виду исходный код - и, видимо, о том же говорит и автор статьи. При этом любой программист, взглянув на исходник, может сказать "хороший" это код или "плохой". Можно, конечно, сказать, что это исключительно субъективное мнение (и это действительно так), однако это "субъективное мнение" у многих программистов в основном удивительным образом совпадает.

По поводу систем source code анализа. Сопровождение и развитие современных больших проектов - это искусство внесения корректных изменений без полного понимания, как программа работает. Объем программ будет только увеличиваться, и начиная с некоторой величины (пока, правда, не достигнутой) их развитие и сопровождение без применения систем source code analysis станет просто невозможным.

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

 

Поручик
5 May 2005 9:50 AM
Качество программ и качество исходного кода, как здесь уже заметили, - совсем не одно и то же.

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

Главный критерий качества исходного кода - количество усилий, которое потратит другой программист, чтобы его понять. Чем их меньше, тем качество кода выше. Компилятору все равно, что распознавать. Программеру - нет. Поэтому к параметрам качества исходного кода относятся и комментарии, и следование принятым в отрасли правилам именования идентификаторов и оформления кода, и наличие описания логики взаимодействия модулей программы, и ряд других моментов.
 

-
6 May 2005 2:46 PM
Aксиома Stolmana => теоpема качество
 

Linfan
7 May 2005 4:49 PM
sm4:"Правда природа "изобрела " это до них, 4 млрд. лет назад. Все гены - наследники только одного ген. кода. И , действительно, как видим, количество ошибок кода невелико."

Эт вы батенька школьных учебников начитались по биологии. Да будет вам известно, что лично у вас (как и у многих др. организьмов) нет единого кода. Более того - вы представляете из себя симбионт - взаимовыгодное сожительство разных организмов с разным генетическим кодом :) Основной код в ядре клетки один. В митохондриях геном - другой, с другим, отличным от ядерного кодом (так сказать, другой машинный код :) А то, что изобретают мелкие - оно в природе нестабильно и быстро вымирает из-за однообразия и рюшечки не помогают. Так что как говорят в народе, "муху не обманешь" :)
 

Linfan
7 May 2005 4:51 PM
sm4:"количество ошибок кода невелико" - это не из-за однообразия, а из-за корректирующих и исправляющих механизмов ("саппорт" :)
 

Максим
8 May 2005 3:15 PM
2RIK:
Анализ качества исходников Java - http://pmd.sourceforge.net/
Оно?
 

RIK
9 May 2005 5:50 AM
2 Максим.
Да, оно. Спасибо, посмотрю. Функциональность, судя по описанию, невысока, но это развитие в правильном направлении. А для С/С++ есть что-либо подобное - никто не знает?
 

Lkf8fnCu6q - yZ0smxatFENK.com
20 Aug 2006 11:34 PM
n6A8PtXg37z8J 1l55Ua1GvGbx euYOGLm07p36A
 

uPQv7PGpQQ - 0l47Ipl6sQGj.com
6 Nov 2006 4:29 AM
FP2VsXixASB GVb1jpqDAVO znV8j5vCbRf
 

 

← март 2005 21  22  23  24  25  26  27  28  29 май 2005 →
Реклама!
 

 

Место для Вашей рекламы!