
Ievgenii
01.07.2017
11:08:54
Вам виднее.

Dmitry
01.07.2017
11:09:04
Когда на разных попишешь и теорию поизучаешь, начинаешь видеть

Pavel
01.07.2017
11:09:45
Ну я вот считаю язык PHP хорошим, и это доказано финансово, сообществом, порогом входа, его распространенностью, развитостью инфраструктуры и кучей других вещей.

Maxim
01.07.2017
11:10:35

Google

Dmitry
01.07.2017
11:10:40
Эдак мы дойдем до того, что JS и Go назовем хорошими :)

Pavel
01.07.2017
11:11:23
Но тут до сих пор никто так и не дал формальное определение "хорошести". А если это вкусовщина, то тогда и спорить нечего.

Maxim
01.07.2017
11:11:49
ну и экосистема похапе за последние 5-7 лет поменялась так, что подталкивает даже новичков не говнокодить, но зато осталась возможность при надобности за пару часиков на коленке что-нибудь наговнокодить)

Dmitry
01.07.2017
11:11:49
вкусовщина

Maxim
01.07.2017
11:12:08
так что, я считаю, рано еще хоронить похапе)

Pavel
01.07.2017
11:12:17
Ни один точечный факт вроде наличия уязвимостей или свалки функций в корневом пространстве имен не делает в момент язык не хорошим.
ISO/OSI вот тоже считали хорошим и мощным стеком, а потом он взял и умер.
так и не родившись до конца :D

Stepanos
01.07.2017
11:25:40
самое дорогое что у нас есть, ето время. да можно пилить автокомплит и прочее сначала, но тогда я б квартиру не за год купил, а за 3-4
пока д как хобби норм, не более, но либки пилить в свободное время для души надо
вон сделал firebase cloud messaging для vibe - мелочь а кому-то время секономит
D хороший язьік, и понемногу продвигать надо, тот же hibernated - сьірая штука, но уже лучше чем ничего

Pavel
01.07.2017
11:33:58
> самое дорогое что у нас есть, ето время.
?

Google

Dmitry
01.07.2017
11:34:23
Волков бояться - в лес не ходить. Кому только для хобби, а кто и бизнесе не стремается. У меня флагманский продукт на Ди написан сейчас. Есличо, моя компания тут в первом столбце http://dlang.org/orgs-using-d.html

Ievgenii
01.07.2017
11:35:21
Ну круто!
Искренне рад за Вас!

Pavel
01.07.2017
11:35:44
Все восхищения адептов D хорошим языком это на самом деле лишь их ожидания того что D станет популярным и развитым, и тогда уж зная всего лишь один язык можно будет писать хоть веб хоть мобайл, хоть системщину хоть трейдинг. Но чтобы это сбылось должно пройти время и быть вложено много сил )

Dmitry
01.07.2017
11:36:58
Мне популярность языков мало интересна, я их за внутренние качества оцениваю.
Когда на одном что-то делается в одну строчку, а на другом в десять, разница чувствуется

Pavel
01.07.2017
11:38:23
Если это хорошо со всех аспектов (разработка, поддержка, понимаемость, скорость) то прекрасно
Но так бывает нечасто. В руби например многие вещи делаются в одну строчку, только это просто 10 строчек которые были написаны кем-то другим и упрятаны в класс.
Впрочем с D тут действительно круто, у него грамотно распределен функционал по классам, так что и обращаться просто и подменить реализацию можно в случае чего.

Denis
01.07.2017
11:40:20

Pavel
01.07.2017
11:40:50
Жив в умах студентов и в книжках Таненбаума )
Загнан в гетто

Denis
01.07.2017
11:41:27
управление умными домами и всякое такое, там уровней абстракции много

Pavel
01.07.2017
11:43:16
ну может воскреснет ) такое случается

Stepanos
01.07.2017
12:00:00

Pavel
01.07.2017
12:01:02
Да он +- такой же D, только без системщины
Как и swift там какой-нибудь тоже
Наплодили одинаковых языков )

Google

Stepanos
01.07.2017
12:02:00
:)) свифт да, но он только под яблоко есть и будет
для котлина уже бекенд пилят с спрингом

Dmitry
01.07.2017
12:26:59
Наплодили одинаковых языков )
D от них все же отличается статической интроспекцией, ctfe и прочим метапрограммингом. На котлинах всяких pegged не сделаешь, насколько я понимаю.

Pavel
01.07.2017
12:28:19
> статической интроспекцией,
> ctfe
> и прочим метапрограммингом
Повторяя слова философа, как много на свете есть вещей, без которых можно жить ;)

Dmitry
01.07.2017
12:30:14
Можно и грузчиком быть.
В D на интроспекции все самое интересное и вкусное сделано

Pavel
01.07.2017
12:31:52
а в Скале еще интереснее и вкуснее )

Oleg
01.07.2017
12:34:49
А в питоне так вообще

Pavel
01.07.2017
12:35:02
> Как известно, Скала — язык с ограниченной поддержкой зависимых типов. Зависимые типы имплементируются в ней (другая точка зрения — эмулируются) с помощью path-dependent типов, type-level значений и имплицитов. Объяснять зависимые типы на голой Скале или Скале плюс Shapeless и погрязнуть в технических деталях типа отличия type members от type parameters (дженериков), имплицитов, path-dependent типов, «Aux» паттерна, type-level вычислений и т.д. не очень хотелось.
Вот такие абзацы обожаю читать ))

Dmitry
01.07.2017
12:36:25
некоторые вещи, которые в ди элементарны, в скале или не делаются или делаются с большой болью. Взять хотя бы банальную арифметику в типах

Pavel
01.07.2017
12:40:45
Да в Д даже нету неупакованных типов объединений на основе изоморфизма Карри-Ховарда, о чем вообще тогда можно говорить?

Dmitry
01.07.2017
12:42:12
Копроизведений не хватает действительно

Pavel
01.07.2017
12:42:48
Вот мы и распустили миф о хорошести этого языка. На нем один только говнокод можно клепать.

Dmitry
01.07.2017
12:43:25
На скале-то? )

Denis
01.07.2017
12:46:49

Dmitry
01.07.2017
12:47:17
Кстате, кому алгебраиков и категорий http://www.infognition.com/blog/2014/recursive_algebraic_types_in_d.html

Pavel
01.07.2017
12:52:13
Спасибо почитаем

Dmitry
01.07.2017
13:27:23
Ах, сладостная Scala...
Закопайте, чтобы не воняла.

Ievgenii
01.07.2017
14:52:41
)))

Google

Denis
02.07.2017
12:53:02
А у нас есть такая штучка чтобы в рантайме подменить функцию на другую?
метод виртуальный, например
Какой-то хак, короче

Dmitry
02.07.2017
12:54:34
Указатель на таблицу виртуальных методов можно попробовать поменять. Я так когда-то тип COM объектов в рантайме менял (не на Ди)
Описываешь свой тип как наследник меняемого, с измененным методом. Берешь объект нового типа, копируешь его указатель на ВМТ в нужное место старого объекта

Denis
02.07.2017
12:57:37
Уточнил - обычная экспортируемая функция нуждается в подмене
Кроссплатформенно это возможно?

Dmitry
02.07.2017
13:00:07
Плохо такое представляю. Обычная ф-я может быть в разных местах проинлайнена, а ее адрес может быть в разных местах кода прошит (когда вызов идет напрямую, без ВМТ)...

Denis
02.07.2017
13:00:39
точно не проинлайнена

Dmitry
02.07.2017
13:00:46
А откуда она экспортируется?

Admin
ERROR: S client not available

Dmitry
02.07.2017
13:00:58
Есть же всякие хуки для дллок

Denis
02.07.2017
13:01:18
https://github.com/geany/geany/blob/2a2ae728341d12b7cea29b671beb08e441f62d95/scintilla/include/ScintillaWidget.h#L60 вот она
Рассказыаю. Я почти написал плагин для Geany с автокомплитом. Но.
Там в редакторе используется компонент gtk для редактирования кода, называется Scintilla. И он управляется сообщениями. И нет никакой возможности перехватить сообщение от geany в scintilla чтобы подменить текст в выпадающем окошке с вариантами для автокомплита.
Вот я и подумал перехватить эту функцию в плагине, отфильтровать нужное мне событие и переотправить его уже с нужными данными
адрес этой функции известен - она экспортируется чтобы её можно было использовать в плагине

Dmitry
02.07.2017
13:07:04
А scintilla там в виде so/dll загружается или статически слинкована?

Denis
02.07.2017
13:07:17
статически
они в репозиторий geany время от времени копируют дерево её исходников

Dmitry
02.07.2017
13:08:58
тогда не подскажу. может кто поумнее знает

Google

Denis
02.07.2017
13:09:21
ок. пока ещё альтернативный путь попробую другой

Evil
02.07.2017
13:10:14

Denis
02.07.2017
13:10:25
угу

Evil
02.07.2017
13:10:40
Наркомааааны (=

Denis
02.07.2017
13:10:45
По-нормальному, в системе сообщений scintilla надо бы сделать возможность регистрировать свои обработчики-перехватчики
Но я там такого не вижу

Evil
02.07.2017
13:13:19
Может выбросить эту беду и использовать саблайм?)

Denis
02.07.2017
13:16:24
Я за опенсорс в таких вопросах

Evil
02.07.2017
13:17:34
Там вся обвязка опенсорсная зато, ну и сделано хорошо. Есть еще, кажется, VS Code

Denis
02.07.2017
13:17:51
Много их есть, я выбирал и остановился на geany

Evil
02.07.2017
13:19:46
Я уже 9 лет на линуксе, 8 из них на генту. Опенсорс прикольно, но иногда дешевле оставить религию и взять, что сэкономит время) Но я тебя понимаю.

Denis
02.07.2017
13:20:39
я лет 15 на линуксе, и повидал как эти дешёвые проприетарные решения подыхали внезапно без возможности реанимации
тем более мне не так уж много надо - IDE мне не нужна, блокнот нужен

Evil
02.07.2017
13:21:47

Denis
02.07.2017
13:22:10
ещё помню когда они рулили а нвидия нет
Кстати, придумал решение проблемы, кажется. Щас попробую

Evil
02.07.2017
13:27:30
Я через неделю знакомства с линуксом, возжелал аську с икс-статусами.. ей оказался 4й копит, а кде 4 было еще в альфе. Подключил какие-то репы, поставил. Статусы были уёбищные, не как в QIP 2005. Стянул сорсы, попатчил, не собираются. Не знал, что в убунту нужно дев пакеты доставить, причем не сильно хитро как-то, под конкретную сборку. Нашел хитро-авто-билд скрипт альфы кде 4, чтоб собрать целиком, и через неделю плотной ебли у меня смог компильнуться копит с нужной херней?
Зато как расширился мой кругозор в сборке и тулзах...
Одно Qt три дня собираться не хотело

Denis
02.07.2017
15:31:24
Победил проблему, автодополняющее окошко отлично работает! Автодополнению кода в Geany - быть!

Oleg
02.07.2017
17:01:28

Ievgenii
02.07.2017
17:43:16

Denis
02.07.2017
17:44:32
Вопрос: в автодополняющем списке обычно иконки рисуют соответствующие типу подставляемого элемента. Кому-нибудь знаком такой способ задавать эти иконки? (с указанием в конце строки ?: )
Это не стандарт GTK какой-нибудь? Правда, кроме 2 видов иконок больше ничего не подставляется.
https://github.com/denizzzka/geany_dlang/blob/server_wrapper/source/plugin.d#L87