
Oleg
25.09.2018
13:24:45
я вижу новости о нём
до недавнего времени было не понятно что за fe, но недавно они написали
https://vk.com/wall-166493271_59

Pavel
25.09.2018
13:28:04
"Зашевелился" :)

Google

Pavel
25.09.2018
13:28:28
Ну здорово, когда я его трогал в августе прошлого года, он мне вообще ничего толком не смог собрать, кроме хелло ворлда

Dark
25.09.2018
13:40:58

Dmitry
25.09.2018
13:48:11
В чем профит GDC если есть LLVM ?

Pavel
25.09.2018
13:51:50
GDC сделан на основе GCC который очень много лет вылизывается и оптимизируется

Igor
25.09.2018
16:51:04
Пилю новый функционал для dlang-requests - смысл тот-же что interceptor, middleware: встраивание в обработку запроса и модификация запроса или ответа. Примеры: кэш, auth, и т.д. Если у кого есть ещё какие-то use case и потребность встроиться -расскажите пораньше

Pavel
25.09.2018
17:24:03
Для "фронтэнда" qml меня слегка впечатлил.

Dmitry
25.09.2018
17:25:15
Дишные гуи его умеют какие либо?

Pavel
25.09.2018
17:26:51
Не знаю как там дела у оболочки над Qt.
Тут много вебостроителей, а у меня особая приязнь к вебу. Вот и отписываюсь.

Dmitry
25.09.2018
17:29:09
Не понял почему в кавычках тогда?
Ты его через wasm запустил?

Pavel
25.09.2018
17:30:02
обычно применимо к чистому вебу, а тут немного другое

Ievgenii
25.09.2018
19:16:28
Я верно понимаю, что llvm создаёт что-то типа промежуточного байт-кода, который на конечном компе, при запуске, интерпретируется? Аля Ява?

Google

Ievgenii
25.09.2018
19:16:38
Или я чуш написал?
Потому, что я понял, что это что-то типа интерпретатора...

Maxim
25.09.2018
19:23:41
более распространенная практика, когда промежуточный байт-код преобразуется в машинный код, по пути оптимизируясь

Ievgenii
25.09.2018
19:29:32

Maxim
25.09.2018
19:29:46
при компиляции

Pavel
25.09.2018
19:29:47

Ievgenii
25.09.2018
19:29:52
Я к тому, нужна ли какая-то интерпретирующая машина у клиента
Ага
Понял

Maxim
25.09.2018
19:30:11
не, ничего не надо, обычный исполняемый файл в итоге получается

Ievgenii
25.09.2018
19:30:40
То есть он сперва делает промежуточный вариант, оптимизирует его и уже создаёт конечный бинарь под необходимую платформу?

Maxim
25.09.2018
19:30:54
ага

Ievgenii
25.09.2018
19:31:11
Тогда он и кроскомпиляцию должен поддерживать
Верно?

Dmitry
25.09.2018
19:31:19
Ага

Ievgenii
25.09.2018
19:31:42
В чем тогда проблема делать приложения под Андроид?
К примеру
Или айфон

Dmitry
25.09.2018
19:32:10
Системные вызовы, библиотеки

Ievgenii
25.09.2018
19:32:12
Если сама llvm на себя берет эту работу?

Google

Dmitry
25.09.2018
19:32:28
llvm только инструкции генерит
А когда надо с ОС общаться,
это уже надо научить
на каждой платформе свое

Ievgenii
25.09.2018
19:33:03
Вроде у андроида что-то типа ndk было... Это не то?

Dmitry
25.09.2018
19:33:27
было, да. Чтоб нативный код использовать

Ievgenii
25.09.2018
19:34:40
Было?
Сейчас не развивают?

Igor
25.09.2018
19:35:16
llvm компилит любой язык в своё внутреннее представление, а потм к этому унифицированному представлению применяет все оптимизации
сорри если баян

Ievgenii
25.09.2018
19:36:17
Меня ввело в заблуждение vm часть
Я подумал, что это она выполняет промежуточный код на клиенте
А не у разработчика

Dmitry
25.09.2018
19:36:58
LLVM берет то представление на вход, оптимизирует и генерит машинный код. Входные языки в это представление переводят компиляторы - шланг, лдц.
Про NDK - я не в курсе, наверняка все еще есть

Ievgenii
25.09.2018
19:37:56
Тогда не понятно, чего у dmd нет простого флага, создание не машинного кода, а промежуточного кода для llvm. Я не верю, что этот промежуточный код сложнее сделать, чем машинный код.

Dmitry
25.09.2018
19:38:16
Это, считай, LDC и есть.

Igor
25.09.2018
19:38:20
https://en.wikipedia.org/wiki/LLVM#History

Dmitry
25.09.2018
19:38:34
Там первая часть от DMD, а генерится LLVM представление

Igor
25.09.2018
19:38:35
вот тут пояснение при чем там VM

Google

Ievgenii
25.09.2018
19:39:48

Maxim
25.09.2018
19:40:19
Практически так и есть

Ievgenii
25.09.2018
19:40:32
И все то, что компилится на dmd, без проблемно компилиться и на ldc

Maxim
25.09.2018
19:40:44
Он на 1-2 версии отстаёт вроде

Dmitry
25.09.2018
19:40:50
Ну да, так и есть
Я использую LDC, который на базе DMD 2.081.2
довольно свежий

Ievgenii
25.09.2018
19:41:37
Интересно, они просто копипастят код из dmd или все же переписывают его?)

Maxim
25.09.2018
19:42:00
Я сегодня gdc-8 из реп убунту попробовал, полет нормальный)
Даже шаманить не пришлось)

Ievgenii
25.09.2018
19:42:32
По идее, так можно и свой какой-то простой язык навоять...

Pavel
25.09.2018
19:43:16
Да тысячи их уже
https://habr.com/post/277717/
https://ps-group.github.io/compilers/llvm_ir_translator

Ievgenii
25.09.2018
19:45:39
А dmd как-то также выходит делает: сперва компилит в обджект файл, а потом уже создаёт машинный код?
Иными словами во что-то промежуточное, а потом в машинный код...
Да?

Pavel
25.09.2018
19:47:03
В частности я видел что в базовой библиотеке операция копирования слайса или участка памяти использует вызов функции llvm_copy_memory или как-то так.

Igor
25.09.2018
19:48:21

Dmitry
25.09.2018
19:49:32
В .obj файлах уже машинный код, линкер их потом соединяет в один бинарник и прописывает ссылки на разные штуки внутри и снаружи.

Google

Igor
25.09.2018
19:51:41
вот кстати интересно можно ли на этапе компиляции менять программно манглинг для конкретных ф-ций до записи в обьектник. на этом можно было бы построить декоратор

Ievgenii
25.09.2018
21:15:36
Интересно, а на чем ГО базируется? Или у него полностью свой компилятор, как dmd?

Dmitry
25.09.2018
23:59:53
У него свой. Там авторы еще с палеозоя на всяких Plan 9 языки клепали, оттуда корни и растут, похоже.

Dmitry
26.09.2018
07:35:24
Ребят, вопрос хранит ли DHCP мак адрес?

Toha
26.09.2018
07:42:38
канеш, иначе как он будет сопоставлять адреса? :)

Dark
26.09.2018
11:11:49

Dmitry
26.09.2018
11:15:47

Dark
26.09.2018
11:19:11

Dmitry
26.09.2018
11:20:10
Не. Спор о том как работает
А не то что я иначе считаю

Глеб
26.09.2018
11:38:26
А вот хз. Тут просто спор зашел
обычно в файле /var/lib/dhcpd/dhcp.leases (варианты в зависимости от конкретной программы сервера). как не хранить? а как тогда следить за временем аренды, осоебенно на случай рестарта сервера?

Dark
26.09.2018
11:43:54

Dameda
26.09.2018
11:52:34
Добрый день. Скажите пожалуйста, если написать ОС на D, то будет код на D быстрее работать по сравнению с другими ОС?

Maxim
26.09.2018
11:55:54
нет

qwerty
26.09.2018
11:59:18
человек который понимает как написать ОС, вроде должен понимать, что далеко не все проблемы от языка программирования. Я не прав? Типа по дороге столько всего приходится реализовывать, что иногда перегруженность языка дает некие решения из коробки, которые могут работать лучше, чем самостоятельно реализованные. А в ОС так вообще всего вагон. Одни менеджемент памяти и расписание чего стоят.

Pavel
26.09.2018
12:10:58
Работать будет быстро, только раз в минуту фризится на секунду чтобы собрать мусор ;)

Igor
26.09.2018
12:11:27
так есть уже ОС кторую пишут на D

Pavel
26.09.2018
12:11:42
да вроде даже не одна была
Было какое то exokernel

Igor
26.09.2018
12:12:24
написал “пишут”, но не знаю что с этими проектами в настоящем времени