Что качественнее - свободный или проприентарный код? (прочитайте пояснение пожалуйста перед кликом) - страница 3

 
Evgeny Belyaev:

Во сленга то набрался. Осталось только монетизировать научится, не нефакт.


Предлагаю для таких, как Evgeny Belyaev, открыть ветку low-cost операторов с open-source ПО для полетов ))

Прикинь, Евгений, летишь ты на высоте 10000 м над Атлантикой, тут выходит стюардесса, - уважаемые пассажиры, мы падаем с высоты 10000 метров, так как наше фриварное ПО, проверенное в игре WW2, не работает на высотах более 8000 м. 
Но вы не расстраивайтесь, вот вам порошок от акул, его прям вчера проверил наш эксперт Вася Пупкин, когда играл в домашней ванне с резиновой уткой!

А вы, Евгений, не огорчайтесь, зато вам не придется воспользоваться нашим фриварным презервативом, который тот же Вася Пупкин 10 минут тестировал на домашней скалке!

 
Alexey Volchanskiy:
Давайте сразу о терминах, чтобы все четко знали, по что мышкой жамкают.

Проприентарный код - код, не обязательно платный, но архитектура и исходные коды закрыты от общественности. Разработка ведется узким кругом лиц, как правило, сотрудниками комерческой структуры. Продукт может быть платным или бесплатным.
   Примеры: Metatrader 4/5, Microsoft Word, Танчики ))

Свободный код - исходные коды доступны. Разработка ведется сообществом, где каждый вносит свой бескорыстный вклад в улучшение кода. Продукт бесплатен.   
   Примеры: Различные клоны Линукс, куча программ на GitHub и т.д.

Самый сильный пример свободного кода - это R. Причем не только свободного, но и чрезвычайно успешного, так как за 20 лет сумел пробиться в топ-5.

Огромные объемы кода, все открыто, теоретически все можно испоганить.

Но.

Собственно серцевину, сам R каждый может исправить, но лично для себя. Официально распространяемые релизы исходят только от разработчика.

Далее.

Основной объем кода, который и представляет собственно интерес, также является открытым, но имеет модульную структуру в виде независимых пакетов (если не использует другие пакеты). Также отсутствует возможность испоганить все. Кроме этого каждый пакет контролирует его разработчик.

Но каждый может разработать свой собственный пакет и поместить его на зеркало, став частью R.

И самое важное - качество кода.

Код бесплатный и основная формула рыночной экономики "не обманешь - не продашь" здесь не проходит. Люди, которые расширяют R - это борьба за имя, борьба за расширение своих идей, обычно теоретических изысканий. А так как код бесплатный, то количество пользователей гораздо больше, чем у платного аналога, а отсутствие багов напрямую зависит от количества пользователей.

 
СанСаныч Фоменко:

Самый сильный пример свободного кода - это R. Причем не только свободного, но и чрезвычайно успешного, так как за 20 лет сумел пробиться в топ-5.

Огромные объемы кода, все открыто, теоретически все можно испоганить.

Но.

Собственно серцевину, сам R каждый может исправить, но лично для себя. Официально распространяемые релизы исходят только от разработчика.

Далее.

Основной объем кода, который и представляет собственно интерес, также является открытым, но имеет модульную структуру в виде независимых пакетов (если не использует другие пакеты). Также отсутствует возможность испоганить все. Кроме этого каждый пакет контролирует его разработчик.

Но каждый может разработать свой собственный пакет и поместить его на зеркало, став частью R.

И самое важное - качество кода.

Код бесплатный и основная формула рыночной экономики "не обманешь - не продашь" здесь не проходит. Люди, которые расширяют R - это борьба за имя, борьба за расширение своих идей, обычно теоретических изысканий. А так как код бесплатный, то количество пользователей гораздо больше, чем у платного аналога, а отсутствие багов напрямую зависит от количества пользователей.

Сен Саныч, а вы можете в R найти нормальный пакет по расчету коэффициентов КИХ фильтров? Если попутно увидите про БИХ, тоже дайте знать пожалуйста.

С R лично для меня проблема, что нет централизованной документации. Я пошарил по библиотекам, там какой-то дет-сад, какой-то итальянец что-то разработал, доки минимум, примеров нет... ну и все в таком духе. Валяются какие-то несвязанные между собой библиотеки.

Вы позиционируете себя, как спец по R, не могли бы поискать?

 
Alexey Volchanskiy:

Сен Саныч, а вы можете в R найти нормальный пакет по расчету коэффициентов КИХ фильтров? Если попутно увидите про БИХ, тоже дайте знать пожалуйста.

С R лично для меня проблема, что нет централизованной документации. Я пошарил по библиотекам, там какой-то дет-сад, какой-то итальянец что-то разработал, доки минимум, примеров нет... ну и все в таком духе. Валяются какие-то несвязанные между собой библиотеки.

Вы позиционируете себя, как спец по R, не могли бы поискать?

Да, и принцип поиска пожалуйста. А я все это в статью закину с вашего разрешения
 

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

Кроме того, есть и момент разности подходов к программированию.

Помню, в 90х годах довелось поглядеть на код какой-то библиотеки от Microsoft. Мой собственный уровень шел от калькулятора, к ассемблеру 8080, к ассемблеру 8086, к "обычному С", и наконец -  к С++ и к библиотеке MFC (на, которой, собственно программерский рост, увы, и завершился), которую считал очень правильной и качественной. Так вот, просматривая этот код - я видел, что его писали явно хорошие прогрммисты, но "сишники", а не "си-плюс-плюсники".

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

 
George Merts:

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

Кроме того, есть и момент разности подходов к программированию.

Помню, в 90х годах довелось поглядеть на код какой-то библиотеки от Microsoft. Мой собственный уровень шел от калькулятора, к ассемблеру 8080, к ассемблеру 8086, к "обычному С", и наконец -  к С++ и к библиотеке MFC (на, которой, собственно программерский рост, увы, и завершился), которую считал очень правильной и качественной. Так вот, просматривая этот код - я видел, что его писали явно хорошие прогрммисты, но "сишники", а не "си-плюс-плюсники".

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


Правило первое - за качество открытого кода никто не отвечает.

Я не даром привел саркастический пример свободного ПО в управлении самолетом. На Хабре было несколько статей от разработчика ПО авионики. Очень четко описан цикл модульного тестирования, сколько требуется усилий, чтобы приняли изменения/улучшения в оттестированное ПО. Найдите, реально другой мир.

Тут у нас в маркете советники в тестере валятся с делением на ноль и хоть бы хны кому. Ну, завалилась очередная какашка, ну и что, ведь никто, кроме трейдеров, не пострадал. А вот самолеты с сотнями пассажиров - тут уже подход професионалов!

 
Alexey Volchanskiy:


Тут у нас в маркете советники в тестере валятся с делением на ноль и хоть бы хны кому. Ну, завалилась очередная какашка, ну и что, ведь никто, кроме трейдеров, не пострадал. А вот самолеты с сотнями пассажиров - тут уже подход професионалов!

И что ?

В самолетах ответственность значительно выше, соответственно, и подход другой.

Кроме того, на мой взгляд, MQL4 оказал немалую медвежью услугу начинающим программистам, неявно заполняя переменные нулями при создании, допуская выходы индекса за пределы массива (это то, с чем я сталкивался, наверно, есть и что-то подобное) - все это расхолаживает программистов. Мне категорически не нравится подход С# со "сборщиком мусора", когда можно плевать на запрошенные ресурсы, я как олдскульный программер, считаю, что освобождение ресурсов - это важная часть кода.

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

 
Alexey Volchanskiy:

Сен Саныч, а вы можете в R найти нормальный пакет по расчету коэффициентов КИХ фильтров? Если попутно увидите про БИХ, тоже дайте знать пожалуйста.

С R лично для меня проблема, что нет централизованной документации. Я пошарил по библиотекам, там какой-то дет-сад, какой-то итальянец что-то разработал, доки минимум, примеров нет... ну и все в таком духе. Валяются какие-то несвязанные между собой библиотеки.

Вы позиционируете себя, как спец по R, не могли бы поискать?

Фильтры видел, но не пользуюсь - специально искать не хочется.

R прекрасно документированная система с очень развитым поиском собственно в R так и дополнительными пакетами.

Здесь все по алфавиту, но надо знать наименование. Наименование можно поискать в гугле. Он прекрасно работает по R. Находите наименование пакета, а затем по алфавиту находите пакет. 

Здесь сгруппировано по темам. Если перейти в  тему, в которой Вы предполагаете находится Ваш вопрос, то переходите, там будет перечень пакетов.

Можно поставить R и в нем искать с помощью  пакета по-моему sos (давно ничего не ищу, стал забывать). Он имеет контексный поиск.


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


Главное хотя бы один раз все пройти - потом будете удивляться насколько все просто и по-уму.


Удачи.


ПС.

Поставьте R и RStudio. Все очень упростится. 

CRAN Packages By Name
  • cran.r-project.org
The package will formally test two curves represented by discrete data sets to be statistically equal or not when the errors of the two curves were assumed either equal or not using the tube formula to calculate the tail probabilities
 
Alexey Volchanskiy:
Да, и принцип поиска пожалуйста. А я все это в статью закину с вашего разрешения
Мое разрешение не нужно - все это стандартные процедуры... Вы автор, Вы решаете ЧТО писать
 
СанСаныч Фоменко:

Фильтры видел, но не пользуюсь - специально искать не хочется.

R прекрасно документированная система с очень развитым поиском собственно в R так и дополнительными пакетами.

Здесь все по алфавиту, но надо знать наименование. Наименование можно поискать в гугле. Он прекрасно работает по R. Находите наименование пакета, а затем по алфавиту находите пакет. 

Здесь сгруппировано по темам. Если перейти в  тему, в которой Вы предполагаете находится Ваш вопрос, то переходите, там будет перечень пакетов.

Можно поставить R и в нем искать с помощью  пакета по-моему sos (давно ничего не ищу, стал забывать). Он имеет контексный поиск.


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


Главное хотя бы один раз все пройти - потом будете удивляться насколько все просто и по-уму.


Удачи.


ПС.

Поставьте R и RStudio. Все очень упростится. 

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