Рубріки: Думка

Деякі мови спотворюють розум: як програмування насправді впливає на ваш мозок

Микола Сарри

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

Як заняття мистецтвом може змінювати ваше мислення, так і програмування впливає на ваш спосіб мислення — можливо, не так, як ви очікували.

Програмування впливає на ваші когнітивні моделі

Чи важливо, з якої мови програмування ви розпочали свій шлях у цій професії? Так!

Звучить нечесно, правда? Як не крути, а більшість із нас познайомилися із програмуванням ще в школі, і першу мову нам нав’язували. Я почав із Pascal, потім був С.

Структура мови програмування впливає на спосіб мислення. Едсгер Дейкстра, один з найвпливовіших вчених у сфері інформатики, знав про це, коли сказав:

«Інструменти, які ми використовуємо, мають глибокий (і прихований) вплив на наші розумові звички, і, отже, на наші розумові здібності».

Потім додав:

«COBOL спотворює розум; його викладання слід розцінювати як кримінальний злочин».

І:

«Практично неможливо навчити добре програмувати студентів, які раніше вивчали BASIC: як потенційні програмісти вони розумово покалічені, без надії на відновлення».

У якомусь сенсі всі мови програмування рівні, тому що вони повні за Тюрінгом. З іншого боку, оволодіння однією мовою може призвести до проблем в іншій.

Програмісти на Java і на Python — два різних типи фахівців, які абсолютно по-різному підходять до програмування.

Іншими словами, парадигми та ідіоми вашої першої мови програмування впливають і навіть диктують ваші ментальні підходи до структур даних, алгоритмів тощо.

Більше того, можна взяти анонімізований код та визначити, хто його написав, спираючись лише на обраний підхід до вирішення задачі та стиль написання коду. І що складніше завдання, то легше «деанонімізувати» код.

Зверніть увагу на дослідження стилеметрії коду  та розшифрування лекції, присвяченій тій же проблематиці:

«Програмісти можуть обфусцирувати змінні або імена функцій, але не структури, яким вони віддають перевагу у використанні, або улюблені оператори інкрементування».

В англійській мові є прислів’я, яке підсумовує все вищесказане в одній зрозумілій фразі: «Коли у тебе є тільки молоток, все схоже на цвях». Тобто навчившись програмувати певним чином, ви аналогічно підходитимете до вирішення всіх завдань.

Тож обирайте мову програмування з розумом!

Програмування допомагає зміцнити здоров’я мозку

Мозок часто порівнюють з м’язом, який потрібно постійно тренувати, щоб залишатися розумним та кмітливим. Чи це так? І якщо так, то чи можна вважати програмування ментальною вправою, достатньою для зміцнення здоров’я мозку?

Автори метадослідження 1991 року хотіли з’ясувати «вплив комп’ютерного програмування на когнітивні результати» і виявили, що студенти, які мали досвід програмування, при тестуванні когнітивних здібностей набирають на 16 перцентильних балів більше, ніж студенти без досвіду програмування.

У ході ще більшого дослідження 1999 року підтвердилося, що «інтелектуальна діяльність перешкоджає зниженню когнітивних здібностей».

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

Автори ще більшого дослідження 2009 року дійшли того ж висновку і припустили, що «люди, які беруть участь у діяльності, що стимулює мозок, у наступні роки можуть знизити ймовірність [і навіть відтягнути початок] хвороби Альцгеймера та інших видів недоумства».

До діяльності, що стимулює мозок, віднесли:

  • читання;
  • писання;
  • головоломки;
  • настільні та карткові ігри;
  • виконання музики.

Нарешті, у дослідженні, опублікованому в 2013-му, сказано, що суворо певні види розумової діяльності справді покращують наш мозок, а саме — інтенсивна когнітивна діяльність, яка інтелектуально складна і передбачає вивчення чогось.

Хоча всі згадані дослідження і не доводять, що інтелектуальна діяльність робить нас розумнішими й здатнішими, але результати кажуть про те, що важкі когнітивні завдання як мінімум покращують поточний стан мозку та значно знижують ймовірність деградації.

Існує думка, що вчитися програмуванню ніколи не пізно, і описані дослідження лише підтверджують цю думку. Програмування йде на користь!

Програмування — це не лише математика з логікою

У дослідженні 2014 року за допомогою функціонального МРТ вивчалася активність мозку програмістів, які намагалися зрозуміти та опрацювати фрагменти коду.

З’ясувалося, що при вивченні вихідного коду задіяно п’ять областей мозку:

  • BA 6: середня лобова звивина (увага, мова, робоча пам’ять)
  • BA 21: середня скронева звивина (семантичний пошук у пам’яті)
  • BA 40: нижня тім’яна частка (робоча пам’ять)
  • BA 44: нижня лобова звивина (робоча пам’ять)
  • BA 47: нижня лобова звивина (мова, робоча пам’ять)

Тобто при роботі з вихідним кодом в основному задіяні частини мозку, які зазвичай пов’язані з обробкою мови, пам’яттю і увагою.

Цікаво, що при цьому майже не задіяні розділи мозку, пов’язані з математикою та обчисленнями — навіть при аналізі фрагментів із циклами, умовними та арифметичними обчисленнями та іншими алгоритмічними операціями.

Звичайно, дослідження не було всеосяжним, і його автори вказують:

  • в експерименті використовувалися фрагменти коду менше ніж на 20 рядків, а час роботи з ними обмежувався, тобто цей код не був особливо важким для піддослідних;
  • результати дослідження свідчать не про те, що мови програмування схожі на іноземні мови, а лише про задіяння тих же розділів мозку;
  • піддослідні не писали код, а при цьому можуть бути задіяні інші області мозку, ніж при аналізі наявного коду.

Але що треба відзначити. Ми знаємо, що програмісти регулярно аналізують вихідний код, написаний ними самими чи кимось іншим. Ми також знаємо, що програмісти часто витрачають більше часу на виправлення та рефакторинг наявного коду, ніж написання нового з нуля.

Отже, це дослідження зовсім не безглуздо. Програмування — не просто «діяльність лівої півкулі мозку», і можна навіть припустити, що «правопівкульні» програмісти мають певну перевагу.

Читайте також: Ви неправильно використовуєте мозок: 9 правил, які допоможуть впоратися з прокрастинацією

Це текст з особистого блогу, опублікований з дозволу автора.

Якщо ви знайшли помилку, будь ласка, виділіть фрагмент тексту та натисніть Ctrl+Enter.

Останні статті

IT в Україні йде до свого фінального кінця. І потраплятимуть туди виключно за покликом душі

Коротко про українську IT-сферу у 2024 році Це коли на одну вакансію Middle розробника по…

26.03.2024

Блокчейн-розробка сьогодні: зарплати і перспективи на ринку праці

Формування криптовалютної галузі в Україні почалося ще у 2014 – саме тоді з'явилися перші стартапи,…

18.03.2024

Скільки рішень ухвалює розробник? Погляд новачка, який запускає продукт

Автор цього блогу — Python-девелопер Сергій Солдатов, який вирішив створити досить унікальний продукт. І це…

12.03.2024

Чи треба готуватись до співбесіди?

Думки шукачів діляться на: «так, однозначно» і «ні, не вартує, я все і так про…

04.03.2024

Відкладаєте до останнього? Що таке «синдром студента» і як з ним боротися

Синдром студента — це форма прокрастинації, яка полягає в тому, що людина, якій дали завдання,…

23.02.2024

Вчимося працювати з Git: основи конфігурації, гілки, додавання файлів та директорій

Git — це найпопулярніша CVS прямо зараз, яка дозволяє відстежувати історію розробки і спільно працювати.…

20.02.2024