Айде и аз да се обадя
Да пусна една-две леко еретични мисли

Да кажа първо че това е мое мнение, което се е появило и позатвърдило в процеса на работа.
Еmbedded или не е една система. Ами зависи. Зависи най-вече от начина по който желаеш да използваш наличния ресурс на системата. И най-съвременното и бързо ПЦ се налага да се разглежда като embedded система, ако се налага да вмъкнеш в него задача, за която производителността на машината би могла да се окаже недостатъчна; от друга страна - ако ще мигаш светодиод само - ПИК-чето с бейсик интерпретатора няма нужда да се разглежда като embedded. Някой ще каже определението от някоя си там книга за предназначението на системата, сменяемостта, универсалността и т.н. на приложението. Съгласен съм, но въпреки всичко, една и съща система изглежда тотално различно от камбанарията от която я гледаш, и задачите които жеалеш да решаваш а нея.
По въпроса за програмирането: Ами много просто е. Език за програмиране се учи лесно. Почти всичките имат набор от около 20-50 запазени думи. Това за запомняне в края на краищата в най-лошия случай изисква 2-3 дена за запаметяване
Този който може да програмира, го може на кой да е език. Въпроса е да се усвои умението да се разчленява сложното действие на прости такива, с други думи, на алгоритмично мислене - последователно решаване на прости задачки, които дават отговора на сложната задача. Нужно е да се усвои разчленяването на сложните неща до необходимото равнище на средството с което разполагаш (езика за програмниране) за да ги опишеш. Това равнище е тотално различно според езика от ниско, високо ниво и библиотечната поддръжка която е в наличност.
За начинаещите програмисти:
1. Добре е да се прочете как аджеба работи туй нещо процесора, и какво умее да прави.
2. Намерете си някаква работеща система, за която се знае че хардуера работи и имате средства лесно да си пускате за изпълнение собствения код и да се вижда резултата от изпълнението му (ПЦ-то е иделното за целта; ПИК-чето с бейсик също става)
3. Изберете си език за програмиране, с който може да се работи в избраната система, и по възможност има поне една книжка с описание на езика
4. Почнете от най-простичките неща: тези, за които най-лесно и най-бързо се вижда резултата - например Hello world; мигащ светодиод (мига се лесно през паралелния порт на ПЦ-то

)
5. Напредвайте с прости миши крачки напред;
5а. Преди да минете към следващата крачка, към малко по-сложното нещо, уверете се че текущата прави това което желаете;
Успех на всички които започват; Да се учи човек на програмиране е от нещата които само започват, и никога не приключват.
ПС: Програмите обикновено се държат по-честно от живота

Там имаш право на безброй проби и грешки (поне докато се свършат процесорите за изгаряне

)