Путевской Виктор (vipernn) wrote,
Путевской Виктор
vipernn

Categories:

Философское...

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

1. Обучать надо на языке, который именно для этого и предназначен. И это Pascal.
2. Обучать надо на языке, который, во-первых, прост и понятен, во-вторых, достаточно распространен. И это ... Python!!!

Ну что тут сказать? Мне больше первая концепция. Обучать действительно лучше на том языке, который для этого и предназначен. Другое дело, что практического применения именно для Pascal сейчас сложно найти. Зато с помощью этого языка, достаточно простого, но в то же время четко структурированного, крайне удобно обучать базовым элементам программирования - ветвления, циклы, структуры, основные алгоритмы и тому подобное. В принципе для этого можно использовать и какой-нибудь псевдокод, но псевдокод удобен для изложения в учебнике, а нужна также и практика. Использование более мощного (и сложного) языка (C, C++, FORTRAN) на этапе изучения базовых элементов неэффективно. Изучение сложного синтаксиса усложнит восприятие базовых элементов. Такие языки лучше использовать дальше, на этапе изучения более сложных концепций - например обобщенного программирования.

Насчет второй концепции. Действительно базовым вещам можно обучить и на таком простом языке как Python. Но в простоте как раз и кроются проблемы. Например, тип переменных в Python не задается, а определяется при инициализации. К "хорошему" быстро привыкаешь, и крайне сложно потом научить программиста строгому заданию типов. Из-за таких вот "улучшений" во многом страдает дисциплина, снижается уровень требований и, как следствие, возникают проблемы с изучением более сложных языков. Возникает ложное ощущение простоты и отсутствия необходимости уделять внимание всяким мелочам, таким как эффективное использование переменных различных типов и управление памятью. А от этого страдает производительность и забивается память.

З.Ы. Несомненно такие языки как Python и ему подобные нужны. Тем более, что у многих из них есть весьма специфические ниши для применения. Но переходить к ним надо уже имея некоторую базу. И уж точно не использовать такие языки для изучения основ программирования.
Tags: образование, программирование, философское
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 2 comments