ИМХО, лучше начать с нативных языков для лучшего понимания работы с памятью. Java, C# и др от этого абстрагируют, но как только вам захочется подкрутить производительность или понять, почему вдруг приложение сожрало кучу памяти, хотя GC работает норм, возникнут проблемы.
Таким образом, я бы порекомендовал начать с С/С++
Еще круче будет, если вы сможете хотя бы поморгать диодиком, запустить таймер и обработаь прерывание на какой-нибудь борде от, например, STMicroelectronics или Texas Instruments