LINUX.ORG.RU

C++20 и 2D Graphics

 ,


0

9

Исходник: https://isocpp.org/files/img/wg21-timeline-2017-11.png

Оказывается, все проблемы C++ уже решены, и теперь можно приступать к самой важной части системного языка - 2D графике.

Вопрос: что за безумие происходит в комитете C++? Зачем системному языку, да и вообще любому языку, 2D графика в std? Тем более, по слухам, они собираются использовать убогий cairo.

Из подобных языков приходит в голову только tcl/tk и red.

★★★★★

Последнее исправление: RazrFalcon (всего исправлений: 1)

С разморозкой. Года четыре назад первый раз всплывало. Старания Саттера. Да, там API cairo за основу хотели взять.

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

Уже и в план внесли.

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

anonymous
()

В чем убогость Cairo? И чего плохого, что в крестах спустя 100 лет появится аналог graph.tpu?

mos ★★☆☆☆
()

все проблемы C++ уже решены

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

Softwayer ★★
()

Дык кресты давно не позиционируются как исключительно системный язык. А тебе дай волю, ты бы туда и Qt засунул.

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

Интерес - это хорошо. Но это не отвечает на вопрос: зачем это в std?

У c++ и так убогая std, но вместо добавления полезных фич, они добавляют мусор.

RazrFalcon ★★★★★
() автор топика

Лол :-) Зачем ты это сюда принёс? :-) Ну внесут в стандарт 2D-графику :-) Хуже станет? :-) Нет, не станет :-) А уж если внесут в стандарт HTTP-сервер, шаблонизатор текста, генератор JavaScript, и пусть хоть даже 3D-графику - будет только лучше :-)

Я заметил, что только у сообщества цепепе такие вот проблемы :-) Им нравится сидеть без ничего и наяривать либы сомнительного качества, которые нигде, кроме как на 127.0.0.1, ну или на 192.168.1.* в курятнике не используется :-) Зачем тебе цепепе тогда? :-) Это ведь промышленный язык, которому ой как нужны промышленного же качества батарейки, а не наколеночный отстой с гитхабика :-) Лол :-)

anonymous
()

Правильно делают, Qt c gtk в топку, GUI будем прям на стандартной библиотеке С++ писать. Только так!

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

Он на сишке

а надо? на C#? lua? эрланг?))
я еще раз махну хвостом в сторону GRAPH.TPU он вообще на пыскале и много чего не умеет. что не препятствовало.

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

спешу вазз разочаровать - GTK+3 итак рисует через cairo.
As you were soldier.

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

Я не считаю, что это нужно в std, претензия к формулировке. Проблема в том, что нельзя просто взять и заставить людей, которые хотят графику в std, хотеть там string::trim или чего там ещё нормальным людям не хватает.

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

Проблема в том, что если на гитхабике появится «наколеночный отстой», то никто не мешает ему на следующий день выпилиться или эволюционировать до нормальной библиотеки, не совместимой со вчерашней версией; если же он появляется в стандарте С++, то он там остаётся довольно долго.

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

Не умеет в ШГ (без pangocairo)

Вполне себе умеет, только вещи вроде переноса слов и выравнивания придется велосипедить.

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

Рисование символов из файла шрифтов - это не отрисовка текста. Я молчу про лигатуры, cjk, bidi и прочее.

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

Ну внесут в стандарт 2D-графику :-) Хуже станет? :-)

Насколько я знаю C++, они еще больше удалятся от совершенства, а двигаются к нему сейчас Rust и D(про него пока только читал). Лучше бы двигались к нему

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

Ужас. Жуть

C++ слишком сложен, а его еще усложняют. Мне для профессионального понимания языка поднадобился целый месяц. Для сравнения питон 3 я выучил за неделю

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

Мне для профессионального понимания языка поднадобился целый месяц.

Лол :-) Ахаха :-) Стоит ли после такого признания воспринимать тебя всерьёз? :-) Лол :-)

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

Лол :-) Ахаха :-) Стоит ли после такого признания воспринимать тебя всерьёз? :-) Лол :-)

а может тебя не стоит воспринимать в серьез? месяца тебе не хватило не просто так

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

Вы хотите сказать, что вам хватило месяца, чтобы свободно оперировать такими понятиями, как ADL, SFINAE и CRTP?

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

Вы хотите сказать, что вам хватило месяца, чтобы свободно оперировать такими понятиями, как ADL, SFINAE и CRTP?

конечно, еще и понятиями класс и vtable

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

Остается только вопрос: что такой вундеркинд делает на LOR-е?

спрашиваю совета, тут все так делают

Не, есть еще один вопрос. Вы за C++17 уже взялись? А то в вашем списке есть C++, C++11 и даже Embedded C++, но как же C++17?

возьмусь после Kotlin и C++14, хочу знать все версии C++

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

Рисование символов из файла шрифтов - это не отрисовка текста. Я молчу про лигатуры, cjk, bidi и прочее.

Тупо выпендреж, в 99.9% случаев встроенных в cairo средств хватит с головой.

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

возьмусь после Kotlin и C++14, хочу знать все версии C++

Лол :-) А как познаешь все версии цепепе, берись сразу за альтернативу Линуксу :-) А то у одного школьника-изобретателя как-то не получилось, может быть ты сможешь за целых пару месяцев что-нибудь явить на свет :-)

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

Лол :-) А как познаешь все версии цепепе, берись сразу за альтернативу Линуксу :-) А то у одного школьника-изобретателя как-то не получилось, может быть ты сможешь за целых пару месяцев что-нибудь явить на свет :-)

написание современной ОС упирается в разнообразие оборудования. ОС я напишу, я в этом уверен, но вот драйвера не осилю даже на 1% современных железок. Так что увы, буду писать своего робота на ардуино

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

Но это не отвечает на вопрос: зачем это в std?

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

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

xaizek ★★★★★
()

Вот не поймешь таких как вы: стандартная библиотека не развивается — плохо, развивается — еще хуже. Вы бы уж определились со своими эротическими фантазиями.

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

Если кому-то хочется пропихнуть 2D графику и на это есть силы/время, то значит будет в стандарте 2D графика. Как бы LOR-овские мудрецы на говно в плюсосрачах не исходили.

Ну а если вы явно видите проблемы с текущей стандартной библиотекой, если понимаете, что и как должно быть, то пожалуйста: https://stdcpp.ru/ В качестве отправной точки самое оно.

eao197 ★★★★★
()

Знатно у тебя бомбануло.

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

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

не развивается — плохо, развивается — еще хуже.

Вместо нормальных строк впихнём 2d. Логика/0

если понимаете, что и как должно быть, то пожалуйста

Зачем? Я лучше возьму язык с нормальной std.

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

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

Даже когда ее сделают (и если ее сделают), заголовочные файлы никуда не исчезнут.

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

Вместо нормальных строк впихнём 2d. Логика/0

Ба, да он все такой же!

Логичный вы наш, чем работа на 2D-графикой препятствует/заменяет работу над строковыми типами?

Ну и расскажите публике, какие именно нормальные строки нужны «системному языку программирования».

Зачем?

А на форуме тупость демонстрировать зачем?

Я лучше возьму язык с нормальной std.

Вот и возьмите. И перестаньте лохматить бабушку.

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

Проблема в том, что её не смогут впихнуть. А если и впихнут, то в убогом виде, как и всё в C++.

Есть такая страшная штука, как отрисовка шрифтов. Для неё нужна тонна зависимостей, которые 100% не будут тянуть в std. А значит будет только ШГ. А значит такой модуль в std никому нафиг не нужен будет.

А учитывая что рисование само по себе бесполезно, и рисовать нужно на чём-то, то окажется что нужны или какие-то виджеты или растровые/векторные форматы изображений. То есть сходу появляется зависимость от PNG, а как максимум ещё и JPG/WEBP/SVG/PDF.

В общем идея бредовая по умолчанию.

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

Ну и расскажите публике, какие именно нормальные строки нужны «системному языку программирования».

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

А на форуме тупость демонстрировать зачем?

Чтобы фанбоев позлить.

Вот и возьмите.

Если бы да кабы.

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

ОС я напишу, я в этом уверен

Я тоже уверен :-) Так же, как и теперь уж точно уверен, что ты освоил на профессиональном уровне цепепе за 1 месяц :-) Не чета остальным тупорезам, которые за 10 лет цепепе толком не знают :-) Так же и собственной ОС без драйверов :-)

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

Я тоже уверен :-) Так же, как и теперь уж точно уверен, что ты освоил на профессиональном уровне цепепе за 1 месяц :-) Не чета остальным тупорезам, которые за 10 лет цепепе толком не знают :-) Так же и собственной ОС без драйверов :-)

остальные «тупорезы» просто не хотят, им тупо лень, а я - работящий и умный, да

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

Вместо нормальных строк

С т.з. комитета, в цепепе строки нормальные :-) Они устраивают абсолютное большинство :-)

Логика

Логика в развитии батареек для цепепе :-) Не все хотят и умеют жрать дерьмо от домашних борщехлёбов, которые сегодня заявляют на весь интернет о своих поделках, а завтра бросают всё в огонь и след их простыл :-) Сколько таких было :-) Никому в здравом уме не хочется форкать чью-то либу, потому что автору надоело и он ушёл в туман :-) Никому не хочется геммороя с миграциями от заброшенной либы к другой наколеночной поделке, которая сегодня «развивается», а завтра привет :-) Вот тебе логика :-) Чем больше будет в стандартной библиотеке, чем будет легче :-)

Зачем? Я лучше возьму язык с нормальной std.

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

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

Молодой человек, когда-то давным-давно, подозреваю, вас тогда еще не было в планах у ваших родителей, на просторах тогда еще СССР в ВУЗах широко использовались продукты от тогда еще славной компании Borland: Turbo C, Turbo Pascal, Turbo Prolog и вот это вот все.

Интересной чертой этих инструментов было то, что и них в поставке была простенькая библиотечка BGI для работы с графикой. Крайне примитивная. Но которая, тем не менее, использовалась и в хвост и в гриву. Даже для «коммерческих» продуктов, не говоря уже про обучение студентов/аспирантов. Более того, отдельные далекие от программирования преподаватели, которые волею судьбы должны были делать свои программки в Turbo C, даже не понимали, что BGI — это чисто Borland-овская библиотека, которой нет, скажем, в C-шных компиляторах от Zortech-а. Для них BGI была частью стандартной библиотеки языка C.

Так что если в C++20 или C++23 из коробки будет что-нибудь, настолько же подходящее для использования студентами или другими непрофессионалами, как это было с Borland-овской BGI, то многие будут просто этим пользоваться и не искать себе другого.

Ну а то, что людям, профессионально занимающимися графикой, средства из stdlib не подойдут, так это не удивительно. Сейчас, например, многие используют строки из ICU вместо std::basic_string. Что вполне нормально для определенного круга задач.

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

но раст лучше, потому что современнее и красивее

попахивает адекватной реакцией на невменяемость растафари

Красиво переобуваешься.

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

Как вообще можно считать нормальными строки, которые представляют собой просто набор байт без указания кодировки?

А зачем в системном программировании что-то отличное от простого набора байт?

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

Интересной чертой этих инструментов было то, что и них в поставке была простенькая библиотечка BGI для работы с графикой.

Я по прочтении ОП тоже почему-то egavga.bgi вспомнил. Да, в BGI даже драйвера свои были! (Но это было обусловлено спецификой ДОСа.)

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