LINUX.ORG.RU

История изменений

Исправление CrX, (текущая версия) :

Я бы предложил сделать первым языком Java

Java в качестве первого языка вызывает необратимые повреждения мозга и синдром «ООП рулит, ничего кроме ООП не существует». Приходилось сталкиваться с такими покалеченными. Людей, не знакомых с программированием, научить чему-то легче, чем людей, начавших с Java. Не надо так, это реально худший из всех возможных вариантов (если мы не берём всякую эзотерику, конечно), наряду с C#.

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

Это скорее плюс. Можно сосредоточиться на непосредственно алгоритмах сначала, понять саму суть, не заморачиваясь со всякой подноготной, а потом доучить эти «совершенно незнакомые абстракции» поверх имеющихся знаний не составит труда.

Вообще я вижу два пути обучения, подходящих для разных людей. Первый — это начинать с питона и идти сверху вниз, последовательно изучая то, что в питоне скрыто за абстракциями. Второй — это начинать с С, и даже возможно параллельно основы ассемблера, начиная с самых основ, как что работает, и поднимаясь уже снизу вверх, от тупого императива к процедурщине, затем к ФП, ООП и прочему. Для разных людей больше подходит или один или другой путь, в зависимости от предпосылок (интересов, «склада ума», и т.д.).

Исправление CrX, :

Я бы предложил сделать первым языком Java

Java в качестве первого языка вызывает необратимые повреждения мозга и синдром «ООП рулит, ничего кроме ООП не существует». Приходилось сталкиваться с такими покалеченными. Людей, не знакомых с программированием, научить чему-то легче, чем людей, начавших с Java. Не надо так, это реально худший из всех возможных вариантов (если мы не берём всякую эзотерику, конечно).

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

Это скорее плюс. Можно сосредоточиться на непосредственно алгоритмах сначала, понять саму суть, не заморачиваясь со всякой подноготной, а потом доучить эти «совершенно незнакомые абстракции» поверх имеющихся знаний не составит труда.

Вообще я вижу два пути обучения, подходящих для разных людей. Первый — это начинать с питона и идти сверху вниз, последовательно изучая то, что в питоне скрыто за абстракциями. Второй — это начинать с С, и даже возможно параллельно основы ассемблера, начиная с самых основ, как что работает, и поднимаясь уже снизу вверх, от тупого императива к процедурщине, затем к ФП, ООП и прочему. Для разных людей больше подходит или один или другой путь, в зависимости от предпосылок (интересов, «склада ума», и т.д.).

Исходная версия CrX, :

Java в качестве первого языка вызывает необратимые повреждения мозга и синдром «ООП рулит, ничего кроме ООП не существует». Приходилось сталкиваться с такими покалеченными. Людей, не знакомых с программированием, научить чему-то легче, чем людей, начавших с Java. Не надо так.