
Evgeny
28.12.2017
05:39:25
ну а если они должны разделять доступ к каким-то данным?

Dmitry
28.12.2017
05:40:12
зависит от задачи. А точно ли должны?

Evgeny
28.12.2017
05:40:34
да, зависит от задачи.

Dmitry
28.12.2017
05:41:30
В Го есть хороший девиз: Do not communicate by sharing memory; instead, share memory by communicating.

Google

Dmitry
28.12.2017
05:41:54
Можно еще share memory на synchronize заменить

Evgeny
28.12.2017
05:42:13
в основном я не люблю стд.конкьюренси из-за оверхедов на очереди сообщений, а значит лишняя нагрузка на GC.
тем более, что я больше работаю не с потоками, а с тасками из вайбда
и у меня могут быть буквально тысячи тасков.
и у каждого своя очередь сообщений, которую трудно мониторить.
таки дешка не эрланг/эликсир где мониторинг - очень прост.

Mike
28.12.2017
05:54:58

Evgeny
28.12.2017
05:55:47
как доберусь до компа, набросаю ченить простое.

Mike
28.12.2017
05:57:03
Вот на яве у класса Thread есть метод public void run(), который ты переопределяешь и он запускается в новом потоке. Можно создать анонимный экземпляр и тогда ему все окружающие переменные доступны, а чтоб конфликтом не было - юзаешь synchronized
А на Дэшке, я так понял, при создании экземпляра класса Тред нужно ему прям в конструктор отдать свою функцию... как вообще с ним дружить??

Dmitry
28.12.2017
05:59:21
http://dpldocs.info/experimental-docs/core.thread.Thread.html#examples
То же самое же
точнее два способа: с наследованием и переопределением run, и просто с передачей ф-ии в конструктор Thread

Google

Dmitry
28.12.2017
06:01:59
Если у тебя ф-я f(a,b,c)
то можно просто new Thread({ f(1,2,3); }).start;
и она будет в другом потоке работать

Mike
28.12.2017
06:04:33

Dmitry
28.12.2017
06:04:38
ага

Mike
28.12.2017
06:06:28

Dmitry
28.12.2017
06:06:55
создание лямбды

Mike
28.12.2017
06:07:31

Dmitry
28.12.2017
06:13:15
http://ddili.org/ders/d.en/lambda.html см. Anonymous functions и дальше
Пример с Thread: https://dpaste.dzfl.pl/deead7dc3fe1

Evgeny
28.12.2017
06:25:02
эта функция и передается потоку

Mike
28.12.2017
06:25:41
Всем огромное спасибо — вы не дали мне окончательно впасть в уныние) ссылки сохранил, как просплюсь — изучу

Oleg
28.12.2017
07:15:38

Evgeny
28.12.2017
07:16:36
IDE умеет проследить все вложенные функции?

Oleg
28.12.2017
07:17:44
Но и в D это тоже можно сделать, если бы компилятор как библиотеку с самого начала можно было бы юзать

Evgeny
28.12.2017
07:18:54
я не о проблемах, я о том умеет ли какая-нибудь IDE так делать в жабе?
А так вопрос спорный. Думаю кто как привык.

Oleg
28.12.2017
07:20:11

Google

Ievgenii
28.12.2017
07:20:43

Oleg
28.12.2017
07:21:08
Мне тот же человек рассказывал в споре что 'вот это' можно сделать сочетанием клавиш и 'вот это', и не нужен D с его фишками

Ievgenii
28.12.2017
07:23:00
В пхпШторме, от джетбрейнса, тоже такое есть. Но это не делает данное действие заслугой пыха

Oleg
28.12.2017
07:23:48
Ну и получается, что IDE хороша, а не язык. На что достаточно резонный аргумент следовал: 'язык это не только язык, но и экосистема с IDE и библиотеками'
Тут как бы фиг поспоришь, некоторые вещи на java очень муторно делать в сравнении с D, но их и не надо делать, тк есть уже библиотека
Либо в IDE сочетанием клавиш

Evgeny
28.12.2017
07:28:05
Та же IDEA от JetBrains стоит денег
а вообще, Java таки дерьмо, с ее тупорылой концепцией - усе эсть класс
ООП головного мозга налицо
даже для сраного хелловорлд нужно класс городить

Oleg
28.12.2017
07:33:42

qwerty
28.12.2017
08:03:06
@deviator есть минутка?
https://github.com/deviator/duseful/pull/26/ посмотри, пожалуйста

Oleg
28.12.2017
08:07:13
Там есть момент

qwerty
28.12.2017
08:07:44
ага
какой?

Oleg
28.12.2017
08:07:53
Про переменное число аргументов

Google

qwerty
28.12.2017
08:07:59
интересно

Oleg
28.12.2017
08:08:54
В D можно ещё вот так void foo(Args...)(Args args)
Так делается переменное число аргументов с различными типами

qwerty
28.12.2017
08:11:13
прям с различными?
сейчас проверю
вообще я думал, что есть замечание относительно того, что я под одну гребенку подписал делегаты и лямбды
действительно
ок, сейчас добавлю

Evgeny
28.12.2017
08:32:59
Версия с std.concurrency получилась громоздкой и плохочитаемой.

Admin
ERROR: S client not available

qwerty
28.12.2017
08:34:42
ничоси! Еще один сервис для обмена D кодом
Так а почему Counter целиком не сделать synchronized, тогда и Mutex не нужен
?

Evgeny
28.12.2017
08:35:19
Чтобы было видно что именно происходит
кроме того если делать весь класс synchronized, то все его функции оборачиваются в один и тот же mutex самого класса
это не всегда нужно
точнее это практически никогда не нужно
в данном случае оно конечно прокатит, но так зато видно как работать с мютексом

Google

Evgeny
28.12.2017
08:38:02
еще и опенсорсный


Stepanos
28.12.2017
08:40:05
> Мне адепт java про такое говорил и боготворил IntelejIdea от GetBrains
ну там есть за что
> что 'вот это' можно сделать сочетанием клавиш и 'вот это', и не нужен D с его фишками
ну да + кодогенерация решает
> 'язык это не только язык, но и экосистема с IDE и библиотеками'
абсолютно верно, ето и помогло Java завоевать рьінок в свое время
> Та же IDEA от JetBrains стоит денег
Ето ничто по сравнению с тем, как увеличивается удобство/бьістродействие по сравнению с Eclipse + есть Android Studio бесплатная + есть Community Edition, которая 90% возможностей покрьівает + есть для студентов бесплатная лицензия
> а вообще, Java таки дерьмо, с ее тупорылой концепцией - усе эсть класс
не соглашусь, ето помогает уменьшить порог вхождения
> нет нормальных шаблонов
То есть?
> нет перегрузки операторов
Kotlin в помощь, там много плюшек слизанньіх с D/Swift + полная интеграция с Java/Groovy. Ну и на него уже переходят Киевские компании для Android/BackEnd.
для меня Dlang = D+dub, если сюда добавиться еще и норм IDE, будет идеально


Evgeny
28.12.2017
08:41:40
В Java есть дженерики, шаблонов там нет в принципе
IDE для дешки уже есть
лично мне хватает Sublime Text 3
а так есть даже плаг для IDEA


Stepanos
28.12.2017
08:45:54
спорно, я столкнулся со следующими проблемами в D:
1) нет норм IDE с автокомплитом, рефактором, go to declaration, find usager, подсветкой ошибок на лету...
2) нет норм документации по многопоточности и в целом, за последние годьі конечно сдвиг значителен, но все равно не то
3) по библиотекам и комьюнити тоже прогрес есть но слабенький

Oleg
28.12.2017
08:48:02
@eresid ты пробовал vscode?

Stepanos
28.12.2017
08:49:46
@deviator все редакторьі сейчас используют dfmt, libdparse, dcd и тд, а им далеко до идеала

Evgeny
28.12.2017
08:50:56
еще используют https://github.com/dlang-community/D-Scanner

qwerty
28.12.2017
08:52:34
там проблема в либе dsymbol, в ней много надо допиливать
она - основа dcd, dscanner и т. д.

Evgeny
28.12.2017
08:53:18

Stepanos
28.12.2017
08:54:58
для меня проблемьі) ибо производительность по сравнению с Java раза в 3 ниже

Evgeny
28.12.2017
08:56:57
Думаю, тут просто дело в опыте
с Java-то небось уже дооолго работаешь
Вот еще интересная штука: https://github.com/veelo/SublimeLinter-contrib-dmd

Oleg
28.12.2017
09:02:05
@antlord мержить PR или ты добавишь про шаблонные функции с переменным числом аргументов?

qwerty
28.12.2017
09:02:35
виноват, на работу отвлекся
5 минут