Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Преподаете или преподавали ли вы языки программирования и какие? В чем их плюсы и минусы для учеников?

Расскажите о своем опыте.

ОбразованиеПрограммирование+3
  · 4,6 K
кандидат физико-математических наук, математик, исследователь, data scientist, предпринима...  · 29 июн 2021  · novikovlabs.ru

Как таковые языки программирования не преподавал, только в составе более объемных предметов преподавал R и ds-stack для Python (pandas, numpy, scipy, sklearn, pytorch, keras, gensim, nltk).

По впечатлениям, могу сказать, что Python очень плох для объяснения Объектно ориентированного программирования (как минимум потому что в python нет никакой настоящей инкапсуляции, а полиморфизм в значительной степени уже заложен в динамическую типизацию). Он хорош для быстрой реализации кода в функциональном стиле, прототипирования и т.д. Иногда даже заставяляет рассуждать про ссылки, про копирование и глубокое копирование. Но там это просто нужно знать "как это работает", где нужно клонировать, а где и так сойдет. Python сделан не для программной инженерии, а для реализации конкретных прикладных задач, где баланс смещен в пользу "доказать что это в принципе возможно за приемлемое время", а не "сделать быстрый оптимизированный код".

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

Инструменты аллокации памяти вообще хорошо бы изучать на чистом С даже, а не на С++.

Скажем, для изучения ООП я не вижу разницы между изучение ООП на Java или на C++. Может быть, кто-то видит.

2 эксперта согласны
Да преподавал и активно продолжаю - я верю что программирование доступно для всех! "Какой выбрать язык?" - один из... Читать дальше
Меня зовут Тимур, я работаю в области образования более 4-х лет, специализируюсь на...  · 30 июн 2021
Да преподавал и активно продолжаю - я верю что программирование доступно для всех! "Какой выбрать язык?" - один из главных вопросов от детей и родителей... Большинство скажет Pyton и будут правы, НО упущение в начале типизации и работу с памятью родит много каши в более серьёзном программирование, которую потом предаться разжёвывать. Потому рекомендую любой Си подобный... Читать далее
В программировании с 1977 года. Последние года больше всего работаю в качестве системного...  · 28 окт 2021
LOGO, Basic, Pascal (на MacOS, с графикой), C++.
Описание плюсов/минусов для всех займет не одну страницу.
Но для младших/средних школьников, для всех, а не только для будущих программистов лучше всего LOGO и его аналоги.
работа на коммерцию и на фри-софтваре. прошлое: pascal, java, php, js, python, golang. на...  · 26 июн 2021
был забавный случай в моей жизни: за полгода до окончания школы, было 2-3 урока, когда я учил паскалю своих одноклассников, заместо учителя. трудность выбора языка на сегодняшний день заключается в том, что не хочется забить чужую голову бесполезными знаниями. если выбирать один язык с наиболее полным спектром парадигм - сегодня я бы выбрал D. - но его установка на... Читать далее
Интересно, почему D, а не, например, модный Rust?