@dlangru

Страница 406 из 719
Dmitry
13.02.2018
15:27:24
можно в стиле ФЯ - пересоздавать стейт

Evgeny
13.02.2018
15:28:22
можно в стиле ФЯ - пересоздавать стейт
В ФЯ всякие оптимизации вроде персистентных структур, а в Д это будет дикий оверхед.

Dmitry
13.02.2018
15:29:11
можно те же персистентные структуры использовать

громоздко будет выглядеть, но в целом все повторимо

Google
Dmitry
13.02.2018
15:31:09
но по-хорошему такой ФЯ-стиль подразумевает наличие хорошего сборщика с поколениями. Для Ди это плохо подходит.

Valeriy
14.02.2018
07:38:28
Всем снова привет :) В @datasciencechat сейчас обсуждают D в анализе и инжиниренге данных. Если кто в теме, подключайтесь к обсуждению. Вроде бы смог донести мысль, что D хорошо для этогго подходит. Но скептики всё равно остались :)

Pavel
14.02.2018
07:45:02
В теме я не силён, но вообще рассматриваю D как замену питону со всеми сопутствующими.

SR_team
14.02.2018
08:39:57
SR_team
14.02.2018
08:41:49
Нужно прекомпилировать на целевой платформе

но все равно не все можно собрать

dub под aarch64 у меня так и не удалось завести

Google
Pavel
14.02.2018
08:46:15
Полной кроссплатформенности нет ни для чего, даже для питона. В нужных местах стоят блоки кейсов. Скорость разработки примерно равная.

SR_team
14.02.2018
09:19:29
Ну если сравнивать Hello World, то да, одинаковая

Если захочешь GUI, то на питоне все будет значительно быстрее и работать будет везде, где есть питон

Pavel
14.02.2018
09:19:57
Ну да. Только такое и пишем.

SR_team
14.02.2018
09:20:33
Да и не только GUI, а любые задачи для решения которых нет готовых решений в стандартной библиотеке

Pavel
14.02.2018
09:22:15
В питоне для решения задач, отсутствующих в библиотеках, почему-то часто используется C

SR_team
14.02.2018
09:23:05
В D такое не прокатит

Pavel
14.02.2018
09:23:33
Прокатит

Если вообще будет нужным

SR_team
14.02.2018
09:24:19
Я пробовал линковать D с C - все на много лучше, чем при линковке D с C++, но все равно геморно

Maxim
14.02.2018
09:24:38
а чего геморного-то?

SR_team
14.02.2018
09:25:33
линковка. ld не мог слинковать D-библиотеку с C программой. Приходилось юзать dlsym для поиска функций в библиотеке

Maxim
14.02.2018
09:26:13
если calling conversions соблюдать, то всё как по маслу)

Valeriy
14.02.2018
09:26:21
а чего геморного-то?
Присоеденяюсь к вопросу. Пробовал. Вооще всё гладко.

SR_team
14.02.2018
09:27:19
если calling conversions соблюдать, то всё как по маслу)
Вот пробовал ли я extern (C) не помню

Maxim
14.02.2018
09:27:40
и о чем тогда говорить?)

Valeriy
14.02.2018
09:27:53
https://dlang.org/spec/cpp_interface.html extern (C++) или extern (C) надо обязательно

Maxim
14.02.2018
09:28:10
в принципе, даже без extern(C) везде кроме винды завестись должно)

насколько помню ABI extern(C) и extern(D) отличаются только в винде

но тут надо понимать, что интерфейс с Си должен быть extern(C) и никак иначе)

Google
Maxim
14.02.2018
09:31:40
в любом случае, это как плавать на велосипеде и ругаться, что неудобно)

SR_team
14.02.2018
09:33:09
И где же этот D-велосипед удобно использовать?

Maxim
14.02.2018
09:35:19
в каком плане?

SR_team
14.02.2018
09:36:01
Ну, я так понял, вы считаете, что я использую D не там, где он должен применяться

Просвятите меня, где же его надо применять, что бы на нем можно было быстро варганить софт и при этом его бы не приходилось цеплять к C/C++

Maxim
14.02.2018
09:37:38
я ничего не считаю, я просто говорю, что делать интерфейс для Си, не используя C ABI, а потом говторить, что всё плохо — это как минимум странно)

SR_team
14.02.2018
09:38:05
Я говорил, что не помню, пробовал ли я использовать extern (C)

помню что в итоге делал через dlsym

Maxim
14.02.2018
09:38:53
но если бы ты использовать extern(C), проблем никаких не возникло бы

SR_team
14.02.2018
09:40:23
ну сейчас попробую сварганить HW из C и D

Evgeny
14.02.2018
09:48:37
а питон чем не устраивает?

SR_team
14.02.2018
09:48:38
Да, сейчас все получилось нормально

По крайней мере на HW

Pavel
14.02.2018
09:50:47
а питон чем не устраивает?
Скоростью и местами отсутствием статической типизации.

Evgeny
14.02.2018
09:56:24
тогда вполне резонно

всяко легче чем на плюсах или расте

гуй на длангуи?

Pavel
14.02.2018
09:57:52
Обычно консоль

пробовал SFML

Google
Evgeny
14.02.2018
10:46:49
Pavel
14.02.2018
10:51:48
shell

Когда будет нужен гуи посмотрю на биндинги к чему-нибудь. dlangui мне не нравится.

Dmitry
14.02.2018
10:53:49
Если захочешь GUI, то на питоне все будет значительно быстрее и работать будет везде, где есть питон
У меня на DlangUI был проект, который на винде и линуксе собирался простым dub build, все было гладко и кроссплатформенно. А y Питона на винде что для GUI?

Pavel
14.02.2018
10:54:41
Кют всех побеждает) Но в плюсах у меня wx

Dmitry
14.02.2018
11:03:05
Кстати о кроссплатформенности. Я какое-то время назад тут показывал LDC на андроидном телефоне. Оказывается, с ним и dub идет. И он даже работает, если не забыть curl поставить. Я несколько лет назад делал консольный калькулятор с помощью библиотеки Pegged. dub на андроиде смог все забрать, собрать и запустить ("dub run pc"), даже удивительно. Думал ли я тогда, что этот код будет у меня в телефоне работать без каких-либо вообще изменений...

dlangui вроде андроид тоже умеет, но я не пробовал.

Переносить просто так GUI приложение с десктопа на телефон плохая затея. Там же мыши нет, клава пол-экрана ест, и вообще взаимодействие сильно отличается.

SR_team
14.02.2018
11:12:36
когда я ldc ставил, dub у него с собой не было

Dmitry
14.02.2018
11:14:49
Я в Termux'e это делал, если что.

SR_team
14.02.2018
11:22:27
так не вроде только для Termux и был

Dmitry
14.02.2018
11:30:29
Ну вот теперь есть. Здесь установка даба упоминается: https://github.com/termux/termux-packages/blob/master/packages/ldc/build.sh

Pavel
14.02.2018
12:36:22
Моя программа выжирает 30 Гб виртуальной памяти за несколько часов ?

Evgeny
14.02.2018
12:50:14
течет GC?

Pavel
14.02.2018
12:53:05
Не знаю, я как-то уже позабыл что за тема с виртуальной памятью и как она связана с GC

Но скорее не течет, потому что когда я наблюдал всю эту картину, в какой-то момент видимо GC почистил весь мусор и вирт. памяти стало занимать 6гб

Скорее это похоже на весь объем памяти, который был в разные моменты времени выделен программе. Все равно непряитно такие цифры видеть.

Igor
14.02.2018
13:04:28
виртуальной или rss?

в виртуальную могут включаться и заммапленные файлы к примеру

Google
Denis
14.02.2018
15:49:03
Всем привет! Вопрос: Нужно выводить сгенерированную алгоритмом картинку (uint[], RGBA) в приложении на базе DlangUI. Как это делается правильно?

Dmitry
14.02.2018
16:36:49
Расположить ImageWidget в нужном месте окна. У него есть свойство drawable, туда можно записать объект ImageDrawable, который конструируется из DrawBuf, в который и кладутся данные из массива. Это если надо один раз показать.

Denis
14.02.2018
16:37:50
Там такая ситуация: кадр обновляется иногда, но бывает раз 10 в секунду

Dmitry
14.02.2018
16:37:57
Если надо часто обновлять, я делал своего наследника ImageWidget и переопределял в нем onDraw()

Denis
14.02.2018
16:37:59
(Это экран эмулируемого компьютера)

Попробую сейчас

Dmitry
14.02.2018
16:43:26
В таком духе: (выдрал кусочек из проекта) https://gist.github.com/thedeemon/9d05b7e7315ba2f4a54cc11b79dabaa0

Denis
14.02.2018
16:43:52
Вот вот, это видео отображается? У меня что-то подобное будет

Спасибо)

Dmitry
14.02.2018
16:45:29
Да, это кадры видео так рисовались тут: http://www.infognition.com/VideoEnhancer/ve2se-save.jpg

Denis
14.02.2018
16:45:43
Во, прям то что надо

Igor
15.02.2018
07:09:08
хорошая статья https://seb.wilzba.ch/b/2018/02/the-expressive-c17-coding-challenge-in-d/

Valeriy
15.02.2018
08:26:43
хорошая статья https://seb.wilzba.ch/b/2018/02/the-expressive-c17-coding-challenge-in-d/
Автор некорректно сравнивает производительность. Он привёл совершенно неэффективный пример кода на C++. Вообще не было смысла писать так на C++. Код можно сдалть намного эффективнее (и выразительнее). Так что ту часть, которая относится к бенчмаркам вообще нет смысла принимать во внимание. Что касается выразительности, то да. Если производительность не так важна, код на D может быть выразительнее и писать его можно быстрее.

Igor
15.02.2018
08:27:20
он там пишет что статья в общем не о произволительности а о коде

Valeriy
15.02.2018
08:28:05
Ну как бы мимоходом пишет, что D уделывает плюсы по производительности. Но при всех своих плюсах, C++ он не уделает.

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