lqp - November 24th, 2014

November 24th, 2014

November 24th, 2014
07:41 pm

[Link]

Государственное мышление
Бердяев: Если у соседа лошадь сдохнет, нам от этого лучше станет?
Путин: Смотря какой сосед, что у него была за лошадь и в каких целях он ее использовал.

(14 comments | Leave a comment)

TimeEvent
11:46 pm

[Link]

Мозг или компутер?
Голубев в фсбуке предлагает обсуждать статью [info]dkirienko@lj про Питон как язык школьного обучения программированию.

Ну, сам я Питон терпеть не могу и многократно на эту тему высказывался. Питон - ремейк КОБОЛа на современной элементной базе, средоточие многословия и косноязычия, тормознутости, синтаксического выпендрежа и нестабильности. Все возможные пороки языка программирования в одном флаконе.

Однако же тут имеется момент для серьезного разговора. На самом деле, обучение школьников программированию имеет две существенно различные цели:
1) Обучение алгоритмическому мышлению себя самого и
2) Обучение управлению вычислительной машиной.

Одно с другим связано но это существенно разные вещи, и языки для этого требуются разные.

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

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

Первое, безусловно, необходимо. Но существует тенденция (у того же обсуждаемого [info]dkirienko@lj, например) абсолютизировать первое и пренебрежительно относиться ко второму. Дескать, алгоритмы - это часть общей культуры, а возня с железяками - это узкопрофесссиональная отрасль, которой пусть занимаются узкие профессионалы. Самое смешное что подобная точка зрения, вопреки тому что говорят ее адепты - это именно что точка зрения профессионального программиста, для которого алгоритмы это огромная светлая область, открытая для бесконечного совершенствования, в то время как всякие ассемблеры, прерывания и битовые маски - это темный чуланчик с инструментами, открываемый по нужде.

Если же мы говорим не о профессиональных высотах, а о базовых понятиях для людей, большая часть которых ни на какое покорение высот не пойдет, тут все по другому. Умение пользоваться дрелью и рубанком не менее, а даже более важно рядовому школьнику, чем умение расчитать форму балки в соответствии с последними достижениями сопромата. Если человек не понимает, не чувствует на собственной шкуре, что сочиненный им сколь угодно абстрактный алгоритм будет выполняться тупой железкой/перемалывателем байтов, если он не имеет хотя бы самого общего представления, в какие именно машинные команды будет транслироваться записанный им супер-высокоуровневый алгоритм - программировать он, можно сказать, не умеет.

(71 comments | Leave a comment)

Previous Day 2014/11/24
[Archive]
Next Day
Powered by LJ.Rossia.org