Запишу сюда несколько своих мыслей, которые, может быть, помогут начинающему кодеру ступить на путь истинный. И да, все это - те грабли, на которые мне посчастливилось наступить Не используй ненативный GUI. Всяческие красивости (с твоей точки зрения) обычно убого выглядят и тормозят при удаленном использовании. Пиши юнит-тесты. Модульные тесты здорово помогут при отладке, а могут и вообще сделать ее ненужной. Выучи C. Именно C, а не C++. Необязательно потом на нем писать (наоборот, лучше так не делать), но знать его ты обязан. Не пиши на мертвых языках. Delphi и Basic - мертвые языки. Про бейсик можно и не говорить, а паскаль до жути убог, некрасив и избыточен. Большая часть открытых исходников обычно имеет очень плохой стиль. О том, что он мертв, говорит то, что его забросила даже сама компания-разработчик. Пиши на тех языках, которые сейчас актуальны - например, C#, Python, Java. За шарпом - будущее, Visual Studio - определенно, лучшая из существующих IDE. На нем можно писать под Windows Phone 7. Он работает под всеми современными платформами. Java - стандарт в энтерпрайзе. Под него нет нормального GUI, но сам язык очень хорош. На нем пишут под Android. Python - очень хорош и для обучения, и для дальнейшего использования. В нем нет явных типов, нет избыточных вещей вроде ";" и "{}", но есть строгие требования к форматированию, что заставляет тебя писать только хорошо читаемый код. А еще для него существует великолепный фреймворк Django, благодаря которому веб-кодинг становится очень простым делом