Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.58/19: Рейтинг темы: голосов - 19, средняя оценка - 4.58
tapochka
40 / 40 / 17
Регистрация: 25.04.2014
Сообщений: 499
1

Почему вы пишете на c++?

06.11.2016, 20:09. Просмотров 3525. Ответов 98
Метки нет (Все метки)

здравствуйте... в общем, решил поспрашивать людей о том, почему они пишут/остаются на c++. к размышлениям натолкнули пара реплик людей с просторов интернета... согласен, такое можно видеть очень часто, но все же:

Кликните здесь для просмотра всего текста
=================

1)По моему скромному опыту (я в прошлом разработчик на C++, ныне на .NET, то есть, обобщённый «Java-программист» в контексте статьи) .NET-разработчик с опытом N лет в среднем более квалифицирован, чем C++-разработчик с опытом тех же N лет. Как бы парадоксально это ни звучало для плюсистов. Пока последний решает на C++ проблемы, которые больше ни в одном языке так изящно не решаются (но при этом и не возникают), первый сталкивается с бОльшим разнообразием паттернов, архитектурных подходов, идиом и концепций. Имхо.

2)> С++ разработчику достаточть легко в последствии освоить C#

Категорически не согласен. Почему-то некоторые задроты думают, что вручную удалив память, они стали какими-то гуру программазма! ДАЛЕКО НЕ. Ровно наоборот — пока «сипиписники» возились в низкоуровневых дебрях, тратя своё время на ЕРУНДУ, «шарповоды» осваивали высокоуровневые вещи типа дженериков, async, TPL и прочее. И когда приходит такой вот «сипиписник» в цэшарп, он выглядит как неандерталец, который не способен использовать тостер. Выглядит жалко.

А вот и образец «гуманитарной» логики:

> Одна из них это портативность… Intel C++ Compiler (по фичам он «не очень»)

Ну то есть существует компилятор С++, который по фичам «очень», но при этом, очевидно, несовместим с тем, который «не очень»? Тогда знаете что, такая «портативность» не стоит и гроша. Достаточно сосчитать все #ifdef’ы, чтобы понять — С++ реализован у всех по-своему.

> Со строками в С++ беда.

Именно. И ЭТО У БАЗОВОГО ТИПА! Кому нужно это «говно с крестами», если в нём нельзя написать элементарную обработку строк? Вот за это мы и перешли в C# — среду, где нет разбродов хотя бы по элементарным вещам. Конечно, «массивы» там полный отстой (особ. по ср. с Ди), но с самой библиотекой можно работать без особого напряга.

Карочи, С++ — это не инструмент, а «вынужденная мера», «зубная боль ИТ». Кто может — избегает, кто вынужден — учится фигурному катанию на костылях и художественной резьбе по изготовлению берёзовых велосипедов. Бедняги, их жалкие потуги в 21 веке — просто мазохизм!

===================================


и считаете ли вы, что все так плохо с c++?
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2016, 20:09
Ответы с готовыми решениями:

На чем еще пишете, кроме PB? Под .NET, например, пишете?
Что нужно добавить или изменить в PB, чтоб вы стали это писать на PB?

Где вы пишете?
Привет! Решил поинтересоваться, что вы используете: IDLE или сторонний редактор. Если редактор, то...

Что вы пишете в функции main?
Привет форумчане, Понимаю что вопрос слишком абстрактный, но хотелось бы спросить где почитать...

На каких ассемблерах вы пишете чаще всего?
Пожалуйста, не выбирайте в опросе ВСЕ ассемблеры, на которых вы пишете!!! Выбирайте только те, на...

На работе вы пишете приложения для андроида?
Есть ли на форуме люди, которые за это получают зп, интересно ли работать, какая сфера...

98
Avazart
Эксперт С++
7965 / 5787 / 571
Регистрация: 10.12.2010
Сообщений: 26,607
Записей в блоге: 17
07.11.2016, 14:44 61
Цитата Сообщение от HelicopterK52 Посмотреть сообщение
Ну вот, видите, снова, - "переводите". Да перевожу и это порядком надоело.
А как без этого?
Плодить ansi_string, utf8_string итд .. до бесконечности?

У вас как бы не должно быть зоопарка кодировок. Одна локальная в которой файлы и пр. и одна так которая исп. в программе взятая за основу.
0
tapochka
40 / 40 / 17
Регистрация: 25.04.2014
Сообщений: 499
07.11.2016, 16:53  [ТС] 62
Цитата Сообщение от monolit Посмотреть сообщение
И, наконец, напоследок. Как говорил один уважаемый мной человек, который замечательно разбирается и в С#, и в С++: Если С++ язык для программистов, то C# - язык для не очень умных программистов. Это, конечно, утрирование, но в каждой шутке лишь доля шутки)
снобизм это все... имхо

Цитата Сообщение от monolit Посмотреть сообщение
Дженерики и async в качестве примера вообще выглядят убого.
async годная фича ж... из коробки еще

вот чем хорош c# в плане повышения квалификации... аналогов книгам, например, "внедрение зависимостией в .net" или "Принципы, паттерны и методики гибкой разработки на языке C#" для плюсов просто нет...
0
ct0r
Игогошка!
1797 / 704 / 44
Регистрация: 19.08.2012
Сообщений: 1,365
Завершенные тесты: 1
07.11.2016, 19:20 63
Цитата Сообщение от tapochka Посмотреть сообщение
ну в том то и дело, что аккумулируются костыли - решаются - затем другие костыли аккумулируются, и в итоге у кого-нибудь сносит крышу и он идет пилить свой язык со свистелками и перделками... александреску, самый близкий пример
Так причем тут именно С++? Это ко всем языкам относится.

Цитата Сообщение от tapochka Посмотреть сообщение
вот чем хорош c# в плане повышения квалификации... аналогов книгам, например, "внедрение зависимостией в .net" или "Принципы, паттерны и методики гибкой разработки на языке C#" для плюсов просто нет...
И как бы аналог выглядел для плюсов? Все то же самое, только примеры кода на плюсах?
1
monolit
188 / 187 / 46
Регистрация: 24.03.2011
Сообщений: 670
Завершенные тесты: 1
07.11.2016, 19:34 64
Цитата Сообщение от ct0r Посмотреть сообщение
аналогов книгам
ct0r точно подметил) Паттерны, методики - это общие концепции, как правило не привязанные к конкретному языку. Разумеется, на разных языках это все, возможно, будет реализовано несколько разными способами. Но идея то от языка не зависит. так что не аргумент. А достойных книг и под С++ хватает.

Цитата Сообщение от tapochka Посмотреть сообщение
async годная фича ж... из коробки еще
Это я к тому, что в С++ 11 тоже фичи с многопоточностью появились. Да и буст, опять же, пусть не совсем из коробки...

Цитата Сообщение от tapochka Посмотреть сообщение
снобизм это все... имхо
Я просто не стал кучу смайликов лепить, чтобы было ясно, что сказано это было в шутку...
0
07.11.2016, 19:34
Avazart
Эксперт С++
7965 / 5787 / 571
Регистрация: 10.12.2010
Сообщений: 26,607
Записей в блоге: 17
07.11.2016, 19:38 65
Цитата Сообщение от ct0r Посмотреть сообщение
И как бы аналог выглядел для плюсов? Все то же самое, только примеры кода на плюсах?
Примеры на плюсах и в пяти-(или даже пятидесяти) томах. По С++ есть много книг и большого размера. Все зависит от необходимой специфики.

Цитата Сообщение от monolit Посмотреть сообщение
Но идея то от языка не зависит
Для некоторых вещей все таки зависит, например RAII

Цитата Сообщение от monolit Посмотреть сообщение
Это я к тому, что в С++ 11 тоже фичи с многопоточностью появились. Да и буст, опять же, пусть не совсем из коробки...
Оно конечно круто, но разве подобное своять самому сложно?

Чего действительно не хватает так thread pool-а и map()/reduce()/filter().
Но в С++ о многопоточности тяжело говорить из-за отсутствия стандартного GUI с которым обычно нужно синхронизировать потоки.
0
monolit
188 / 187 / 46
Регистрация: 24.03.2011
Сообщений: 670
Завершенные тесты: 1
07.11.2016, 20:15 66
Цитата Сообщение от Avazart Посмотреть сообщение
Оно конечно круто, но разве подобное своять самому сложно?
Как будто я критиковал что-то) Лишь привел примеры.

Цитата Сообщение от Avazart Посмотреть сообщение
Для некоторых вещей все таки зависит, например RAII
Ну ок, забыл написать как правило не зависят. Понятное дело, что если поискать, найдутся всякие исключения, но их мало по сравнению с общим объемом имеющихся "идей". И это совсем не опровергает мои аргументы против "возвеличивания" C# из-за наличия книг типа "Принципы, паттерны и методики гибкой разработки на языке C#".

Цитата Сообщение от Avazart Посмотреть сообщение
Чего действительно не хватает так thread pool-а и map()/reduce()/filter().
Но в С++ о многопоточности тяжело говорить из-за отсутствия стандартного GUI с которым обычно нужно синхронизировать потоки.
Думаю, про Qt ты все-таки в курсе) Не самый стандартный стандарт, но все же вещь довольно распространенная.
0
Avazart
Эксперт С++
7965 / 5787 / 571
Регистрация: 10.12.2010
Сообщений: 26,607
Записей в блоге: 17
07.11.2016, 20:32 67
Цитата Сообщение от monolit Посмотреть сообщение
Понятное дело, что если поискать, найдутся всякие исключения, но их мало по сравнению с общим объемом имеющихся "идей".
Это так - если рассуждать, а не садится и писать код.

Цитата Сообщение от monolit Посмотреть сообщение
Думаю, про Qt ты все-таки в курсе) Не самый стандартный стандарт, но все же вещь довольно распространенная.
Да поэтому я и говорю С++ живет немного иной жизнью, т.е он не ограничивается только виндой или только одно средой разработки/компилятором или стандартными библиотеками, как в прочем и подходами.
0
Voivoid
710 / 282 / 16
Регистрация: 31.03.2013
Сообщений: 1,339
07.11.2016, 21:42 68
Цитата Сообщение от Renji Посмотреть сообщение
М... Как мне средствами стандартных C++ библиотек открыть файл u8"ファイル.txt" и чтоб под Виндой работало (у которой API про utf8 не слышал)?
Ну, это ж не проблемы плюсов. Но если уж очень надо, то че-нить типа такого:

std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
std::wifstream fs(converter.from_bytes(u8"E:\\ファイル.txt"));
0
ct0r
Игогошка!
1797 / 704 / 44
Регистрация: 19.08.2012
Сообщений: 1,365
Завершенные тесты: 1
07.11.2016, 21:48 69
Цитата Сообщение от Avazart Посмотреть сообщение
map()/reduce()/filter().
transform, reduce(C++17)/accumulate, remove_if ?
0
castaway
Эксперт С++
4946 / 3052 / 455
Регистрация: 10.11.2010
Сообщений: 11,147
Записей в блоге: 10
Завершенные тесты: 1
07.11.2016, 21:56 70
Цитата Сообщение от tapochka Посмотреть сообщение
и считаете ли вы, что все так плохо с c++?
Не считаю.
Не нужно прислушиваться к чужим мнениям. Начните сами вдумываться в эти вопросы и находить на них ответы.
4
tapochka
40 / 40 / 17
Регистрация: 25.04.2014
Сообщений: 499
07.11.2016, 22:02  [ТС] 71
Цитата Сообщение от monolit Посмотреть сообщение
И это совсем не опровергает мои аргументы против "возвеличивания" C# из-за наличия книг типа "Принципы, паттерны и методики гибкой разработки на языке C#".
меня походу не правильно поняли... я не возвеличиваю шарп, просто привел то, за счет чего среднестатистическому разработчику на шарпе легче понять философию инверсии управления например... если б для плюсов писали такие книжки, то было б вообще круто

Цитата Сообщение от monolit Посмотреть сообщение
Паттерны, методики - это общие концепции, как правило не привязанные к конкретному языку
вот возьмем книжку gof... вот думаете много бы на нее ссылок было если б там примеры кода были только на smalltalk?)

Цитата Сообщение от ct0r Посмотреть сообщение
И как бы аналог выглядел для плюсов? Все то же самое, только примеры кода на плюсах?
https://habrahabr.ru/company/infopulse/blog/248879/
было б идеально, если б какой-нибудь умный дядька написал книжку для балбесов(типа меня) которая не привязаны к языку хотя бы, а то в приведенных выше книгах код на шарпе не такой уж и легкий

Добавлено через 47 секунд
да и вообще с книжками беда по плюсам имхо...

Добавлено через 3 минуты
Цитата Сообщение от ct0r Посмотреть сообщение
transform, reduce(C++17)/accumulate, remove_if ?
наверно avazart имел ввиду параллельное выполнение этого всего по типу:

C#
1
2
string[] words = {"one", "two", "three", "four"};
var thirdQuery = words.Select(...sometransformation).AsParallel().Where(...somefilter).ToArray();
0
hoggy
Эксперт С++
7405 / 3331 / 689
Регистрация: 15.11.2014
Сообщений: 7,617
Завершенные тесты: 1
07.11.2016, 22:18 72
Цитата Сообщение от Renji Посмотреть сообщение
Что нужно, utf-8? Нужно затем, что std::fstream не понимает std::wstring даже в C++11. Соответственно, использовать utf-16 несколько затруднительно.
Пути не в латинице? Японская программа такой создала, когда устанавливалась.
1.
std::fstream от вижуал студии понимает std::wstring

2.
std::filesystem
0
monolit
188 / 187 / 46
Регистрация: 24.03.2011
Сообщений: 670
Завершенные тесты: 1
07.11.2016, 22:20 73
Цитата Сообщение от tapochka Посмотреть сообщение
если б там примеры кода были только на smalltalk?
Хз, я как-то читал книжку по паттернам с примерами на Smalltalk) И ничего, все было понятно),

Цитата Сообщение от tapochka Посмотреть сообщение
наверно avazart имел ввиду параллельное выполнение этого всего по типу
Про Qt уже сказали.

Цитата Сообщение от tapochka Посмотреть сообщение
да и вообще с книжками беда по плюсам имхо
Да ну, а как же Мейерс, Саттер, Джосаттис, Коплиен, тот же Страуструп... И это я еще не всех вспомнил сходу.
0
Avazart
Эксперт С++
7965 / 5787 / 571
Регистрация: 10.12.2010
Сообщений: 26,607
Записей в блоге: 17
07.11.2016, 22:23 74
Цитата Сообщение от monolit Посмотреть сообщение
Про Qt уже сказали.
Да я имел виду Qt аналоги, но они содраны вроде с Jav-ы
0
ct0r
Игогошка!
1797 / 704 / 44
Регистрация: 19.08.2012
Сообщений: 1,365
Завершенные тесты: 1
07.11.2016, 22:38 75
Цитата Сообщение от tapochka Посмотреть сообщение
вот возьмем книжку gof... вот думаете много бы на нее ссылок было если б там примеры кода были только на smalltalk?)
А вот возьмем Кнута... Дальше продолжать?

Цитата Сообщение от tapochka Посмотреть сообщение
было б идеально, если б какой-нибудь умный дядька написал книжку для балбесов(типа меня) которая не привязаны к языку хотя бы
По-моему основную идею в любом случае можно уловить.
И такие книжки наверное есть, просто ты не искал
0
rikimaru2013
2516 / 1178 / 355
Регистрация: 30.11.2013
Сообщений: 3,792
07.11.2016, 22:41 76
tapochka, я пишу на С++ потому он даст фору всем языках в области гейм-дев.

P.S. Помню был случай на одном конкурсе по гейм-дев. Суть написать игру за 3 месяца. В рамках такого диапазона максимум классный платформер или арканоид. До региональных дошло 8 человек: 7 писали на C# с применением unity конструктора и только я на С++ (SFML). Я успел за 3 месяца только 60% игры запилить, мои конкуренты все 80-90%, но презентуя игры у них был фпс 60 на i5 пк, и 24 фпс на огромной проекторе, когда у меня было 130 и 60. К сожелению, жюри закрывало глаза на слайд-шоу при презентации и я не прошёл дальше. Но уже тогда, я понял весь шлак С# в моей области. Весь смысл игры на c#+unity сводится к надписи на задней стороне обложки "Минимальные требования: i7 и 16+ ГБ ОЗУ".
6
Croessmah
++Ͻ
15890 / 9013 / 1733
Регистрация: 27.09.2012
Сообщений: 22,163
Записей в блоге: 2
Завершенные тесты: 2
07.11.2016, 22:47 77
Цитата Сообщение от tapochka Посмотреть сообщение
имел ввиду параллельное выполнение
В C++17 будут многопоточные алгоритмы.
Но в моем черновике пока я вижу только два таких - for_each и move.

Добавлено через 2 минуты
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Минимальные требования: i7 и 16+ ГБ ОЗУ
Не имею такого, но те же
Wasteland 2 (на Unity),
Master Of Orion (тоже на Unity),
что-то не тормозят.
Не думаю, что там у ваших
соперников были подобного рода игры.

То бишь, дело не в Unity и C#,
и совсем не в бабине.
0
ct0r
Игогошка!
1797 / 704 / 44
Регистрация: 19.08.2012
Сообщений: 1,365
Завершенные тесты: 1
07.11.2016, 22:52 78
Цитата Сообщение от Croessmah Посмотреть сообщение
Но в моем черновике пока я вижу только два таких - for_each и move.
? http://en.cppreference.com/w/cpp/experimental/parallelism - дофига.
0
tapochka
40 / 40 / 17
Регистрация: 25.04.2014
Сообщений: 499
07.11.2016, 22:57  [ТС] 79
Цитата Сообщение от monolit Посмотреть сообщение
Да ну, а как же Мейерс, Саттер, Джосаттис, Коплиен, тот же Страуструп... И это я еще не всех вспомнил сходу.
в этом и есть проблема - они ж старые все(ну кроме майерса)... не спорю, толковые, только язык и методологии меняются

Цитата Сообщение от ct0r Посмотреть сообщение
А вот возьмем Кнута... Дальше продолжать?
ну и много ль народу реально кнута читали?)

Цитата Сообщение от ct0r Посмотреть сообщение
И такие книжки наверное есть, просто ты не искал
да в том то и дело, что искал... с этим косяк в плюсах, зато в java/C# навалом

Цитата Сообщение от rikimaru2013 Посмотреть сообщение
7 писали на C# с применением unity конструктора и только я на С++ (SFML).
я не в теме конечно, вроде ж можно под unity на c++ писать. да и пользуясь, случаем, спрошу: такие игры ведь априори на плюсах пишутся? https://ru.wikipedia.org/wiki/Assassin%E2%80%99s_Creed_Syndicate
0
Croessmah
++Ͻ
15890 / 9013 / 1733
Регистрация: 27.09.2012
Сообщений: 22,163
Записей в блоге: 2
Завершенные тесты: 2
07.11.2016, 22:57 80
ct0r, например, того же exclusive_scan
я не вижу в n4606 в многопоточном исполнении.
0
07.11.2016, 22:57
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2016, 22:57

Почему возможно задать массив с размером -1 (почему такое вообще компилируется)?
Всем привет. Долгое время не писал на плюсах, решил пройтись по основам, вспомнить. По...

Почему то один вопрос всего лишь из списка показывает в тесте, почему?
Тест на проверку знаний. Вопросы берутся из .ini файла зашифрованный смещением xor+2. Шифровальщик...

Почему нельзя командой copy скопировать системные файлы на дискету? Почему?
Пожалуйсат, подскажите, весь интернет перерыла, вот почему нельзя? что нельзя знаю, а по какой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.