Re[6]: Что почитать про многопоточность?
От: Basil2 Россия https://starostin.msk.ru
Дата: 24.09.19 10:08
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>А разве не так?

KP>
KP>T& T::operator++();
KP>T T::operator++(int);
KP>


Так, но основной-то первый вариант.
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[9]: Что почитать про многопоточность?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 24.09.19 10:17
Оценка:
Здравствуйте, Basil2, Вы писали:

B>А смысл? Rust превосходит Go практически во всем: скорость, надежность, мощность, выразительность, обработка ошибок. На Go проще запиливать веб-сервисы, за счет чего его доля быстро растет, т.к. он заменяет одновременно Python, Node.JS, C#, Perl и PHP. Но мне больше нравится системная тема.


Это в тебе снобизм С++ разработчика говорит, меня так же крыло по началу. На деле, Rust, C++ и куча других языков проигрывает вот этому тупому и нелепому Го в простоте кода и читабельности. А это критично для любого проекта, у которого предполагается более менее долгий цикл поддержки и развития.
Re[7]: Что почитать про многопоточность?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 24.09.19 10:23
Оценка:
Здравствуйте, Basil2, Вы писали:

B>Здравствуйте, kaa.python, Вы писали:


KP>>А разве не так?

KP>>
KP>>T& T::operator++();
KP>>T T::operator++(int);
KP>>


B>Так, но основной-то первый вариант.


Как первый? Разве i++ (второй вариант) не чаще используется чем ++i (первый вариант) ? Ну и, как сказали выше, это просто вкусовщина, и семантика может использоваться любая.
Отредактировано 24.09.2019 13:16 kaa.python . Предыдущая версия . Еще …
Отредактировано 24.09.2019 13:16 kaa.python . Предыдущая версия .
Re[7]: Что почитать про многопоточность?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 26.09.19 02:13
Оценка:
Здравствуйте, AndrewJD, Вы писали:

AJD>Даже в бусте when_any/when_all нормально сделать не смогли. Создают вспомогательные потоки и делают ожидание в них. И как выполнить например 1000 ожиданий?


Что-то мне интересно стало, а нет сведений как это же самое в Rust реализовано?
Re[10]: Что почитать про многопоточность?
От: Basil2 Россия https://starostin.msk.ru
Дата: 28.09.19 15:00
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>1234 напечатает. Но это не баг, это фича... как бы.


Очень верно подмечено.

B>>
B>>if err != nil {
B>>    return err
B>>}
B>>

KP>И? Явная обработка ошибки. Ты просто из C++ мира смотришь на что-то новое и кажется странно, но это не так, это просто новое и не на ровном месте возникшее.

В данному случае я смотрю из мира Rust
Там код
val, err := foo();
if err != nil {
    return err;
}

превращается в
let val = foo()?;

Возврат нескольких значений в Go это _очень_ большой шаг по сравнению с С++, где приходилось извращаться с выходными параметрами и предварительным объявлением переменных (без возможности, например, объявить константу). Но в плане читабельности Go еще есть куда расти
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[10]: Что почитать про многопоточность?
От: Basil2 Россия https://starostin.msk.ru
Дата: 28.09.19 15:05
Оценка: :)
Здравствуйте, kaa.python, Вы писали:

B>>А смысл? Rust превосходит Go практически во всем: скорость, надежность, мощность, выразительность, обработка ошибок. На Go проще запиливать веб-сервисы, за счет чего его доля быстро растет, т.к. он заменяет одновременно Python, Node.JS, C#, Perl и PHP. Но мне больше нравится системная тема.


KP>На деле, Rust, C++ и куча других языков проигрывает вот этому тупому и нелепому Го в простоте кода и читабельности. А это критично для любого проекта, у которого предполагается более менее долгий цикл поддержки и развития.


Я бы не называл Го тупым и нелепым (нелепый — это JavaScript, а тупых языков я пожалуй и не знаю, из мейнстримовых). У Гугла отлично получилось сделать простой и мощный язык, пусть и несколько разрозненный. Это как автомат Калашникова, условно. Да, для рядовых бойцов это самое то. Но если ты в спецназе, то там есть более подходящее оружие.
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[8]: Что почитать про многопоточность?
От: Basil2 Россия https://starostin.msk.ru
Дата: 28.09.19 15:12
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>>>А разве не так?

KP>>>
KP>>>T& T::operator++();
KP>>>T T::operator++(int);
KP>>>


B>>Так, но основной-то первый вариант.

KP>Как первый?

Так — потому что второй вариант канонически реализуется паттерном через первый:
T T::operator++(int) {
   T temp(t);
   t++;
   return temp;
}

KP>Разве i++ (второй вариант) не чаще используется чем ++i (первый вариант) ?
Это было до появления итераторов. Теперь положено использовать ++i.

KP>Ну и, как сказали выше, это просто вкусовщина, и семантика может использоваться любая.

Это не вкусовщина, а серьезный performance impact, так как вторая операция значительно медленнее, да еще и в цикле (если речь не о целочисленных переменных).
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[11]: Что почитать про многопоточность?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 28.09.19 23:04
Оценка:
Здравствуйте, Basil2, Вы писали:

B>Возврат нескольких значений в Go это _очень_ большой шаг по сравнению с С++, где приходилось извращаться с выходными параметрами и предварительным объявлением переменных (без возможности, например, объявить константу). Но в плане читабельности Go еще есть куда расти


Ты всерьез считаешь, что выискивать знак вопроса в конце функции (при том что они могут быть цепочкой выстроены) — это большой шаг вперед в пользу читабельности?
Re[9]: Что почитать про многопоточность?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 28.09.19 23:09
Оценка:
Здравствуйте, Basil2, Вы писали:

KP>>Ну и, как сказали выше, это просто вкусовщина, и семантика может использоваться любая.

B>Это не вкусовщина, а серьезный performance impact, так как вторая операция значительно медленнее, да еще и в цикле (если речь не о целочисленных переменных).

А ты замерять реально пробовал, на не синтетических тестах? Хоть раз видел что бы из за оператора ++ были тормоза? По мне так это типичная страсть C++ разработчика к оптимизации того, что оптимизировать не требуется.
Re[11]: Что почитать про многопоточность?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 29.09.19 03:50
Оценка: :)
Здравствуйте, Basil2, Вы писали:

B>Я бы не называл Го тупым и нелепым (нелепый — это JavaScript, а тупых языков я пожалуй и не знаю, из мейнстримовых). У Гугла отлично получилось сделать простой и мощный язык, пусть и несколько разрозненный. Это как автомат Калашникова, условно. Да, для рядовых бойцов это самое то. Но если ты в спецназе, то там есть более подходящее оружие.


Упс, извините, не знал что к спецназовцу со своим на вным видением лезу. Я больше не буду
Re[12]: Что почитать про многопоточность?
От: Basil2 Россия https://starostin.msk.ru
Дата: 29.09.19 10:12
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Ты всерьез считаешь, что выискивать знак вопроса в конце функции (при том что они могут быть цепочкой выстроены) —

Зачем его выискивать?!

KP>это большой шаг вперед в пользу читабельности?

В сравнении с кучей однотипных if — конечно. Меня правда дублирование ну очень сильно раздражает (сильнее чем других — видимо пунктик такой), поэтому глаз сразу цепляется.

Есть кстати пара вопросов в тему:

1. Как в Go прочитать значение переменной под лочкой?

2. Чем Go лучше C#?
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Отредактировано 29.09.2019 10:33 Basil2 . Предыдущая версия .
Re[10]: Что почитать про многопоточность?
От: Basil2 Россия https://starostin.msk.ru
Дата: 29.09.19 10:14
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>А ты замерять реально пробовал, на не синтетических тестах? Хоть раз видел что бы из за оператора ++ были тормоза? По мне так это типичная страсть C++ разработчика к оптимизации того, что оптимизировать не требуется.


Зачем? Использование i++ это заведомая пессимизация по сравнению с ++i. Да, глупо оптимизировать без причины, но пессимизировать не менее глупо.
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[12]: Что почитать про многопоточность?
От: Basil2 Россия https://starostin.msk.ru
Дата: 29.09.19 10:16
Оценка:
Здравствуйте, kaa.python, Вы писали:

B>>Я бы не называл Го тупым и нелепым (нелепый — это JavaScript, а тупых языков я пожалуй и не знаю, из мейнстримовых). У Гугла отлично получилось сделать простой и мощный язык, пусть и несколько разрозненный. Это как автомат Калашникова, условно. Да, для рядовых бойцов это самое то. Но если ты в спецназе, то там есть более подходящее оружие.


KP>Упс, извините, не знал что к спецназовцу со своим на вным видением лезу. Я больше не буду


Я только учусь, но тем не менее аналогия очень верна. Го, как и калаш, станет очень популярным, это несомненно. Просто популярное не значит самое лучшее.
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.