Покровы сорваны!
May. 20th, 2016 02:44 pmГруппа ученых под руководством Дэниела Лебреро из Лаборатории Торговых Программных Интерфейсов британской компании IG Markets Ltd провела статистическое исследование о связи числа баг-репортов и языков программирования на базе информации об открытых проектах на сайте "Центр деятельности мерзавцев" (GitHub.com, организация разрешена в России, за исключением некоторых периодов, когда она запрещена). Выяснилось, что наличие статической типизации и продвинутой системы типов не помогает в уменьшении ошибок, а порой даже вредит, в то время как меньше всего ошибок получается в программах на максимально простых языках.
Плотность багов у проектов с 10 звездами и более:

Теперь научно доказано, что
theiced был прав: типы не нужны, а писать надо на Кложури. А также Эрланге и Го. Адептам сложных языков и развитых систем типов надлежит раскаяться, одуматься и перестать уже своими надуманными неработающими идеями отвлекать благородных донов, занятых TDD.
Плотность багов у проектов с 10 звездами и более:

Теперь научно доказано, что
no subject
Date: 2016-05-20 07:58 am (UTC)no subject
Date: 2016-05-20 08:00 am (UTC)Плотность ошибок внезапно может оказаться связанной со сложностью проекта, а не с количеством звёзд на небе. :)
no subject
Date: 2016-05-20 08:08 am (UTC)no subject
Date: 2016-05-20 08:08 am (UTC)>меньше всего ошибок получается
Гм. Им еще не объяснили, в чем они неправы?
no subject
Date: 2016-05-20 08:09 am (UTC)Но у меня есть теория ещё проще. Я лично ввел бы понятие "сложность программиста". Чем больше внутренняя сложность у программиста, тем больше 10* проектов он пишет (это внешняя сложность) и тем больше народа ищет там ошибки.
no subject
Date: 2016-05-20 08:15 am (UTC)no subject
Date: 2016-05-20 08:16 am (UTC)no subject
Date: 2016-05-20 08:17 am (UTC)no subject
Date: 2016-05-20 08:22 am (UTC)какой проект соберет больше лайков: что-то сложное и нишевое, вроде теорем-прувера, или очередная обертка в 10 строк над другой оберткой в 12 строк над библиотекой в 14 строк, упрощающих позиционирование прямоугольничков с круглыми углами на странице?
Первое получит N звезд и М багов, три других проекта - по 100N звезд (аудитория больше, польза им понятней) и по M/100 багов (т.к. кода совсем мало). Вот и выходит плотность багов сильно лучше у мелких простейших.
no subject
Date: 2016-05-20 08:23 am (UTC)no subject
Date: 2016-05-20 08:25 am (UTC)"charts that compare the number of issues labelled "bug" versus the number of repositories in GitHub for different languages"
no subject
Date: 2016-05-20 08:35 am (UTC)no subject
Date: 2016-05-20 08:35 am (UTC)no subject
Date: 2016-05-20 08:37 am (UTC)За C++ скажу, что строгая типизация в нем ( по сравнению с простым Си) предотвращает появление трудноуловимых ошибок еще на этапе написания кода и компиляци - что не мешает насажать ещё кучу багов другими способами.
no subject
Date: 2016-05-20 08:38 am (UTC)no subject
Date: 2016-05-20 08:43 am (UTC)ну, у меня несколько форков разных JS repos, потому что хозяева не мержат пулреквесты. Им меньше багов, нам больше репос.
no subject
Date: 2016-05-20 08:50 am (UTC)^___^
no subject
Date: 2016-05-20 08:50 am (UTC)no subject
Date: 2016-05-20 08:51 am (UTC)no subject
Date: 2016-05-20 08:52 am (UTC)no subject
Date: 2016-05-20 08:54 am (UTC)no subject
Date: 2016-05-20 08:55 am (UTC)no subject
Date: 2016-05-20 09:06 am (UTC)А то понапишут тысячи строк никому ненужного кода
no subject
Date: 2016-05-20 09:06 am (UTC)no subject
Date: 2016-05-20 09:19 am (UTC)