С++ - самый расширяемый язык, потому как статические библиотеки стороних API (*.a и *.lib) пишутся в первую очередь для него. Но C++ - слишком сложный, лично у меня ступор вызывают callback-функции и указательные типы.
Мне бы хотелось поначалу прикладное программирование освоить на чём-нибудь попроще, но чтобы это был не «учебный язык», а вполне себе рабочий, чтобы он тоже был расширяемый. Что выбрать для изучения, Java может быть или в ней так же сложно?