
Berkus
08.06.2017
12:28:05
да нормальный у ллвм туториал
читать надо уметь просто

Vasiliy
08.06.2017
12:37:26
не нормальный, зачем мне рассказывать кучу времени про лексеры и парсеры, если я пришел изучать LLVM? взяли бы уже готовое и показали бы мне калькулятор как сделать арифметический, в смысле как сегенерить LLVM IR для него и как оптимизацию включить на основе SSA

Berkus
08.06.2017
12:38:58
ну тебе ж впадлу страничку перелистнуть

Google

Andrei
08.06.2017
12:39:01

Berkus
08.06.2017
12:39:25

Vasiliy
08.06.2017
12:42:05
я же повторяю все, пишу свой язык такой же как у них чтобы разобраться, немного по-своему, конечно, пытаюсь более-менее нормально хотябы писать, а не как там
и мне нужно, чтобы он работал, я нему "перейти сразу" куда-то, мне нужно чтобы у меня был именно практический скил, чтобы я мог экспериментировать и тп

Andrei
08.06.2017
12:42:07
Там нет такой секции.
Там всё очень размыто и зачем-то навязана архитектура их языка.
При том что я писал совершенно иной язык с совершенно иной парадигмой и их «решения» мне и близко не подходили, но вот что мне надо было, так это описание, к примеру, какие магические слова написать, чтобы добавить в код ветвление.
А не то, как это надо офигенно заархитектурить в их игрушечном языке.

Berkus
08.06.2017
12:44:04

Andrei
08.06.2017
12:44:23
За языком следи.

Vasiliy
08.06.2017
12:44:42
я такого не говорил) точнее я говорил не это
и тем более совсем не такой диалог искал в этом чате)
я думаю можно легко понять основную мысль, которую я пытался донести по этот туториал
и, кстати, не я один так считаю: https://i.gyazo.com/b9e339be9d1cd170cda1f1fb4b823ad8.png

Berkus
08.06.2017
12:50:36
вот магические слова конкретные

Alexander
08.06.2017
12:52:40
и всё же я бы почитал доку, которая есть, а по всем вопросам спрашивал бы у гугла\IRC\Slack

Google

Alexander
08.06.2017
12:53:15
Благо сейчас буст, например, перебрался на Слаку так основательно. Вот только @antoshkka никак ниасилит

Дед Пегас
08.06.2017
12:53:29
Ану не ругайтесь!

Berkus
08.06.2017
12:53:31
а где у буста слак тим? я бы заглянул

Alexander
08.06.2017
12:53:46
cpplang.slack.com

Berkus
08.06.2017
12:54:08
Don't have an account on this team yet?
Contact the team administrator for an invitation
кто там админ?

Alexander
08.06.2017
12:54:18
ага)
вангую, что Robert Ramey
or Jon Kalb

Berkus
08.06.2017
12:55:30

Antony
08.06.2017
12:55:49

Alexander
08.06.2017
12:56:00
я ж тебе кидал инвайт

Antony
08.06.2017
12:56:12
О_о
я потеряль

Vasiliy
08.06.2017
12:56:31

Alexander
08.06.2017
12:57:39
пропустил Антон срач в Слаке по поводу моего пулл реквеста в Boost.Sort
правда основной срачик можно в dev list почитать

Stanislav
08.06.2017
12:57:59

Alexander
08.06.2017
12:59:03
там возникла интересная ситуация. Есть мой пулл реквест с Тимсортом. Я его сделал, поговорил со Стивеном (Мейнтейнер Буст.Сорт) - окей, Тимсорт это хорошо. Давай-ка мы ревью кода сделаем, а потом уже говорить будем
Я соглашаюсь. Он сказал, что у него времени нет вообще делать ревью, он найдёт какого-то Франциско, который поревьюшит и даст своё заключение, что переделать, где чуток подправить, а после этого уже займёмся интеграцией в Буст (а интеграция - это тесты, сэмплы, и самое главное - дока)

Google

Alexander
08.06.2017
13:00:38
Франциско слился. И тут Стивен решает провести ревью через Boost community
а это значит, что твой пулл реквест должен соответствовать всем требованиям
мой, естессно, не соотвествует, так как банально доки никакой нет
ревью началось, и тут сразу же, ожидаемо, поелетели какахи - "Где дока, бро? Что за говно ты сюда вбросил? Никто эту хунту читать не будет"

Berkus
08.06.2017
13:01:49

Alexander
08.06.2017
13:02:41
Претензии то ко мне, как к автору. Вот такое вот знатное дерьмо получилось
и по сути, виноват то я, так как не подготовил на должном уровне PR. Но разговоры то со Стивеном были совсем о другом ?
Сразу же подняли вопрос, как релиз манагер допустил, что на ревью попал какой-то не пойми какой пулл реквест
веселье да и только

Stanislav
08.06.2017
13:04:54

Alexander
08.06.2017
13:05:08
Так они правы абсолютно!
к ним никаких претензий нет вообще. Вот ни капли.Есть налаженный процесс, и точка. Вопрос в том, с какой целью Стивен вбросил этот пулл реквест ткаим вот образом

Alexander
08.06.2017
13:06:30
Robert Ramey, один из верхушки буста, написал мне интересную точку зрения

Stanislav
08.06.2017
13:07:04
напомни ссылку на пр?


Alexander
08.06.2017
13:07:09
I'm pretty adamant that a boost library be a complete package that a user can
a) download via boost or some other way
b) look over the docs for general explanation and examples
c) test it if he wants
d) call it from his own code
e) know that it's been vetted by so-called "experts" (ie us)
For more information on this you can check www.blincubator.com and my thoughts on the general subject in
https://www.youtube.com/watch?v=ACeNgqBKL7E
So your submission doesn't meet these requirements.
When I saw this, I sort of went ballistic sorry about that.
Looking at it a little more carefully, I don't think it's really being submitted as a boost library - it's a PR to the sort library. Traditionally PRs have just been rolled in by the library author with out any review at all and no one has ever complained. If the "owner" of the library didn't agree with the PR for some reason (not impressed, requires a lot of work on his part, etc.) he just declines to merge the PR - en of story. It has never occurred that someone has gone to the list to overule the maintainer.
So - I really don't know why this has even come it. It could be that the maintainer doesn't like and doesn't want to be the one to say no. It could be that he sees merit in it but feels it's out of his experience. It could be that he's now bogged down and doesn't want to deal with it. Whatever it is, the maintainer of the sort library becomes responsible for it once it's been merged. So you should just come to agreement with him. Of course your merge should also reflect the standards of boost and the sort library so it's going to have to include some documentation and tests in any case.
I think the rules for a "mini-review" are a little bit fuzzy. If it's required fine. If not OK. But in any case it needs to be a finished package.
Robert Ramey
So - I really don't know why this has even come it. It could be that the maintainer doesn't like and doesn't want to be the one to say no. It could be that he sees merit in it but feels it's out of his experience. It could be that he's now bogged down and doesn't want to deal with it.


Stanislav
08.06.2017
13:08:11
хм

Alexander
08.06.2017
13:08:12
так что Тимсорта к следующему релизу не будет, это точно
наверное, через один или через два

Stanislav
08.06.2017
13:08:23
ну у них частые релизы) подождем

Google

Stanislav
08.06.2017
13:08:33
чай, не С++ ISO

Alexander
08.06.2017
13:08:55
Мейнтейнер Сорта, Стивен, он крайне... кхм-кхм.. интересный

Stanislav
08.06.2017
13:09:12
ссылку на пр повтори пжалста

Alexander
08.06.2017
13:09:23
Кто может мне сказать внятную причину, почему НЕ стоит добавлять counting sort в Boost.Sort?
https://github.com/boostorg/sort/pull/12

Stanislav
08.06.2017
13:10:08

Alexander
08.06.2017
13:10:17
а такого быть не должно. Есть реальные тесты на приближённых к реальным кейсам, где эта сортировка незаменима

Admin
ERROR: S client not available

Alexander
08.06.2017
13:11:02
и что стоит мейнтейнеру просто добавить в свою либу counting_sort.hpp ?

Stanislav
08.06.2017
13:11:04
я тупенький, читал вику, где ее юзать лучше? )

Alexander
08.06.2017
13:11:18
это сортировка за O(N)
честных O(N) , а не как radix sort, где считается кол-во разрядом числа ещё
применяется для сортировки целых чисел
или того, что можно ими представить.
Есть у тебя 1000000000 обьектов, у которых массы\очки\коэф.\магические значения лежат в диапазоне от 0 до 10000 и тебе нужно отсортить по ним. Запустишь std::Sort || boost::spreadsort || TimSort - печалька будет
запускаешь counting_sort - офигеваешь от скорости
а вообще, кто хочет увидеть, насколько убоги std::sort, boost::sort и иже с ними, добро пожаловать сюда - https://github.com/Morwenn/cpp-sort
и, чёрт возьми, я хочу ЭТО видеть в бусте

Stanislav
08.06.2017
13:17:55
давай хватай Антошу и пропазалы в С++ пилите)

Google

Alexander
08.06.2017
13:18:57
мне ещё повезло, что люди помогают с Boost.Algorithm
Спасибо @EvgeniyZh

Stanislav
08.06.2017
13:22:25
будет время посмотрю пр

Evgeniy
08.06.2017
13:22:30
☺️

Alexander
08.06.2017
13:23:23
Кстати, кто хочет помочь в благом деле? Кто готов основательно побенчмаркать cpp-sort vs boost::sort vs std::sort (libstdc++) ?

Antony
08.06.2017
13:25:08
и, чёрт возьми, я хочу ЭТО видеть в бусте
100500 настроек в которых надо разбираться часами и которые оптимально работают при определённых входных параметрах.
Мне нужен sort который сортирует быстро, а не фреймворк для создания сортировок.

Alexander
08.06.2017
13:25:16
работа несложная в плане кодинга, просто очень много бенчмарков надо проводить. Потом результаты либо самим скомпилировать, либо уже помогу с этим. Если результаты будут крайне положительные - пишем абузу в Boost mailing list

Stanislav
08.06.2017
13:29:36
т.е. почему бы и не сказать да для сортировок?


Alexander
08.06.2017
13:31:36
100500 настроек в которых надо разбираться часами и которые оптимально работают при определённых входных параметрах.
Мне нужен sort который сортирует быстро, а не фреймворк для создания сортировок.
Я придерживаюсь вот какого мнения по этому поводу:
1) Ты безусловно прав, всегда должна быть штука, которая сама сортирует быстро в среднем случае. Тут ты прав абсолютно
2) Но почему я не могу иметь, как разработчик, набора сортировок, которые я могу применять в тех или иных ситуациях САМ? То есть я знаю, что в данном случае та же сортировка подсчётом вот именно то, что доктор прописал. Во прям оно. И что я, должен писать её вручную, если я могу вызвать просто boost::counting_sort? Я НЕ понимаю, что мешает мне в либе иметь одновременно и супер_метод, и частные методы, которые не такие уж и частые.
не знаешь, что юзать? Юзать обычный метод sort. Чуток разбираешься? Используй более тонкие средства
мы должны предоставить разработчику как можно больше уже реализованных вещей, чтобы ему пришлось велосипедить как можно меньше
и программирование на С++ с помощью либ в идеале сводилось к стилю программирования на шарпе\джаве: напечатал пару символов, Ctrl+space \ alt+enter, напечатал пару символов, Ctrl+space \ alt+enter, напечатал пару символов, Ctrl+space \ alt+enter, Enter.
Повторить до победы. Как бы дико это не звучало.
а тем, кто хочет уже перфоманса, гибкости, smth else, пусть уже включает мозг и принимает решения, что и где юзать


Antony
08.06.2017
13:37:52

Alexander
08.06.2017
13:40:00
Если разработчик не читает документацию, и допускает такие ошибки - это проблема разработчика. И лично для меня это не повод усложнять на ровном месте жизнь разработчику.

Antony
08.06.2017
13:42:14

Alexander
08.06.2017
13:43:19
import random
print random.randint(1,11)
https://stackoverflow.com/questions/8287167/python-generate-random-number-between-x-and-y-which-is-a-multiple-of-5
а в нашем случае: randomchik<int?1, 11)