Я изучаю с#, он проще плюсов, судя по отзывам. Но можно узнать, что именно в плюсах сложно? Там нет синтаксического сахара? Или там проблемы с работой с памятью?
Если хочешь простого ответа на этот вопрос сделай так: Зайди на гитхаб, найди любой репозиторий полностью написанный на c++ и попробуй прочесть код
PwnD, Я учу С++, и могу сказать что язык реально сложный, благо это компенсируется высокой скоростью и широкими возможностями языка.
там ну почти то нет синтаксического сахара, c++ сделает твой уровень программирования новым, язык не работает с интернетным парсингом и тд, ну для локального программирования если ток
LVV, где я писал про работу с файлами, я писал что работать с net геморой, там только запросами, нету селениюма))))
Андеграунд_неактив3578089, У меня пока что в унике(1 курс) основа это шарп. В будущем плюсы очень хочу выучить, но мне блять и Шарп даётся не лёгко, я перешёл к ооп и ахуел. Буду стараться.
всегда есть сложности в изучении. например мне сложно давалось указатели и ссылки в начале + обращение с памятью тоже непростая тема. из алгоритмов (именно реализация) не всегда легкая - тот же поиск по дереву, я иногда путался с движением. но везде есть свои сложности во всех абслоютно языках. и ПЫ СЫ не слушай людей, которые пишут мол локальный язык. это люди, которые не знают язык и пиздят за, что-то. просто бери и изучай. нравится - делай)
LVV, Пока Шарп учу, в будущем обязательно плюсы, ибо он как по мне очень гибкий, несмотря на свою ±сложность
лонгрид сам язык в целом несложный, отсутствие сахара имхо лишь упрощает изучение, не надо запоминать специфические конструкции. а про сложность плюсов - она в деталях. можно знать отличия * и &, но рано или поздно придётся разобраться с различиями rvalue и lvalue. то же самое с оптимизацией - до поры до времени она тебя не ебет, а потом садишься изучаешь зачем нужны условные inline функции. или, например, static с его 1001 значением или 100500 сценариев, приводящих к undefined behavior, который в свою очередь положит начало украинскому кризису. потом 999999 видов инициализации, векторизация, низкоуровневая многопоточность и так до бесконечности в общем сложен не столько синтаксис/..., сколько уровень абстракции, на котором придётся писать. на плюсах пишут высокопроизводительные системы, где важна каждая миллисекунда или байт памяти и не дай бог кеш мисс словишь - голову отрубят (нет), соответственно и библиотеки под плюсы идут более низкоуровневые и главное легковесные, которые предполагают, что тебе надо не просто гет запрос отослать на апи, а отправить пару тысяч таких причём условно в многопоточной среде и с минимальными затратами по времени/памяти, ещё и по кастомному протоколу. я немного утрирую, но в целом всё так, в плюсах большинство вещей делается вручную, чтобы контролировать каждый шаг выполнения кода и иметь возможность обеспечить кастомную реализацию бойлерплейтам/боттлнекам требования по производительность кроме прочего влекут необходимость низкоуровневых способов взаимодействия с железом, отсюда разнообразие специфики общения с ОС и компилятором, которые сделают синтаксис более многословным, уникальным и неочивидным работа с памятью в целом несложная, не понимают как работать с указателями только 2 типа людей: кто с этим никогда не сталкивался и те, кому лоботомию провели по причине полуфабрикат. остальные выучили *, &, &&, [] и дрочат на байтики. но опять же, сложность в деталях - можно писать простой, чистый, рабочий и понятный код, но чтобы сделать его быстрым и легковесным придётся начать шарить за всякие forward, move, общаться с компилятором. и да, здесь dotMemory тебе не подскажет где случилась утечка памяти, выбрал кресты - будь добр брать на себя ответственность за косяки, здесь ты сам за себя и в тяжёлую минуту тебе условный CLR руку помощи не протянет, придётся делать расклад карт таро ну и надо припомнить обратную совместимость, по чьей вине на плюсах сейчас живёт огромная масса легаси кода, которая в свою очередь приводит к тому, что самые ебанутые решения в области устройства языка и стандартной библиотеки остаются в крестах навсегда и тянут язык в канаву all things considered, плюсы довольно ванильный язык, но его низкоуровневая направленность заставит вас учить огромный пласт информации, выходящий за границы "базового" уровня, и при том необходимого для написания по-настоящему с++ного кода в том виде, в котором его используют в полевых условиях индустрии. тем не менее низкоуровневый код на плюсах писать удобно плюсы я довольно долго не использовал, сейчас пишу под .NET, поэтому текст выше написан по мотивам моих воспоминаний, возможно что-то упустил, кресты запомнились мне именно такими
undrcrxwn, В любом случае, мне нравится язык, каким бы сложным небыл, я думаю он очень востребован и профитен. Но пока что я учу Шарп, ибо в унике на данный момент это Мэйн лангуаге
AMFETAMIN, память в основном в динамических массивах течет, по этому лучше юзать векторы, или удалять из в конце использования
0xau, ты сузил использование указателей до создания динамических массивов, это все равно, что у тебя есть сверхуниверсальный инструмент, а ты говоришь, что он используется ток чтобы гвозди забивать
0xau, И выражение по поводу того, что память течет в динамических массивах вообще хня, память течет в принципе из-за неаккуратного использования указателей, а не из-за каких-то массивов