Прошлый тред: https://2ch.hk/pr/res/623030.htmlFAQ:Q) Я нюфаг, поясните для чего он вообще подходит?A) Для всего. Однако ты нюфаг и твоя цель быстро найти работу - ява и питонтреды там ->Q) Я забанен в гугле, где найти инфы о языке и его стандартной библиотеке?A) Вообще всё что только может пригодится, от простых справок до дисскусий о решениях в дизайне языка есть на офф. сайте - http://dlang.org/Q) А с чего начинать-то? Литература есть?A) Есть https://wiki.dlang.org/Books , но на русском ничего свежего как ты мог уже понять нету и не будет.A) Как мне писать на статически типизированном языке без IDE? Вы же в каменном веке и на вашем языке никто не пишет, откуда ей взятся?Q) Распространённое клише, созданное выбросами говна на вентилятор хейтерками, не имеющее с реальностью ничего общего. Список с офф. вики - http://wiki.dlang.org/IDEs , самое лучшее из списка по версии коммунити - MonoDevelop с плагином. Хотя ты всегда можешь накатить DCD и DScanner и сделать любой текстовый редактор почти полноценной IDE.Q) Зачем мне эти недоплюсы?A) Хоть D изначально и создавался как рефакторнутый вариант плюсов, но сейчас это обособленный язык, не унаследовавший костылей.Q) Зачем мне D, когда есть Rust?A) D - высокоуровенный язык. Не модная няшная с фп.Q) Зачем мне D, когда есть Go - тоже компилируемый и с GC?A) Ну если тебе не приходится закрывать нос и жмурится при пейсании на Go...A) Я хипстор и вниманиеблядь, учу только те языки по которым проводятся конференции с сексуальными мальчиками.Q) http://dconf.orgQ) Центральный репозиторий-то хоть завезли, не пошли путём плюсов?A) Этот костыль тоже исправлен - http://code.dlang.org/ . Старые легаси проекты можно найти на http://www.dsource.org/Q) Что насчёт веб-девелопмента? Сайт на вашем заморском чуде написать можно?A) http://vibed.org/Чем компилировать:DMD - https://dlang.org/download.html#dmd (всегда самый свежий и полный стандарт, но проблемки с оптимизациями, что критично для числодробилок)LDC - https://github.com/ldc-developers/ldc/releases (баланс межу вариантами выше и ниже)GDC - http://gdcproject.org/downloads (по бенчмаркам самый крутой конпелятор, но пилится 1 человеком на GCC в котором чёрт ногу сломит, апдейтится в лучшем случае раз в пол года)
вкатился, ренжифицировался, разогрел компилятор
Вопрос в студию: что у D с динамическими язычками? К примеру js, lua.В Qt к примеру, есть реализация js (которая заменила QtScript, раньше был сабж). У крестов точно есть подвязки к питону, и наверняка есть куча других вещей.Есть что-либо тут на эту тему?
>>714018Искать-то хоть пробовал?http://code.dlang.org/packages/dmdscript - jshttp://code.dlang.org/packages/pyd - python
>>714022Искать это одно, вдруг тут кто-то пробовал что-то из этого и скажет конкретно.
Показываю как палить годноту:http://code.dlang.org/search?q=luaКстати, какого хуя в названии треда не проставился номер и поставился какой-то левый пасскод?мимооп
>>714018http://code.dlang.org/packages/luad вот такое еще
>>714025>Кстати, какого хуя в названии треда не проставился номер и поставился какой-то левый пасскод?Потому что ты, дебил не очень опытный человек, ввёл название и номер треда не в поле "тема", а в поле "имя", предназначенное для имени автора, а номер превратился в трипкод.
>>714028Может реально грохнуть тред и пересоздать?
>>714029давай, пока не набижали, лол
>>714022Алсо, насчет DMDScript - то ли я совсем даун, либо я чего то недопонимаю.Но как сабж использовать изнутри D-кода? В sample-ах три .ds-файла, документацию не нашел. Это вообще реально, или это просто интерпретатор скриптового язычка без возможности срастить его с кодом на D?
>>714029Нахуя, лел?
>>714036Потому что этот без заголовка?
>>714039Если тебе не лень из-за такой хуйни заново снова прописывать разметку - перекатывай.
>>714043Репортаните моду чтобы заголовок поставил и все, я так делал.
>>714043А один раз прописать разметку в пастебине и добавить ссылку на шапку со всей разметкой в шапке тебе религия не разрешает?
>>714118Капиталистическое мировоззрение не позволяет, он знаешь ли коммерческая.
>>713798 (OP)блять дауны нахуя вы испортеле мой трет))))суки)дэ зашкворен даунамми как и все другие язеке, буду теперя манагером))
>>714398Тибе пайдёот)) будишь рассказывать как кто там умир впаривая бигмак и картошку фри и ни будишь нас пазореть)))
Подбросьте идею чего бы такого закодить?
>>715528database driversamazon aws api clientssh2 implementation like paramiko in python
>>715553>database driversЭто что такое?>amazon aws api clientНикогда не работал с амазоном, но видел на code.dlang.org что-то про AWS>ssh2 implementation like paramiko in pythonИ в чём глубокий смысл переписывания уже написанного?
>>715569> Это что такое?это можешь написать драйвер для любой базы данных на твой выбор> Никогда не работал с амазоном, но видел на code.dlang.org что-то про AWSвсе грустно и мало, нужно больше> И в чём глубокий смысл переписывания уже написанного?использование ssh напрямую из dlang?
>>715570>это можешь написать драйвер для любой базы данных на твой выборвсё написано уже, вроде>> Никогда не работал с амазоном, но видел на code.dlang.org что-то про AWS>все грустно и мало, нужно большесложно писать когда вообще не понимаешь что это и зачем>> И в чём глубокий смысл переписывания уже написанного?>использование ssh напрямую из dlang?Ну ты можешь взять libssh и использовать ssh "напрямую" из dlang - то же самое и получится
>>715571> всё написано уже, вродеесли бы> сложно писать когда вообще не понимаешь что это и зачемтут не спорю> Ну ты можешь взять libssh и использовать ssh "напрямую" из dlang - то же самое и получитсяхотелось бы OOP объвязки с блекджеком и шлюхами
>>715576>> всё написано уже, вроде>если быКаких не хватает?>> Ну ты можешь взять libssh и использовать ssh "напрямую" из dlang - то же самое и получится>хотелось бы OOP объвязки с блекджеком и шлюхамиДелов на 3 дня, не?
>>715528Закодь графическую библиотеку.Читал ветку на форуме, где народ собирался взять Qt-шное апи и на его базе зафигачить либу, но до конца не прочитал, не знаю на какой они щас стадии.
>>716253>Закодь графическую библиотеку.ещё одну??!>Читал ветку на форуме, где народ собирался взять Qt-шное апи и на его базе зафигачить либу, но до конца не прочитал, не знаю на какой они щас стадии.https://wiki.dlang.org/GUI_Libraries | grep -i qt
>>716296> https://wiki.dlang.org/GUI_Libraries | grep -i qtСука, ты такой умный, только срать не просишься.Все что ты там грепнешь - это врапперы, а не либы, и они уже мертвы.За исключением dqml, который я щас и пытаюсь юзать. Который очень ограничен, и даже сраный QVariantMap/QVariantList там не создать.>ещё одну??!Такой еще не было. 99% того, что там в списке - не библиотеки а врапперы.И 99% того, что не врапперы - уже мертво, как например DQuick.
>>716522Чем врапперы плохи?(Хороши они тем что используют уже готовый проверенный код)
>>717809Тем, что задизайнены под другой язык, и что по определению медленнее и хуже, чем тут.Взять например Qt - ты не напишешь годный враппер, оно слишком инородно для дишки. Например, там QVariant - а тут std.variant, там свои треды - тут свои, там дерево QObject-parent'ов - а тут сборка мусора, там QString - а тут есть дефолтный wchar[], там свой жсон - тут свой, QList - ...Продолжать можно до бесконечности. Писать на врапперах - мазохизм, уж проще тогда писать на их оригинале без D.
Какое то гитлерговно этот ваш д. Нихуя нет. Дров на дб нет, графена нет, сети нет.
>>718040Как же в го и во всяких быдлопитонах устроено тогда?
>>718690
>>718690Базы ищи в репозитории, графика смотря какая, а сеть вообще в стандартной библиотеке
>>718690>маааааааам, под ди не написано миллиона батареек для меня - великого царя персонально! язык гавно!!! ГИТЛИРГАВНО!>>718699Пишутся сначала биндинги для C++ -> C, потом C -> Goвно.
>>718690>маааам! Я тупое хуило, не могу импортировать готовый сишный код переписав 10 строк кода из хидера для моей хисптер-экзотик-базы-данных! для всех широкоиспользуемых всё есть
>>718690Ай не пизди, сеть то как раз есть.
>>718856А синхронность с неблокируемостью уже завезли?
>>718879А конкретнее? Что тебе надо то?Есть сеть в стандартной либе, есть и целый фреймворк Vibe.d. Я вон на нем свою борду запилить хочу.
>>718707>Пишутся сначала биндинги для C++ -> C, потом C -> Goвно.Ну и в D точно так же ведь! google:derelict
>>718930А ты фантазёр.https://dlang.org/spec/cpp_interface.htmlD это как раз тот редкий язык, который поддерживает ABI крестов, поэтому не нужно страдать такой хуйнёй.Алчсо, что ты так кинул гуглить? Нихуя по теме не нашёл.
>>718932>D это как раз тот редкий язык, который поддерживает ABI крестовABI крестов поддержать мало - надо ещё его шаблоны поддерживать.Иначе всякие SFML просто поддерживались бы, но по факту из Ди в них ходят через cSFML - сишную обёртку
>>718932>Алчсо, что ты так кинул гуглить?Ты кодишь в ди и не знаешь про дереликт? уходи
>>718935https://dlang.org/spec/cpp_interface.html#cpp-templatesМаааань, плез.Мне лень ковыряться в исходниках DSFML, но первое упоминание при гуглинге выдаёт аж 2008 год, что как бы намекает на D1 и отсутствие на тот момент такого инструментария. Сейчас проект очевидно работает по принципу "не трогай то что и так работает".>>718936Нагуглил я какой-то сборник врапперов библиотек для графики и игр. Вопрос: какого хуя я обязан знать о их существовании?
>>718938Note: the above does not currently link correctly due to Bugzilla 15372.дебил, блядь. я тебе говорю как человек, который это поел полной ложной
>>718938>Вопрос: какого хуя я обязан знать о их существовании?Типичный совок, которому всегда должныРекомендую перекатиться под энтерпрайзный M$ - там таких любят
>>718939Окей, убедил. 4/5 проектов обходятся без шаблонов, ну это так, де-факто.>>718942А ты типичный гд-даун, который приполз и требует чтобы ВСЕ ЗНАЛИ О ЕГО ВЕЛИКИХ БИБЛИОТЕК для игрушки с двигающимся кубиком, а иначе УХАДИТИ ИЗ МАИГО ТРЕТА.
Раньше кстати импорт шаблонных ф-й вполне себе работал – есть даже следы от коммитов std::vector и std::string в stdcpp, правда они куда-то делись из истории, лол.Алсо, только что проверил – нихуя не работает , но в issue почему-то статус "resolved fixed".Хотя, учитывая что тот же com работает только на шинде по офф. справке...
>>718690http://lhs-blog.info/programming/dlang/qte5-izuchaem-d-i-qt-5-v-komfortnoy-graficheskoy-srede/ ГУЙ вот тебе, говорят неплохой
>>718945>Раньше кстати импорт шаблонных ф-й вполне себе работал Он сразу плохо работал. Фактически чтобы он работал правильно надо весь шаблонный движок С++ целиком в Ди тащить.Правда такова, в общем, что у С++ нет ABI, и, соответственно, интегрироваться с ним нельзя.
>>718943ты во-1, какую-то хуйню про дереликт нагуглил, а во-2 тупой и упёртый денегерат. скрыл
Сап, ДиЧ.В #include <linux/uinput.h> есть такая херня:#define UI_SET_EVBIT _IOW(UINPUT_IOCTL_BASE, 100, int)Я пытаюсь накостылить аналог в дишке, пока что с помощью partial:enum UINPUT_IOCTL_BASE = 'U';alias UI_SET_EVBIT = partial!(partial!(_IOW!int, UINPUT_IOCTL_BASE), 100);Проблема в том, что partial - по сути подставляет первый аргумент, и это некрасиво. Нет ли варианта - получить алиас на функцию с заполненными параметрами, не строя километровую цепочку вложенных partial'ов?
>>723217Сап еще раз, если у кого есть прыщеблядикс.http://dpaste.com/2KNSZDJПо идее, сабж должен мне подвинуть курсор мышки на 10 пикселей. Но не двигает, хз почему.Вот сишный эталон, который таки работает (хотя в D все вроде на месте).http://git.nosuchfile.org/?p=uinput-sample.git;a=blob_plain;f=uinput-sample.c;hb=HEADНе подскажите, где я проебался?
>>723217>#define UI_SET_EVBIT _IOW(UINPUT_IOCTL_BASE, 100, int)>что эта хуйня делает? это не bitop ли?
>>723285> что эта хуйня делает? это не bitop ли?Хуй знает. Возвращает число, которое я должен подставить в ioctl_IOW (как и ioctl) есть в core.sys.posix.sys.ioctl
>>723646вот я даже понять не могу что это, хотя обмазываюсь ди несколько лет. тебе надо понять что ты за шаблон дёргаешь и сделать также средствами ди(какой-то пидор недавно тут кукарекал что между ди и си есть интерфейс и всё сишное очень просто можно вызывать из ди - можешь поссать ему в ебло)
>>723802тьфу, не шаблон а макрос
>>723802скажи спасибо лучше за препроцессор
>>723811спасибо что в ди его нету
>>723802> тебе надо понять что ты за шаблон дёргаешь и сделать также средствами диКапитан, это вы? Не узнал вас без кортика.Я уже заменил define на function alias, вопрос был в том, что вдруг существует что-то полаконичнее partial>(какой-то пидор недавно тут кукарекал что между ди и си есть интерфейс и всё сишное очень просто можно вызывать из ди - можешь поссать ему в ебло)Ну вот я адаптировал сишную херню. Вроде должно работать, а по факту - не работает.Может кто видит в чем дело, или где я проебался? >>723236
>>723802Просто ты тупенький даунёнок, которого нужно обоссать ещё и за незнание даже альмы матер всех нативных языков – си, а так же не умеешь читать по-рюзке. Его можно приинтерфейсить хоть к заднице твоей мамаши. Суть в том, что он пытается портировать какое-то червивое байтоёбство, не понимая что там делается. Это write-only говно, которое не портируется между языками никак, если ты не тот, кто писал это.
>>723925На байтоебство пиздеть не надо, там результат точно такой же как и в сишке, я проверял.
>>723925я си как раз знаю, я не знаю именно этого макроса, а смотреть в его тело мне леньпро осталньое согласен
Оки-доки-локи. Я заметил несколько опечаток (и довольно нихуевых) и упущений, но исправил - все равно нихуя не работает.Так что для начала я решил портануть сишную портянку "в лоб" по сишному (с мемсетами и snptintf), и уже добившись работы выкинуть сишизм который можно будет выкинуть.И вот такой вопрос: на обычный while(true) дишный компилер говорит что то вроде "стейтмент нот ричабл" (ахуеть, а я то и не знал) и нихуя не компилит.Как отключить варнинги, чтобы они оставались только варнингами и не блокировали компиль?
>>724274Отбой, нашел - нужно вписать в dub.json"buildRequirements" : ["allowWarnings"]
>>724274Короче - а ларчик просто открывался.Нет, memset и прочие сишные изъебства делать было не нужно.Нихуя не работало, и оказывается нужно было поставить задержку послеioctl(fd, UI_DEV_CREATE);
>>724274>на обычный while(true) дишный компилер говорит что то вроде "стейтмент нот ричабл"не ври, он на что-то другое это говорит. смотри внимательно тамрегулярно использую while(true) без отключений ворнингов
>>724295>source/app.d(69,2): Warning: statement is not reachable>dmd failed with exit code 1
>>723922Так тут template надо юзать вроде, а не alias
>>724297http://ideone.com/Qsh7orЧекни дефолтные параметры dub-a, там явно включены какие-то лишние проверки.
>>724305Как именно? Я нихуя не понял, покажи кусок кода для примера.Алсо, все уже работает, просто мб есть запись полаконичнее.
Так это, новая байтоёбская дристня что ли? Что за нахуй ёбли с памятью какие-то?
>>724414>челик пытается портировать код с си>другой думает будто возможно портировать си на другой язык без байтоёбства и это вина языка на который портируют
>>724280>Нихуя не работало, и оказывается нужно было поставить задержку после>ioctl(fd, UI_DEV_CREATE);А в оригинале эта задержка была? А на более быстром компе код не сломается?
>>724877> А в оригинале эта задержка была?В сишечке - была.Грепал man по ioctl - ни слова.Пока дословно с сишки не переписал - не нашел, блжад.
>>724878ты драйвер (ядерный модуль) на Ди пишешь?
>>724886Нет.
>>724886Просто нужно подергать мышкой (курсором) без дерганья самой мышкой физически. Как это сделать, кроме как сисколами через /dev/uinput - я не знаю.Видел такую хуйню на работке - так работал "драйвер" китайского тачскрина для платки на арме. Был демон - скриптик на питоне, который в цикле читал 25 байт с координатами и событиями из /dev/hidraw, парсил их и высылал в uinput - так оно и работало.А я просто хочу забабахать бота для майнкрафта, чтобы автоматически качаться без личного присутствия - оставить перса в качалке и свалить, а он чтобы сам пиздил мобов и чтобы не было АФК и кика через 10 минут.
>>724898>Видел такую хуйню на работке - так работал "драйвер" китайского тачскрина для платки на арме. Был демон - скриптик на питоне, который в цикле читал 25 байт с координатами и событиями из /dev/hidraw, парсил их и высылал в uinput - так оно и работало.А оно, наверно, так и должно быть - прямой расово- и идеологически верный путь>А я просто хочу забабахать бота для майнкрафта, чтобы автоматически качаться без личного присутствия - оставить перса в качалке и свалить, а он чтобы сам пиздил мобов и чтобы не было АФК и кика через 10 минут.лучше бы не говорил - у меня шишка упала сразу
>>724908> А оно, наверно, так и должно быть - прямой расово- и идеологически верный путьОсобенно, учитывая что в официальном дистре для этой платки их не было, и мне пришлось заниматься садо-мазо и конпелять свое едро.
>>724916>Особенно, учитывая что в официальном дистре для этой платки их не былозапросто. но я про то, что выводить в устройство таким образом данные - нормальноне быдлопитоном, конечно. просто китайцы же
>>724898Ты даун, бери джяву и вписывай свою хуйню прямо в код школокрафта.
>>725519Не говори, что мне делать - и не узнаешь, куда тебе следует пойти.
>>725519чтобы взять жаву её надо уметь, а зачем её уметь если уже умеешь ди?
>>725554Жаба слишком многословна и нефичаста, а еще бесит это принудительное ООП.А вот какой-нить котлин уже похож.
Сап.Имеется std.net.curl: post.Как используя эту поеботу, отправить multipart?
>>728153Мде, видимо никак.Видимо это можно сделать только сишным способом, заюзав обертку etc.c.curl
>>728209Черт, и Vibe.d на самом деле не умеет, ибо внутри него такая херняvoid writePart(MultiPart part){ assert(false, "TODO");}
>>728223Ахаха. Ваш недоязык даже в хттп не может. Нахуй так жить?
>>728238> заюзав обертку etc.c.curl
Черт возьми, а через сишку работает!Причем все просто довольно, вопреки моим ожиданиям.
>>728223это ведь повод сделать pull request, братишка :3
В вашем говноd уже запилил и http2 или не осилили?
>>728356http://code.dlang.org/packages/libhttp2
Внимание вопрос. Ньюфагу без опыта программирования стоит вообще лезть в Ди или не хватит головы понять его без книги и понять без книги программирование в целом?
>>730340Python называют самым лучшим языком для обучения, D называют компилируемым Python'ом. Думай сам.
>>730340Как раз в ди лучше всего и стоит лезть.Так как тут меньше всего выстрелов в ногу.
>>730343Тогда не мог бы посоветовать лучшую для нуфага в программировании литературу?
>>730357В шапке прикрепленного поста в /pr ну и тут в шапке есть книги именно по D
>>730358Так их там много ведь инб4 ленивый уебан ищи сам, по личному опыту не подскажешь?
>>730361Начни с Александреску из шапки треда, ну и Структуры Данных и Алгоритмы наверни.
>>730362Ок. А сам лично какой IDE пользуешься? Мне не надо что-то "громоздкое" как МоноДевелоп или другую полноценную ИДЕ. Хватит ведь подсветки и автодополнения. Что самое легковесное? Кодблокс?
>>730361Я бы еще C посоветовал того-же Стивена Праты, но именно С а не С++. Лишним точно не будет, если ты совсем нуб в программировании.
>>730363MonoDevelop очень легкая, ее и пользую.
>>730363Любой текстовый редактор с подсветкой D (саблайм, например) + DCD и DScanner.
>>730365Сейчас это ведь уже Ксамарин.
Хотя иди нахуй, нам ебланы не умеющие читать шапку не нужны.
>>730340Хотя... Лучше наверное сперва поесть говна из с/с++. Иначе и не поймешь тут нихера.Врад-ли кто-то начал писать на дишке с нуля, а не перебежав с крестов.
>>730369Но в репах она все равно называется monodevelop.
>>730383>Врад-ли кто-то начал писать на дишке с нуля, а не перебежав с крестов.А кресты с нуля не рекомендует сам Страуструпначинать надо с бейсиковне вздумай-паскалей-питонов
>>730559Я начинал с паскаля в шкалке, нехуй на него бочку катить! Отличный язык, в некоторых моментах сишку заруливает нахуй.
>>730593> в некоторых моментах сишку заруливаетлол, это в каких маня?
>>730603Например, там была модульность с самого начала. Множества. Строки нормальные, а не говно нуль-терминированное.Массивы можно было индексировать в каких хочешь пределах. Был оператор in.
>>730611Еще был with.Алсо - точно помню, что он есть и в дишке - но не могу вспомнить, как он тут называется.
>>730613Алсо, да и стандартная библиотека ЕМНИП там более годная и человеческая была.
>>730615Вспомнил еще - там не было этой ебучей путаницы с = и ==.Короче, плюшек хватало.
Начинайте с явы петухи. И с других языков jvm. И будет вам щас. Е
>>730618нет пути, примитивные язычки для быдлокодинга
>>730616А еще там были нормальные типы.Фиксированного размера, как в дишке и жабе (и как в c99 запилили алиасы на костылях).
>>730622>>730615>>730611А ты понимаешь маня, почему C называют кроссплатформенным ассемблером?
>>730613Это говно и в С89 было, лол. struct hui = { .tvoya_mamka = "mamka", .viebana = true };В D аналогичный синтаксис: Huy hui = { tvoya_mamka: "mamka", viebana: true}; или вообще без указания имён.>>730616Лол, тут уже проблема в тебе.
>>730628Ты хуйню несешь, это совсем не with и не его аналог.В крестах и сишке такого нет.А то что ты написал - инициализация структурки именованными параметрами. И вообще это вроде не стандарт, а расширение gcc, а в кресты подобную хуйню пропихнули в c++11
>>730626При обучении и нахуй никому не всрался кроссплатформенный ассемблер (тем более паскаль вполне себе кроссплатформенный) (кстати там были удобные ассемблерные вставки, я точно помню что дергал там какие-то прерывания биоса)А когда я учился на нем погромировать - и вовсе разнообразия платформ не было. Линупс был неюзабелен совсем, интернетов в широком распространении не было, платформа была только одна - x86 (64 еще и близко не пахло).Вереницы планшетиков и распберри-лайк платок не было.Нахуй для всего этого "кроссплатформенный ассемблер"? Тогда илитно было писать на обычном некроссплатформенном, это давало +10 к чОткости
>>730630Ты сейчас гуглишь ANSI C и наслаждаешься следующим примером:struct int_list { int car; struct int_list *cdr; };struct int_list endless_zeros = {0, &endless_zeros};А потом идёшь и гуглишь что такое std::initializer_list и для чего он нужен, чтобы не пороть хуйню "кокок это завезли в 11-м стандарте а не 30+ лет назад".Окей, если у тебя возникают какие-то неудобства без него - паскаль для тебя лучше.
Ах, да - уточню: enum { member_one, member_two }; const char *nm[] = { [member_two] = "member two", [member_one] = "member one", };...div_t answer = { .quot = 2, .rem = -1 };...http://std.dkuug.dk/JTC1/SC22/WG14/www/docs/n843.htm
>>730613Такой https://dlang.org/spec/statement.html#WithStatement ?
>>730640>Ты сейчас гуглишь ANSI C и наслаждаешься следующим примером:>struct int_list { int car; struct int_list cdr; };>struct int_list endless_zeros = {0, &endless_zeros};Проветри голову, болезный.1) Это обычная инициализация структурки2) std::initializer_list - это из крестов3) я говорил про инициализацию именованными параметрами*4) какое это все имеет отношение к with?
>>730643Черт, ведь глядел на него, но чет проглядел.Да. Это он. И он позаимствован из паскаля - ни в сишке, ни в крестах его не было. Да и в жабе не было, она вообще бедна синтаксически.
>>730644>3) я говорил про инициализацию именованными параметрами*>>730641Хорошо читать умеешь?>2) std::initializer_list - это из крестовДа ладно блядь! Ты, даун, мне впаривал что такую возможность завезли в C++11, не зная что и для чего там завезли. Просто не пиши нихуя, если не знаешь.>>какое это все имеет отношение к with? Такое же, как к твоей мамаше. Нахуя ты что-то пишешь, не зная об этом?
>>730647Слушай, тупое хамское отребье.В последний раз попробую донести до твоей тупой башки.Я имею в виду designated initializer list. Кстати я ошибся - в кресты 11 их не завезли, с чем то я их попутал. Они есть в C99, впрочем в крестах их можно юзать - как расширение к компилятору gcc. Не стандарт короче.Обтекай короче.И в конце концов - при чем тут with?
>>730654>Маааааам, я обосрался и спорол хуйню!>Обтекай короче.АААА АБЛЯТЬ НАЧАЛЬНИК ИДИ МОЙ ЕГО ЭТОТ МУДЕЛЬ ОБОСРАЛСЯ
>>730661Больше не кормлю.
>>730611>Строки нормальные, а не говно нуль-терминированное.Нормальные 255-символьные строки!
>>730633ремесленник
>>731003Это в трубопаскале 255 (как и ограничение на длину массива в 65к байт)Во фрипаскале такой херни нет, и ограничено только объемом памяти.
>>731137>Во фрипаскалеГовно без задач
>>731233Лол, а на нем ведь софта куда больше, чем на D написано.
>>731245Лол, а ещё ему больше 20 лет и он всего-то на пару лет младше gcc. А ведь на сях куда больше софта написано.Предлагаю всем любителям паскалей/си/стейтмента with и прочим любителям инициализаций сишных структур проследовать в соответствующие треды.
>>731247В таком случае дишка ненамного младше, ей лет 15, и чо?Предлагаю всем баттхертнутым зашивать пердак.
>>731250Первый нормальный компилятор (и заморозка языка) был выпущен в 2007 (в том же году вышла мажорная версия 2.0 без обратной совместимостью). До этого было что-то уровня дорелизного раста, менявшегося каждую неделю.Ну коли мы уж обсуждаем дату создания самих языков в их первозданном виде, а не в том котором мы их знаем - паскалю больше 40 лет.
>>731260А если мы обсуждает Обжект Паскаль и его современные диалекты (ну или дельфи) - то есть сравнимые языки, то нихрена не 40. Этак и дишке можно си или кресты в предки навязать.У паскаля есть над дишкой одно неоспоримое преимущество - он умеет в гуй. Собсно, он охуенно умеет в гуй, для быстрого и удобного написания гуй-приложений он до сих пор подходит как нельзя лучше.
>>731263Привет гуйдаун. Ты прошлый ИТТ трет уже засрал, может хоть этот не будешь?.Паскаль - не умеет, умеют библиотеки на нём. Я бы сейчас написал, мол, десктопный софт умирает и кроме хуёвинок для бухучёта на дотнетах уже лет 5 нихуя не пишут - но давай закончим срач.
>>731265Срач начал ты, клоун.Кто-то (вполне возможно ты) вверху высрался мол "не стоит начинать обучение на недопаскалях" - я сказал, что паскаль был охуенным языком с кучей плюшек и по ряду параметров превосходил сишку, и что для обучения он подходит великолепно.А у тебя начался неконтролируемый разогрев пердака.А то, что десктопный софт умирает - это хуевая тенденция, которой надо противодействовать. Иначе этак скоро останутся одни говнооблака с прогами и данными, которые и вовсе не твои и ты прав никаких на них не имеешь.
>>731266Не говоря о том, что без интернетов комп превращается в тыкву.
>>731266>Срач начал ты, клоун.>>730593>Отличный язык, в некоторых моментах сишку заруливает нахуй.Ага, я.>"не стоит начинать обучение на недопаскалях"А у тебя, мудака, явно плохо с пунктуацией:>>730559> бейсиковне вздумай-паскалей-питоновНе знаю как ты, животное, а я вот вижу что "не вздумай" стоит вместе с "бейсик".>А у тебя начался неконтролируемый разогрев пердака.Неконтролируемый разогрев пердака начинается у твоей мамаши, когда она хочет срать своей порванной задницей, и пытаясь добежать, теряет всё дерьмо по пути в уборную. Я просто констатировал факты, братан, всё спокойно.>которой надо противодействоватьТы можешь 10 раз противодействовать - пользователям всё равно будет похуй, ты не корпорация (а будь ей только убытки понёс бы от старой модели разработки) у которой есть средства для продвижения, а без них твой софт всё равно что никому не нужный язык.
>>731274>шутки про мамашуКакое же ты убогое ничтожество.Интересно, ИРЛ ты такой же клоун, или ты только для интернетов желчь копишь?>бейсиковне вздумай-паскалей-питоновДопустим, тут из-за хуевой разметки я недопонял.Но когда я перечислил плюсы паскаля - уж точно пердак кому-то обожгло.Это не ты тот клоун, который жопой читал и полез срать про инициализацию структурок?На паскале не писал, синтаксис его не знал, а обосрать захотелось, да?Ты убог.
>>731281Вот и очередное вконтактек-быдло: кокок, ты ничтожиство, кокок, ирл клоун ещё попросил бы адрес и пообещал бы ебало набить для консистентности картины, чесслово, ты тот самый анон, семён ебаный, сука, убог ты.>Ты убог.>пердак кому-то обожгло.Пикрел как бы намекает, кому из нас тут прижигает.
>>731287>картиночки из /б>мемчики>уличает кого-то в использовании вконтактикаБольше не кормлю, мемасный ребенок.
Андрюша конкретно хочет плотно приобщить коммунити к разработке языка, как в Goвне. тактикал бумп
>>735157А почему нет
>>735157Я бы с радостью. Но куда мне к богу программирования чего-то коммитить со своими лаптями.
>>735164Вот по этому - >>735169Я тоже с радостью помог бы, только что мне делать? Не хуйню ли я делаю? Нужно ли это вообще, или я долбоёб?
>>735175Для этого есть pull-requests и review кода. И не сцать, лучше делать, чем не делать, да.
>>713798 (OP)Посоны, тут в ДС-2 вакансия нарисовалась: https://forum.dlang.org/post/ngsru2$13cb$1@digitalmars.comАлсо, разрабы планируют выпилить из стандартной библиотеки поддержку curl через джва года.
>>739671И как, по сокетах стучать? Мимопробегающий.
>>739847А пробовал на форуме отписаться?
>>739847Ясен хуй что добавят адекватную альтернативу коли собрались выпиливать работающий вариант.
>>739850Бля сорри, в глаза долблюсь.
>>739671неужели догнали, что нужно что-то более вменяемое и удобное а не низкоуровневый curl, и таки нативное, а не зависимости от си, отлично
>>739858Я тебя сейчас разочарую, но любые сокеты (как и вообще любая система с окружением) – сплошные си-зависимости.
>>739860А давай не путать libc и curl, от последнего можно избавится и таки правильно. И да, от первого тоже -- только придется сисколы переписывать в свою стандартную библиотеку, будет себе такой libd.
>>739852Я был бы рад.Тот который std.net.curl - все равно сосет у сишного курла/
>>739671Жалко, что хотят opengl 3 - я в него не умею.С радостью бы покодил на ди, с удаленкой. Не язык, а песня.
>>714033>Dlang тред>НабижалиХуя ты оптимист.
>>715582>Делов на 3 дня, не?Так вот и сделай.
>>739671ещё на апворке вчера пролетала одна вакансия удалённая, ищется по тэгу skills:(d-language)
>>741199тебе надо ты и делай
Назрели такие вопросы:#1: Как сделать строку, которую можно будет передавать и в дишные функции, и в сишные?Пока фигачу так:char[] str = "somestring\0".dup[0..$-1];some_c_func(str.ptr);Нет ли тут подводных камней, и может есть более норм способ?#2: Как в дишке зафигачить уникальное имя файла? Задача - схоронять картинки, переданные по сети. Использовать их имя, с которыми они были переданы - нельзя (большинство из них может иметь вообще одинаковое говно навроде default.jpg). Была мысль давать им в качестве имени md5-хеш (заодно и дупликации данных не будет) - но он же сука наверняка долго вычисляется, так что на серверной стороне не вариант. Пока пытаюсь костылить с core.sys.posix.stdlib: mkstemp, но:- она сишная- она платформеннозависимая- и главное - она не возвращает имя файла, а уже сука создает его. И в шаблоне последние 6 символов будут забиты хуетой - а хотелось бы схоронять с расширением.Может есть какой-то родной способ? std.file и std.path я обшарил, но ничего интересного с генерацией уникальных имен файлов - не нашел.-
>>749277>Нет ли тут подводных камней, и может есть более норм способ?Всё что тебе нужно уже написано в офф. справке:https://dlang.org/spec/interfaceToC.html>D C>...>type[] no equivalentЕсть, как видишь. Создавай строку как char* и передавай вместе с длинной, либо добавляй \0 в конец и в сишном бэкэнде её так читай.>Как в дишке зафигачить уникальное имя файла? А вот тут ты не в ту сторону роешь. Тут не в языке явно дело, а в твоём алгоритме изначально. Если ты не совсем вася - ты же не будешь просто давать доступ к фс из урла. В любом случае придётся делать бд и индексирование, особенно если ты собераешься делать полноценный видохостинг с рапределением картинок и менеджментом над ними (я конечно далеко вперёд зашёл, но лучше попробуй это решить с этой стороны).
>>749292>видохостингХостинг изображений, конешно.
>>749292>Всё что тебе нужно уже написано в офф. справке:Я ее читал. Там есть toStringZ для того, чтобы сделать "сишную строку" - с указателем и нуль-терминированносттю. но она возвращает immutable(char ).А mkstemp - уж не знаю нахрена, но требует просто char.>А вот тут ты не в ту сторону роешь. Тут не в языке явно дело, а в твоём алгоритме изначально. Если ты не совсем вася - ты же не будешь просто давать доступ к фс из урла. В любом случае придётся делать бд и индексирование, особенно если ты собераешься делать полноценный видохостинг с рапределением картинок и менеджментом над ними (я конечно далеко вперёд зашёл, но лучше попробуй это решить с этой стороны).А вот тут я нихрена не понял. По идее, картинка загружается на сервер - и я должен обеспечить ее отображение с веб-странички. Что-плохого в файловой системе, и как это сделать иначе? Она же все равно только на чтение. Как из иначе то отображать? Хуйнуть в <img> в поле src из БД в base64 чтоле?
>>749306>но она возвращает immutable(char ).https://dlang.org/spec/const3.html#removing_with_castСнимается кастом.>Что-плохого в файловой системе, и как это сделать иначе?Я не профи в вебе, но я ни разу не видел чтобы кто-то давал доступ к фс - всё через роутинг вебсервера, не без причин наверно.Главное удобство БД - она может за тебя делать и контролировать уникальные имена для этого есть куча способов в разных бд, а так же необходима для остального функционала.
>>749312>но я ни разу не видел чтобы кто-то давал доступ к фс - всё через роутинг вебсервера, не без причин наверно.Кхе-кхем, но у меня то так и есть. Картинка попадает на сервер через post-запрос, но сохранить то как-то мне ее надо? И под каким-то именем.>Главное удобство БД - она может за тебя делать и контролировать уникальные имена для этого есть куча способов в разных бд, а так же необходима для остального функционала.Еще раз - я хз как из БД зафигачить картинки в страницу (шаблон). Ну не херачить же все блобом в одну страницу в base64? С ФС же - все просто и понятно.А за каст - ок, наверное так и сделаю. Я просто расценивал снятие конста как нечто страшное.
>>749315>Еще раз - я хз как из БД зафигачить картинки в страницу (шаблон).Забей, ты не понял моей идеи. Придётся дописывать функционал - поймёшь.>Ну не херачить же все блобом в одну страницу в base64?Название и путь до неё, возможно ещё какую-то информацию.>Я просто расценивал снятие конста как нечто страшное. Вообще, константа вычисленная в рантайме - просто гарантия языка что неявного изменения не будет, которой нету в конечном коде. Лучше этого всё же не делать, если ты не уверен в своих действиях т не хочешь прострелить себе что нибудь.
>>749277Это?https://dlang.org/phobos/std_stdio.html#.File.tmpfile
>>750182Не совсем.Впрочем проблема уже отпала - как оказалось, md5 все же быстро работает, так что вместо имени можно брать чексумму.
Возник такой вопрос:Юзаю Vibe.d. И при компиляции он густо сыпет всякими "Deprecation: блаблаблабла...".Меня эта хрень порядком напрягает, так как в этой параше трудно будет искать то, что действительно относится к делу. Как написано в доке к dub'у, я добавил в dub.json строчку "buildRequirements": ["silenceDeprecations"].Но ровным счетом нихрена не поменялось.ЧЯДНТ?
>>755059Ты заглушил в своём проекте это, а надо в проекте vibed
>>755064И можно как-то заглушить выхлоп на dependencies?
>>755066JAVA JAVA JAVA
>>755066Тебе уже ответили: добавь это в даб файл вайба.
>>755104Во первых - даб может вайб перекачать.Во вторых - даб сам нихуя не монолитен и из кучи зависимостей состоит. Это в них тогда добавлять придется.Я думал, есть какой то нормальный некостыльный способ.
>>755291>некостыльный способпопытка отключить разумные предупреждения сама по себе костыльпросто настрой свой проект так, чтобы он не компилировался если был warning в твоём коде - и ты никогда не пропустишь ничего подозрительного
https://github.com/ikod/dlang-requestsЯ сейчас зашёл на code.dlang.org, увидел это, и вспомнил что тут какой-то челик спрашивал про аналоги питонового реквеста. Это ты? :3>>755291Попробуй самому дабу скармливать что нибудь в стиле --config=nahuiOshibki при сборке.
>>755327Я спрашивал, уже видел. Его еще надо скрестить с сокетами и event loop от vibe.d а так охуенчик.
Привет. Пытаюсь собрать subpackage своего пакета под названием ASDF, dub отвечает: "Non-optional dependency QWERTY of ASDF not found in dependency tree!?." У subpackage в зависимостях только родительский пакет, у пакета -- только QWERTY, я надеялся, что dub увидит эту цепочку. Как собрать subpackage, не указывая те же зависимости, что у родительского пакета? Никак?
>>755758Ну даб как бы сам стягивает и вендорит зависимости, ты какую-то дичь впариваешь. Покажи свои кверти асдф чтоле.
>>755760https://dropmefiles.com/718043
>>755760И да, естественно (естественно?), я делаю: dub build :subpackage
>>755769Я так и не понял зачем нужно сувать библиотеку наверх и создавать циклическую зависимость между пакетами, у меня даб вообще не видит модуля mmmmodule, попробуй мб более понятынй способ из справки https://code.dlang.org/package-format?lang=json#sub-packages
Такс, исправляюсь, забыл сагу открепить.
>>755779Так циклической и нет, иначе бы у пакета в зависимостях был submodule.(спустя полчаса)Блджад. Оказывается, надо было собирать из директории с подмодулем, а не из корня.
Ах да, я забыл пояснить себя. Хотелось сделать что-то типа такого https://github.com/buggins/dlangui/blob/master/dub.json, когда код в корне используется подмодулями-примерами, например. Так или иначе, всё работает, и это хорошо.
>>755797>Блджад. Оказывается, надо было собирать из директории с подмодулем, а не из корня.Нет, не должно быть так
>>755797>submoduleТы про git submodule или dub submodule?Если для dub, to >>756002
(инет оплачивать надо)4vj3b@notsharingmy.info
А тем временем, на лорчике в новости релиза LDC 1.0 - опять идет срач о том что D не взлетел и не нужен.А я тем временем спрошу - раз LDC типо обещает поддержку ARM - можно ли на D писать для микроконтроллеров? В смысле - без операционки, голый hex-файл.
>>763798попробуй, но D не поддерживает 16bit режим, если конечно это важно.
>>763818Та они ж 32битные.
>>763798Конечно можно. Правда ты останешься без стандартной библиотеки, языковых строк, замыканий и кучи почего.
Вечер в хату, арестанты.Есть какой-то способ выдрать из делегата его окружение?вот к примеру:int x = 3;int y = 5;auto f = () => x + y;Так вот x и y - то, что хотелось бы выдрать. Ну хуй знает, может есть какой трейт на это дело.Собсно нахуй нужно - я тут мечтаю и интересуюсь насколько реально реализовать тута свойства с биндингами "как в qml" (как в JavaFX то можно, но там пиздец блевотина многословная).То есть, чтобы можно было сделать что-то вроде:prop!int x = 5;prop!int y = 15;prop!int square = () => x * y;И square такая сама автоматом пересчитывается, когда изменятся x или y.
>>767548Выдрать - никак (можно конешно потрахаться как истинный сишник, поигравшись с правами доступа к памяти, скопировав и выполнив код "рукаме" - но ты сам понимаешь что за таким методом стоит).Можно перегрузить opAssign, но связать их иначе чем в Qt/JFX я не вижу.
Кстати, всем страдающим по гую и крестовым библиотекам посвящается: https://wiki.dlang.org/CalypsoЕсли кратко: это форк LDC, скрещенный с шлангом, позволяющий подключать плюсовой код напрямую без всякого интерфейсинга. Готовый Qt, OpenCV и прочее в комплекте.
>>767609Охуенно, жаль раньше не встретил этот прекрасный проект.
>>767755Ну что можно сказать – это на 200% вина автора сего форка. Та же страница на вики появилась только 7 июня, и тред на dlang.org только пару дней назад, при том что проекту, судя по всему, больше года.
>>767791Проект Calypso еще всплывал на прошлом DConf, в принципе там он вроде и родился.
>>767607А я нашел, что таки можно - у делегатов есть 2 указателя, .ptr и .funcptrИ в .ptr хранится контекст - то есть все переменные находятся там. По крайней мере - попробовал методом тыка, и это работает.Еще бы найти как узнать количество переменных контекста (а то придется костылить, приводя к нужному типу пока приводится, а как не приводится - значит конец).Вот пример того что я имею в виду:https://ideone.com/njX6Kp
>>767926Не говоря о том, что лучшим выбором был бы сабж : http://wiki.dlang.org/DIP50.Но судя по status: Draft - это значит "попиздели и забыли", в язык не приняли, компилятор не умеет. А жаль.
>>767942там вообще по сцылке нихуя нет, о чем ты бредишь болезный
>>768346Точку в конце убери, даун.Кто знал, что говнопарсер макакин ее к ссылке прицепит.
>>763798>можно ли на D писать для микроконтроллеров? повторял известный helloworld - работает:http://wiki.dlang.org/Minimal_semihosted_ARM_Cortex-M_%22Hello_World%22
>>767791Слышал о нём ранее. Код получается не переносимым, и на момент когда я о нём слышал оно могло только под винду собираться, кажется (или под линукс наоборот)
>>768559А, уже нагугливал этот хелловорлд.Жалко, что в стандарте языка дишечки - нет асма для армов, только x86 - x86_64.Все эти компиляторозависимые хуевины, где код надо строкой писать, не оче нравится.
>>768752>Жалко, что в стандарте языка дишечки - нет асма для армов, только x86 - x86_64.А это что?https://github.com/JinShil/D_Runtime_ARM_Cortex-M_study/blob/2e8721be70127439db84ce241843172d4214c097/1.1-hello_world/source/start.d#L11
>>768752а, понял тебя про строку. Ну очень сложно сделать стандарт на ассемблер - у каждого процессора он, тащемта, свой
>>770144В просто ассемблере, в том же GAS же сделали как-то?
>>767548Сделай геттер:int x = 3;int y = 5;auto f = () => x + y;auto get_x = () => x;auto get_y = () => y;Только в итоге все сведется к тому, что ты напердолишь свое ООП на замыканиях, а оно тебе нужно?
>>770592Я уже нашел что можно выдрать через указатель .ptr для делегата.
>>770593И что дальше? Какой профит с этого грязного хака?
>>770592>>770593Собсно, вот пруф-пример:https://ideone.com/6W4egRРазве что блжад, хер знает как выдрать количество этих самых переменных выражения.
>>770595Попахивает отстреленными ногами
>>770594Ну в конструктор "биндящегося свойства" передается делегат, в котором есть внешние переменные- свойства в выражении.Конструктор смотрит и добавляет себе эти свойства и следит, когда они изменятся, стобы пересчитать выражение. pattern-observer жи.
>>770596Лол, почему? Поведение стандартизированное. Я же не кастовал нихуя - .ptr это мой законный указатель на контекст делегата.
>>770597> КонструкторПардон, opAssign же.Энивей - призваиваешь выражение-делегат, а внутри класс посмотрит от чего зависит делегат, и будет наблюдать за ними на предмет изменений (а на самом деле, просто подпишется на сигнал от них самих)
>>770598>Я же не кастовал нихуя>cast(int*)Ну-ну.>>770599И к чему эти костыли? Сделай явный метод наподобие .bind(prop1, ..., propN, function), подсахари где надо макросами.
>>770600> Ну-ну.Ну контекст то указатель на void. У тебя фобия какая-то чтоли?> Сделай явный метод наподобие .bind(prop1, ..., propN, function), подсахари где надо макросами.И будет нечитаемая херня вместо аккуратного арифметического выражения, ага. Этак уже есть в жабе с ее = new IntegerProperty(5).add(new IntegerProperty(x)), может не так - но суть понятна.
>>770601А макросы тебе на кой даны? Ты этой еблей с сырым контекстом сам же себе грабли выкладываешь
>>770602> А макросы тебе на кой даны?Лол, какие макросы? В дишечке их нетСобсно, это можно наверное было бы завернуть красиво через AST - но как я уже писал, DIP50 это попиздели и хз че там дальше, в компилаторе этого нет.>Ты этой еблей с сырым контекстом сам же себе грабли выкладываешь Пока граблю я вижу только одну - неизвестное количество этих переменных. Собсно, массив есть, а какой он длины - хуй знает. Но и эта грабля не непроходимая, можно просто считать что там находятся только объекты BaseProperty, и кастовать-проверять пока получается, а как не получается - значит конец, граница.Я думал может есть какие трейты на это дело, но пока не нашел. Либо нет, либо все таки пока не нашел.
>>770605>Лол, какие макросы? В дишечке их нетБыло же что-то. В любом случае, уверен, что подходящие средства в ней есть.>Пока граблю я вижу только одну - неизвестное количество этих переменных. А если замыкание захватит переменную, на которую нельзя или не нужно подписываться? Как ты их отличать собрался? А возвращаемое значение функции ты куда девать собрался?>Но и эта грабля не непроходимая, можно просто считать что там находятся только объекты BaseProperty, и кастовать-проверять пока получается, а как не получается - значит конец, граница.Ну пиздец просто.Сделал бы просто:Prop<int> x = 5;Prop<int> y = 3;FProp<x, y, int> z = (x, y) => x + yили что-то в этом роде. Я в ваших дишках/крестах не разбираюсь.
>>770610> Я в ваших дишках/крестах не разбираюсь.В дишках - заметно>крестахНо привел синтаксис шаблонов крестов. Ай, неважно.>FProp<x, y, int> zТы не понял - тогда FProp z по твоему методу будет намертво пришита к этим аргументам на этапе компиляции, то есть привязка будет константной (что обесценивает всю эту хуйню).А нужно чтобы в любой момент свойству можно было присвоить любое другое выражение.
>>770610Или как-то так правильнее: Prop<int> z(x, y) = (x, y) => x + y.В общем, суть ты понял.
>>770614>В общем, суть ты понял. Нет. Что такое z(x, y)?>(x, y) => x + y.Получится обычная функция, которая зависит от аргументов, а не от внешнего контекста и других свойств.
>>770612>Но привел синтаксис шаблонов крестов.Какая разница.>А нужно чтобы в любой момент свойству можно было присвоить любое другое выражение.Никто не мешает тебе сделать метод для перебинжевания.>>770615>Нет. Что такое z(x, y)?Конструктор.>Получится обычная функция, которая зависит от аргументов, а не от внешнего контекста и других свойств.И что? У тебя фетиш на замыкания?
>>770616> Конструктор.Но как ты смешал конструктор и присваивание.>(x, y)Ты предлагаешь написать бесконечное количество конструкторов под разные аргументы?
>>770616> И что? У тебя фетиш на замыкания? Замыкание позволит писать простые выражения, как будто это действительно выражения (почти как в qml)
>>770617>Но как ты смешал конструктор и присваивание.В крестах/дишках нельзя проинициализировать объект и сразу вызвать метод? Ну, значит, выбери другую конструкцию. Или шаблончиками воспользуйся, были же там какие-то текстовые подстановки, я ж помню, видел где-то, как код обычными строками подставлялся.>Ты предлагаешь написать бесконечное количество конструкторов под разные аргументы?Боже, это говно ещё и в переменное количество аргументов не умеет?Макросов нет, нормального ООП с метаобъектным протоколом нет, зато, блядь, костылей понапихали. Чудо, а не язык.>>770618Но не позволит сложные, которые в реальном коде обычно и встречатся. Вместо, например, комозиции функций придется всё оборачивать в лямбду и явно передавать аргументы.
>>770619Хуле пиздеть короче. Делай proof of concept.Я тоже попробую.
Бампну, покуда не улетело на архивачhttps://wiki.dlang.org/Vision/2016H2Краткое содержание приоритетов на эти пол года для самых ленивых пидорасов:- НАКОНЕЦ-ТО БЛЯДЬ САМ АНДРЮША С БРАЙТОМ ПРИЗНАЛИ ЧТО НАДО СКОНЦЕНТРИРОВАТЬСЯ НА БИБЛИОТЕКЕ И РАНТАЙМЕ! ЗИГ ХАЙЛЬ ДИ;- Поработать над GC (на данный момент над ним пыхтит челик на фултайме ради приза на GSoC но он не илюша...);- Сделать GC легкоотключаемой опцией (удалить зависимости из фобоса и, ВОЗМОЖНО ДАЖЕ, САМОГО ЯЗЫКА);- Добавить ARC;- Прочая бесполезная ебень вроде мобильных платформ и переноса компилятора на сам язык (да, блядь, на текущем этапе развития это юзлес ебень).
>>791645>- Прочая бесполезная ебень вроде мобильных платформПошел нахуй, это очень полезная ебань> и переноса компилятора на сам языкЭээ, разве его не перенесли уже несколько лет как? Я же читал год или 2 назад, что компилер дишки на саму дишку переписали, и все такое?>- НАКОНЕЦ-ТО БЛЯДЬ САМ АНДРЮША С БРАЙТОМ ПРИЗНАЛИ ЧТО НАДО СКОНЦЕНТРИРОВАТЬСЯ НА БИБЛИОТЕКЕ И РАНТАЙМЕ! ЗИГ ХАЙЛЬ ДИ;Да и так в библиотеке все заебись, рили - библиотека в ди - самое пиздатое что я только видел. Вчера листая референс по библиотеке с охуением обнаружил, что оно умеет делать фурье-преобразование и даже блять искать корень уравнения.>- Поработать над GC (на данный момент над ним пыхтит челик на фултайме ради приза на GSoCБыло бы очень неплохо. На десктопе лично GC меня не напрягает ничуть, но я был бы очень рад, если бы дишку приспособили для кодинга на микроконтроллерах>- Добавить ARC;А что это такое?
>>791752> А что это такое?Атомарный счётчик ссылок + немного анализа при компиляции.
>>791645Самое главное - пусть запилят УБАНЫЙ ГУИ!Делфи угробили, кресты говно - ну блять, реально по сути это был бы идеальный язык для хуяренья десктопных гуеприложений, но хуй там!
>>791758Есть где-то бложек или ветка форума, где можно почитать про это, и как оно будет выглядеть?
>>791763Перейди сука по ссылке, и почитай, там даже на какой-то экзампл ссылка есть.>>791761Аааа, как же ты доебал уже со своим гуем, я сейчас стены ебать просто буду.Дэльфи живы, шарпы от её разработчиков тоже. Чо ещё надо?>>791752>Пошел нахуй, это очень полезная ебаньНа текущей стадии, когда нет ни нормальной инфраструктуры, ни коммунити которое будет поддерживать эту инфраструктуру, да и слишком многое надо доделать хотя бы в самом языке - распылять время даже этих пары челиков которые занимались форками бесполезное страдание хуйнёй. Этим всё равно никто не будет пользоваться.>Эээ, разве его не перенесли уже несколько лет как? Я же читал год или 2 назад, что компилер дишки на саму дишку переписали, и все такое?Это тот ещё ебаный долгострой, и там "портировали" - очень сильно сказано. Открой сам фронтэнд дмд - написан на си с синтаксисом D.>Да и так в библиотеке все заебись1) Она не стабилизирована - в проде юзать никто будет только уебан (или писать свой как в социомантике);2) Она таки слабенькая в плане функционала для "готового к реальному использованию" языка. Посмотри хотя бы на стандартную библиотеку Go (я уж молчу про явы/питоны) - https://golang.org/pkg/ . Фурье нету, но есть всё для криптования, бд, сети, компрессования, профилирования и тд.>Было бы очень неплохоБыло бы просто ахуенно для любого проекта с использованием памяти больше чем в хэловорлде.>На десктопе лично GC меня не напрягает ничуть,Ясен хуй что на небольших объёмах вообще похуй есть ли он и какой, проблемы с большими.>если бы дишку приспособили для кодинга на микроконтроллерахЧто ты там чистить собрался? Флаг активации чайника и сбор данных о темературе?
>>791774Блять, не поверишь - я эту ссылку тупо не разглядел. Да, слона то я и не приметил.
Список кстати пополняется безостановочно, такими темпами опять нихуя не успеют до 17-го года.
>>791763Это фича из свифта, так что могу дать это: https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/AutomaticReferenceCounting.html
>>791774>Аааа, как же ты доебал уже со своим гуем, я сейчас стены ебать просто буду.съешь ещё этих мягких французских булок да выпей чаю, и не психуй, сука.>Дэльфи живы, шарпы от её разработчиков тоже. Чо ещё надо?Нормальный гуй, блять. Дельфи не живы, а говно. Шарп - некроссплатформенно и говно. Хуй толку с его WPF, который только на винде?Единственный нормальный и идеальный гуй - на крестах, это гребаный Qt. Я читал где-то ветку форума, где они мечтали спиздить qt-api и адаптировать под D-реалии.
>>791778Братиш, эта фича изначально появилась в обж-с.>>791780>съешь ещё этих мягких французских булок да выпей чаю, и не психуй, сука.У меня в глазу встал рендеринг шрифтов из dlangui пикрел и я из человека превратился в зверя нахуй.>Дельфи не живы, а говно Там нихуя не поменялось, вась.>Шарп - некроссплатформенно и говно. Хуй толку с его WPF, который только на винде?Ну, когда нибудь будет и не только там.>где они мечтали спиздить qt-api и адаптировать под D-реалииГлянь на Calypso https://wiki.dlang.org/Calypso
>>791790>Глянь на Calypso https://wiki.dlang.org/CalypsoНахрена мне это крестопараша? Так уж проще будет не ебаться с межъязыковыми прослойками, а все целиком на крестах нахуярить.Суть то в чем? Qt - это нихуя не гуи-библиотека (уже, хуй знает как там было изначально), а фреймворк или даже новый язык поверх крестов. Он чуть ли не заменяет крестовую стандартную библиотеку.Так вот - в дишке нахуй не уперлись:QString/QVariant/QMap/QThread/QJson/QXml.../QRunnable/QIODevice/QNetworkRequest/... (тут еще лютое-бешеное количество полезных штук, которые нужны в блядских огрызаных крестах, но нахуй не нужны тут - потому как есть по дефолту).А все методы и вообще все-все его апи заточено на импользование всего этого добра (в то время как в D этот QString нахуй не нужен, и прочее барахло, тут же ленивые диапазоны и прочая хрень)Потому блять, и тошно смотреть на все эти биндинги и прочее говно. Хочется родного. Хочется помесь qt-шного qml и Vibe.d - я посмотрел, там эти diet-шаблоны охуенно сделаны, такого наверное больше нигде нет. Вот бы так и хуй хуярить - почти так как в qml, только на дишке вместо жабоскрипта в местах кода - и с проверками компайлтайма.
>>791645>Прочая бесполезная ебень вроде мобильных платформРыночек нас всех порешает если этого не сделать
>>793466Давно порешал уже, и делать там нехуй.
>>793496Да ладно, было бы мегаохуенно писать нативные проги вместо ведроидожабной блевоты.Запилить мобильную платформу - типа тизена, с нативными прогами.
>>793500На ведре без жабы ничего нативного не получится, разве что портировать D под JVM.Мобильных платформ, причём нативных, уже как говна – убунтумобиль, тайзен, джолла и прочие.
>>793502>уже как говна – убунтумобиль, тайзен, джолла и прочие.Платформ то как говна, но:- прог - нихуя- писать надо на мерзких крестахВот дишечка и позволила бы быстро говнякать нормальные нативные проги.
Погодите, так D что ли завязан на GC? Это как-то интуитивно не понятно. Я думал, он скорее как кресты, с очень опциональным GC.
>>793514Ну можно писать и без GC - возможности есть.Но удобнее всего по дефолту будет писать с GC.Так, GC будет юзаться с любым new, а для обратного нужно будет юзать аллокаторы.
>>793517А что-то помимо стандартной сишной библиотеки (malloc, free, realloc) для работы с памятью есть? Типа умных ссылок в С++ или других умных ссылок в Rust.
>>793522В std.typecons есть RefCounted и Unique - аналоги крестовых std::shared_ptr и std::unique_ptr.Есть std.experimental.allocator
>>793525Алсо, можно хуйнуть объект на стеке, как в крестах без newauto obj = scoped!A(1)
>>793522Эхх вот раньше были времена - программисты умные и ссылки обычные. А теперь... Ссылки умные, а программисты все тупеют и тупеют.
>>793573>раньше были временаРеки были из пива, а люди по ночам просыпались от здорового доброго смеха?
Норот, допустим есть extern (C++) с каким то цппшным классом из библиотеки.Как блять создать объект этого класса в дишке? В крестах то auto hui = new Pisya("12inches");
>>793514>Погодите, так D что ли завязан на GC? Это как-то интуитивно не понятно. А ты не заметил, что не приходится удалять объекты, например? Что оно как-то так всё само куда-то девается?
>>793533можно ногу прострелить так, подробности есть в мануале к scoped!
>>793961Вероятно, так же. Только ты его предварительно объяви в дишке как extern C++
>>794099Косяки те же, что со стёковыми объектами в плюсах. Если ты писал на них что-то сложнее хэловорлда или просто осилил доку – это сложно сделать.>>794100В доке рекомендуется делать в плюсовом коде статические методы вроде createInstance и выделять память в плюсах и ди раздельно, видимо чтобы избежать ебли с GC когда он не уведомляет плюсовой код об удалении как часто происходит в том же QML.>>794098Может думал что как в расте и свифте в компайлтайме ссылки считаются.
>>794098>А ты не заметил, что не приходится удалять объекты, например? Что оно как-то так всё само куда-то девается?Да я вообще мимопроходил. Учу кресты и Rust сейчас.
Бумпец.
>>803591Что сказать то хотел?
Аноны, подскажите где можно годно почитать про метапрограммирование желательно с прицелом на D -- хочу написать свой велосипед для сериализации в/из json.
>>804080Что хочу воткнуть свои плюсы в твои округлые директор.
>>804085>директорДишечки, ебучее т9.
>>804083Попробуй сначала погуглить "d lang metaprogramming".А так можешь почитать книжку Александерску про мп в крестах, ди не сильно отличается в этом месте.
>>804088> ди не сильно отличается в этом месте. По части шаблончиков - D отличается от крестов как бог от черепахи.
>>804083> хочу написать свой велосипед для сериализации в/из json. Но зачем? Там ведь есть Json. Есть простой std.json, есть и навороченый из Vibe.d, который может Json зафигачить в структуру (у которой поля - структуры с полями - структурами), то есть - целиком Json-дерево зафигачить в дерево структур.Можешь посмотреть на то API. А можешь и в исходники посмотреть.
>>804212Временем компиляции он отличается, да миксинами которые накостылять можно было, лел – всё. Все концепции у них 1 в 1.
>>804219Вот как-раз vibe.d сериализатор не польностью покрывает мои нужды.
>>804382И чего не хватает?
>>804957Рантайм фильтрации полей по значению. То есть если значение удовлетворяет какому-либо условию -- оно пропускается. Ну или просто фильтрация не инициализированных полей.
>>805362>пропускаетсяигнорируется
добавьте ссылку на Ди-тред в шапку!
Посоны, есть хоть одна адекватная либа для обработки изображений? Если точнее, надо png и jpg ресайзить и сохранять как jpg или что-то в этом роде.Пока что имею вот что:Imaged: no loader for extension .jpg
А за D этот вообще платят?
>>806902Нет, но когда ты пишешь на D, ты струйно кончаешь.
>>806887на code.dlang.org что говорят?
>>713798 (OP)Приложения для мобилок писать можно?
>>807325Можно.>>806887Адекватные все только сишные. Ищи их и их биндинги.
>>807331>можно Да ладно? А не пиздешь? Я думал, их теперь только на Жабе/свифте/жабаскрипте писать можно. Как?
>>807331Спасибо, добрый человек. Значит, нативных нормальных ещё не написали. Нашёл в дереликте freeimage. Буду пилить дальше.
>>806887Вот черт - видел недавно одну шикарную либу - там и изображения и их обработка куча другой вкусноты.И не могу найти теперь название, хотя мне казалось что я в закладки добавлял. Вот гадство.
>>807332какая-то демка хелоу ворлд под андроид уже есть, дальше, вроде не продвинулось
>>808617Есть форки компиляторов и стандартной библиотеки под андроид, айос и тд – всё правда в весьма зародышной форме.Хотя под андроид тот же dlangui портировали, там вроде кто-то шевелится.
>>808624ldc2 вроде из коробки умеет, точнее почти умеет, но это один из основных приоритетов, так что думаю скоро будет уметь полностью, вопрос за либами
Хуямп
>>713798 (OP)Чем D лучше Rust'а?
>>815379Всем.
>>815379D вложился в качество абстракций, а не в их количество.
>>815441А в расте их в какой-то век стало больше чем в D? Ты кек чтоле?
>>815379Давай от противного - чем раст лучше ди?С учетом, что раст появился позже.
>>815472Без отсебятины:- Мемори сейфети на уровне ди, при это без сборщика мусора и соответствующего оверхеда (в обоих можно прострелить себе ногу байтоёбствуя);- Нормальные макросы (которых в д нет от слова совсем);- Рейсдетектор и куча прочих фишек для обеспечения мультитрединга без отстрела конечностей;- Встроенный статический анализатор;- Живое коммунити (а не 6 человек коммитящие в компилятор с стандартной библиотекой), финансовая поддержка мозилы.
>>815479> - Нормальные макросы (которых в д нет от слова совсем);Покажи мне кусок кода, как ты заебись что-то делаешь с макросами, и как я не смогу аналогично в ди.Интересно вот, нахуй они нужны.
>>815479> - Мемори сейфети на уровне диА их недодвижок, который серво - чет падает на каждый чих>- Нормальные макросы (которых в д нет от слова совсем);Есть шаблоны и нормальный CTFE. Нахер они сдались?>- Рейсдетектор и куча прочих фишек для обеспечения мультитрединга без отстрела конечностей;Опять таки - почему недосерво на практике плодит сотни потоков и отжирает сотни памяти? С крута-мультитредингом?>- Встроенный статический анализатор;В дишечке тоже компилятор не дурак, и часто по рукам дает. Ногу отстрелить непросто>- Живое коммунити (а не 6 человек коммитящие в компилятор с стандартной библиотекой), финансовая поддержка мозилы.А по факту в ди и стандартная библиотека пизже, и с прочими библиотеками повкуснее. В дишечке есть Vibe.d. Есть куча биндингов к гуям, и на базе шаблонизатора Vibe.d запилят пиздатую штуку - как qml, только без жабаскрипта и компайлтаймовый. А что есть в расте? Там даже сраных короутин и map/reduce нет, по дефолту как минимум.
>>815515>Опять таки - почему недосерво на практике плодит сотни потоков и отжирает сотни памяти? С крута-мультитредингом?>А их недодвижок, который серво - чет падает на каждый чихМожет потому что ты корчишь из себя дауна? Он в глубокой преальфе и билды обновляются буквально по 4 раза на день. Как думаешь, почему же?>Vibe.d1 единственный непонятный вебсервер с кусочками веб-фреймворка. Подобного говна на любом языке хватает.И кстати - https://www.techempower.com/benchmarks/ найди-ка тут его. Сливает даже пхп.>шаблоныЧтобы писать расширения языка/недо-DSL без крестовой ебли с шаблонами (в ди они быстро компилируются, но суть не меняется) - http:// бит точка лу /2b5qlJ3 найс спамлист>В дишечке тоже компилятор не дурак, и часто по рукам дает. Ногу отстрелить непростоДай таковой пример чтоле. Что-то кроме неявных приведений типов отловит?
>>815515>Там даже сраных короутинВ D из коробки тоже нету.>map/reduceА вот тут пы обосрался.>А по факту в ди и стандартная библиотека пизжеТо же говно только сбоку. Хорошая стандартная библиотека - в жвм, дотнете. Тут - даже упоминания не стоит.>Есть куча биндингов к гуямОна есть везде, вась.>и на базе шаблонизатора Vibe.d запилят пиздатую штуку - как qml, только без жабаскрипта и компайлтаймовый.1) В QML яваскрипт необязателен;2) Им всё равно никто пользоваться не будет кроме создателей (лол, да);3) В следующем релизе Qt обещали сменить лицензию и выпустить в свободный доступ компилятор QML, который это и делает.
>>815533>>815535Бля, заебало.Предлагаю написать хелловорлд. Суть такова - просмотреть все треды в /pr и посчитать, сколько раз упоминается слово "дишечка" (для меня) или "раст" (для тебя).Решения сравним, по удобству кода, выстрелам в ногу и прочей хуете. Я - на дишечке, ты - на расте. Идет?
>>815535> 2) Им всё равно никто пользоваться не будет кроме создателей (лол, да);> 3) В следующем релизе Qt обещали сменить лицензию и выпустить в свободный доступ компилятор QML, который это и делает.И да - ты так нихуя и не понял. Я имел в виду, что можно будет описать хуй удобно и декларативно, но компайлтаймово. Как сейчас описываются уеб-странички с помощью diet-темплейтов. В крестах ничего подобного не было.>> 1) В QML яваскрипт необязателен;Мань, QQMLEngine - наследует класс QJSEngine. Сечешь?>>815535>В D из коробки тоже нету.А файберы - это что?
>>815547>И да - ты так нихуя и не понял.Это ты меня не понял. Я понимаю что ты никогда не работал с коммерческой версией Qt, но там эта хуйня уже несколько лет есть.>Мань, QQMLEngine - наследует класс QJSEngine. Сечешь?Абсолютно похуй, тебе никто не мешает использовать его только как язык декларативной раметки гуя.>А файберы - это что? Это твоё плохое понимание что такое корутины и файберы, вот что блять.>>815542Даа блять, как же я соскучился - пошли 1 на 1 ебала бить. Мне же делать больше нечего в нерабочее время с аноном сидеть соревноваться, причём с аноном который сам аргументировать не может - только пытается посрать на чужие доводы.
>>815556>сам аргументировать не может - только пытается посрать на чужие доводыАх да - и делает это только выборочно.На вещи вроде >>815533>Сливает даже пхп.сил ответить видимо нет - больнааа.
>>815556> Мне же делать больше нечего в нерабочее время с аноном сидеть соревноватьсяТо есть срать в треде время есть, а на практике написать сраный хелловорлд строк на 20 - времени нет?Делов то тут минут на 10. Ты что, лол, не знаешь языка, за который топишь?>Это ты меня не понял. Я понимаю что ты никогда не работал с коммерческой версией Qt, но там эта хуйня уже несколько лет есть.>Абсолютно похуй, тебе никто не мешает использовать его только как язык декларативной раметки гуя.Мань, я 2 года писал на Qt. Сказок мне не рассказывай. Как и что бы ты не писал на нем - это жабаскриптовый движок. С жабаскриптовым байткодом и прочей хуйней, динамической типизацией, etc.И крайне дерьмовой интеграцией с крестами, Привет QQmlListProperty и прочее говно и костыли, ага.Я же жду НАТИВНОГО блеать декларативного описания. Без жабоскрипта. Чтобы не нужно было никакой "интеграции с нативом" - чтобы я в разметке и мог писать нативный код.
>>815515>Нахер они сдались?Ну возьмём хакс. Есть довольно популярный макрос (который довольно легко пишется), который ты вешаешь на пустой тип, а во время компиляции он лезет в папку с ресурсами твоей программы (игры) и заполняет поля класса этими ресурсами. То есть, картинка player1.png превращается во что-то типа Assets.player1_png. Теперь, если ты удалишь ассет, то у типа исчезнет соответствующее поле. Если ты переименуешь ассет, то поле переименуется. Таким образом, можно спокойно перемещать/удалять ресурсы, и при компиляции ты получишь список мест, которые нужно поправить. Без макроса, оно бы упало в рантайме.Это одно из охуительных способов применения макросов. Ещё есть, например, валидация жсона во время компиляции, ну и всякая простенькая фигня, типа генерации бойлерплейтных методов.
>>816482Валидация json'а во время компиляции отлично работает в d. Про ассеты надо смотреть -- но скорее всего тоже можно, через ctfc.
>>816485Ну, ctfe - это подмножество макросов. Вот только макросам доступно аст, поэтому они позволяют ещё и менять код - в том же хаксе мандадки на них запилены с оптимизацией и do-нотацией. А ещё есть live-editing - это когда макрос преобразовывает помеченный код в hscript (скриптовый язык - подмножество хакса) и при каждой компиляции просто подменяет эти скрипты без рестарта программы. Как в джавке.
не тоните
>>829597бамп!алсо ищу удалённую работу по теме топикаbomqw@notsharingmy.info
Время бампать!
Есть кто живой? Подскажите живую IDE для macOS, с поддержкой dub и автодополнением на основе зависимостей в dub.json/dub.sdl?
>>859114> с поддержкой dub и автодополнением на основе зависимостей в dub.json/dub.sdl? Лол, мне кажется такого даже под vim пока никто не написал. Сложно.
>>862193такое есть для dub.json, Mono-D называется, но последнее время развитие остановилось и dub.sdl поддерживает не полностью, вот и ищу замену
>>730626>А ты понимаешь маня, почему C называют кроссплатформенным ассемблером? Какой-то больной мудак один раз назвал, с тех пор так и повелось. Без шуток, какой нахер кроссплатформенный ассемблер - сплошная боль. Undefined behavior встречается чаще чем defined. Переполнение целого отследить - в асме выставить флаг, тут же ебота в несколько страниц со срань-макросами полными "ifdef"ов, плюс для каждого компилятора своя пляска. Может ты заодно расскажешь как независимо от платформы перехватить деление на, не дай бог, нуль или ошибку доступа к памяти? Даже размерность целых завезли лишь в 99 году. Блядь, да в ассемблерах, что в фасме, что даже в сраном masm32 от MS, макропроссор позволяет расширять язык так, что пилятся без проблем и ООП и обработка исключений и модульность, и прочие вещи, что сишной автоподстановке с параметрами и не снилось.Надеюсь тот же ди или руст, добьют уже падлу помечтать-то можно, и выебут его труп.