Мозг опытного программиста читает код как компьютер

Discussion in 'Мировые новости. Обсуждения.' started by Solitude, 20 Dec 2012.

  1. Solitude

    Solitude Member

    Joined:
    29 Aug 2011
    Messages:
    445
    Likes Received:
    23
    Reputations:
    1
    Мозг опытного программиста читает код как компьютер

    В научно-исследовательском центре CREST при университете Индианы сейчас идёт интересный эксперимент над группой программистов. Каждому участнику эксперимента показывают несколько маленьких программ на Python и просят объяснить, каков будет результат выполнения кода. Самое главное, что во время разбора кода регистрируются движения глаз каждого испытуемого.

    [​IMG]

    Первые же результаты эксперимента показали, что начинающие и опытные программисты читают код совершенно по-разному.

    Опытный

    https://www.youtube.com/watch?v=Jc8M9-LoEuo&feature=player_embedded

    Новичок

    https://www.youtube.com/watch?v=VtuO9un2Vyg&feature=player_embedded

    Один из участников эксперимента говорит, что после просмотра видеоролика с собственным тестом ему показалось, что мозг работал словно интерпретатор. Например, в программе было два вызова к функции between. В первый раз он провёл много времени, смотря то на место вызова, то на определение функции. Во второй раз на это ушло гораздо меньше времени: он только однажды глянул на определение функции. В терминах программирования это можно назвать неким видом just-in-time компиляции. В первый раз он читал и интерпретировал каждую инструкцию, что заняло 24 секунды. Во второй раз, вероятно, некие инструкции отложились в памяти компилятора мозга, так что процесс занял всего 10 секунд.

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

    Новичкам часто советуют читать чужой код для повышения собственного уровня. Может быть, это не самый лучший способ, ведь умение читать код тоже приходит с опытом.

    Эксперимент продлится ещё несколько месяцев.

    20.12.2012
    http://www.xakep.ru/post/59846/
     
  2. Чакэ

    Чакэ Elder - Старейшина

    Joined:
    15 Aug 2010
    Messages:
    260
    Likes Received:
    66
    Reputations:
    62
    ты программист чтоле?
     
  3. FunOfGun

    FunOfGun Elder - Старейшина

    Joined:
    5 Sep 2012
    Messages:
    388
    Likes Received:
    72
    Reputations:
    124
    А почему не проводить эксперемент на одном куске кода? Код для новичка подобрали весьма кривой.
     
  4. -=Cerberus=-

    -=Cerberus=- κρυπτός γράφω

    Joined:
    29 Apr 2012
    Messages:
    1,321
    Likes Received:
    930
    Reputations:
    391
    Там где новичек, все выглядит так, как будто он ищет "Что такое питон ?"

    и мне кажется, что синтаксис питона, это очень плохой пример для такого теста; глазами приятно бегать по с++ ;)
     
  5. FunOfGun

    FunOfGun Elder - Старейшина

    Joined:
    5 Sep 2012
    Messages:
    388
    Likes Received:
    72
    Reputations:
    124
    Как раз наоборот(мое имхо и мнение большинства). Питон очень легко освоить, а потом читать его -- одно удовольствие. Уже в языке есть уйма полезных возможностей, так что нет необходимости разбираться в извратах программиста.
     
  6. MACKA

    MACKA New Member

    Joined:
    31 Oct 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Каждый человек по разному считывает код, у всех разные способности, кому-то дано, кому-то нет, так что тест в некотором плане, фигня.
     
  7. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Адио на эксперементы - один раз мелькнула точка в центре экрана и в инпуте появились ответы )))))))))))))
     
  8. Apeckou

    Apeckou Elder - Старейшина

    Joined:
    23 Jan 2007
    Messages:
    143
    Likes Received:
    11
    Reputations:
    0
    не интересно смотреть, потому что коды разные