Ich bin der Meinung, dass weder die Art der zu programmierenden Geräte noch die gewählte Sprache den entscheidenden Ausschlag gibt. Natürlich macht es einen Unterschied, ob ich eine Unternehmensanwendung, einen Roboter oder ein Funksystem auf einem Mikrocontroller programmiere und natürlich hat jede Sprache ihre Stärken und Schwächen - aber es gibt halt einige grundlegende Kenntnisse, die wichtiger sind, als einzelne Programmbefehle. Ein ganz kleines bisschen gilt für Programmiersprachen: "Kennst du eine, kennst du alle."

Viel wichtiger finde ich, dass man erstmal die Funktionsweise der Programmierung generell versteht. Dabei sollte man vor allem die beiden verbreitetsten Programmierparadigmen (Prozedurale Programmierung und Objektoreintierte Programmierung) verstehen. Außerdem sollte man grundlegend verstehen, wie die Hardware (vor allem der Prozessor) funktioniert.

Aus eigener Erfahrung kann ich nur empfehlen, von Anfang an objektorientiert zu programmieren. Wer sich mal prozedural "versaut" hat, tut sich schwer, auf die Objektorientierung umzusteigen, weil der Ansatz gedanklich ein ganz anderer ist.

Ansonsten hilft das ganze Lernen nichts... Beim programmieren gilt: Übung macht den Meister. Man kann Programmbefehle nicht wie Vokabeln büffeln und die Programmiersprache nicht mit Grammatikregeln erschlagen. Programmieren bedeutet, Lösungswege (Algorithmen) in Befehle zu fassen. Das größte Problem beim Programmieren ist das Strukturieren von Lösungswegen. Insofern sollte man sich Aufgaben vornehmen und einfache Beispielprogramme und Algorithmen ausprobieren.

Es gibt eine sehr schöne Website (deutsch) mit Programmieraufgaben und Lösungen. (Leider kann man die Lösungen nur sehen, wenn man selbst eine eingereicht hat oder es mindestens 3 Lösungen für die Aufgabe gibt - aber Anregungen und auch Lösugnen gibts dort reichlich.) Interessant ist z. B. zu sehen, dass es für die gleiche Aufgabe eine Lösung mit 3 Seiten Code und eine mit 8 Zeilen gibt - wohlbemerkt in der gleichen Programmiersprache - der Unterschied liegt im Algorithmus. TrainYourProgrammer