@dlangru

Страница 355 из 719
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
что именно? запустить поток и дать ему параметры?
Как вообще реализовать многозадачность через core.thread? с передачей параметров, с разделяемой памятью и т.п.

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
то можно просто new Thread({ f(1,2,3); }).start;
А что в данном случае означают фигурные скобки..?

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
А что в данном случае означают фигурные скобки..?
тут создается функция без аргументов и не возвращающая ничего, которая вызывает f уже с нужными параметрами

эта функция и передается потоку

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

Oleg
28.12.2017
07:15:38
Не магия. Ты юзал какую-то либу, а после обновил. После апдейта она более не бросает исключение
В java за тебя все типы исключений в сигнатуре метода проставляет автоматически IDE по сочетанию клавиш

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

Oleg
28.12.2017
07:17:44
IDE умеет проследить все вложенные функции?
Не вижу в этом проблемы, java намного проще, там как минимум нет mixin'ов

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

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

А так вопрос спорный. Думаю кто как привык.

Oleg
28.12.2017
07:20:11
я не о проблемах, я о том умеет ли какая-нибудь IDE так делать в жабе?
Мне адепт java про такое говорил и боготворил IntelejIdea от GetBrains

Google
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
Всем огромное спасибо — вы не дали мне окончательно впасть в уныние) ссылки сохранил, как просплюсь — изучу
Короче я тут накидал примитивные примеры многопоточности. Задача проста: запустить три потока, каждый из которых десять раз инкрементирует общий счетчик. Дождаться завершения выполнения потоков и вывести значение счетчика в консоль. core.thread + core.sync.mutex - https://glot.io/snippets/ewtr2eyepj core.thread + core.atomic - https://glot.io/snippets/ewtr47s7wp std.concurrency - https://glot.io/snippets/ewtsr8dpju

Версия с 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 самого класса

это не всегда нужно

точнее это практически никогда не нужно

в данном случае оно конечно прокатит, но так зато видно как работать с мютексом

ничоси! Еще один сервис для обмена D кодом
этот сервис обмена кодом, чуть ли не на всех языках - https://glot.io/

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 про такое говорил и боготворил IntelejIdea от GetBrains ну там есть за что > что 'вот это' можно сделать сочетанием клавиш и 'вот это', и не нужен D с его фишками ну да + кодогенерация решает > 'язык это не только язык, но и экосистема с IDE и библиотеками' абсолютно верно, ето и помогло Java завоевать рьінок в свое время > Та же IDEA от JetBrains стоит денег Ето ничто по сравнению с тем, как увеличивается удобство/бьістродействие по сравнению с Eclipse + есть Android Studio бесплатная + есть Community Edition, которая 90% возможностей покрьівает + есть для студентов бесплатная лицензия > а вообще, Java таки дерьмо, с ее тупорылой концепцией - усе эсть класс не соглашусь, ето помогает уменьшить порог вхождения > нет нормальных шаблонов То есть? > нет перегрузки операторов Kotlin в помощь, там много плюшек слизанньіх с D/Swift + полная интеграция с Java/Groovy. Ну и на него уже переходят Киевские компании для Android/BackEnd.
это вряд лию на простом уровне в D легче войти

В Java есть дженерики, шаблонов там нет в принципе

IDE для дешки уже есть

лично мне хватает Sublime Text 3

а так есть даже плаг для IDEA

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

это вряд лию на простом уровне в D легче войти
тут раньше бооольшие проблемьі бьіли :) вот D Tour улучшил ситуацию

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 и т. д.

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 минут

Страница 355 из 719