Психология программирования
Эта статья нуждается в дополнительных цитатах для проверки . ( январь 2011 г. ) |
Психология программирования ( ПОП ) — область исследований, занимающаяся психологическими аспектами написания программ (часто компьютерных программ). Эту область также называют эмпирическими исследованиями программирования ( ESP ). Он охватывает исследования познания программистов, инструментов и методов деятельности, связанной с программированием, а также обучение программированию.
С психологической точки зрения компьютерное программирование — это человеческая деятельность, которая включает в себя такие познавательные способности , как чтение и письмо на компьютерном языке , обучение , решение проблем и рассуждение .
История
[ редактировать ]История психологии программирования восходит к концу 1970-х и началу 1980-х годов, когда исследователи поняли, что в инструментах и технологиях программирования должна оцениваться не только вычислительная мощность, но и удобство использования со стороны пользователей. [1] На первом семинаре по эмпирическим исследованиям программистов Бен Шнейдерман перечислил несколько важных направлений для исследователей. Эти направления включают в себя совершенствование использования нынешних языков, улучшение нынешних и будущих языков, разработку языков специального назначения, а также совершенствование инструментов и методов. За последние два десятилетия психологии программирования были посвящены две важные серии семинаров: Семинар по эмпирическим исследованиям программистов (ESP), базирующийся преимущественно в США, и Семинар группы по интересам по психологии программирования (PPIG), имеющий европейский характер. . ESP имеет более широкую сферу применения, чем чистая психология в программировании, а с другой стороны, PPIG больше ориентирован на область PoP. Однако семинары PPIG и сама организация PPIG носят неформальный характер. Это группа людей, интересующихся PoP, которые собираются вместе и публикуют свои обсуждения.
Цели и задачи
[ редактировать ]Желательно добиться такой производительности программирования, чтобы создание программы соответствовало ее спецификациям, осуществлялось по графику, было адаптируемым к будущему и работало эффективно. [2] Возможность достижения всех этих целей при низких затратах — сложная и распространенная проблема в разработке программного обеспечения и управлении проектами. Понимая психологические аспекты компьютерного программирования, мы можем лучше понять, как добиться более высокой производительности программирования и помочь программистам создавать лучшее программное обеспечение с меньшим количеством ошибок.
Методы исследования
[ редактировать ]Некоторые методы, которые можно использовать для изучения психологических аспектов компьютерного программирования, включают самоанализ , наблюдение , эксперимент и качественные исследования . [2]
Когнитивные предубеждения
[ редактировать ]Когнитивные искажения — это систематические отклонения от оптимального способа рассуждения о чем-либо. Исследования показали, что в программировании присутствует ряд предубеждений. [3] Смещение привязки было выявлено при оценке и повторном использовании идей. [3] : 7 Существует предвзятое отношение к проводимой работе. [3] : 7 Предвзятость доступности может привести к тому, что программисты будут использовать неправильные ключевые слова при поиске документации и не смогут найти соответствующую информацию, а также помешать программистам применять уроки, извлеченные из предыдущих проектов в организации. [3] : 7
Предвзятость подтверждения может применяться к тестированию ведущих разработчиков при написании тестовых примеров, которые будут работать для кода, а не тех, которые могут потерпеть неудачу. Это также может применяться к поиску документации только по текущей гипотезе программиста. Обучение логическим рассуждениям и проверке гипотез уменьшило эту предвзятость подтверждения. [3] : 7
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Йорма Саяниеми. Психология программирования: заглянем в головы программистов. Человеческие технологии [Интернет]. 4–8 мая 2008 г. [цитировано 4 октября 2012 г.]; 4(1): Доступно по адресу: http://www.humantechnology.jyu.fi/articles/volume4/2008/ge-sajaniemi.pdf.
- ^ Jump up to: а б Вайнберг, Джеральд М. (1998), Психология компьютерного программирования (серебряное издание), Нью-Йорк: Дорсет Хаус, ISBN 0-932633-42-0
- ^ Jump up to: а б с д и Моханани, Рахул; Салман, Ифлаа; Турхан, Бурак; Родригес, Пилар; Ральф, Пол (01 декабря 2020 г.). «Когнитивные искажения в разработке программного обеспечения: исследование систематического картирования» . Транзакции IEEE по разработке программного обеспечения . 46 (12): 1318–1339. arXiv : 1707.03869 . дои : 10.1109/TSE.2018.2877759 . ISSN 0098-5589 . S2CID 2172676 .