thedeemon: (bednota)
[personal profile] thedeemon
Группа ученых под руководством Дэниела Лебреро из Лаборатории Торговых Программных Интерфейсов британской компании IG Markets Ltd провела статистическое исследование о связи числа баг-репортов и языков программирования на базе информации об открытых проектах на сайте "Центр деятельности мерзавцев" (GitHub.com, организация разрешена в России, за исключением некоторых периодов, когда она запрещена). Выяснилось, что наличие статической типизации и продвинутой системы типов не помогает в уменьшении ошибок, а порой даже вредит, в то время как меньше всего ошибок получается в программах на максимально простых языках.

Плотность багов у проектов с 10 звездами и более:


Теперь научно доказано, что [livejournal.com profile] theiced был прав: типы не нужны, а писать надо на Кложури. А также Эрланге и Го. Адептам сложных языков и развитых систем типов надлежит раскаяться, одуматься и перестать уже своими надуманными неработающими идеями отвлекать благородных донов, занятых TDD.
Page 1 of 4 << [1] [2] [3] [4] >>

Date: 2016-05-20 07:58 am (UTC)
From: [identity profile] tancorko.livejournal.com
Интересно мнение [livejournal.com profile] thesz. Мой небольшой опыт с clojure, erlang и haskell говорит об обратном.
Edited Date: 2016-05-20 07:59 am (UTC)

Date: 2016-05-20 08:00 am (UTC)
From: [personal profile] alll
> Плотность багов у проектов с 10 звездами и более

Плотность ошибок внезапно может оказаться связанной со сложностью проекта, а не с количеством звёзд на небе. :)

Date: 2016-05-20 08:08 am (UTC)
From: [identity profile] dtim.livejournal.com
Вернуть Паскаль в университеты!

Date: 2016-05-20 08:08 am (UTC)
From: [identity profile] permea-kra.livejournal.com
>числа баг-репортов
>меньше всего ошибок получается

Гм. Им еще не объяснили, в чем они неправы?

Date: 2016-05-20 08:09 am (UTC)
From: [identity profile] enternet.livejournal.com
Праильно! Поддерживаю!

Но у меня есть теория ещё проще. Я лично ввел бы понятие "сложность программиста". Чем больше внутренняя сложность у программиста, тем больше 10* проектов он пишет (это внешняя сложность) и тем больше народа ищет там ошибки.

Date: 2016-05-20 08:15 am (UTC)
From: [identity profile] jamhed.livejournal.com
В Erlang типы навешиваются сверху, если надо. Часть ошибок отловить можно.

Date: 2016-05-20 08:16 am (UTC)
From: [identity profile] theiced.livejournal.com
для го некорректно так мерять. одна строка на нормальном языке (например, кложе) это примерно тринадцать с половиной строк на го.

Date: 2016-05-20 08:17 am (UTC)
From: [identity profile] psilogic.livejournal.com
а что такое проект c 10-ю пёздами?

Date: 2016-05-20 08:22 am (UTC)
From: [identity profile] thedeemon.livejournal.com
Еще проще теория:
какой проект соберет больше лайков: что-то сложное и нишевое, вроде теорем-прувера, или очередная обертка в 10 строк над другой оберткой в 12 строк над библиотекой в 14 строк, упрощающих позиционирование прямоугольничков с круглыми углами на странице?
Первое получит N звезд и М багов, три других проекта - по 100N звезд (аудитория больше, польза им понятней) и по M/100 багов (т.к. кода совсем мало). Вот и выходит плотность багов сильно лучше у мелких простейших.

Date: 2016-05-20 08:23 am (UTC)
From: [identity profile] thedeemon.livejournal.com
Это лайки на гитхабе так называются.

Date: 2016-05-20 08:25 am (UTC)
From: [identity profile] thedeemon.livejournal.com
А тут строки не учитывались.
"charts that compare the number of issues labelled "bug" versus the number of repositories in GitHub for different languages"

Date: 2016-05-20 08:35 am (UTC)
From: [identity profile] lispnik.livejournal.com
В моих проектах на самых разных языках вообще 0 багрепортов.

Date: 2016-05-20 08:35 am (UTC)
From: [identity profile] diam-2003.livejournal.com
How to Lie with Statistics

Date: 2016-05-20 08:37 am (UTC)
From: [identity profile] psilogic.livejournal.com
Бу го га. Чоткая корреляция между числом больных сифилисом и числом монашек =)

За C++ скажу, что строгая типизация в нем ( по сравнению с простым Си) предотвращает появление трудноуловимых ошибок еще на этапе написания кода и компиляци - что не мешает насажать ещё кучу багов другими способами.

Date: 2016-05-20 08:38 am (UTC)
From: [identity profile] psilogic.livejournal.com
то есть эта статистика - что-то вроде Евровидения? :))))

Date: 2016-05-20 08:43 am (UTC)
From: [identity profile] sassa-nf.livejournal.com
аааааа!!!!!!!!.......

ну, у меня несколько форков разных JS repos, потому что хозяева не мержат пулреквесты. Им меньше багов, нам больше репос.

Date: 2016-05-20 08:50 am (UTC)
From: [identity profile] fi_mihej.livejournal.com
Да? ОК. Но в этом случае получается что каждую строку других "нормальных" языков мы разворачиваем в 13,5 строк внутренней реализации. А учитывая что мы принимаем реализацию языка как целостную и безошибочную систему - то оказывается что соотношение количества ошибок к общему количество строк, в программах на других "нормальных" языках, уменьшается в 13,5 раз, а в Go остается на своем уровне.
^___^

Date: 2016-05-20 08:50 am (UTC)
From: [identity profile] izard.livejournal.com
Поэтому для себя я пишу на кложур, а на работе на С-С++, так джоб секьюрити повышается ;)

Date: 2016-05-20 08:51 am (UTC)
From: [identity profile] thedeemon.livejournal.com
Не совсем, тут звезды влияют не на рейтинг, а на первоначальный отсев - берем на Евровидение лишь тех, кого хоть кто-то слушает, а потом уже сравниваем. Чтобы отсеять домашние проекты "для себя", где никаких баг-репортов не ожидается.

Date: 2016-05-20 08:52 am (UTC)
From: [identity profile] fi_mihej.livejournal.com
О! Как раз хотел этот момент в коменте уточнить. Сложно было поверить в такую "умную и точную" систему подсчета, которая ставит в одну линию и огромные репозитории, и мелочь на десять строк...

Date: 2016-05-20 08:54 am (UTC)
From: [identity profile] thedeemon.livejournal.com
А звезд сколько? Там проекты "для себя" звездами отсекали.

Date: 2016-05-20 08:55 am (UTC)
From: [identity profile] thedeemon.livejournal.com
А форк наследует число звезд?

Date: 2016-05-20 09:06 am (UTC)
From: [identity profile] voidex.livejournal.com
Какая разница, сложный проект или нет, главное - полезный ли, а это как раз звездами и измеряется!
А то понапишут тысячи строк никому ненужного кода

Date: 2016-05-20 09:06 am (UTC)
From: [identity profile] lispnik.livejournal.com
А, другое дело.

Date: 2016-05-20 09:19 am (UTC)
From: [identity profile] thedeemon.livejournal.com
Имеется в виду сложное для понимания что это и нафига это.
Page 1 of 4 << [1] [2] [3] [4] >>

Profile

thedeemon: (Default)
Dmitry Popov

December 2025

S M T W T F S
 12 3456
789101112 13
14151617181920
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 25th, 2026 10:49 am
Powered by Dreamwidth Studios