Репозиторий функций
Насмотрелся я на разные мавены, рубигемы и прочие репозитории в которых Адъ и Израиль и подумал, что идея искать пакеты по именам - это зло. Пакеты надо искать по исполняемым функциям. А сами функции требуемые описывать в виде структурных типов. И чтобы они грузились сразу из исходного кода, а не из pom.xml, project.clj и gemfile.
Пишешь типа в исходнике
f :: HTTPSUrl->Maybe DataStream
f = broughtBySpidersAndCynocephalus
и оно тебе при загрузке программы все такие места проверяет и скачивает реализующую нужную функцию куски пакетов со всеми зависимостями. :)
Пишешь типа в исходнике
f :: HTTPSUrl->Maybe DataStream
f = broughtBySpidersAndCynocephalus
и оно тебе при загрузке программы все такие места проверяет и скачивает реализующую нужную функцию куски пакетов со всеми зависимостями. :)
no subject
no subject
А вот типы сами по себе придется проектировать централизованно.
no subject
Не а.
Вместо классического "авторы дебилы - кто же так функцию называет" будет "авторы дебилы, кто же в такие типы данные запихивает"
Хочу я функцию, которая строку в число переводит: http://www.haskell.org/hoogle/?hoogle=String-%3E+Int А там Ад, Израиль и throwSocketError
no subject
no subject
no subject
no subject
Кроме того, тривиальные функции обычно в либы нету смысла выносить.
no subject
no subject
Первое работает с любыми числами, а второе - только с дробными.
no subject
не обязательно, кстати. Во многих языках достаточно развесистая система "привидений типов".
a+0.12345*b может внутре считаться так:
float tmpf = b;
tmpf = tmp*0.12345;
int tmpi = tmpf;
return a+tmpi;
no subject
no subject
no subject
no subject
или была
no subject
no subject
no subject
перепишешь. чо, меньше 2килознака в минуту печатаешь? не программист тогда!
а конфликт версий эт ваще нямка будет.
я уж молчу, шо найти сигнатуру - возможно изменившуюся - отдельный ад
no subject
no subject
найти инфу, что вот это - нужно... тонны описалов. тонны в квадрате описалов совместимости.
читайте, ага.
вместо одной строчки в гемфайле.
no subject
no subject
вот перестали быть нужны для результата некоторые входные данные. совсем. и со сменой мажорной версии - выкинули нахрен мусор. и чо, будешь выискивать как сигнатура поменялась? или продолжишь пользоваться неподдерживаемым говном мамонта?
no subject
no subject
чо, требовать наличия нахрен не нужных данных? и да пофиг шо эти данные еще нужно выгрести - проц толстый, да.
депрекэйшн пару версий при вызове обертки со старым именем - и нахуй с пляжу. мусор с собой таскать никому не впилось. желающие дерьмища соберут или выберут нужную версию сами.
no subject
no subject
rake
опиши.
no subject
вместе с ОС
и железом для неё
и компанией, владеющей железом
и страной, регистрирующей компани.
и другим глобусом с другой солнечной системой
no subject
no subject
вместо dllhell будет prochell
ну и улучшайзинг функции, с рефакторингом - добавят красок в жизнь девопса. розовой и голубой в основном.
no subject
no subject
no subject
а по зависимостям?
я уж молчу шо и пропасть функция может. с депрекэйшн варном.
no subject
no subject
no subject
В хаскеле том же всё неплохо, за исключением любви авторов библиотек вытаскивать для либы из двух функций тонну всяких трансформеров монад. Ну и качества самих модулей, разброда и шатания, и процента реально полезных модулей ко всякому матану в альфа-версиях.
В дотнете есть общий стиль и хорошая библиотека из коробки, через это даже уродский менеджер пакетов не особо и напрягает - 90% из коробки, остальное всё чаще всего делает то что нужно, и не от чего не зависит.
Как там в нетипизированных языках я вообще хз, меня вот сильно пугает перспектива подцепить несовместимые модули и в рантайме натыкаться на проблемы с их взаимоотношениями. Я как-то node.js пробовал - именно в такое говно прямо с ходу и наступил.
no subject
ох уж эти программисты, чего выдумают, только чтобы не жениться
ни один даже дяденька не держит в голове весь даже standard API даже одного языка
результаты работы 1 000 000 программеров даже в гугл не выкладывают
no subject
no subject
no subject
no subject
http://erlang.org/pipermail/erlang-questions/2011-May/thread.html#58768
Докатилось даже до русскоязычной Erlang-тусовки, отзывы были типа:
"Старый конь Армстронг начал впадать в маразм"
no subject
org_erlang_lang_string_compareTo(string AnotherString)
Да, куда-то Армстронга понесло далеко. Хотя он реально умные вещи как правило говорит и делает.
no subject
no subject
no subject
no subject
no subject
no subject
https://www.youtube.com/watch?v=MuWTQtyKih4
no subject
no subject
В принципе, реализовать это - несложно, практически в любой ситуации. Что для нативного кода, что для управляемого.
Хоть кому-то это оказалось интересно, лол.