@dlangru

Страница 352 из 719
Dmitry
25.12.2017
14:44:12
В эрланге? Да ладно

mvar костыль не более, чем Rebindable

Evgeny
25.12.2017
14:44:44
в эликсире можно написать a = 1 a = 2

Dmitry
25.12.2017
14:45:06
это создание нового значения, не изменение старого

Google
Evgeny
25.12.2017
14:45:22
ага, поэтому я и говорю ссылки мутабельные

данные иммутабельны

вот нужно такое же в D

Dmitry
25.12.2017
14:46:21
про эликсир не знаю, но в эрланге и других ФЯ новое объявление это не изменение старой ссылки, это не мутабельность

это shadowing

Evgeny
25.12.2017
14:46:41
в эликсире то же самое

понятно, что это не переменные в их истинном смысле, скорее имена, которые можно перебиндивать на разные объекты

в хаскеле можно перебиндить уже присвоенную "переменную"?

условно можно это приравнять к мутабельным указателям/ссылкам на иммутабельные объекты

но я понимаю твою мысль

Dmitry
25.12.2017
14:51:55
https://repl.it/repls/PointedFlawlessMeadowhawk

Что до С++, то там, получив конст ссылку на объект никогда не знаешь, иммутабельный он или это только в твоей ф-ии его нельзя менять, а другая тем временем может. К тому же есть mutable методы в const объектах, это вообще обоссаться.

Evgeny
25.12.2017
14:58:17
это понятно

Google
Evgeny
25.12.2017
14:58:33
а насчет mutable методов не согласен.

логическую иммутабельность никто не отменял

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

в дешке приходится касты применять

например для реализации immutable/const RC-объекта

Dmitry
25.12.2017
15:01:58
а что такое логическая иммутабельность? когда программист в уме ее держит, а компилятор ничего толком не гарантирует? ну это не серьезно. Это как "soft realtime", который тоже ни о чем, без гарантий.

Evgeny
25.12.2017
15:02:40
Я привел пример: reference counted объекты

сами объекты иммутабельны, а вот счетчики ссылок на них нет

мы же тут не на хаскеле пишем, а на достаточно низкоуровневом языке

сферическая иммутабельность в вакууме не всегда нужна

Dmitry
25.12.2017
15:05:16
да, я в ди ей и не пользуюсь обычно

Evgeny
25.12.2017
15:05:33
видимо многопоточное говно не приходилось писать

там иммутабельность самое оно

Dmitry
25.12.2017
15:05:55
У D система типов далека от консистентности и удобства по части модификаторов таких

многопоточность писал на std.concurrency обычно

Evgeny
25.12.2017
15:06:51
дык там тоже между потоками иммутабельные данные гоняются

Dmitry
25.12.2017
15:07:09
ну да, но это лишь небольшая часть всей программы

Evgeny
25.12.2017
15:09:00
у меня вот полно иммутабельных классов

Igor
25.12.2017
15:31:34
видимо многопоточное говно не приходилось писать
не обязательно многопоточное. например библиотечный код принимает из сети поток данных и отдаёт по ходу дела клиентскому коду доступ к принятым данным. Если библиотека отдаёт иммутабельные структуры она может не беспокоиться о целостности отданных данных и не должна хранить для сохранности копию

Google
Igor
25.12.2017
15:32:27
и не должн создавать копию, что важнее для производительности

Mike
25.12.2017
16:37:52
Товарищи! Кто-нить (из здесь присутствующих) юзает DlangIDE (github.com/buggins/dlangide)..? ? Чот хрень наблюдаю: под линуксом стащил с гита, собрал дабом, запутсил - внё норм; открыл, собрал и запутсил экземпловый тетрис - работает. а потом смoтрю - одно ядро на 100% сама ИДЕ грузит..... после нескольких экспериментов суть такая: 1) от проекта это не зависит 2) от debug/release тоже не зависит 3) появляется в момент запуска проекта и "лечится" только закрытием IDE ? И второй вопрос: кто в чём на Дшечке пишет? Небось Интелижди да мелкомягкий вижуал..?(

qwerty
25.12.2017
16:53:32
вим

=D

Oleg
25.12.2017
17:20:38
Mike
25.12.2017
17:42:34
вим
...он настолько крут, что умеет автодополнения? ???

Stepanos
25.12.2017
17:51:11
я использую иногда DlangIDE, чисто чтоб баги порепортить)) 0.8.6 - процессор не грузит

а так больше люблю IDEA+плагин или Eclipse+плагин = что то что то мне норм

Maxim
25.12.2017
18:28:33
Я с Eclipse пересел на VS code, навигация по коду и автокомплит так себе, но, не смотря на электрон (или что там по капотом?) он более отзывчивый и менее прожорливый

Maxim
25.12.2017
18:29:00
Плюс, плагины на любые случаи жизни

Ну и да, это всё под Linux происходит)

Mike
25.12.2017
20:53:24
а так больше люблю IDEA+плагин или Eclipse+плагин = что то что то мне норм
Затестил эклипс+плагин остался один вопрос: бинарь создаётся прям в корне проекта, а хотелось бы его в папку bin/ "перенаправить" — указываю это в настройках сборки (Build targets/(default)), однако файл упорно появляется в корне..... получается, плагин просто не допилен и нужно ручками добаить в dub.json указание куда складывать выхлоп...??

Stepanos
25.12.2017
20:54:55
ну dub.json всегда надо конфигурить :)

Mike
25.12.2017
20:57:12
Кстати! А кто-нибудь знает предысторию - почему отказались от MakeFile и запилили dub?

Andrey
25.12.2017
20:59:01
потому же почему и другие современные языки

Google
Oleg
25.12.2017
20:59:08
Кстати! А кто-нибудь знает предысторию - почему отказались от MakeFile и запилили dub?
dub же не только система сборки, но и управления пакетами

Mike
25.12.2017
20:59:41
dub же не только система сборки, но и управления пакетами
"управление" подразумевает нечто большее чем "в этой проге я юзаю вот такие-то либы" ? зачем вообще это надо?) до этого вон сколько лет жили на С/С++ и чот никто не изобретал "систему управления пакетами" (к слову - про какие "пакеты" речь? чо уж тогда было не заюзать тот же aptitude? ?)

Stepanos
25.12.2017
21:04:13
makefile = говнище доисторическое :)

Mike
25.12.2017
21:05:17
makefile = говнище доисторическое :)
ещё скажи что баш-скрипт сборки это воообще наскальняа живопись ?

Admin
ERROR: S client not available

Pavel
25.12.2017
21:05:59
в cmd наша сила

Mike
25.12.2017
21:06:35
и вообще кроме "в этой проге я юзаю вот такие-то либы" что ещё надо?
собственно, и это-то не надо) в купе с "версионным контролем" проще ручками сложить в свою папчку то что точно работает и юзать ИМХО Зачем этот цирк?

а ты скажи что юзаешь их
ну.. в некоторых ситуациях это весьма практично)

Oleg
25.12.2017
21:07:08
это не к dub вопрос

да и "цирк" этот нужен потому что большинству людей удобно

ну.. в некоторых ситуациях это весьма практично)
приблизительно так же практично скручивать провода вместо спайки

по сути то да, но нет

заметил тенденцию странных вопросов

типа "а нахер вообще в D исключения сделали? я вот не пользуюсь, а в языке X так их и вообще нет и всё ок"

Google
Oleg
25.12.2017
21:13:10
ну и вместо "исключений" любую фишку

и усиленная аргументация, что это не нужно

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

Mike
25.12.2017
21:19:47
я так то не против в целом обсуждения, но чёт не могу понять откуда такие вопросы
ну тут всё просто: чтобы что-то принять это что-то должно быть востребованным, должно решать некую проблему - отвечать на некий вопрос. И, посколь, сама эта причина далеко не у всех возникает - вот и приходится расспрашивать о ней других) Пример: - А почему нельзя грабли по двору разбрасывать? - Потому что однажды наступишь и держаком по лбу получишь! - Аааа... ? Такова моя субъективно объективная точка зрения)

Pavel
25.12.2017
21:23:43
Проблема быстрой доустановки библиотек и их апдейта существует, глупо ее отрицать. Поэтому и появились менеджеры пакетов.

aptitude не подходит потому что он специфичен для дистрибутива.

Oleg
25.12.2017
21:24:47
@chebotarevp спасибо за качественную аргументацию

а то я чёт лох)

голова не варит совершенно)

Pavel
25.12.2017
21:25:24
Наверно мало общаешься с троллями )

Кстати сейчас же сделали новый универсальный менеджер пакетов

Pavel
25.12.2017
21:30:02
Не, какой то межлинуксовый

А то и того шире

Попылались в нем учесть все потребности всех менеджеров и экосистем. Забыл название.

https://snapcraft.io

Oleg
25.12.2017
21:33:21
интересно

qwerty
25.12.2017
22:54:00
Ну там свои минусы есть. Он помогает если хочешь поставить пакет отдельно без системных зависимостей. Все зависимости с собой тащит

Stepanos
25.12.2017
23:25:30
Quantum Break is an AAA video game developed by Remedy Entertainment (2016). Is it written in C++ with D as the scripting language. Available on Xbox One and Windows

интерестно что имеется ввиду под scripting language

Dmitry
26.12.2017
02:06:53
https://dconf.org/2016/talks/watson.html

Вместо того чтобы скрипты (AI, логика уровней) писать на каком-нибудь lua, они писали на D, быстренько компилили в DLL и из игры ее загружали без перезапуска самой игры.

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