Сначала я хочу попросить прощения у комментаторов, пришедших ко мне на помощь после предыдущей записи. Я не осознавал, что риторический характер моих вопросов не очевиден. Честно говоря, в этой компании я работаю не первый год, и тут как-то знают, что я умею, а чего нет. Это к тому, чтобы вы правильно отнеслись к рассказу о том, как меня сегодня поймали на использовании служебных ресурсов в личных целях.
Я отправил на печать статью,
о которой рассказал
ygam. Придя через некоторое время на кухню, где у нас стоят
принтеры, статьи я не нашел. А потом меня перехватил в коридоре
возбужденный начальник: "Слушай, мне такую интересную статью на стол
положили!" Я сказал, что это моя распечатка - очевидно, кто-то
по ошибке занес её ему в кабинет. Мы поговорили об этой статье.
Потом я её ещё пообсуждал с женой и друзьями. Так что тут ниже не
только мои мысли, но и их.
Один из авторов статьи десятилетиями преподавал программирование, писал учебники. И оба автора часто сталкивались с ситуацией, которую знают многие опытные менеджеры. А именно, что программисты очень резко делятся на хороших и плохих - и пропасть между ними огромна. При обучении это проявляется в том, что есть люди, которые никак не могут преодолеть компьютерную премудрость - а есть те, которым на лекциях просто скучно, потому что все так просто. И середины практически нет. Эта ситуация почти уникальна. Да, есть люди с абсолютным слухом и те, кому медведь на ухо наступил - но большинство все же можно научить играть на пианино "Мурку". В математике ситуация близка, хотя, как кажется, не так резко выражена. Такое впечатление, что есть некая таинственная "способность понимать компьютеры", которой одни изначально обладают, а другие - нет. Эта способность, по словам авторов, плохо коррелирует с IQ, оценками, математическими способностями - поэтому интересно понять, можно ли её (или её отсутствие) выявить заранее. И тут авторам помогла случайность.
Они - то ли по ошибке, то ли нарочно - дали тест на знание языка программирования (речь шла о Джаве, но это неважно) ДО того, как студенты познакомились с Джавой - или вообще каким-либо языком программирования. Студентам оставалось только гадать. Тест был закрытый (multiple choice), и каждый вариант ответа на самом деле предполагал некую "модель поведения компьютера" (присваивание слева направо или справа налево, порядок выполнения действий и т.п.). Так вот, были студенты, которые для всех вопросов предполагали одну и ту же модель поведения компьютера - у одних она была верна, у других нет. Были студенты, которые "меняли модель": в каждом вопросе они пытались найти "самое разумное" поведение. И были студенты, которые не смогли - или отказались - ответить.
Дальнейшие тесты и сравнение с оценками показали, что первая группа - предполагавшие "одинаковое поведение" - это как раз те, кому легко давалось программирование. Их одноклассники, пытавшиеся найти "разумное поведение" в каждой конкретной ситуации, наоборот, не справлялись с предметом. Причем переходы из группы в группу были крайне редки. Авторы объясняют это тем, что на самом деле главный секрет компьютеров в том, что они ведут себя НЕ разумно - а тупо следуют правилам. Эти правила сами по себе бессмысленны. И программистом может стать только человек, который осознает бессмысленность и смиряется с ней - чтобы затем использовать её. Если же человек пытается внести смысл, которого нет, - или отказывается решать бессмысленную задачу вообще, - то у него ничего не получится. Компьютеры умеют оперировать только с глокими куздрами. Поэтому отбор в программировании идет по умению мыслить на уровне синтаксиса, отвлекаясь от семантики.
Моя жена много лет учила детей математике. Ей это напомнило вот что. Есть классический силлогизм: "Все кошки - зеленые. Мурка - кошка. Следовательно, Мурка - зеленая". Так вот, существуют дети, для которых с очень раннего - дошкольного! - возраста это совершенно очевидно. А есть дети, которые никак не могут отвлечься от мысли, что на самом деле кошки не зеленые. Это знание им МЕШАЕТ, и силлогизм им не очевиден именно поэтому. Первых логике учить на самом деле не нужно. Вторых удается научить логике только с очень большим трудом. Возможно, именно этим группам соответствует деление на "программистов" и "непрограммистов".
Но если так, то способности к программированию должны коррелировать с оценками по математике - а авторы статьи такую корреляцию отрицают. Я не знаю, как это объяснить. Возможно, дело в том, что математику в Англии преподают недостаточно формально: как содержательную науку, а не как игру с доказательствами абстрактных утверждений. Интересно было бы исследовать ситуацию во Франции, где, если верить Арнольду, она преподается формальнее. Можно сделать ещё более смелое утверждение: математика сама по себе существенно более содержательна, чем иногда кажется со стороны - и этим математик отличается от программиста.
no subject
Date: 2008-01-11 05:22 am (UTC)Марья Ивановна говорит ученикам:
- Голубые крокодилы летели над Антарктидой. Сколько мне лет?
Вовочка единственный отвечает:
- Двадцать шесть.
- Правильно; как ты это узнал?
- Мне тринадцать лет, и папа меня называет полудурком.
no subject
Date: 2008-01-15 05:53 pm (UTC)no subject
Date: 2008-01-11 05:35 am (UTC)Мне что-то не очень в это верится. Я, например, вполне средний программист, думаю. И полно программистов хуже меня, которые прекрасно понимают, как работает компьютер, но спотыкаются на более сложных абстракциях. Они спокойно сидят в разных конторах и прекрасно делают свою работу в границах своей компетентности.
no subject
Date: 2008-01-11 05:50 am (UTC)... За всю привязанность к сортам дешёвых вин ...
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:Фетиш академических снобов
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2008-01-11 05:39 am (UTC)- А какие стороны и высота?
- Любые.
- Так нарисуй любой треугольник!
Т.е., оказалось, к моему удивлению, что самая идея проблемы, ответом на которую является не конкретное число (набор чисел), а алгоритм, ясна не всем.
no subject
Date: 2008-01-11 06:51 am (UTC)(no subject)
From:Хе-хе. Просто у вас культура речевой коммуникации
From:Re: Хе-хе. Просто у вас культура речевой коммуникации
From:(no subject)
From:(no subject)
From:Re: Reply to your comment...
From:Re: Reply to your comment...
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:Re: ещё дополню
From:ещё дополню
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2008-01-11 05:49 am (UTC)no subject
Date: 2008-01-11 05:51 am (UTC)... Нет дыма без микросхем ...
(no subject)
From:(no subject)
From:no subject
Date: 2008-01-11 06:08 am (UTC)Ведь он попытался (и достаточно успешно) создать язык, который пытается проявить "разумное поведение" в каждой конкретной ситуации.
Из этой статьи также следует, что первым языком программирования которому следует учить должен быть Tcl. Кто не справился с его простым набором формальных правил, изложенных в man Tcl, того отсеивать на первой сессии.
no subject
Date: 2008-01-11 06:28 am (UTC)Я таки промолчу, из уважения к годам, проведенным в уверенности, что перл - хороший язык :)
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:Простите за "пять копеек", но...
From:Re: Простите за "пять копеек", но...
From:Re: Простите за "пять копеек", но...
From:Re: Простите за "пять копеек", но...
From:Re: Простите за "пять копеек", но...
From:Re: Простите за "пять копеек", но...
From:Re: Простите за "пять копеек", но...
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:...
From:...
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2008-01-11 06:26 am (UTC)Не знаю математиков, но из бывших физиков-теоретиков (совсем формальных) получаются очень хорошие программисты
no subject
Date: 2008-01-11 09:07 am (UTC)(no subject)
From:(no subject)
From:no subject
Date: 2008-01-11 06:30 am (UTC)no subject
Date: 2008-01-11 08:45 am (UTC)На интервью попадаются такие
15 лет практики, большая часть известного продукта им написана, знание С++, всех деталей стандарта и реализации просто великолепное, человек мыслит в битах,
но вот задашь ему нестадантрную задачку
не пазл, а типа сообразить и даже щага сделать не может
Это удивительно
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2008-01-11 06:48 am (UTC)no subject
Date: 2008-01-11 06:48 am (UTC)в кои-то веки у меня есть пять копеек :)
Date: 2008-01-11 07:06 am (UTC)там, в числе прочего, мы рассматривали тему learning styles and multiple intellect.
множественный интеллект:
Linguistic intelligence ("word smart"):
Logical-mathematical intelligence ("number/reasoning smart")
Spatial intelligence ("picture smart")
Bodily-Kinesthetic intelligence ("body smart")
Musical intelligence ("music smart")
Interpersonal intelligence ("people smart")
Intrapersonal intelligence ("self smart")
Naturalist intelligence ("nature smart")
ещё можно почитать вот тут:
http://www.thomasarmstrong.com/multiple_intelligences.htm
http://www.bgfl.org/bgfl/custom/resources_ftp/client_ftp/ks3/ict/multiple_int/what.cfm
http://www.ldpride.net/learningstyles.MI.htm#Multiple Intelligences Explained
и в википедии:
http://en.wikipedia.org/wiki/Multiple_Intelligences
однако в этих материалах я не нашла девятого типа интеллекта, про который нам рассказывала преподавательница -- geek / technological.
к которым относятся и программисты.
кажется мне, это вот тот самый искомый тип.
Re: в кои-то веки у меня есть пять копеек :)
Date: 2008-01-11 05:28 pm (UTC)и еще пять копеек сверху
From:Re: и еще пять копеек сверху
From:Re: и еще пять копеек сверху
From:Re: и еще пять копеек сверху
From:no subject
Date: 2008-01-11 07:44 am (UTC)А вот почему мало средних значений - не очень понятно. Разброс акцентуированности как раз нормальный. Может быть дело в том, что для программирования требуется какое-то пороговое значение - например, сильное превалирование шизоидной акцентуации над всеми остальными. (Поэтому я, скажем, и плохой программист - у меня акцентуация по интроверсии сильнее индивидуалистичности, а по психастении - не сильно отстаёт. Т.е. я не могу в достаточной степени абстрагироваться от эмоциональных связей и вероятностей.)
no subject
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2008-01-11 09:00 am (UTC)no subject
Date: 2008-01-11 05:35 pm (UTC)no subject
Date: 2008-01-11 09:19 am (UTC)а можно попросить reference?
no subject
Date: 2008-01-11 05:36 pm (UTC)no subject
Date: 2008-01-11 09:50 am (UTC)Почитать текст со всеми комментариями можно тут (http://deep-water.ru/?http://scholar-vit.livejournal.com/157804.html)
Это Ваш 9-й ТОПовый пост за последний год (http://deep-water.ru/top/). Посмотреть статистику автора можно тут (http://deep-water.ru/top/info.php?id=132).
Этот "бот не имеет отношения к Яндексу" © НадежныйИсточник
no subject
Date: 2008-01-11 10:06 am (UTC)no subject
Date: 2008-01-11 05:38 pm (UTC)no subject
Date: 2008-01-11 10:20 am (UTC)no subject
Date: 2008-01-13 10:57 am (UTC)шизоидность и циклоидность одни из самых классических и внятно выделяемых черт личности чуть ли не в половине школ психологии
так что цифры можно и найти
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2008-01-11 10:41 am (UTC)no subject
Date: 2008-01-11 10:51 am (UTC)только на самом деле смысл есть но он доступен только для мага или программиста.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2008-01-11 10:48 am (UTC)Мои пять копеек
Date: 2008-01-11 10:59 am (UTC)Любопытно, что есть, как минимум, ещё одно область где наблдюдается такое же разделение - это теория вероятности. У человека мозги либо выворачиваются соответствующем образом, либо нет. Причём корреляции с другими областями математики (и с программированием) - очень мало, так что тут требования к мозгу - какие-то другие. Но разделение, пожалуй, даже боллее ярко выражено.
Re: Мои пять копеек
Date: 2008-01-11 01:52 pm (UTC)Это я по опыту :) О ее корреляциях с чем-либо судить не возьмусь, потому что нужным вывертом мозга не обладаю. За что сильно страдала в свое время :)
Re: Мои пять копеек
From:Re: Мои пять копеек
From:Re: Мои пять копеек
From:Re: Мои пять копеек
From:no subject
Date: 2008-01-11 12:35 pm (UTC)no subject
Date: 2008-01-11 12:38 pm (UTC)По моему опыту менеджеров больше волнует не хороший-плохой, а продуктивный-непродуктивный. Бывают плохие продуктивные программисты и хорошие непродуктивные. Первых любят менеджеры (несмотря на), вторым дорога разве что в преподаватели.
Пропасть между продуктивными и непродуктивными ортогональна пропасти между плохими и хорошими.
no subject
Date: 2008-01-11 02:33 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2008-01-11 01:06 pm (UTC)Вы каких-то неправильных программистов описываете. Не может хороший программист оперировать одним только синтаксисом. Это как раз будет плохой программист, ну или плохо написанный код, во всяком случае. Хороший код можно понимать без комментариев; вряд ли это вам удастся, если там голый синтаксис, а переменные, скажем, a, y и temp. Хороший же программист целенаправленно ищет наиболее точную семантическую формулировку для того, что происходит.
Водораздел по линии хороший-плохой удобно проводить по пониманию ООП. Есть много вроде бы опытных программистов, которые ООП не понимают и не умеют им пользоваться. А ООП — это, по сути, логическое моделирование мира, очень нагруженный семантикой метод.
no subject
Date: 2008-01-11 01:17 pm (UTC)Думаю, что разница в том и состоит - "не понимание ООП" обычно означает, что люди просто могут думать вне рамок ООП - и ООП их просто стесняет. А некоторым эти костыли наоборот полезны.
Собственно характерна разница между ООП и функциональным программированием (вероятно именно она вызывает уже непонимание ФП со стороны "объектно-оринетированной" публики) - если ООП - это "парадигма", то ФП - просто формализм, с определенным приемами его использования есс-но, но не претендующий на наличие какого-то внутреннего смысла.
(no subject)
From:(no subject)
From:(no subject)
From: (Anonymous) - Date: 2008-01-11 04:12 pm (UTC) - Expand(no subject)
From:(no subject)
From: (Anonymous) - Date: 2008-01-13 09:43 pm (UTC) - Expand(no subject)
From: (Anonymous) - Date: 2008-01-14 12:19 am (UTC) - Expandno subject
Date: 2008-01-11 01:12 pm (UTC)И, соответственно, нужны очень развитые навыки формализации - программирование собственно и состоит в основном в формализации задачи.
Наблюдение про логику забавно - меня в свое время матлогика весьма развлекла, тогда как у профессиональных математиков (вовсе не школьников) с ней часто довольно плохо. То есть на уровне "зеленой кошки" разумеется все хорошо. Но теорема Геделя (а еще лучше - парадокс Сколема, как менее известный и потому менее разжеваный) часто ставит их в затруднительное положение - видимо именно потому, что у логики основной метод - именно отделение формализма от содержания :)
no subject
Date: 2008-01-11 03:14 pm (UTC)http://oops.tepkom.ru/~msk/Weiz/Weizenbaum.html#chapter4
Программист вычислительных машин - творец миров, в которых он сам является единственным законодателем (так же, как и создатель любой игры). Но миры практически неограниченной сложности можно создавать в форме программ для вычислительных машин. Более того (и именно это является решающим моментом) определенные и построенные подобным образом системы исполняют собственные запрограммированные сценарии. Они охотно следуют этим законам и совершенно определенно демонстрируют свое послушание. Ни один драматург, режиссер или император, сколь бы могущественны они ни были, никогда не могли пользоваться столь абсолютной властью на театральных подмостках или поле брани и командовать такими неуклонно послушными актерами или войсками.
Было бы поразительно, если бы замечание лорда Актона, что власть разлагает, оказалось бы неприменимо к случаю, когда всемогущество достижимо столь просто. На самом деле оно применимо
(no subject)
From:(no subject)
From:no subject
Date: 2008-01-11 02:19 pm (UTC)В мемориз.
Сам еоднократно мучался притеревшись к концепции винды "мой компьютер" = корень каталогов. Спасибо за сформулированные мысли.
no subject
Date: 2008-01-11 02:32 pm (UTC)no subject
Date: 2008-01-11 02:38 pm (UTC)Я нашел и сдал без ошибок.
Сам программист.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From: