По молодости хочется всего и сразу.
Язык "для обучения" неравен язык "для промышленного программирования".
Если хотите понять соль, и не отвлекаться на частные частности тогда Оберон и BB однозначно.
Если хотите загибать пальцы, приобщится к "самому совершенному" и "продвинотуму", тогда MS C#,
хотите к менее совершенному, но дико мощному тогда C++.
А лучше всё таки Оберон и BB. После, действительно, функциональное чтонибудь, Haskell например.
И только потом наступит время выбора, чем зарабатывать на хлеб. Там и выберете для этого язык.
При надобности легко врубитесь и в C# и прочее и будете выбирать язык по задаче.
А вообще рекомендую машинные коды.