|
42 / 42 / 17
Регистрация: 25.04.2014
Сообщений: 499
|
|
Почему вы пишете на c++?06.11.2016, 20:09. Показов 6722. Ответов 98
Метки нет (Все метки)
здравствуйте... в общем, решил поспрашивать людей о том, почему они пишут/остаются на c++. к размышлениям натолкнули пара реплик людей с просторов интернета... согласен, такое можно видеть очень часто, но все же:
Кликните здесь для просмотра всего текста
=================
1)По моему скромному опыту (я в прошлом разработчик на C++, ныне на .NET, то есть, обобщённый «Java-программист» в контексте статьи) .NET-разработчик с опытом N лет в среднем более квалифицирован, чем C++-разработчик с опытом тех же N лет. Как бы парадоксально это ни звучало для плюсистов. Пока последний решает на C++ проблемы, которые больше ни в одном языке так изящно не решаются (но при этом и не возникают), первый сталкивается с бОльшим разнообразием паттернов, архитектурных подходов, идиом и концепций. Имхо. 2)> С++ разработчику достаточть легко в последствии освоить C# Категорически не согласен. Почему-то некоторые задроты думают, что вручную удалив память, они стали какими-то гуру программазма! ДАЛЕКО НЕ. Ровно наоборот — пока «сипиписники» возились в низкоуровневых дебрях, тратя своё время на ЕРУНДУ, «шарповоды» осваивали высокоуровневые вещи типа дженериков, async, TPL и прочее. И когда приходит такой вот «сипиписник» в цэшарп, он выглядит как неандерталец, который не способен использовать тостер. Выглядит жалко. А вот и образец «гуманитарной» логики: > Одна из них это портативность… Intel C++ Compiler (по фичам он «не очень») Ну то есть существует компилятор С++, который по фичам «очень», но при этом, очевидно, несовместим с тем, который «не очень»? Тогда знаете что, такая «портативность» не стоит и гроша. Достаточно сосчитать все #ifdef’ы, чтобы понять — С++ реализован у всех по-своему. > Со строками в С++ беда. Именно. И ЭТО У БАЗОВОГО ТИПА! Кому нужно это «говно с крестами», если в нём нельзя написать элементарную обработку строк? Вот за это мы и перешли в C# — среду, где нет разбродов хотя бы по элементарным вещам. Конечно, «массивы» там полный отстой (особ. по ср. с Ди), но с самой библиотекой можно работать без особого напряга. Карочи, С++ — это не инструмент, а «вынужденная мера», «зубная боль ИТ». Кто может — избегает, кто вынужден — учится фигурному катанию на костылях и художественной резьбе по изготовлению берёзовых велосипедов. Бедняги, их жалкие потуги в 21 веке — просто мазохизм! =================================== и считаете ли вы, что все так плохо с c++?
0
|
|
| 06.11.2016, 20:09 | |
|
Ответы с готовыми решениями:
98
На чем еще пишете, кроме PB? Под .NET, например, пишете? Где вы пишете?
|
|
Любитель чаепитий
|
|
| 06.11.2016, 20:35 | |
|
Зачем цитаты неосиляторов приводить?
Я, например, пишу на С++ потому, что мне нравится возиться с ним, считаю его одним из лучших языков. Ибо тут можно настроить под себя всё! Память, шаблоны, функции, классы. В шарпе и джаве даже нет функций, есть только функции-члены, то есть для того, чтобы, например, обратиться к функции sin из библиотеки math, нужно обращаться именно через класс math, что в разы увеличивает кол-во кода, хоть и не снижает читаемость, но и не увеличивает. В С++ всё это реализовано гораздо проще, есть просто функция sin. Ещё этот гребаный "сборщик мусора", который по сути своей создан для неосиляторов. Ведь освободить память после использования так сложно, не правда ли? Да, с локализацией беда, но есть же фреймворки. В общем тема холиварная, думаю скоро она в соответствующем разделе и окажется.
0
|
|
|
Ушел с форума
|
||
| 06.11.2016, 20:45 | ||
хорошо ложится практически на любую возникающую задачу, при этом он: а) позволяет решать ее разными способами; б) позволяет контролировать различные низкоуровневые аспекты; в) позволяет достигать нужных показателей по скорости и/или размеру; г) не тянет за собой многочисленные условности, раздутые рантаймы и прочий тяжелый балласт, который в разработках такого плана не нужен.
13
|
||
|
|
||
| 06.11.2016, 21:02 | ||
|
tapochka, Я кстати пишу не только на C++, но и Python и реже на Delphi и C# (в зависимости от задачи) кто сказал что нужно ограничивать только одним языком?
На Python некоторые вещи, делаются удобнее, проще и быстрее чем на C++. Но опять же помню при решении задачи я как то я уперся какую-то либо Python что она работала не так как надо, побадался, плюнул и написал на C++ экзешник выполняющий то что нужно, и потом его просто запускал из скрипта Python. Другие языки обычно "пиарятся" простой и наличием библиотек на каждый чих(и это конечно хорошо), но когда эти самые либы плохо реализованы и/или не укладываются по времени и под задачу, тогда начинаются проблемы. Не по теме:
Не нравится строки в стиле Си(массивы) используй std::string или что-то из фреймворков типа QString
2
|
||
|
42 / 42 / 17
Регистрация: 25.04.2014
Сообщений: 499
|
|
| 06.11.2016, 21:05 [ТС] | |
|
GbaLog-, Память, шаблоны, функции, классы. В шарпе и джаве даже нет функций, есть только функции-члены, то есть для того, чтобы, например, обратиться к функции sin из библиотеки math, нужно обращаться именно через класс math, что в разы увеличивает кол-во кода, хоть и не снижает читаемость, но и не увеличивает. В С++ всё это реализовано гораздо проще, есть просто функция sin. Ещё этот гребаный "сборщик мусора", который по сути своей создан для неосиляторов. Ведь освободить память после использования так сложно, не правда ли?
а скорость разработки вас не смущает?) Убежденный, у вас embedded-системы я так понял?
0
|
|
|
|
|||
| 06.11.2016, 21:10 | |||
|
0
|
|||
|
42 / 42 / 17
Регистрация: 25.04.2014
Сообщений: 499
|
|
| 06.11.2016, 21:14 [ТС] | |
|
Avazart, а у вас никогда не было желания вообще на c++ забить, особенно если на питоне долго писать?
0
|
|
|
Ушел с форума
|
||
| 06.11.2016, 21:19 | ||
|
разработка драйверов и все такое.
0
|
||
|
|
||
| 06.11.2016, 21:21 | ||
|
Дело в том Python скриптовый язык а С++ компилируемый от сюда свои преимущества и ограничения, так что задачи просто делятся. Естественно часть то что я раньше делал на C++ теперь делается на Python.
0
|
||
|
42 / 42 / 17
Регистрация: 25.04.2014
Сообщений: 499
|
||
| 06.11.2016, 21:34 [ТС] | ||
|
Добавлено через 12 минут или rust, например
0
|
||
| 06.11.2016, 21:44 | ||
Сообщение было отмечено Новичок как решение
РешениеПри разборе оказалось, что хваленый сборщик мусора работает слишком редко, он просто не успевает выполнить свою работу на такой машине, в результате память тупо вся забивалась и всё - конец припева. ![]() Вообще все эти "мы перешли с C++ на C# и довольны" или наоборот, звучат убого, потому как это значит, что человек ни фига не может использовать инструменты по назначению. То бишь он не под задачу подбирает инструмент, а под инструмент выбирает задачу. Такие выкрики не более чем, - "я поменял отвертку на молоток, потому что им можно гвозди забивать и теперь везде всё креплю гвоздями. Вы видели мою новую машину? Я там так классно зеркала прибил гвоздями.". Нормальные люди не кричат, - "Оно у вас плохое", они говорят, - "Нам хватает того, что у нас есть". У меня всё, господа форумчане.
8
|
||
| 06.11.2016, 21:48 | ||
|
Вы ему про титановую раму и однотрубные шины, а он вам - про безопасность и форму катафотов... И если человеку, для решения его задач, достаточно трехколесного велосипеда, не морочьте ему голову гоночным.
4
|
||
|
42 / 42 / 17
Регистрация: 25.04.2014
Сообщений: 499
|
|||
| 06.11.2016, 21:55 [ТС] | |||
|
Добавлено через 1 минуту
0
|
|||
| 06.11.2016, 21:58 | ||||
![]() Вот когда будет так, тогда и будем говорить об этом. Добавлено через 1 минуту
3
|
||||
|
42 / 42 / 17
Регистрация: 25.04.2014
Сообщений: 499
|
|
| 06.11.2016, 22:12 [ТС] | |
|
0
|
|
|
|
||
| 06.11.2016, 22:14 | ||
|
Тут вопрос не в том насколько крутой и классный или наоборот отстойный и ужасный, вопрос в том, а есть ли ему достойные замены? Я думаю прям по всем пунктам - нет, пока что нет.
0
|
||
|
Ушел с форума
|
|||
| 06.11.2016, 22:34 | |||
|
стиле "C с классами". И за эти удобства цена почти нулевая.
все случаи жизни, нет IDE такого уровня, как Visual Studio, отладчиков, качественных анализаторов кода и т.п. Покажите, как, например, выглядит код перехвата API под x64, написанный на Rust. На C++ это будет сотня килобайт кода с 3-4 основными public-функциями, при этом никаких фреймворков, рантаймов, зависимостей от сторонних dll и т.п. - ничего такого, just code.
2
|
|||
|
42 / 42 / 17
Регистрация: 25.04.2014
Сообщений: 499
|
||
| 06.11.2016, 22:57 [ТС] | ||
|
0
|
||
| 06.11.2016, 22:57 | |
|
Помогаю со студенческими работами здесь
20
На каких ассемблерах вы пишете чаще всего? На работе вы пишете приложения для андроида? Почему солнце круглое, а небо зеленое. Почему ооп такое странное? Внезапно почему то игры на компьютере начали фризить подлагивать не знаю почему?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|