LINUX.ORG.RU

Вышла новая версия языка программирования D (2.091.0)

 ,


2

7

Изменения в компиляторе:

  • Окончательно убран деаллокатор классов.
  • Возможность сообщать о номерах строк в стиле GNU.
  • Добавлена экспериментальная генерация заголовочников C++ из внешних (extern) объявлений C|C++: DMD теперь умеет писать заголовочные файлы C++, содержащие биндинги на объявления в существующих файлах D, помеченных как extern(C) или extern(C++).

Изменения в рантайме:

  • Добавлен пропущенный в некоторых местах pthread_attr_destroy.
  • Расширенные биндинги в core.sys.windows.security.
  • Добавлен core.stdcpp.memory.unique_ptr.
  • Добавлен TFD_TIMER_CANCEL_ON_SET.

Изменения в библиотеке:

  • std.bigint теперь @safe.
  • Замена approxEqual на isClose в std.math.
  • Удалён устаревший std.format.Mangle.
  • Удалены устаревшие структуры ByLine, ByChunk, ByRecord из std.stdio.
  • std.algorithm.sorting.schwartzSort теперь поддерживает и бинарные функции трансформации.
  • Добавлена curry в std.functional.

Изменения в инсталляторе:

  • Скрипт инсталляции теперь может исполняться на Windows.

Изменения в Dub:

  • Добавлена переменная окружения SOURCE_FILES.
  • У DUB теперь стиль дополнения zsh.

>>> Подробности

★★★★★

Проверено: shell-script ()
Последнее исправление: Virtuos86 (всего исправлений: 2)

Ответ на: комментарий от stasolog

И правильно написал. Не обращай внимание на сектантов. Основная причина того, почему оно мёртвое - отсутствие какой-либо инфраструктуры вокруг языка. Тоже самое, что и в дерьморасте, но там табуны хомячья, которые сожрут любое дерьмо. Д пытался хайпиться как раст и на тех же методичках, но не фартануло. В неудачно время он родился - тогда эта область не состояла на 90% из вчерашних поломоев, которым можно впарить любое дерьмо.

anonymous
()
Ответ на: комментарий от Serral

Ерунда, главная причина D1 -> D2 Нет, очевидно. Всё целиком и полностью насрать на это.

и до сих пор, если почитать логи, постоянно что-то выкидывается. Трудно писать на языке, в котором твой код со временем превращается в тыкву.

Толи дело раст, где каждая либа работает только со своей версией, а с релизной версией недоязычка в принципе ничего не работает. Существует только пару языков, которые тянут дремучие легаси. И то в основном это сводится к поддержке древнего туллинга.

anonymous
()
Ответ на: комментарий от yetanother

Сейчас уже нет необходимости такого выбора и по факту auto не несет никакой нагрузки, а просто placeholder.

Это базовая сишная семантика. Нужен признак декларации там, где это неясно из контекста. Поэтому в си можно использовать квалификатор в качестве признака декларации. Си вообще задизайнен для «автоматического вывода типов», только там один тип.

Поэтому нагрузку он несёт.

Это не указание на вывод типов как в C++, поэтому на плюсах мы пишем:

В C++ это так же никакое не указание на вывод типов. Во-первых такую херню как const auto никто не пишет, потому как auto && может захватывать квалификаторы. Остальные формы нужны крайне редко.

Во-вторых, как уже было сказано, никакого указания на вывод типов нет. Их как минимум два. auto/decltype(auto), но дело даже не в этом.

Очевидно, что никакого указания в C++ ненужно, да и почти нигде не нужно. Но C++ не подходит сишный контекстный вывод признака декларации. В рамках оного по-сути декларация завязывается на имя, которое становится обязательным и это глупо, потому как имя вообще не содержит в себе никакой семантической информации. Везде, где я не хочу писать имя - я не должен его писать. В сишке в этом плане есть несогласованность, когда в void f(a) {} одно, а в void f(int); другое. void f(void f(int)) {}; void f(void(int));

Так же оказалось, что область использования auto находится далеко за пределами области использования квалификатора auto. Оно существовало только для деклараций локальных, а параметры, возврат, глобалы - для всего этого оно не работало.

anonymous
()
Ответ на: комментарий от FilosofeM

Красивый, продуманный язык.

Кусок бездарного дерьма. Ну в целом зная уровень тутошних экспертов потолок для которых - ретрансляция нелепой пропаганды, иного и не ожидаешь.

Стиль дерьма, синтаксис дерьма, шаблоны дерьма, мета-программирование на строках. Это прям дизайн дизайна.

Таким должен был быть C++ изначально.

Если бы C++ был подобным этому мусору бездарным дерьмом - его бы и не существовало. Что, собственно, и видно. Дерьмо как валялось в дерьме так и будет валяться вечно. Что-то никто из людей не оценил, а подобные бездарные балаболы ничего не могут.

anonymous
()
Ответ на: комментарий от yetanother

Дерьмо и шаблоны настолько гениальны, что их не могут использовать даже самые отборные фанатики Дерьма. Показательно, ничего не скажешь.

anonymous
()
Ответ на: комментарий от anonymous

В D шаблоны равномощные шаблонам C++

Нет, очевидно. Меньше жри пропаганды. Это бездарная скриптуха, на чём уже выше спалился его адепт.

Это сложный язык уровня раста,

и хаскеля.

Это такая же примитивная херня. Откуда здесь высрался раст вообще неведома, потому как это самая примитивная и бездарная херня на уровне жабаскрипта нулевых годов. Причём в сравнении не только с C++, но и в сравнении с d и hs.

anonymous
()
Ответ на: комментарий от anonymous

Кусок бездарного дерьма.

Стиль дерьма

синтаксис дерьма

шаблоны дерьма

бездарным дерьмом

Дерьмо как валялось в дерьме

Анонимус, у тебя пукан бомбит, фекалии брызжут. Знатно ты так о C++. Впрочем я согласен, что C++ - уродливый бездарный язык, выстреливший лишь только потому, что конкурентов небыло, а клепать тонны гамнокода под нужды растущей отрасли - нужно было здесь и сейчас.

FilosofeM ★★
()
Ответ на: комментарий от FilosofeM

Анонимус, у тебя пукан бомбит, фекалии брызжут.

Дошколёнок обделался и начал съезжать с темы. Клоун нелепый. Нахрен что-то кукарекал, если ты с первого же моего ответа начал рыдать, что-то там пытаясь выкрикивать убегая.

что конкурентов небыло

Эти потуги бездарные. Я понимаю, что ты поломой с помойки, но всё же. Именно во времена C/C++ мир и состоял из конкурентов. Но почему-то конкуренты ничего не смогли.

а клепать тонны гамнокода под нужды растущей отрасли - нужно было здесь и сейчас.

Бездарное дерьмо даже тут ты обгадилось. Вся отрасль росла в основном вне си-мира. И рост как раз таки породил что-то кроме си-мира, вернее сам си-мир всё это породил.

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

Хотя даже не знаю, что я бездарной эникейской отрыжке пытаюсь объяснить. Появление C++ - это 90 годы. Это бум паскалей, жав, вебни, бейсика и прочей параши. Никакого C++ там не было и нет. Единственный C++ который там появился - это потуга мелкасофта после неудач с паскалятинкой и полной несостоятельностью бейсика.

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

Никогда и нигде никакой наследие си не было популярно. Оно существовало лишь том, где предъявлялись хоть какие-то требования к коду. Эти требований в ситуации «клепать тонны» никогда не существовало и никакого ни си, ни крестов там не было. Как и нет сейчас.

anonymous
()
Ответ на: комментарий от anonymous

Вахаха. Анонимусика за живое задели, ты смотри, целую простыню помоев наизрыгал. Задели его манямирок. Не тужься, агрессивное опущенное ничтожество. Ты уже давно слит, кусок фекалий.

FilosofeM ★★
()
Ответ на: комментарий от FilosofeM

Ну во-первых, дерьмо, аноним тут только ты. А во-вторых я не слышу оправданий за кукаретинг. Ты что-то пердел, пердел, а потом бам и начал рыдать, производя какой-то невнятный скулёж шаблонный. Ты, собака безродная, отвечать за кукаретинг будешь?

anonymous
()

Думаю стоит ввести ограничения «на анонимов» в данной теме. Да потереть лишнее.

Atlant ★★★★★
()
Ответ на: комментарий от anonymous

У обиженного анонимусика начались истеричные припадки. Не нервничай так, помойное животное, а то инсульт схватишь. В твоем пожилом возрасте следует беречь себя. Мне тебя, обиженного и угнетенного - искренне жаль. Вахаха!

FilosofeM ★★
()
Ответ на: комментарий от deterok

D на самом деле не мёртв. Он просто востребован в достаточно небольшом количестве сегментов, как альтернатива. У языка не было активного маркетинга как у Golang и Rust, у него не было фанатеющего сообщества, как у C++ или Python. Поэтому сейчас он не столь популярный. Хотя потенциально - язык прекрасная альтернатива. В частности для gamedev, webdev, desktop applications.

Я занимаюсь в основном web’ом, так что опыт с D есть только в этом сегменте. D - очень гибкий и простой. На нём можно быстро и приятно писать. Есть не плохой фреймворк - Vibe.d, который позволяет быстро настрогать JSON API или полноценный серверный рендер.

Но есть и минусы - для меня это было малое количество батареек и очень не большое количество информации. Смешно, но по нему находить ответы на свои вопросы труднее, чем на Common Lisp или Racket.

Честно, если бы я мог выбирать на чём работать - я бы писал всё на нескольких вещах: D (системщина, числодробилки, требующее тесной интеграции с С++), Common Lisp/Racket (там где можно что-то автоматизировать или нужны DSL), NodeJS (где надо что-то не тяжелое гонять по сети).

silver-bullet-bfg ★★
()
Ответ на: комментарий от anonymous

«Напоминает»? На третий день Зоркий Глаз заметил…

PS Вы запарили на анонимов гнать. Тут один поехавший, и он регался уже 20 раз, и ничего вы своими «ограничениями» не решите, кроме изгнания адекватных анонимов.

anonymous
()
Ответ на: комментарий от anonymous

Вообще-то D не целился на замену плюсов. он изначально был конкурентом C и в начальных версиях D2 даже не было классов

SR_team ★★★★★
()
Ответ на: комментарий от anonymous

Аналогичный код на C++, после предварительной генерации естественно, собирается за 5 часов. Этот код на D собирается за 10 минут. names.txt в обоих случаях один и тот же. Никаких аллокаций и сбора мусора в итоговом выхлопе на D нет. Ну и что же теперь дерьмо? Развивающийся на 1 шаг в 3 года язычек, не способный переварить пару условий в файле без инклюдов, или язык, который может сам себе нагенерировать код и собрать его очень быстро?

SR_team ★★★★★
()
Ответ на: комментарий от FilosofeM

Анонимусика за живое задели

Это Царь, любое упоминание какого-либо языка кроме C++ в положительном ключе, для него как удар по яйца бейсбольной битой.

SR_team ★★★★★
()
Ответ на: комментарий от anonymous

ничего вы своими «ограничениями» не решите, кроме изгнания адекватных анонимов

Согласен полностью

yetanother ★★
()
Ответ на: комментарий от SR_team

Аналогичный код на C++

Показывай код.

собирается за 5 часов

Ога.

Никаких аллокаций и сбора мусора в итоговом выхлопе на D нет.

Ты ничего не знаешь ни про аллокации, ни про сборку мусора, ни про производительность в целом. Меня не перестают удивлять эти заявлениях колхозников.

Ну и что же теперь дерьмо?

Дерьмо, очевидно же.

Развивающийся на 1 шаг в 3 года язычек

В этом шаге развития больше, чем в во всём времени существования этого бездарного дерьма. К тому же, вы, бездарные жертвы пропаганды, настолько нелепы в своих потугах. Я уже не раз писал о том, что сливать C++ - это надо быть полной бездарностью. Ты соревнуешься в беге с тем, кто прикован к скале и проигрываешь. Каждый шаг C++ движет горы, но ты не можешь сделать того же не будучи ограниченным никак.

Твоя язык дерьмо для бездарных фанатиков, которые сожрут любое дерьмо. Тебе не нужно думать о какой-то выразительности, качестве и согласованности синтаксиса. Просто лей любое дерьмо и хомячьё сожрёт. Твоя недоязычок в принципе никому не нужен и не занимается какой-то поддержкой чего-либо. Его не волнуют вопросы совместимости, вопросы качества и соблюдения тех критериев, что предъявляются к С++.

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

Маня, я понимаю и повторюсь, что ты бездарная жертва пропаганды, но всё же. Это дерьмо на строках - это такие же инклюды, только ещё более бездарные.

или язык, который может сам себе нагенерировать код и собрать его очень быстро?

Чего быстро, клоун? Ты опять нажрался дерьма. Нет ни одного языка, который собирался бы быстрее C++.

anonymous
()
Ответ на: комментарий от SR_team

Вообще-то D не целился на замену плюсов

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

в начальных версиях D2 даже не было классов

И что? Очевидно, что классы - сложно и их нет нигде. Это базовое свойство наиболее бездарных убийц C++. Конечно, потом они обгаживаются и нужно срочно что-то менять, но уже потом.

К тому же это дерьмо конца нулевых и не ясно когда появился UFCS, но скорее всего его тогда не было - я не помню по крайней мере. А если был - ответ очевиден.

anonymous
()
Ответ на: комментарий от silver-bullet-bfg

D на самом деле не мёртв.

Мёртв.

Он просто востребован в достаточно небольшом количестве сегментов, как альтернатива.

Любое дерьмо где-то востребовано. Это не аргумент.

У языка не было активного маркетинга как у Golang и Rust,

Был, именно вокруг дерьма2 в среди крестов был хайп похлеще говнораста, а уж тем более го. Только

у него не было фанатеющего сообщества, как у C++ или Python.

Ты обгадился, у C++ нету никакого «фанатеющего» сообщества. Именно это и убило Дерьмо. Он начал хайпить среди людей, причём достаточно высокого уровня. Очевидно, что такое люди мало подвержены всякой бездарной херне.

В этом плане говнораст сделал правильно. Он пошёл хайпить среди бездарного опущенного сброда и домохозяек - те сожрут любое дерьмо. И никогда даже не пытался хайпиться в си-мире. Параллельно впаривая хомячью истории про свободку и маня-борьбу с коропорациями. Которой бездарный дошколёнок не мечтает победить корпорацию.

Ну и говнораст никогда не хайпил на фичах, как это делало Дерьмо. Фичи не интересны домохозяйкам и бездарному опущенному сброду. Поэтому он хайпился чисто на фейковом дерьме.

Схема стара как мир - каждой бабке в подъезде так кольца анунаков впаривают. Больше ори про «мы всё умрём», придумай херню, ори и ори. Ври про то, что вот твоё дерьмо всех спасёт и срочно нужно бабки нести.

Хотя потенциально - язык прекрасная альтернатива. В частности для gamedev, webdev, desktop applications.

Опять же, любимая тема колхозников. Каждый мамкин пхп-гений знает что и для чего нужно. Что нужно десктопу, геймдеву. Ну и самое важное - веб.

Почему-то каждый раз очередной убийца крестов идёт убивать кресты там, где их вообще никто не использует. Всё, что ты назвал - это не фундаментальная разработка. В ней нет места ни С++, ни Дерьму.

Очень удобно сражаться с врагом, которого на месте сражения даже нет.

который позволяет быстро настрогать JSON API или полноценный серверный рендер.

Да, ведь именно для этого нужны языки фичи Дерьма. Именно для json-api и «серверный рендер»(это уже нелепый позор. Серверный рендер для птушников). Да, как же я могу это забыть.

D (системщина, числодробилки, требующее тесной интеграции с С++)

Да, наш мамкин гений рассказывал про json, а теперь уже системщина, числодробилки. Да, уровень осведомлённости и познаний сектанта всё более удивляет.

anonymous
()
Ответ на: комментарий от anonymous

Показывай код.

Код не сохранился, но он почти такой же, просто вместо миксинов был выхлоп в файл

Ты ничего не знаешь ни про аллокации, ни про сборку мусора

Найди мне в коде выше хоть одну аллокацию памяти, для которой придется потом вызывать сборщик мусора

В этом шаге развития больше

Чета нет, многое на 23 стандарт отбросили, а метаклассы так и вообще фиг знает когда примут.

К тому же, вы, бездарные жертвы пропаганды

Просто у тебя пердак горит. С чего ты взял, что я жертва пропаганды? У меня к слову все на плюсах, и только этот кусочек на D, потому что в данном кейсе D лучше себя проявил. Более того, этот кусочек тут был приведен с притензией к языку, что GC в нем нет, но без притаскивания всего рантайма его собрать нельзя, потому что есть функции из фобоса, которые выполняются в CT.

Дальше читать не стал. Ты теперь не Царь, ты Горелый

SR_team ★★★★★
()
Ответ на: комментарий от anonymous

не ясно когда появился UFCS

Примерно вместе с классами. Сначала его не было, потом был только для массивов, а когда добавили классы стал работать со всеми типами

SR_team ★★★★★
()
Ответ на: комментарий от SR_team

Код не сохранился, но он почти такой же, просто вместо миксинов был выхлоп в файл

Ну дак напиши заново. А если ничего не можешь показать - не кукарекай.

Найди мне в коде выше хоть одну аллокацию памяти, для которой придется потом вызывать сборщик мусора

Это не код, а бездарное дерьмо. И меня абсолютно не волнует это дерьмо и я нигде про него не говорил. Я говорил лишь о том, что рандомный эникей не может кукарекать о том, в чём нихрена не понимает, ретранслируя убогую пропаганду.

Чета нет, многое на 23 стандарт отбросили, а метаклассы так и вообще фиг знает когда примут.

Ты опять обгадился. Во-первых меня удивляет то, как бездарные жертвы пропаганды постоянно кукарекают про какой-то стандарт. В твоём дерьме нет никакого стандарта и он тебя волновать не должен.

Во-вторых всё уже есть, кто тебе не даёт эти наработки использовать, либо реализовать свои? Высрать ту херню, что ты показывал - это вообще ничего из себя не представляет. Это дерьмо на строках. Худшего дерьма в принципе придумать нельзя. Оно специально сделано таким, что-бы бездарные обезьяны, что писали компилятор для этого дерьма смогли это реализовать.

В целом это базовый критерий мусорного недоязычка. Когда его пишут бездарные обезьяны, которые тобою(адептов) вытирают жопу. Которые делают так, как удобно и как возможно для бездарной обезьяны, что рождает это дерьмо, а не как будет удобно пользователю языка.

Это то, чем C++ отличается от подобного мусора. Никто и никогда вообще не думает о какой-либо сложности реализации. Потому уровень человеческого капитала в С++ настолько высокий, что всем на это похрен.

Если бы C++ развивался так, как развивается твоё дерьмо, да и любое другое дерьмо - там уже давно были в язык впилены все фичи языков мира в 10 вариациях.

Просто у тебя пердак горит.

Основания. Удобно сектанты устроились.Назвал сектанта сектантом, а дерьмо дерьмом и всё - пердак горит. Защита уровня начальной школы.

С чего ты взял, что я жертва пропаганды?

Я знаю множество методичек и могу без проблем определить то, жертва которой ты являешься. А так же то, если ты жертвой никакой из них не являешься.

У меня к слову все на плюсах, и только этот кусочек на D, потому что в данном кейсе D лучше себя проявил.

Никакого C++ у тебя нет - судя по риторики и высеру и в целом пониманию - рядовой си с классами мамкин гений, потому как в противном случае неясно как понимающий что-то человек может нести подобную херню.

Особенно смешно, когда жертва пропаганды кукарекает про макросы и их убогость, но показывает те же самые макросы. Уровень.

Более того, этот кусочек тут был приведен с притензией к языку, что GC в нем нет, но без притаскивания всего рантайма его собрать нельзя, потому что есть функции из фобоса, которые выполняются в CT.

Я отвечал на это. Метапрограммирование фишка языка, а шаблоны такие хорошие, что даже сами сектанты их не используют. Это да, очередное дно пробито.

К тому же я отвечаю не на твои претензии, а на твои рассуждения в целом. Ты выдаёшь это за что-то состоятельное, противопоставляешь макросам.

А изначально я просто сообщил, что это настолько нелепый высер. Такого дерьма даже самые отбитые адепты раста не порождают.

anonymous
()
Ответ на: комментарий от SR_team

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

А, теперь я понял о чем была речь) Так это же в прямом смысле фича, а не баг. В компайл-тайме (CTFE) сборщик мусора можно использовать, он же в бинарник никак не попадет.

yetanother ★★
()
Ответ на: комментарий от SR_team

В целом я уже говорил про Дерьмо2. Оно хайпилось во времена 0x и никогда не знал, когда уродиться стандарт. И скорее всего убогие просто побежали выкатывать всё, что есть - лишь бы перетянуть интерес людей к 0x на свою сторону.

Я помню это Дерьмо и помню его потуги. Хотя в то время я не считал C++ за язык и не следил за ним. Не видел ничего нужно мне, вернее фичи то были, но вызванные C++ проблемы перекрывали все преимущества.

Да и сейчас ничего не поменялось. Юзабельными кресты стали только в районе 20 стандарта. До 17 оно того не стоит, до 11 - это не язык, а мусор.

Вся моя ненависть к подобному дерьму обусловлена тем, что оно сливает тому, что я вообще за язык не считаю. Меня удивляет то, когда бездарности настолько бездарные, что проигрывают тому, чему проиграть невозможно.

Сделать язык лучше крестов проще пареной репы и уже существуют тысячи наработок даже в рамках самих крестов. И в дерьме есть какие-то адекватные идеи, но они реализованы как говно, да и сами идеи крайне очевидны.

Но каждый раз новый недоязычок обсирается. Хотя достаточно соблюдения двух условий. 1) дизайном должен заниматься тот, кто что-то в крестах понимает и в их реальном применении. Именно применении крестов как крестов, а не как сишки с классами. И да, александреску - это бездарная обезьяна. Хотя это уже давно не новость.

Я проблевалевался с этой обезьяны ещё со времён хайпа его бездарного высера. В целом основное свойство это обезьяны, как и любой другой, - сведение всё к собственной бездарности. Т.е. если вменяемый человек не считает что-то состоятельным и лучшим в ситуации отсутствия возможности выбора.

Если ещё проще. Когда человек не может сделать нормально и делает дерьмо - человек не начинает задним числом придумывать какие-то основания и делать вид, будто бы выбор был.

Точно так же эта обезьяна в принципе не сталкивалась с чем-то реальным. Всё опять же сводится к тому. Высрать дерьмо абсолютно неприменимое в реальности много ума не нужно. Много ума нужно для того, что-бы получить свойства двух миров.

В конечном итоге эту обезьяну мир C++ выбрал, потому как если до 0x кресты были чем-то средним, то вот после вектор сместился в сторону состоятельности. В сторону выбора. Язык пилится не по принципу «лишь бы наша убогая бездарность могла что-то родить», собирая самые убогие, примитивные решения. Язык аккумулировал человеческий капитал, а далее в среди лучших организовал жесткую конкуренцию идей. В конечном итоге отбираются лучшие идеи генерируемые лучшими.

Кстати, эта обезьяна ещё и маздайская отрыжка. Любой, кто использует подобный стиль дерьма - идиот по определению. Это одна из причин по которой никто в здравом уме не будет эти дерьмом пользоваться. Потому что человек адекватный попросту не может писать в этом стиле. Даже ты в нём не пишешь, вернее у тебя какой-то промежуточный стиль дерьма.

У меня такое чувство, что этот аспект был ключевым.

  1. и это крайне очевидно - выкинуть легаси и решения обусловленные им.

Всё, ты победил C++. Просто выкинь макросы дерьма, функции дерьма, огрызки сишной семантики и прочее. Ну и роди нормальный компилятор. Всё, единственное что тебе сможет предъявить C++ - это совместимость в легаси. Но и её не сложно организовать. Почти все колхозники этого не понимают, но совместимость - это не обязательно жрать дерьмо. Дерьмо можно эмулировать. Собственно в какой-то мере это делает и твой недоязычок в контексте ffi с крестами.

anonymous
()
Ответ на: комментарий от anonymous

Основания.

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

Особенно смешно, когда жертва пропаганды кукарекает про макросы и их убогость

Если речь обо мне, то найди такое мое высказывание. Если речь о тебе, то лучше пости в бложек на плюсах, что б не потрели… Ах да! Наш виликий Горелый гуру C++ не осилил плюсы, что бы написать бложик. Хоть бы либу Евгения для готового http заюзал - останется только базу прикрутить и сверстать внешний вид

SR_team ★★★★★
()
Ответ на: комментарий от yetanother

В компайл-тайме (CTFE) сборщик мусора можно использовать, он же в бинарник никак не попадет.

Не попадет в функцию, которая будет выполняться в рантайме. Но в сам бинарь будет добавлен рантайм вместе со сборщиком.

Вот например скрин из IDA, конечного бинарника: https://nc.prime-hack.net/s/zp7PEL6insQpLpH

Сокеты, реестр. Ничего из этого нет в коде и оно лишнее в бинаре.

SR_team ★★★★★
()
Ответ на: комментарий от SR_team

Не попадет в функцию, которая будет выполняться в рантайме. Но в сам бинарь будет добавлен рантайм вместе со сборщиком.

Это уже плохо, конечно, хотя и не смертельно. Но тут вроде хорош ldc с его фичами, он делает бинарники меньше по умолчанию. Я долго в свое время помучался с поддержкой проб systemtap под ldc, потом оказалось, что они удаляются как мертвый код, что в принципе верно.

yetanother ★★
()
Ответ на: комментарий от yetanother

Я только LDC и использую, кроме него нечем кросскомпилировать под винду. mingw-gdc вроде как мертв

SR_team ★★★★★
()
Ответ на: комментарий от anonymous

Так что там та же ерунда со sfinae (основная причина ненавидеть плюсы) или таки есть нормальная перегрузка по типу в шаблоне?

q0tw4 ★★★★
()
Последнее исправление: q0tw4 (всего исправлений: 1)
Ответ на: комментарий от q0tw4

В С++ больше не нужен sfinae, есть концепты, так что у тебя больше нет твоей основной причины ненавидеть плюсы.

fsb4000 ★★★★★
()
Ответ на: комментарий от anonymous

Юзабельными кресты стали только в районе 20 стандарта. До 17 оно того не стоит, до 11 - это не язык, а мусор.

А до C++11 какой язык ты считал более-менее достойным?

anonymous
()
Ответ на: комментарий от anonymous

А до C++11 сабж выглядел достойно

next_time ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Программирование на препроцессоре и отсутствие нормальных средств работы с юникодом, это вся суть C++.

anonymous
()
Ответ на: комментарий от SR_team

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

Не приду. К тому же, зачем ты прячешься за меня? Просто научись отвечать за свой кукаретинг и отвечай.

Если речь обо мне, то найди такое мое высказывание.

Развивающийся на 1 шаг в 3 года язычек, не способный переварить пару условий в файле без инклюдов, или язык, который может сам себе нагенерировать код и собрать его очень быстро?

Конечно как связаны условия и инклюды я не знаю, но здесь ты явно кукарекать о пп и о макросах. И назвал инклюдами pp, хотя даже потуга в сторону инклюдов уже выдаёт в тебе жертву пропаганды, потому как инклюды самый совершенный вид импортов. В рамках нормального языка ничего иного просто не работает.

Единственная проблема с ними - это наличие мусорного pp и отсутствие нужной семантики(т.е. инклюд не воспринимается как отдельная сущность, не имеет локального скоупа и прочее.

Ах да! Наш виликий Горелый гуру C++ не осилил плюсы, что бы написать бложик.

Колхозник, ты зачем кукарекаешь о вещах, которые находятся вне твоего уровня восприятия. Ты даже не знаешь что такое C++ и что такое блог. Но кукарекаешь. В этом всё дерьмо запартное.

Хоть бы либу Евгения для готового http заюзал - останется только базу прикрутить и сверстать внешний вид

Да, уровень бездарности обезьяны не перестаёт удивлять. Оно мне кукарекает про http и какую-то базу. Я понимаю, что ты пхп-макака, но всё же в школу сходи.

И да, тебя даже тут поимели. Упомянутая поделка к упомянутому персонажу не имеет отношения. Он её не пилил, о чём сам не раз говорил.

Но думать и проверять - это не для обезьяны.

anonymous
()
Ответ на: комментарий от q0tw4

Очередной мамкин гений, который ни о плюсах, ни о шаблонах нихрена не знает, но кукарекает. Колхозник кукарекает что-то о sfinae даже не понимая, что без неё перегрузки в принципе не существует.

Далее, ещё более интересно то, что колхозник кукарекает о какой-то нормальной перегрузки, хотя никакой перегрузки вне крестов в принципе в этом мире не существует.

Но самая нелепая потуга - это перегрузка по типу в шаблоне. Что это такое я не знаю, но сообщаю тебе новость - в шаблоне нет и не может быть никакого типа. Шаблон на то и шаблон, что типа там нет и быть не может.

Здесь возможны два варианта. Колхозник может не знать, что перегрузкой шаблона называется специализация. Но это ладно. Скорее всего данная жертва пропаганды нажралась херни про подтипы во всякой скриптухе и ей кажется, что множество типов можно свести к одному типу, но это не так, очевидно. И оно в принципе работать не может.

Но жертве пропаганде думать о таких вещах и вообще думать не нужно.

anonymous
()
Ответ на: комментарий от silver-bullet-bfg

Проблема будет в том, что когда ты настрогаешь этот API ты не сможешь пригнать человека с улицы и посадить его за этот код что бы он расширял. Это будет не выгодно для компании. А если взять тот же Python, я думаю можно даже студента со знанием Django/Flask откопать за пару дней.

deterok ★★★★★
()
Ответ на: комментарий от q0tw4

Так что там та же ерунда со sfinae (основная причина ненавидеть плюсы) или таки есть нормальная перегрузка по типу в шаблоне?

Там есть и sfinae и нормальная перегрузка по типу в шаблоне но чаще более удобный вариант это ‘static if’ https://dlang.org/articles/templates-revisited.html#sfinae
static if кстати с++ники своровали, правда сделав намного более куцым чем в D. Вообще возможности близкие к тем кастрированным концептам что приняли в C++20 в D давно (раньше чем появился С++11) уже есть.

anonymous
()
Ответ на: комментарий от anonymous

О боже, насколько же эта бездарная жертва пропаганды тупая.

Там есть и sfinae и нормальная перегрузка по типу в шаблоне но чаще более удобный вариант это ‘static if’

Нет, колхозная обезьяна, никакой static if не является альтернативой перегрузки и уж тем более чему-то связанному со sfinae. В целом в очередной раз можно сказать, что очередное анонимное дерьмо несёт попросту невменяемую херню. Да и самое дерьмо ничего в теме не понимает.

https://dlang.org/articles/templates-revisited.html#sfinae

Это всё, что нужно знать об этой бездарное секте. Они сравнивают дерьмо с крестами 90х годов, но даже этому сектантам оказалось мало. Они используют техники уровня первой лабы.

static if кстати с++ники своровали

Уровень познаний сектантской обезьяны поразителен. Каким образом можно своровать очевидную херню? Которая существовала всегда и никакого отношения к бездарному Дерьму не имеет.

Вообще возможности близкие к тем кастрированным концептам что приняли в C++20 в D давно (раньше чем появился С++11) уже есть.

Ещё одна потуга бездарной обезьяны. Никаких возможностей в дерьме нет, данное бездарное дерьмо со своим Дерьмом ничего не знает о концептах в противном случае подобной нелепой херни в принципе нельзя родить. Потому как ничего мощнее в принципе придумать нельзя и бездарное дерьмо никогда и ничего подтверждающие её кукаретинг не покажет.

К тому же в Дерьме нет ничего. И кстати, любой кто что-то кукарекает про стандарты в крестах, в контексте сравнения с недоязычками, - идиот, по определению.

anonymous
()
Ответ на: комментарий от q0tw4

Так что там та же ерунда со sfinae (основная причина ненавидеть плюсы) или таки есть нормальная перегрузка по типу в шаблоне?

Все там есть, но авторы D в отличии от авторов C++ умудрились сделать шаблоны вполне читабельными. Хотя саму сложность метапрограммирования это конечно не отменяет.

anonymous
()
Ответ на: комментарий от fsb4000

Как я понял, концепты не могут влиять на выбор метода. Они только позволяют не вываливать кишки библиотеки при ошибке компиляции и всё. Это что то вроде дактайпинга, типа если у тебя есть метод кря, то походу ты нормальная утка, а иначе буду ругаться на то, что ты не утка. Поправьте меня, если ошибаюсь.

q0tw4 ★★★★
()
Ответ на: комментарий от q0tw4

Как же сильна пропаганда. Какие ошибки, компиляцию, кря - откуда вы берёте всю эту бездарную чушь?

Концепты как раз таки и существуют прежде всего для того, что-бы реализовать перегрузку для чисто шаблонных методов. Если попроще - это sfinae на максималках.

anonymous
()
Ответ на: комментарий от SR_team

Нет, маня, ты опять обделался. Мало того, что ты, балабол, никаким образом своё балабольство не подтвердил. А просто вместо ответа родил какое-то нелепое оправдание.

Ну и в целом. Если свести твои нелепые потуги к чему-то вменяемому, то защита данного гения строиться на том, что «ко-ко-ко - ты не можешь знать о чём я говорил», т.е. балабол пытается прикинуться шлангом. Ведь на самом деле он имел ввиду не то, да и вообще ничего не говорил. Но это так не работает.

anonymous
()
Ответ на: комментарий от anonymous

Ну концепт же проверяет какие методы доступны. Нельзя же с помощью концепта сделать так, что class A { int f(); } и class B { int f(); } будут реализованы по-разному, но при этом сама реализация не будет знать конкретных имен A и B (так как реализация находится в либе, а классы у узера). Ну разве что вводить какие-то метки в виде ненужных методов, что возвращает нас в костылинг, который был до концептов.

q0tw4 ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.