Олег Кузьмичев,
можете ли подробнее ответить.
Где и как используется. Для каких приложений.
Как со временем разработки проектов обстановка склыдывается.
Вообще как впечатление от работы с С++ штрих.
_sg_, я сам из отрасли, программирую на плюсах больше 10 лет. Если раньше считался сложным языком для гиков и железа, то теперь большинство софта (программы, игры, мобильные приложения) переводят на с++ с java и других языков. Внедрили новые стандарты языка, кроссплатформенные ide и прочие плюшки, что упрощает жизнь разработчику. Основные плюсы — скорость работы + максимальная нативность. Минусы все те-же — высокий порог входа + возможность выстрелить себе в ногу.
Олег Кузьмичев, Спасибо за ответ.
Я тоже около десяти лет программировал на С++, но очень давно.
Последнее приложение на С++ написал в VS2003 в 2004 году.
А потом перешел на С#. И с тех пор меня всегда преследовала ностальгия по C++. Так что мне эта тема интересна.
Теперь есть повод туда вернуться.
Михаил,
Я не знаю что такое Rust. Спасибо, с удовольствием посмотрю что это.
Но
Я рассматриваю тему с С++ лишь потому, что с переходом на разные там С шарпы, огромное кол-во уже написанного на С++ кода осталось за бортом.
А теперь мы опять можем использовать ранее написанный код или отдельные куски, но уже на более высоком уровне самого языка и с использованием более совершенных инструментальных средств разработки.
А новые языки я вообще не рассматриваю, потому что, люди которые долгое время программировали на С++, как правило, не смотрят на альтернативы, потому что на С++ можно сделать все что угодно и сделать очень хорошо.
Alexey,
потому что С++ это огромная экосистема, великая эпоха, которая оказалась на грани полного забвения.
А нет, все истинные ценности всегда остаются вместе с нами, хотя иногда отходят на второй план.
Dmitryy,
Причины, их есть у меня.
1. Любовь к жанру.
2. Постепенная миграция на Linux. Там нужен какой-то язык программирования. На Linux альтернативы всего две Java и C++.
С++ я знаю, вернее знал старый С++ без умных указателей. Поэтому выбор очевиден.
В результате должна получиться гремучая смесь С++, Python, javascript,Typescript для Node.js
Нормальный такой full stack
И никаких Asp.Net Core — боже упаси, какое убожество.
_sg_, на линуксе вполне себе есть C#, .Net Core 5 посмотрите. Знаю несколько крупнейших ритейлеров, которые вовсю используют Azure + .Net Core на линуксе, отлично работает и производительность на высоте.
_sg_, а про ASP.NET согласен, надобность в нем отпала сама собой. Но пилить Web API или любой другой апи на дотнете, вполне себе удобно, очень много готовых решений, которые существенно ускоряют разработку (валидации контрактов, протобафов, gRPC враперов, всевозможных мапперов). В нодежс это тоже есть, но их сообществено несколько меньше опенсорного дотнета.
Dmitryy,
Словосочетание WEB development и продукты Microsoft на эту тему всегда вызывали у меня лишь улыбку.
Один «маленький да удаленький» Node.js оставил весь Microsoft далеко позади.
В контексте Web-a у Microsoft можно отметить лишь разработку Typescript. Даже Google использует его в Angular.
А в остальном увы и ах.
Поэтому выбираем стратегическое направление для развития:
Linux,
C++, Python, Node.js — и все, что с ним связано -> MEAN stack называется.
Eще есть Nest.js с Typesript-ом. Красота.
_sg_, да это вполне логичный стек, мне он тоже нравится. Но нода никогда не будет быстрее кора, это как шарп не может быть быстрее плюсов, разный уровень абстракций. Но когда мельчайшая разница в скорости не важна, выбор всегда стоит делать в сторону удобства.
Имхо, лучше получать удовольствие от окружения, решая сложные задачи, чем плеваться и материться, решая простые задачи сложными путями :)
Dmitryy, Кстати,
еще в заслуги Microsoft можно отнести OWIN.
У меня на Owin-e некоторые службы рабатают.
Но я все ждал когда они наконец засунут в Owin MVC как Middleware.
Но «напросно старушка ждала сына домой».
Вышла Asp.Net Core 3.1, а там по-прежнему в OWIN-е нет МVС.
Web Api есть, а MVC нет. Пожалте бриться.
Не шмогли они MVC из System.Web выпилить.
Я раньше в OWIN-e вместо MVC использовал Nancy framework.
А с новой версией Asp.Net Core 3.1 Nancy с OWIN уже не работает — не совместим и MVC от Microsoft нет.
Поэтому Web от Microsоft «Дафай До свидания».
А плюсы куда-то уходили? О_о
MSVC развивается, их сишный компилятор тоже не отстаёт от новых стандартов. Плюс есть Qt с его возможностями писать кроссплатформенный код. Под Android можно писать на плюсах. Под ARM можно писать на плюсах.
Антон Б, мы как-то умудряемся писать код с использованием Qt, который просто работает и без проблем поддерживается программистами средней квалификации. Для Винды и Линукса, с использованием морды на QML.
Но если надо какой-нибудь бэкэнд написать, тут Qt может быть не лучшим выбором в каких-то моментах.
Игорь Шумилов,
«который просто работает и без проблем поддерживается программистами средней квалификации.»
вот!!!
а должен работать и поддерживаться сисадминами (аникейщиками) как все остальное десктопное ПО.
а qt поделки поддерживается РАЗРАБОТЧИКАМИ да еще миддлами. а не джунами.
это собственно и проблема!.
«затраты труда и квалификации на поддержку поделок qt которые, по идее, должны просто работать сильно выше ожиданий.»
Антон Б, я ж программист. Для меня это поддержка. Я выпустил версию 1.0, а дальше её поддерживаю :)
Вопросы с установкой нашего софта может решить любой, кто в состоянии запустить инсталлятор. А научится работать с ним сможет тот, кто прочтёт руководство оператора. Qt в этих моментах вообще никак не участвует. И наша служба эксплуатации, которая занимается всем этим у заказчиков, как раз «эникейщики».
Антон Б, да, вот. Есть софт, написанный с использованием Qt, который не вызывает никаких трудностей с его поддержкой у пользователей. И трудности в этой части мне искренне не понятны. Как только собрался инсталлятор, для пользователя просто появился набор бинарников. И Qt, спрятанный в них, никак не отличается от какого-нибудь gcc или msvc.
Чисто по логике. Мировое противостояние всех против США неизбежно ведет к крайней желательности переходить на ОС с открытым кодом.
Значит, линукс-подобные системы и си++ будут востребованы больше, чем сейчас.
C++ никуда не уходил.
Просто появились новые направления — Web, скриптовые языки, мобильные устройства, оттянувшие многих программистов на себя.
Современный С++ стал удобнее, но в тоже время сложнее. В нем сложные абстракции можно сделать предельно сложным образом, чтобы уж точно никто не разобрался. Но это не значит, что нужно так писать код. Я вот пишу на С++11 по большей части + Qt. Qt очень упрощает жизнь, а также позволяет писать кросплатформенные приложения, где один и тот же код можно собрать под Windows, Mac и Linux.
ЗеленыйЛук,
Вы в Visual Studio работаете или есть что-то поинтереснее в качестве инструментальных средств для разработки на С++.
Можете озвучить джентельментский набор необходимых инструментальных средств для разработки на С++ в настоящее время.
Антон Б, Qt можно использовать в коммерческих продуктах. Главное, не линковать статически.
Почему боль поддержки я не понимаю. Можете объяснить подробнее?
Антон Б, Зачем вам LTS версия?
Собрали продукт на любой opensource версии, например самой последней, добавили Qt DLL, все. Ничего не нужно покупать. Исходники открывать не нужно.
Есть некоторые вещи под коммерческой лицензией, например Qt Charts, ну и фиг с ними, используйте Qwt бесплатный.
Но любой Ваш пользователь получивший от вас копию ЛЮБЫМ ПУТЕМ может потребовать весь ваш код.
Даже если этот пользователь просто наемный рабочий который работает по найму.
И не ваш контагент.
Любой оператор работающий по найму с вашей программой.
_sg_, MSVC, QtCreator, VSCode, CLion. Выбираете любой по вкусу. А дальше уже настраиваете под свои нужны. Цепляете компилятор, который хочется использоваться (msvc или gcc, например), и вперёд.
Тут от задач зависит.
.net и java имеют автоматическое управление памятью при приемлемой производительности. Плюс платформная независимость. Это слишком удобно для написания прикладухи, чтобы от этого всего отказываться. Плюс много чего уже наработано, особенно в java.
Для системного программирования останется си и все прочее.
igorwolf, а, простите — «вот эту вашу картин[к]у — как можно трактовать»???
— Как хорошее настроение и прибыль или вот это — в черно/белом фоне — искрящееся*?!!!
www.avito.ru/ramenskoe/doma_dachi_kottedzhi/kottedzh_510_m_na_uchastke_25_sot._4515560929
Покупайте! Дешево! Если вычесть стоимость земли 12,5 млн — 88000 за м.кв
Минус 200-250 млрд выручки в 2025. Почти не осталось европейских покупателей по рыночным ценам. Сербия и Венгрия получают по льготным, Эрдоган сам цену назначает.
Running68, что значит будет? Он уже есть, купон должен был быть 15.11.
Про карася я извиняюсь, сначала не понял, потому что у меня не показываются его сообщения (пришлось прочитать этот бред ...
Индекс Мосбиржи От волновика из команды Хомяка:
#IMOEX2 3ч. Протестировали пробитый нисходящий канал и есть большая вероятность увидеть 2900+ уже в конце следующей недели 🦬
🌊Заходите к волно...
можете ли подробнее ответить.
Где и как используется. Для каких приложений.
Как со временем разработки проектов обстановка склыдывается.
Вообще как впечатление от работы с С++ штрих.
Я тоже около десяти лет программировал на С++, но очень давно.
Последнее приложение на С++ написал в VS2003 в 2004 году.
А потом перешел на С#. И с тех пор меня всегда преследовала ностальгия по C++. Так что мне эта тема интересна.
Теперь есть повод туда вернуться.
Я не знаю что такое Rust. Спасибо, с удовольствием посмотрю что это.
Но
Я рассматриваю тему с С++ лишь потому, что с переходом на разные там С шарпы, огромное кол-во уже написанного на С++ кода осталось за бортом.
А теперь мы опять можем использовать ранее написанный код или отдельные куски, но уже на более высоком уровне самого языка и с использованием более совершенных инструментальных средств разработки.
А новые языки я вообще не рассматриваю, потому что, люди которые долгое время программировали на С++, как правило, не смотрят на альтернативы, потому что на С++ можно сделать все что угодно и сделать очень хорошо.
потому что С++ это огромная экосистема, великая эпоха, которая оказалась на грани полного забвения.
А нет, все истинные ценности всегда остаются вместе с нами, хотя иногда отходят на второй план.
Причины, их есть у меня.
1. Любовь к жанру.
2. Постепенная миграция на Linux. Там нужен какой-то язык программирования. На Linux альтернативы всего две Java и C++.
С++ я знаю, вернее знал старый С++ без умных указателей. Поэтому выбор очевиден.
В результате должна получиться гремучая смесь С++, Python, javascript,Typescript для Node.js
Нормальный такой full stack
И никаких Asp.Net Core — боже упаси, какое убожество.
Спасибо, буду знать, на всякий случай, что С# есть в Linux.
Это уже что-то.
Но я с детства не люблю Диезные тональности (#).
Словосочетание WEB development и продукты Microsoft на эту тему всегда вызывали у меня лишь улыбку.
Один «маленький да удаленький» Node.js оставил весь Microsoft далеко позади.
В контексте Web-a у Microsoft можно отметить лишь разработку Typescript. Даже Google использует его в Angular.
А в остальном увы и ах.
Поэтому выбираем стратегическое направление для развития:
Linux,
C++, Python, Node.js — и все, что с ним связано -> MEAN stack называется.
Eще есть Nest.js с Typesript-ом. Красота.
Имхо, лучше получать удовольствие от окружения, решая сложные задачи, чем плеваться и материться, решая простые задачи сложными путями :)
еще в заслуги Microsoft можно отнести OWIN.
У меня на Owin-e некоторые службы рабатают.
Но я все ждал когда они наконец засунут в Owin MVC как Middleware.
Но «напросно старушка ждала сына домой».
Вышла Asp.Net Core 3.1, а там по-прежнему в OWIN-е нет МVС.
Web Api есть, а MVC нет. Пожалте бриться.
Не шмогли они MVC из System.Web выпилить.
Я раньше в OWIN-e вместо MVC использовал Nancy framework.
А с новой версией Asp.Net Core 3.1 Nancy с OWIN уже не работает — не совместим и MVC от Microsoft нет.
Поэтому Web от Microsоft «Дафай До свидания».
лямбды в плюсах со стандарта 11 года. С того времени в языке еще много чего появилось
MSVC развивается, их сишный компилятор тоже не отстаёт от новых стандартов. Плюс есть Qt с его возможностями писать кроссплатформенный код. Под Android можно писать на плюсах. Под ARM можно писать на плюсах.
qt это ад и боль поддержки.
+ там лицензия драконовская.
коммерческая лицензия драконовская.
некоммерческая это для поиграться.
qt это худший выбор.
даже хуже 1с.
вендорлок.
Но если надо какой-нибудь бэкэнд написать, тут Qt может быть не лучшим выбором в каких-то моментах.
«который просто работает и без проблем поддерживается программистами средней квалификации.»
вот!!!
а должен работать и поддерживаться сисадминами (аникейщиками) как все остальное десктопное ПО.
а qt поделки поддерживается РАЗРАБОТЧИКАМИ да еще миддлами. а не джунами.
это собственно и проблема!.
«затраты труда и квалификации на поддержку поделок qt которые, по идее, должны просто работать сильно выше ожиданий.»
В Вашей консерватории всё очень сильно поломано… ИМХО.
Поддерживать софт должны сисадмины и аникееи.
А разработчики должны разработкой заниматься.
То что qt требует такой квалификации ДОРОГОЙ чтобы просто работать.
ему жирный минус.
Для меня это «правка ошибок, добавление функционала». А для Вас?
а не поддержка.
Вопросы с установкой нашего софта может решить любой, кто в состоянии запустить инсталлятор. А научится работать с ним сможет тот, кто прочтёт руководство оператора. Qt в этих моментах вообще никак не участвует. И наша служба эксплуатации, которая занимается всем этим у заказчиков, как раз «эникейщики».
Значит, линукс-подобные системы и си++ будут востребованы больше, чем сейчас.
Просто появились новые направления — Web, скриптовые языки, мобильные устройства, оттянувшие многих программистов на себя.
Современный С++ стал удобнее, но в тоже время сложнее. В нем сложные абстракции можно сделать предельно сложным образом, чтобы уж точно никто не разобрался. Но это не значит, что нужно так писать код. Я вот пишу на С++11 по большей части + Qt. Qt очень упрощает жизнь, а также позволяет писать кросплатформенные приложения, где один и тот же код можно собрать под Windows, Mac и Linux.
Вы в Visual Studio работаете или есть что-то поинтереснее в качестве инструментальных средств для разработки на С++.
Можете озвучить джентельментский набор необходимых инструментальных средств для разработки на С++ в настоящее время.
+ там лицензия драконовская.
Почему боль поддержки я не понимаю. Можете объяснить подробнее?
www.opennet.ru/opennews/art.shtml?num=52259
Дорого 5500 usd на каждого разработчика в год!
лицензия драконовская.
После окончания лицензии Распространять даже старое уже рабочее по нельзя.
нельзя его просто ставить на новый компьютер в замен старого.
лицензия не позволяет.
Для vs C++.C# позволяет разрабатывать
Собрали продукт на любой opensource версии, например самой последней, добавили Qt DLL, все. Ничего не нужно покупать. Исходники открывать не нужно.
Есть некоторые вещи под коммерческой лицензией, например Qt Charts, ну и фиг с ними, используйте Qwt бесплатный.
www.qt.io/download-open-source?hsCtaTracking=9f6a2170-a938-42df-a8e2-a9f0b1d6cdce%7C6cb0de4f-9bb5-4778-ab02-bfb62735f3e5
Я понимаю что все можно нарушить.
Но любой Ваш пользователь получивший от вас копию ЛЮБЫМ ПУТЕМ может потребовать весь ваш код.
Даже если этот пользователь просто наемный рабочий который работает по найму.
И не ваш контагент.
Любой оператор работающий по найму с вашей программой.
Тут от задач зависит.
Для системного программирования останется си и все прочее.