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