@dlangru

Страница 241 из 719
Maxim
28.08.2017
09:20:35
а файбер — это кооперативная многозадачность в одном потоке

Dmitry
28.08.2017
09:21:02
типа потоки просто поднимается вспомогательный поток, а текущий делает вид что ничего не произошло?

Мерлин
28.08.2017
09:21:26
а файбер — это кооперативная многозадачность в одном потоке
Можно сделать пул потоков и бежать файберы на нём

Maxim
28.08.2017
09:22:01
можно, но смысл же не в этом

Google
Maxim
28.08.2017
09:22:43
смысл в том, что файбер — это кооперативная многозадачность с yield, а await/async — это обертка над созданием потоков

опять же, судя по описанию, с C# я никогда дела не имел)

Dmitry
28.08.2017
09:23:19
это два подхода к решению одной и той же проблемы или как?

Допустим в Ди нужны await\async или они там будут только оверхэдом?

Maxim
28.08.2017
09:24:36
Допустим в Ди нужны await\async или они там будут только оверхэдом?
В принципе, было бы неплохо для написания, например, GUI, приложений. Но мы же все знаем, как обстоят дела с GUI в D ;)

Dmitry
28.08.2017
09:29:09
если функция получает await она получается не завершится пока await сам не будет завершен?

foo() { await .... }

Maxim
28.08.2017
09:30:57
https://habrahabr.ru/post/139734/ тут вот рассказывают про await/async

что-то мы в оффтопик уходим)

Pavel
28.08.2017
09:33:48
Да зайди просто в чат сишарпистрв и спрашивай там)

Я вот понял что хешмап в Д не такой уж быстрый и довольно сильно жрет память

По сравнению с обычными линейными случаями

Google
Maxim
28.08.2017
09:49:28
неочень)

Oleg
28.08.2017
09:50:10
неочень)
Ладно, а 'очень' это как?

Потому что что я не читаю про gtk на D это только проще делать

Нет других языков, на которых с gtk лучше чем на D

Maxim
28.08.2017
09:51:06
очень — это когда GUI является либо экосистемой языка, либо есть несколько нативных альтернатив)

Oleg
28.08.2017
09:51:30
Напоминает Delphy

Что что а gui это библиотека

Вот файберы те же могут быть и частью языка, хотя спорный вопрос

Maxim
28.08.2017
09:53:40
не частью, а экосистемой)

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

Oleg
28.08.2017
09:54:05
Maxim
28.08.2017
09:54:28
в противном случае приятно было бы иметь набор нативных альтернатив)

Oleg
28.08.2017
09:55:07
в противном случае приятно было бы иметь набор нативных альтернатив)
Нативная есть что? Под gnome на gtk достаточно нативно получается

Под винду на win api бэк должен быть?

Maxim
28.08.2017
09:55:43
не щупал, кстати, мое упущение)

но вообще, конечно, да, было бы приятно, если бы было нечто нативное для D, прозрачно отображающееся на нативный GUI для платформы

Google
Maxim
28.08.2017
09:57:07
я так понимаю, DlangUI примерно по такому принципу построен?

Maxim
28.08.2017
09:57:19
а чтобы тонны зависимостей не таскать

Oleg
28.08.2017
09:57:35
а чтобы тонны зависимостей не таскать
Субъективное понятие 'тонны'

Если они например ставятся одним установщиком?

Dmitry
28.08.2017
09:58:25
dlangui какой то дутый ИМХО у Адама вроде была ГУИ либа из двух файлов

Maxim
28.08.2017
09:58:36
в данном конкретном случае оно не субъективное: для написания GUI-приложений под Win или macOS GTK совершенно не обязателен, но в рамках D, если хочется приятного и переносимого, он обязателен)

Oleg
28.08.2017
09:59:01
Весь gtk нужный под win одним 'next->next->next' ставится

Maxim
28.08.2017
09:59:12
ну и зачем он там?)

или зачем он в KDE?)

Maxim
28.08.2017
09:59:26
или в LxQT?)

Oleg
28.08.2017
09:59:48
Но ведь даже под самой виндой никто не пользуется чистым winapi

Все мутят обёртки

Dmitry
28.08.2017
10:00:25
неужто блин так сложно создать ГУИ либу?

Oleg
28.08.2017
10:00:29
И в итоге то тот же gtk вызывает winapi в конце концов

Maxim
28.08.2017
10:00:32
а у нас получается обертка над оберткой)

Dmitry
28.08.2017
10:00:41
в чем главная проблема?

Oleg
28.08.2017
10:00:48
Google
Dmitry
28.08.2017
10:00:56
в плане?

Maxim
28.08.2017
10:01:00
запускаем все это в KDE и получается обертка над оберткой, работающая в обертке)

Oleg
28.08.2017
10:01:03
Очень много писать

Maxim
28.08.2017
10:01:21
в общем, это вопрос религии, и вряд ли мы придем к какому-то мнению)

Dmitry
28.08.2017
10:01:23
как я понимаю или самому кнопки рисовать или обертку над системным API ?

Oleg
28.08.2017
10:01:34
в общем, это вопрос религии, и вряд ли мы придем к какому-то мнению)
Если говорить конкретно, то уже надоели жалобы на отсутствие gui... Они есть и самый полный функционал предоставляет gtk, который достаточно хорошо работает под win, на удивление

Maxim
28.08.2017
10:03:23
я не жалуюсь и не говорю, что его нет)

Oleg
28.08.2017
10:03:25
С практической точки зрения 'вам шашечки или ехать?'

Admin
ERROR: S client not available

Oleg
28.08.2017
10:03:51
Дела делать можно и в целом приемлемо по удобству

Maxim
28.08.2017
10:04:00
С практической точки зрения 'вам шашечки или ехать?'
с таким подходом и D не нужен, у нас уже есть C++)

дела делать можно и в целом приемлемо по удобству, особенно с последними стандартами)

Oleg
28.08.2017
10:04:38
как я понимаю или самому кнопки рисовать или обертку над системным API ?
В плане написания gui очень много моментов и делать их сейчас уже не зачем

Dmitry
28.08.2017
10:05:09
к примеру?

Oleg
28.08.2017
10:05:43
к примеру?
Буфер обмена с окружением drag-n-drop и тд

Много мелочей

При наличии хорошей обёртки теряет смысл

Мне кажется высказывание 'с gui дела обстоят туго' имеет подтекст в том, что применимость для написания настольных приложения низкая

Google
Oleg
28.08.2017
10:08:11
Конкретно по D

Я убеждаю в обратном

Применимость D для написания настольных приложений не ниже python

Maxim
28.08.2017
10:09:20
ну, я имел в виду, что какие-то нативные штуки, заточенные под GUI, как в C#, в язык вводить нет смысла, потому что у сообщества нет единого видения этого самого GUI

а async/await, плодящий треды, собственно, только для подобного и пригоден

qwerty
28.08.2017
10:12:46
Применимость D для написания настольных приложений не ниже python
разве что в Python есть чумовой интерактивный дебагер, с которым проще разобраться в чем-то новом)

В компилируемых ЯП возможно такое сделать?

Oleg
28.08.2017
10:27:47
В компилируемых ЯП возможно такое сделать?
Никогда не пользовал это для gui

Dmitry
28.08.2017
10:48:31
Сам гуй на Racket предпочитаю ваять ибо родной кросплатформенный фреймворк рулит. Не рулит он разве что по количество доступных виджетов (биндинги не ко всему написаны).

Dmitry
28.08.2017
10:55:32
Racket это либа для D? Или язык другой?
> язык другой Разновидность Схемы. Проектировался под обучение программированию, но вырос в годный язык для практического применения. По бенчмаркам быстрее питона, но тормознее жабы. Есть статически типизированный диалект, Typed Racket. > либа для D В сишные программы без труда встраивается, думаю, встроится и в D.

Oleg
28.08.2017
10:56:52
Скриптовой?

Dmitry
28.08.2017
10:58:02
Скриптовой?
Компилируется в байткод, на x86 (если ничего не путаю) байткод частично компилируется в машкод.

Пруфов не могу привести, поэтому прям железно утверждать не стану (надо уточнить).

Eto
28.08.2017
12:21:15
Хм, а смысл, если они оборачиваются? Или 'по желанию'?
Структуры передаются by value. MS рекомендует не создавать структур более 12 байт.

Dmitry
28.08.2017
13:09:56
Хороший коммент: "А перехватив ошибку на месте, ты даже понять не сможешь, насколько она фатальна, потому что вся логика процесса находится наверху. Уровень перехвата ошибок должен быть разным, в зависимости от задачи перехвата. Если это освобождение ресурсов, то внизу. А если с целью логирования или перезапуска, то наверху." Как я понимаю у Rust и Go именно такая проблема?

Pavel
28.08.2017
13:19:48
А какая ошибка бывает нефатальна?

Ошибка она и в африке ошибка, надо ее лечить.

Dmitry
28.08.2017
13:20:45
но ее же тогда уровнем выше все равно нужно проборосить, мало ли вдруг компонент ее обработать может

Pavel
28.08.2017
13:22:24
Ну так линейный возврат кодов и пробрасывает ошибку в родителя.

Roman
28.08.2017
13:57:26
Всем привет!

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