В целом да, это общие для всех разработчиков знания. Но я бы не сказал, что без этого нельзя взять и начать разрабатывать. Конечно, для достижения более-менее хорошего уровня без этого не обойтись. Но начать вполне можно и без этого, конечно.
pspupgrader55, ты всегда сможешь подтянуть джаву потом, если это понадобится. Изучать её для разработки под Андроид в 2021 году - это безумие. Разве что, если тебе хочется много страдать. А изучение котлина без джавы вполне возможно.
Nightmare1, я не понял твоего вопроса) но в целом сложности в С++, который заставляет тебя декларировать тип до использования. И собственно твоя ошибка выше про incomplete type - это оно и есть. Насколько я понимаю, невозможно не зная полностью типа узнать размер его объекта, и поэтому нельзя использовать такие переменные, но можно - указатели и ссылки (потому что их размер определён).
Nightmare1, у тебя декларация класса будет ниже, чем его использование. Нужно в любом случае сделать forward declaration, но тогда ты всё равно не сможешь использовать переменные, имеющие тип этого класса до того, как декларация будет завершена. Сможешь использовать только ссылки и указатели.
Hemul GM, ну вот в классике начинают с паскаля, потому что там можно писать максимально простые программы. На мой взгляд, сейчас начинать с этого уже не нужно, потому что это всё дико устарело.
Hemul GM, это вполне нормально, потому что С++ это адский бред наркомана. На паскале и Делфи вполне можно поразобраться в алгоритмах, структурах данных, ui, oop. А потом уже погружаться в плюсы, если надо. Это такой академический путь 10-15 летней давности. Другое дело, что сейчас надо начинать не с паскаля, а с питона (имхо).
У меня довольно дохрена лет опыта в программировании и понимания в нём. Однако от реверсинга я так же далёк, как тогда, когда я в последний раз закрыл ida pro и ollydbg в 11 классе. Так что вряд ли ответ правильный.