Смотрю иногда пишут "знание С++ и желание выучить Go и на нем писать в дальнейшем".
Область плюсов сужается или идет замена в принципе и нет областей где плюсы выглядели бы незаменимы?
Здравствуйте, merge, Вы писали:
M>Смотрю иногда пишут "знание С++ и желание выучить Go и на нем писать в дальнейшем".
У меня такое впечатление, что на Go пишут в основном бакенд и прочие микросервисы.
M>Область плюсов сужается или идет замена в принципе и нет областей где плюсы выглядели бы незаменимы?
Здравствуйте, Pzz, Вы писали:
M>>Область плюсов сужается или идет замена в принципе и нет областей где плюсы выглядели бы незаменимы? Pzz>А в какой области плюсы были бы незаменимы?
Из очевидного — браузеры?
ТАкже библиотеки со всякой математикой, параллельные вычисления, СУБД, сетевые приложения с видеокодеками и всякой обработкой. Короче, там где надо писать производительный код одновременно на разных уровнях абстракции: и ближе к железу, и оптимизации, и логику.
Здравствуйте, Nuzhny, Вы писали:
M>>>Область плюсов сужается или идет замена в принципе и нет областей где плюсы выглядели бы незаменимы? Pzz>>А в какой области плюсы были бы незаменимы?
N>Из очевидного — браузеры?
Ну, если учесть, что их ровно два, оба написаны на плюсах и вот так вот взять, и написать с нуля новый независимый третий — занятие малореальное, то...
N>ТАкже библиотеки со всякой математикой, параллельные вычисления, СУБД, сетевые приложения с видеокодеками и всякой обработкой. Короче, там где надо писать производительный код одновременно на разных уровнях абстракции: и ближе к железу, и оптимизации, и логику.
По моим наблюдениям, библиотеки со всякой математикой сейчас всё больше на питоне пишут. Я понимаю, что у неё внутри неонка реальный код на C/C++, а питон этим всем только дерижирует, но тем не менее.
Насчет СУБД и сетевых приложений я бы поспорил. В основном этот код говорит, где взять и куда положить, а остальную работу делают даже не драйвера накопителей и сетевых карт, а их контроллеры, если уж мы говорим о реально высокой производительности.
Видеокодеки, опять же, их мало кто пишет, остальные в основном используют. И пишут их нередко на Си, не на C++. Там же из высокоуровневых абстракций, в основном, массив чисел или матрица их же. С другой стороны, я не вижу причин, почему бы и на Rust-е не написать...
M>>Область плюсов сужается или идет замена в принципе и нет областей где плюсы выглядели бы незаменимы?
Pzz>А в какой области плюсы были бы незаменимы?
automotive, биржа?
вся низкоуровневая логика машинного зрения?
железное оборудование типа касс, бензоколонок?
то что я слышал лет 10 назад, как сейчас не в курсе
Здравствуйте, Pzz, Вы писали:
N>>Из очевидного — браузеры? Pzz>Ну, если учесть, что их ровно два, оба написаны на плюсах и вот так вот взять, и написать с нуля новый независимый третий — занятие малореальное, то...
Подожди, а Сафари? Получается, что три.
И ещё был один от Майкрософт а, который после IE, но до текущего. Его писали, писали, пальчики устали и забросили. К этому времени, C# был уже хорошей взрослой технологией. Был Rust. Но нет же.
Pzz>По моим наблюдениям, библиотеки со всякой математикой сейчас всё больше на питоне пишут. Я понимаю, что у неё внутри неонка реальный код на C/C++, а питон этим всем только дерижирует, но тем не менее.
Не тем не менее, а так и есть. От низкого уровня до прикладного написано на C++. Конечный код математики и дата саентимты уже на Питоне. Но его же можно свободно писать и на C++, потому что API для него присутствует параллельно с питоновским.
Pzz>Насчет СУБД и сетевых приложений я бы поспорил. В основном этот код говорит, где взять и куда положить, а остальную работу делают даже не драйвера накопителей и сетевых карт, а их контроллеры, если уж мы говорим о реально высокой производительности. Pzz>Видеокодеки, опять же, их мало кто пишет, остальные в основном используют. И пишут их нередко на Си, не на C++. Там же из высокоуровневых абстракций, в основном, массив чисел или матрица их же. С другой стороны, я не вижу причин, почему бы и на Rust-е не написать...
То есть ты отрицаешь тот факт, что системное ПО тоже кто-то пишет? Или что? Да, понятно, что ниша плюсов сузилась, но вопрос же был в том, где он незаменим, а не в том насколько эта ниша широка.
Здравствуйте, Nuzhny, Вы писали:
N>>>Из очевидного — браузеры? Pzz>>Ну, если учесть, что их ровно два, оба написаны на плюсах и вот так вот взять, и написать с нуля новый независимый третий — занятие малореальное, то...
N>Подожди, а Сафари? Получается, что три. N>И ещё был один от Майкрософт а, который после IE, но до текущего. Его писали, писали, пальчики устали и забросили. К этому времени, C# был уже хорошей взрослой технологией. Был Rust. Но нет же.
Сафари — близкий родсвенник гуглохрому. Можно сказать, дядя. Который ит MS, тот умер и больше уже ни на чём не пишется.
N>То есть ты отрицаешь тот факт, что системное ПО тоже кто-то пишет? Или что? Да, понятно, что ниша плюсов сузилась, но вопрос же был в том, где он незаменим, а не в том насколько эта ниша широка.
Здравствуйте, merge, Вы писали:
M>Смотрю иногда пишут "знание С++ и желание выучить Go и на нем писать в дальнейшем".
Я так пишу. Мне нравится Go своей еб*****стью (не такой как все). Появляется мотивация пошевелить мозгами в другую сторону — дофамин. Но думаю, что если писать на ставке каждый день, то надоест так — же, как и всё C-подобное.
M>Область плюсов сужается или идет замена в принципе и нет областей где плюсы выглядели бы незаменимы?
Так сравнивать Go с плюсами, думаю, не корректно. Go — это сборщик мусора. Сборщик мусора — это вмешательство в работу твоего кода. В плюсах такого нет. Драйвер со сборщиком мусора писать неприятно. Встойку — тоже.
Здравствуйте, merge, Вы писали:
M>Смотрю иногда пишут "знание С++ и желание выучить Go и на нем писать в дальнейшем". M>Область плюсов сужается или идет замена в принципе и нет областей где плюсы выглядели бы незаменимы?
Ничего общего.
Тут дело в другом. Часто учат студентов именно по классическим языкам — как С++. Другого они тупо не знают пока.
А реальная жизнь требует более приземленных языков, которые решают более простые задачи — ведь не всем компиляторы да движки браузеров писать. Вот и приходится приглашать таким образом.
M>Смотрю иногда пишут "знание С++ и желание выучить Go и на нем писать в дальнейшем".
Я бы лично такое написал, подразумевая, что с сишной/плюсовой базой человек элементарно более скилловый и понимая разработку на низком уровне (хотя плюсы — ЯВУ), с легкостью освоит и Го. Ну и в целом с такой базой проще работать на любом языке (за минусом экзотики) и фреймворке.
M>Область плюсов сужается
да
M>идет замена в принципе
да
M>нет областей где плюсы выглядели бы незаменимы?
такие области есть, но их все меньше
Тут основной критерий: стоимость разработки. А он включает в себя: стоимость специалистов, скорость найма, скорость написания кода, время на поддержку (maintenance), затраты на баги. И в большинстве своем (а сейчас 90% — это стандартный CRUD) плюсы ну очень сильно проигрывают всем другим языкам (питон, Шарп, джава, пхп, JS/TS и т.д.) в этом аспекте.
При всем при этом, да, есть области, где без него никуда: требуется скорость, низкоуровневое взаимодействие, есть много старых либ на плюсах и Си, с которыми надо интегрироваться, много кодовой базы на плюсах, ну и люди — хранители доменных знаний, которые знают лучше всего плюсы.
Из примеров: игровые движки, CAD, все что касается сети, эмбеддед, ессно, ну и мультимедиа на низком уровне. Есть и еще — это что навскидку вспомнил.
Здравствуйте, Shmj, Вы писали:
S>Тут дело в другом. Часто учат студентов именно по классическим языкам — как С++. Другого они тупо не знают пока.
S>А реальная жизнь требует более приземленных языков, которые решают более простые задачи — ведь не всем компиляторы да движки браузеров писать. Вот и приходится приглашать таким образом.
Эдсгер Дейкстра считал, что сложные задачи требуют простых языков. Но нонешнее поколение решателей сложных задач, наверное, круче Дейкстры...
Здравствуйте, merge, Вы писали:
M>Смотрю иногда пишут "знание С++ и желание выучить Go и на нем писать в дальнейшем". M>Область плюсов сужается или идет замена в принципе и нет областей где плюсы выглядели бы незаменимы?
Мне предлагали работу по переписыванию сервисов с cpp на go. Наверное, просто хотели отрефакторить старое и сделать более поддерживаемым и начальство почему-то посчитало что одновременный переход на go имеет смысл. Сам я go знаю поверхностно, не могу сказать, насколько это хорошая идея
Здравствуйте, merge, Вы писали:
M>Смотрю иногда пишут "знание С++ и желание выучить Go и на нем писать в дальнейшем". M>Область плюсов сужается или идет замена в принципе и нет областей где плюсы выглядели бы незаменимы?
Областью плюсов и так уже сузилась.
А в чём собственно вопрос ?
Когда можно писать на Go проще и быстрее, то логичным будет вопрос, а для чего выбирать плюсы.
В области бэкэнда гораздо больше библиотек для Go и интеграций с различными сервисами.
У Go есть определённые преимущества ну и конечно недостатки в виде недоязыка (кхе-кхе ).
Здравствуйте, Pzz, Вы писали:
Pzz>Сафари — близкий родсвенник гуглохрому. Можно сказать, дядя. Который ит MS, тот умер и больше уже ни на чём не пишется.
То есть браузеры, раз возражений нет.
Pzz>Что есть системное ПО?
Ты знаешь ответ на этот вопрос.
Pzz>docker — это системное ПО?
Конечно системное. Но много ли написано докеров? Или его написали один раз и все пользуются.
Здравствуйте, Pzz, Вы писали:
Pzz>Эдсгер Дейкстра считал, что сложные задачи требуют простых языков. Но нонешнее поколение решателей сложных задач, наверное, круче Дейкстры...
Что-то мне подсказывает, что Дейкстра писал совсем другое ПО с другими требованиями
Здравствуйте, Nuzhny, Вы писали:
Pzz>>Эдсгер Дейкстра считал, что сложные задачи требуют простых языков. Но нонешнее поколение решателей сложных задач, наверное, круче Дейкстры...
N>Что-то мне подсказывает, что Дейкстра писал совсем другое ПО с другими требованиями
Ну я и говорю, ношнешнее поколение круче Дейкстры.
Здравствуйте, __kot2, Вы писали:
__>Здравствуйте, merge, Вы писали:
M>>Смотрю иногда пишут "знание С++ и желание выучить Go и на нем писать в дальнейшем". M>>Область плюсов сужается или идет замена в принципе и нет областей где плюсы выглядели бы незаменимы? __>Мне предлагали работу по переписыванию сервисов с cpp на go. Наверное, просто хотели отрефакторить старое и сделать более поддерживаемым и начальство почему-то посчитало что одновременный переход на go имеет смысл. Сам я go знаю поверхностно, не могу сказать, насколько это хорошая идея
видимо очередному менеджеру требуется в достижениях за год написать "переписали старый говносервис на новый которые быстрее и легче поддерживать"
Здравствуйте, Pzz, Вы писали:
Pzz>А system-config-printer?
Не знаю, что это такое, но по названию явно оно. Там тоже много математики, которую можно и нужно переносить на GPU?
Pzz>А много ли написано ядер операционных систем, которыми люди пользуются?
Явно не много. И они написаны не только на С. Значит ли это, что С не нужен?