Все надо учить. Сначало просто Си, потом Си++ потом Java, Но последнее это уже после окончания школы. Так это очень большой объем, если учить основательно.
При всей схожести с Си будет очень сильный конфликт в голове. Это как хокей и фигурное катание. Вроде лед, но мышцы разные задействованы.
С какой целью спрашиваете?Если у Вас уже готов ответ Думаете начнётся батл Java vs CC+? Не драть её не надо!
Брать и программировать Вы можете, но орать на форуме, что я мол полностью освоил Ардуину, не советую.
Я могу посоветовать по поводу программирования. Мне кажется параллельно с изучением минипроектов, Вам стоит найти какой-нибудь контестер с простенькими задачами, чтобы освоить основные понятия (условия, циклы, функции, etc.) Это многократно облегчит задачу, потому что остается разобраться только с электроникой. Я по профессии программист, электронику сам начал только недавно изучать, поэтому мне тут сложно что-то посоветовать. Но, на мой взгляд, очень хороша вот эта вот книжка для начинающего https://www.makershed.com/products/make-electronics-2ed
А теперь шедевр от себя на всеобщее обозрение.Что нибудь интересное не скопипащеное в инете - с Вашими фичами!
Голова у всех разная. Кому-то трудно одновременно учить французский и испанский - а другие, наоборот, пишут что сравнение общих и отличающихся конструкций помогает лучше запомнить оба языка.
Я начинал учить Ассемблер (для AVR) потом Си параллельно с ним.Сейчас понимаю что это было лучшее решение потому как были навыки и знания работы с регистрами.Без них на Си было бы тоскливо.Да и Асм и Си для AVR в чём то схожи.Иногда когда есть лишнее время могу от нечего делать переписать код на Си в код на Ассемблере.А вот с java у меня как то уже не получается то ли возраст то ли моск уже забит полностью.Большой необходимости для меня в этом конечно нет но хотелось бы для самоутверждения.
Главное в языках надо уметь бегло воспринимать, и бегло говорить. А сравнивать конструкции можно только на начальном этапе. Позже это уже идти автоматом. С Си такая же история. Тем более Си и Си++ это не два языка , а три. Третий это язык пользователя. Чем больше проект и чем больше кода, тем больше дополнительных классов структур и функций вы добавляете. И уже программа пишется на языке этих функций. Но разные пользователи, разные программисты и разные задачи выводят новый свой язык пользователя.