Для:
muzshura
На другом форуме просто пофлудил, а тут отвечу более по существу
Так вот, основы программирования (всякоразные базовые принципы и алгоритмы) можно изучать на любом процедурном языке. Я бы порекомендовал Pascal (сам с него начинал): достаточно прост в освоении и при этом позволяет получить все необходимые навыки. В принципе, ничто не мешает использовать в этой же роли Basic или С. Единственное, что лучше практиковаться на консольных приложениях, дабы на данном этапе не отвлекаться на вопросы создания графических интерфейсов.
Затем, не грех будет познакомиться с ASM и вообще постараться хотя бы приблизительно осознать принципы работы приложений на низком уровне (как происходит вызов процедур, что есть стек, переменная, как передаются параметры и т.п.). Возможно, увлечешься именно системынм программированием; в этом случае твой путь - ASM/C/C++.
Если системное программирование тебя не увлекло, ступай на следующий уровень - изучение ООП. Общие принципы опять-таки лучше усваивать на примере консольных приложений. Язык сойдет тоже почти любой, лишь бы поддерживал ООП: Delphi (да, он уже больше не Object Pascal), Java, C#.
Далее уже можно взяться за разные более продвинутые темы: создание пользовательских интерфейсов (не просто в визуальном редакторе компоненты разложить, а понять, как оно все в принципе устроено), работа с сетью, с базами данных (это вообще без вариантов - SQL обязан быть знаком каждому прикладному программисту
), создание веб-приложений.
Собственно, к этому моменту уже успеешь познакомиться с разными платформами и направлениями программерской мысли и сумеешь выбрать то, которое тебе больше по душе и которое в достаточной степени востребовано там, где ты планируешь искать работу.
Ну и наконец, последнее замечание: не следует рассматривать свой выбор в пользу той или иной платформы как приговор судьбы. В случае необходимости будет не так сложно переучиться с Delphi на .NET, с .NET на Java или наоборот. В конце концов, для разработчика главное - это аналитический склад ума, умение грамотно разложить задачу на составляющие и подобрать для них оптимальное решение, а уж освоение соответствующиего ЯП и сопутствующих библиотек - дело техники