|
42 / 42 / 17
Регистрация: 25.04.2014
Сообщений: 499
|
|
Почему вы пишете на c++?06.11.2016, 20:09. Показов 6760. Ответов 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 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|