Здравствуйте orangy, Вы писали:
O>Доброго времени суток,
O>Тут вот товарищи долго и упорно спорят про то, что лучше С++, Java, .NET ...
O>... Вот откуда нужно копать, по скромному моему мнению. А не спорить, круче GC или убиение объектов вручную.
Немного лирики.
Вы несколько упрощённо смотрите на вопрос какой должен программист.
Только ли технические знания его определяют, а как насчёт личных качеств.
И разве Вас, как ведущего программиста, менеджера проекта или руководителя проекта (или какую позицию Вы занимаете в своей компании) не должно интересовать мотивации человека? По какой причине человек собирается работать у Вас (или с Вами) программистом.
Если же к Вам приходили люди, и двигало их исключительно желание "бабок срубить", то это и впрямь грустно. А Вы говорите технические знания.
Уважаемый, не стоит ждать от пришедшего к Вам студента, что он будет стоящим специалистом. Вам придётся воспитать этого специалиста. И проблема здесь может быть не в отстутствии знания чего-либо, а в нежелании узнать это.
"Не знаешь что такое быстрая сортировка? В конце недели расскажешь мне про неё, про сортировку методом вставки, про сортировку методом слияния и покажешь программу, которая сортирует файл вещественных чисел выбранным пользователем методом сортировки. Да и заниматься ты будешь этим в нерабочее время. А кто сказал, что будет легко?" Вот примерно так
Среди студентов много толковых ребят, но по-моему нескромному мнению, один специалист лучше двух студентов. Да и занятие лепкой программистов по-своему образу и подобию мне кажется сомнительным.
(Конец лирики.)
Вот ещё что.
O>И если человек хочет научиться программировать, он должен научиться думать.
Кто не согласен с этим, два шага вперёд!!!

Но вот побывав на многих собеседованиях в разные времена своей карьеры, я не помню, чтобы кто-то интересовался, умею ли я думать. ( Самому интересно узнать

) Обычно интересуются опытом и техническими знаниями, часто мотивациями. Да и судя по Вашему рассказу, Вы тоже интересовались наличием у соискателем определенных технических знаний, а про умение думать Вы умолчали в своём "лирическом отступлении". Что так?
Ещё раз.
O> И если человек хочет научиться программировать, он должен научиться думать.
...лирическое отступление...
O> Таким образом, я считаю, что вопрос заключается меньше всего в языке, а больше в тех технологических знаниях которыми программист обязан обладать, если хочет считаться программистом.
Не вижу здесь логической связи. Или это "лирическое отступление" что ли?
Вы сначало сказали банальность, а потом перешли на список технических требований, которыми по Вашему мнению должен обладать программист.
Если человек не умеет думать в двадцать лет, то и не научится.
Разумеется, человек, считающий себя программистом, должен обладать неким набором знаний. И помимо базиса в технические знания входит многое другое и сильно зависит от специализации программиста. А ещё настоящий программист должен обладать определенным образом мышления.
Так вот. Технические знания за исключением базиса со временем меняются, причём меняется именно та часть, которой приходится пользоваться каждый день. А вот мышление значительно более костно и чем более абстрактными моделями способен управлять человек, тем проще ему освоить новые идеи. Именно поэтому, в отличии от Вас и многих других людей на этом форуме, я убеждён, что образ мышления важнее технических знаний и является основой.
Теперь о языках.
Чем более абстрактными моделями позволяет управлять язык, тем он более подходит для настоящего программиста. Не боясь ошибиться, скажу, что по-моему мнению сейчас таким языком является С++.
Любая сложная технология неотличима от волшебства. (Артур Кларк)