LINUX.ORG.RU
ФорумTalks

С++ 2018

 , ,


1

5

Не буду особо подводить итоги года, подведу лучше итоги C++ за 20 лет.

С тех пор как вышел стандарт C++98, утекло довольно много воды, поменялись мейнстримовые операционные системы, браузеры, базы данных, принципы и методы разработки ПО, и вообще, кто бы мог подумать что Microsoft станет одним из главных контрибьюторов в Open Source.

C++ все так же остается разрастающимся монструозным говном, однако в 98 году, у него была действительно важная область применения - системный софт для десктопных операционных систем. Сейчас область применения C++ - разве что поддержка всех тех сраных легаси систем, которые на нем когда-либо были, по недоразумению, написаны. Ну и конечно, социальные пособия умственно отсталым «программистам», которые не способны понять простой факт, что не все является гвоздем если у тебя в руках молоток, а переусложненное монструозное говно, представляющее из себя набор исключительно идиотских архитектурных недоразумений и просто случайных ляпов, не имеет смысла применять хоть где-то кроме как для перемножения матриц на стеке(уау, как круто перегрузили оператор сложения!) и то, если ваш проект не выходит за рамки «Мама, смотри, я написал треугольник на DirectX!».

В связи с этим вопрос - когда уже закопают труп?

Перемещено jollheef из development

★★

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

А много в принципе софта сделано работниками не на дядю в процентном соотношении от всего?

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

Примерно все высоконагруженные системы, на которых разница в полтора раза будет иметь значение - достигают производительности не дрочерством байтиков, а распараллеленными архитектурами. Микросервисами в контейнерах, и соответственно auto-scaling-ом всяким из AWS, шардингом БД, и прочим и прочим.

Расскажи ка про aws и микросервисы в десктопном приложении. Или теперь все в облака тащить, лишь бы на жабе и шарпе вместо плюсов писать?

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

Этому чудному проявлению юношеского максимализма не хватает бенчмарков.

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

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

А вот это - неправда. По моим наблюдениям, переход с С++ на аналогичные языки со сборкой мусора ускоряют написание кода на 1-2%, т.е. неизмеримую «на глаз» величину.

Откуда пошёл этот миф про «в 10 раз быстрее» ? Можно пруф на адекватные исследования?

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

Десктоп вообще похрен на чем писать.

На винде он весь пишется на C#, линукс вон весь в питоне, на маке swift. Никакой C++ для десктопных приложений не нужен и даже вреден.

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

Я думаю дело в экосистеме. В плюсах на голову отбитые библиотеки с которыми очень много возни. Как в С++ создать HTTP сервер? Доступ к БД? Async/await есть? Все сделать можно, но эргономичность ниже плинтуса

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

Ну а чего. Царь после того как на полном серьёзе доказывал, что тип Float хранится в десятичном формате, стал для меня реально эпичным Си++негом.

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

Нет, это С++ здорового человека, а С++ - это С++ курильщика. В С++ практически все что есть строго хуже чем у Rust

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

Десктоп вообще похрен на чем писать.

линукс вон весь в питоне

Шозабред. Хотя, откуда вендузятнегам знать, что там в Linux.

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

Прямо таки весь? А что если наугад взять пару десятков примеров профессионального и тяжелого десктопного софта - не плюсы ли там будут? Или все будут на шарпе с питоном?

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

На винде он весь пишется на C#

Не весь, но много. Думаю 70-80% запросто.

линукс вон весь в питоне

Чушь.

на маке swift

Это который только зарелизили? Ага.

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

Как в С++ создать HTTP сервер?

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

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

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

Тут соглашусь. Есть целый класс либ (считай, почти всё, что заточено под бакенд серверов) которые хуже, чем в других языках. Но дело не только в этом.

Не знаю как в других странах, но в России у плюсовиков наблюдается какое-то непостижимое нежелание смотреть дальше своего носа. Например, под плюсы есть одна из старейших и лучших (ну ок, на вкус и цвет) ORM. И знаете, сколько я коммерческих проектов видел, которые её бы использовали? Ни одного! Хотя на плюсах полно обезьянних проектов вида «покажи таблицу, сохрани в таблице».

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

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

Но ведь мало кто делает новый Qt под новые языки. А зачем? Все в вебе, на десктопе где понадобилось бы что-то вроде Qt осталось четыре класса приложений - 1) Браузер 2) Терминал 2) IDE/графические редакторы. Игры не беру - там не нужен Qt. Все это делается раз и навсегда тремя с половиной компаниями.

Индустрия требует в 99% случаев что-то для прикладного софта. А он если разработчики в здравом уме - прикладной софт крутится на сервере и доступен через веб. Это на ЛОРе расскажут что надо писать десктопне приложение, то это ожидаемо - тут 50% НЕ в здравом уме. Так что Qt - исторический артефакт. Поддерживаться будет, новые версии появляться будут, но нового Qt/Gtk не напишут.

Максимум ниша - мобайл. Но там дейсвительно делают Qt-like вещи, но уже для других языков - Flutter, React Native

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

IDE/графические редакторы.

Различные CAD-ы в эту же категорию попадают?

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

что-то для прикладного софта. А он если разработчики в здравом уме - крутится на сервер и доступен через веб.

Так и вижу условный фотошоп в браузере.

update: ага, кроме IDE уже появились графические редакторы. Думаю, скоро появятся и САПР.

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

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

Весь пункт три олицетворяет несколько компаний, который в силах написать что-то вроде Visual Studio / Photoshop / Autocad и сделают это один раз. Пока они будут это делать, сотни Люксофтов напишут на вебне 10000 приложений по управлению складом

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

Удивляюсь всем этим комментам про САПР на ЛОРе. Я знаю что этот софт есть, но не видел ни одного живого человека, который его юзает. Значит мне чудом удалось не пересечься с ними. Врядли это было бы возможно если бы много людей целыми днями автокадили

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

Думаю, скоро появятся и САПР.

https://www.autodesk.ru/campaigns/only-one-autocad/web-mobile

Веб-приложение AutoCAD
Подписка на AutoCAD 2019 обеспечивает доступ к новому веб-приложению AutoCAD. Просматривайте и редактируйте чертежи САПР в упрощенном интерфейсе в любом веб-браузере. Не нужно ничего скачивать. Просто введите web.autocad.com в адресной строке и войдите в приложение.


кроме IDE

Кстати Eclipse Che интересный проект.

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

На винде он весь пишется на C#

Вот как раз в винде C++ умрёт последним. Взять тот же explorer.exe, который сегоденя представляет из себя приложение собранное из кусков кода на C# и C++

Что говорить о C++, когда в той же винде Managed C++ => C++/CLI до сих пор не подохнет?

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

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

А он если разработчики в здравом уме - прикладной софт крутится на сервере и доступен через веб.

ну и? Qt умеет/умел напрямую в браузере запускаться.

В будущем может и вымрет. Но пока Qt использует даже Microsoft - нет.

В любом случае Qt был просто примером адекватной библиотеки. Я бы мог назвать Unreal Engine, опенсорсные библиотеки от adobe и др., но я этим в коммерческой разработке не пользовался.

next_time ★★★★★
()
Ответ на: комментарий от next_time
  1. Это было только под Linux.
  2. Давно уже нет. Года так три назад перевели на Electron всё и, если не ошибаюсь, отключили старые Qt-клиенты.
EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от next_time

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

У меня хромбук для работы если что. Ничего не тормозит.

ну и? Qt умеет/умел напрямую в браузере запускаться.

Могу себе представить этот вырвыглаз. Есть ссылка на один сайт сделаный на Qt? Я не знаю о чем тут спорить, так веб уже давно никто не делает, что мол на сервере есть какие-то «компоненты» и это все адски шаблонизируется прямо в HTML.

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

Есть ссылка на один сайт сделаный на Qt?

Например.

http://example.qt.io/qt-webassembly/Slate/slate.html
http://example.qt.io/qt-webassembly/widgets/richtext/textedit/textedit.html

Вообще [url=https://en.wikipedia.org/wiki/Rich_web_application]RIA[/url]-приложения выглядят интересно. Я помню раньше был Web-фреймворк такой, назывался Cappuccino и был написан на Objective-J. Там тоже подобное можно было мутить.

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

У меня хромбук для работы если что. Ничего не тормозит.

у меня макбук и тормозит, как на лине, так и на маке

Могу себе представить этот вырвыглаз.

Я бы мог традиционно парировать про «шашечки или ехать» и «работникам работу работать, им чихать на свистелки». Но ох, лол, кто бы говорил. 99,99% современного веба - эпичная помойка. Гугл, вики, утка и... и... и всё! от любых других сайтов глаза текут ручьём. Даже ЛОР выглядит нормально только в кастомной теме, хотя казалось бы, что может быть проще.

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

И каждый, каждый, сука, вебмакак норовит сделать сайту уникальный дизайн, со своими уникальными темами, свистелками, и юзинг експириенс. Руки бы им поотрывал! Попробуйте на досуге, если не верите, найти в вебе 2 одинаково оформленных сайта.

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

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

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

знаю что этот софт есть, но не видел ни одного живого человека, который его юзает

А у меня за стеной два (или три?) отдела таких людей.

автокадили

САПР - это, скажем так, не только Автокад.

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

У меня хромбук для работы если что

Ага, ага. Так я могу сказать, что первые три года у меня для работы был терминал ЕС-7927.

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

Поясни, что ты имел тогда ввиду. Потому что я вижу, что различные CAD и CAM зашли в Web или пытаются туда заползти. Особенно это стало заметно с распространением всяких там 3D-принтеров.

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

Но ведь мало кто делает новый Qt под новые языки.

Flutter?

Никто не пилит свой Qt, ибо это титаническая задача.

Все в вебе

Ещё один свидетель смерти десктопа.

прикладной софт крутится на сервере и доступен через веб

А потом получаем говно типа draw.io, ага. Пока web такое жирное говно - прикладной софт будет процветать.

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

Он имеет ввиду, что дескать плюсы настолько необходимы для САПР что аж зудит, и без них ни САПР ни сделать, ничего.

На самом деле нет. Единственная причина что все эти автокады на плюсах - дикое и неубиваемое вырвиглазное легаси. Никакой помехи писать оное на нормальных языках нет вообще от слова совсем. Их даже на Common Lisp пишут (http://www.piano.aero/) не то что уж на шарпах.

Касательно IDE:
1) IDEA - Java
2) Visual Studio - .Net Framework
3) Atom/VSCode - Electron
...итд...

Не то что нет никаких причин писать IDE на плюсах - их вменяемые люди на плюсах давно и не пишут.

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

IDEA - Java
Atom/VSCode - Electron

Тормозное говно. Qt Creator/Sublime Text в десятки раз быстрее.

Visual Studio - .Net Framework

Прямо 100% уже на шарпе?

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

Qt Creator/Sublime Text

Это говно а не IDE. Редакторы с подсветкой синтаксиса.

Прямо 100% уже на шарпе?

Я думаю на 95-99% Какие-то, возможно древние COM-компоненты на плюсах может и остались. Но, весь шелл на WPF, вся логика, билд-система, парсеры, система модулей, итд на C#.

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

Это херня. А вот когда говорят, что библиотека не подходит, потому, что там используется RTTI, вот это уже просто так не исправить.

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

Поясни, что ты имел тогда ввиду.

С++ 2018 (комментарий)

я вижу, что различные CAD и CAM зашли в Web

Ты видишь, да. А ты пользуешься? Знаешь людей, которые пользуются? Является ли для тебя Autocad типичной САПР?

tailgunner ★★★★★
()

lovesan — яркий пример, как провоцировать нездоровую дискуссию. Вроде поднимает некоторые интересные вопросы, но одновременно оскорбляет оппонентов, пользователей технологии, и в целом тема и комментарии пропитаны токсичностью. Особенно показателен комментарий: С++ 2018 (комментарий)

Nuff said.

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

Никакой помехи писать оное на нормальных языках нет вообще от слова совсем.

Эта помеха называется «деньги». Никому не хочется переписывать что-то пока за этот процесс не заплатят. А что такое нормальный язык? Тот, на котором пишешь ты сам что ли? У тебя ЧСВ не распухло случаем?

Их даже на Common Lisp ...

Это ты сейчас пример заметно более свежего языка привёл?

IDEA - Java, Visual Studio - .Net Framework

Поразительно! Разработчики пишущие на этих «языках» запили IDE для написания софта преимущественно на этих языках.

Atom/VSCode - Electron

Это вообще как IDE никогда не позиционировалось.

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

Ничего не понял. Линукс десктопа у меня нету. Есть браузер, есть терминал, есть удаленные Линукс машины без иксов. Хватает

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

Ничего не понял.

Ничего страшного. Мало кто сейчас понимает, что такое «терминал». Даже продвинутые юзеры считают, что «терминал» - это окошко, которое вызывается при нажатии кнопки с надписью «Terminal».

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

Так что по моему вопросу? Думаешь? Сразу слился? Придётся вместо быстрого C# дальше искать сишные библиотеки?

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

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

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.