Личный кабинет

Критерии выбора языка программирования для информатики

Без определения критериев нельзя определить достижимость цели
Александр Бондаренко ( Пользователь )
Как мне кажется некоторую часть споров о том что лучше использовать в качестве языка программирования при изучении информатики можно было бы избежать при наличии критериев выбора такого языка (сами языки предлагать в ветке "Выбор языка программирования").

Попробую изложить своё видение этого.

Как мне кажется есть 3 категории обучаемых:
  1. начинающие. Им просто надо объяснить/показать алгоритмику.
  2. продвинутые. Показать приёмы программирования, сам процесс ведения разработки
  3. лично-ориентированные (те кто собирается идти по тропе программиирования). Углублённое изучение теории и практики программирования.
Первые 2 категории изучают программинг в рамках школьного курса, 3-я - на факультативах.

Идеально было бы перекрыть требования всех 3-х категорий в рамках одного языка, но боюсь что эта мечта несбыточна.

Хорошо бы иметь возможность показать различные парадигмы программирования в рамках используемого языка

Общие требования к среде программирования:
  1. мультиплатформенность
  2. способность работать на разнообразном парке машин (есть у нас и 486 в классах)
  3. наличие интернационализации системы помощи (как минимум) и интерфейса взаимодействия (хотя это обсуждаемо и не для всех категорий)

Это вот так для затравки. "Дальше - больше" (с) реклама, однако :)

Любые предложения, обсуждения в рамках темы приветствуются.
Любой бред в виде описания "какой я хорошой" - давить.
Роман Еннер ( Пользователь )
()
Виктор Петров ( Пользователь )
Совершенно с Вами согласен о видимой целесообразности использования различных языков программирования для обучения разных аудиторий. Однако прошу особо далеко не отходить от наших реалий и учесть стоимость таких вариантов обучения. Сколько денежек понадобится на полные комплекты языков для одной школы с 30-40 ученических ПЭВМ?
Олег Чебан ( Пользователь )
Опа, а кто удалил все?
Александр Бондаренко ( Пользователь )
(Виктор Петров @ 08.11.2007, 17:29) <{POST_SNAPBACK}>
Однако прошу особо далеко не отходить от наших реалий и учесть стоимость таких вариантов обучения. Сколько денежек понадобится на полные комплекты языков для одной школы с 30-40 ученических ПЭВМ?


О... Вот и ещё один критерий появился:

Стоимость решения
Михаил Кушнир ( Пользователь )
(PapaSasha @ 08.11.2007, 11:30) <{POST_SNAPBACK}>
Идеально было бы перекрыть требования всех 3-х категорий в рамках одного языка

Это зависит от целей. Я думаю так:
- Если нужно настругать программеров, которых будут с руками отрывать заказчики, то конечно - причем, язык должен быть самый ходовой на рынке.
- Если хочется пополнять общество людьми, способными и заинтересованными лезть в нутро задач - в надежде на то, что технологические проблемы освоения нужного языка они решат сами тогда, когда это им потребуется, - то лучше бы дать им представление о разных языках, причем, не однотипных. В этом случае крайне желательны наиболее передовые по средствам моделирования (выражения мыслей), независимо от их рыночной популярности.

А, поскольку первый вариант для начинающих неприемлем,- для них нужен максимально простой для освоения язык, чтобы они могли сконцентрироваться на алгоритмизации, не слишком отвлекаясь на формальности языка.
Он должен быстро реагировать на изменения в исходном коде, не требовать длительных подготовительных процедур.
Александр Бондаренко ( Пользователь )
(МЭК @ 08.11.2007, 19:25) <{POST_SNAPBACK}>
Это зависит от целей. Я думаю так:
- Если нужно настругать программеров, которых будут с руками отрывать заказчики, то конечно - причем, язык должен быть самый ходовой на рынке.
Надеюсь мы не забываем о том что мы работаем со школьниками, к-рым чтобы стать "программерами, к-рых будут с руками отрывать закзачики" надо ещё ой как много чего изучить (конечно если мы говорим о программистах, а не о кодерах), а за это время "самый ходовой язык на рынке" может уже кануть в лету.

(МЭК @ 08.11.2007, 19:25) <{POST_SNAPBACK}>
- Если хочется пополнять общество людьми, способными и заинтересованными лезть в нутро задач - в надежде на то, что технологические проблемы освоения нужного языка они решат сами тогда, когда это им потребуется, - то лучше бы дать им представление о разных языках, причем, не однотипных. В этом случае крайне желательны наиболее передовые по средствам моделирования (выражения мыслей), независимо от их рыночной популярности.
Для 3 категории - да, языки. Для 2-й наверное всё же говорим не о языках (в полноразмерном описании), а о парадигмах программирования и, как реализация их, конкретные языки (кратенько или не очень :). В идеале, чтобы не тратить время на постоянное изучение новых языков (не забываем про пресловутый 1 час в неделю на инофрматику), это должен быть язык к-рый может предоставить возможность такого.
Я вот так сразу могу вспомнить несколько наиболее ходовых:
  1. логическое (сомневаюсь что в школе потянут. Хотя, в своё время, изучали же Prolog). Наверное сюда же и "автоматное". Или в отдельный пункт? (опять же сомнение в школьном изучении - если только для 3 категории)
  2. процедурное
  3. прототипное
  4. объектно-ориентированное
  5. аспектно-ориентированное
  6. функциональное

(МЭК @ 08.11.2007, 19:25) <{POST_SNAPBACK}>
А, поскольку первый вариант для начинающих неприемлем,- для них нужен максимально простой для освоения язык, чтобы они могли сконцентрироваться на алгоритмизации, не слишком отвлекаясь на формальности языка.
Он должен быстро реагировать на изменения в исходном коде, не требовать длительных подготовительных процедур.

Так. Замечательно. Для начинающих у нас всё больше выходит на первый план языки типа Logo. Надо, как я понял, попробовать собрать в кучу требования для данной категории, основываясь на его типаже.
Александр Бондаренко ( Пользователь )
Ещё одно к критерию по языку:
(wiz @ 08.11.2007, 19:09) <{POST_SNAPBACK}>
Первая задача это не сам язык, а возможность демонстрации принципов. И наличие среды только расширяет выбор аспектов, готовых к этой демонстрации.

Т.е. у языка должна быть наработанная библиотека. Наверное более корректно сказать "Наличие такой библиотеки даёт бонус языку" :)
В немалой степени широкому распространению в наше время Perl-а способствует наличие архива CPAN, в котором можно найти модуль практически по любому классу задач.
Михаил Кушнир ( Пользователь )
(PapaSasha @ 08.11.2007, 19:53) <{POST_SNAPBACK}>
Для 2-й наверное всё же говорим не о языках (в полноразмерном описании), а о парадигмах программирования и, как реализация их, конкретные языки

Полностью поддерживаю акцент на содержательном подходе при минимуме формальностей.
Дальнейшее должно прямо зависеть от мотивации.
Для ОБЩЕОБРАЗОВАТЕЛЬНОЙ школы (не спец) я вообще считаю ненужным углубление даже на 2-й уровень, если учащиеся не стремятся изучать именно программирование. Мы, например, вообще ограничиваемся ознакомительным уровнем в среде ЛогоМиры, и только желающие на спецкурсах в старших классах могут освоить основы программирования. Причем, у нас акцент на БД:
- в них необходимо серьезно заниматься структурами данных
- в них есть алгоритмические структуры
- в школе есть потребность даже в простых БД (можно смоделировать весь цикл разработки)
Денис Кириенко ( Пользователь )
Почему-то никто в критериях не написал "Наличие методической поддержки". Справочная система - это не совсем то.

Или же мы сначала выбираем идеальный язык, а потом пишем к нему методическую литературу?

footer logo © Образ–Центр, 2018. 12+