recoder: (Default)
[personal profile] recoder

Гуманитарным складом ума обычно называют отсутствие математического.
bash.org.ru
Наткнулся намедни на Hacker News на ссылочку на старую статейку Джеффа Этвуда под названием "Separating Programming Sheep from Non-Programming Goats". Где он действительно пишет о том, как отделять способных к программированию агнцев от неспособных к нему козлищ.

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

Прочтите следующие утверждения и выберите ниже корректный ответ.

int a = 10;
int b = 20;
a = b;

Новые значния переменных a и b будут:
[ ] a = 20  b = 0
[ ] a = 20  b = 20
[ ] a = 0   b = 10
[ ] a = 10  b = 10
[ ] a = 30  b = 20
[ ] a = 30  b = 0
[ ] a = 10  b = 30
[ ] a = 0   b = 30
[ ] a = 10  b = 20
[ ] a = 20  b = 10

Нам, программистам, ответы конечно же очевидны, однако по результатам этого теста народ делится примерно таким образом: 44% формируют в голове какую-то модель устройства присваивания, 39% сделать это вообще не удаётся, и ещё 8% вообще плюют на ответы и не пишут вообще ничего. Поучительно, что когда этот тест повторили через три недели обучения, расклад на группы практически не изменился.

Получается, что довольно приличный процент учеников и студентов учить программированию просто бесполезно, у них биохимия такая! А у нас в школах все как один Basic учили (кстати, а что сейчас учат?). Зачем? Пусть лучше сидят, в Civilization играются - всё больше толку будет. Может из них потом менеджеры получатся?

Вот такая оказывается загогулина в нашем ремесле.

coding

Date: 2012-02-01 06:44 am (UTC)
From: [identity profile] russuv.livejournal.com
a = 20 b = 20
?

Date: 2012-02-01 06:52 am (UTC)
From: [identity profile] larubin.livejournal.com
А как этот тест работает? Все околовалидные варианты ответов считаются (присваивание налево, присваивание направо, вообще не присваивание) или надо угадать семантику C-подобного языка?

Date: 2012-02-01 08:39 am (UTC)
From: [identity profile] http://users.livejournal.com/_winnie/
Непрограммисту совершенно неочевидно что делает =, int, слово "присваивание" непонятно и даже если у человека вдруг "программисткая биохимия" - как он поймёт, присваивание происходит слева направо или справа налево ( movl eax, [variable] в gas против mov [variable], eax в intel-assembler )

т.е. это может как-то так для людей выглядеть:

хрю x ★ 10 ^
хрю y ★ 20 ^
x ★ y ^

Edited Date: 2012-02-01 11:32 am (UTC)

Date: 2012-02-01 10:08 am (UTC)
From: [identity profile] the-drmad.livejournal.com
Нам в свое время подобное растолковывали на примерах квадратных бумажечек, с которых ластиком стираются старые циферки и записываются карандашиком новые. Наверное, если бы вот так сразу объяснили, то задачку правильно решили бы все?

Date: 2012-02-01 03:19 pm (UTC)
From: [identity profile] alleukemist.livejournal.com
Да у меня талант программиста! :) Нет, на самом деле, если бы не биология - был бы программистом, и думаю, неплохим.

Date: 2012-02-01 07:25 pm (UTC)
From: [identity profile] sprocket1.livejournal.com
Совсем никакого чувства юмора. Надо было 20/20 поместить дважды в ответы – пусть и у программистов тоже крышу снесёт. ;-)
А заодно на ранних этапах можно будет выявить склонность к декларативному программированию.

Date: 2012-02-02 02:36 pm (UTC)
From: [identity profile] russuv.livejournal.com
едрен батон.. Рекодер я прошел тест программистов ? ;))

Date: 2012-02-02 06:01 pm (UTC)
From: [identity profile] the-drmad.livejournal.com
Вообще, тест не корректен. Я иногда довольно активно программирую, не пиша программы, а рисуя их - http://www.nf-team.org/drmad/stuff/lv2.htm. А еще я других учу. Здесь работают немножко другие принципы, и часть народу, не способная пройти СИ-шный текст, легко обучается прогать в виде схем. И наоборот, некоторые кодеры, привычные к текстовым языкам, тупят при попытке нарисовать прогу.

Date: 2012-02-06 01:30 pm (UTC)
From: [identity profile] alexander-largo.livejournal.com
Почти в каждой области есть люди, которые не вписываются в тему
Был один студент - так он поцарапанный CD-RW в месте царапины соскоблил слой и сделал заплатку с другого диска, что характерно, с CD-R!
И потом удивлялся почему его артефакт не читается.

Ну и женщины в разговоре часто путают длинной с кислым...

Предрасположенность - штука врожденная.

December 2024

S M T W T F S
1234567
891011121314
15161718192021
22232425 262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 26th, 2026 06:39 am
Powered by Dreamwidth Studios