Как стать автором
Обновить

Комментарии 11

НЛО прилетело и опубликовало эту надпись здесь
хотя и сконцентрирована в левом полушарии, отвечающем за языковые способности.

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

Язык программирования — это средство решения задач. А вот в процессе оформления решения задачи наверняка задействуются области, отвечающие за логику.

Как и при составлении какого-нибудь письма, когда надо ёмко и убедительно выразить мысль и убедить в чем-то собеседника, тщательно подобрав аргументы. Или когда думаешь, как оптимально расставить мебель в квартире. Или при любых других ситуациях, когда человек решает задачу.

В то время как в бытовом смысле языки программирования не используются, в отличие от «человеческих» языков.

И уж тем более, странно читать про вопрос об «обучении программированию с детства». Опять неправильная постановка вопроса.

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

Ну и чем старше человек, тем сложнее ему изучать новые концепции, вроде нового синтаксиса, абстракций и логических приемов. Это вроде бы тоже не новость.

Довольно спорный момент: программирование отождествлять с логикой, концепциями… Если бы вы мне показали программиста, который пишет программы без ошибок и без тестовых запусков в процессе разработки по 2 раза на каждую строчку кода (в среднем), то я бы согласился про логику, концепции. А так программирование — это банальное итеративное копирование мини-паттернов кода с постоянным тестированием. Я не буду говорить, что программист — это обезьяна, это низко и оскорбительно, но принцип произошел оттуда, а не из учебников математики (многие эти книжки даже не открывали).

Если вы так пишите, вовсе не значит, что все так пишут

Я объективен! Что вы? Не будьте так уверены в себе. Ошибки программирования имеют место всегда. Даже при освоении каких-то хороших концепций и принципов.
Просто мы недостаточно хорошо следуем этим принципам и концепциям. А это значит, что логика — не наш конек.


P. S. Прошу не переходить на личности.

Есть люди, которые и в жизни рассуждают подобным образом, но за это, всё-таки, отвечают уже немного другие области мозга и это не общее для всех поведение — для написания кода в частности.


Сочувствую, если ваш опыт такой

Это немного трудно для понимания… Когда программист начинает больше проектировать и меньше кодировать-перекодировать, а также начинает гораздо точнее отчеканивать код (с гораздо меньшим числом итераций), то возникает некоторое одушевление. Это застилает глаза, кажется, что вот она Грааль логики — понята и изучена. Но это ложное чувство.
Ведь количество ошибок должно упасть до нуля, а этого нет. Осваиваются более сложные мини-паттерны, они лучше встраиваются в деятельность программиста, однако, достичь идеала логическо-концептуальной машины нет возможности.

«Люди учатся программированию по-разному: от чтения самоучителей до формальных курсов. Удивительно, что мы обнаруживаем такую ​​последовательную модель активации мозга у людей, которые программируют, — сказала автор исследования Юнь-Фей Лю, аспирантка лаборатории нейропластичности университета. — Это особенно удивительно, потому что мы знаем, что решающий период для овладения языком обычно заканчивается в раннем подростковом возрасте. А многие люди учатся программировать уже взрослыми».

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

К чему клоню собственно — если ребенок маугли уже прошел критический период изучения любого языка, скорее всего он не научится даже единственному. Если же ребенок рос в нормальных условиях, он и во взрослой жизни будет способен выучить еще 10 языков. Потому-что ему будут знакомы общие конструкции работы языка, его нейронные сети будут готовы к данному опыту. Мы человеки в общем-то одинаковые, даже в восприятии религии, независимо от местоположения (континентальная европа или индонезийские острова).

Возвращаясь к языкам программирования: это все-же языки с определенной конструкцией, которые придуманы людьми для людей. Немного иная форма, но человек по прежнему может наслаивать эти конструкции на свой прежний опыт. Опыт языковой, математический, а также визуально-пространственный (циклы, массивы итп). Но все-таки, мне кажется, именно критические периоды влияют на освоение остального вытекающего множества высокоабстрактных языковых конструкций. Общий фундамент сформирован и он ожидает наслоения нового опыта на текущие нейронные магистрали. У тебя банально есть способность лепить подсознательные соображения в вербальную логику. Даже китайский не пугает, несмотря на полную несовместимость письменности — потому-что "в принципе все понятно"

Впечатление, что под «программистом» или «программированием» здесь имеется ввиду такой же широкий смысл как “компьютерщик”.
Для одних задач — нужно изучить фреймворк/язык, следуя готовым гайдлайнам и решениям, для других — использовать логику (например метод «чёрного ящика» при хотфиксе легаси-кода), для третьих — аналитику (перекладывая бизнес-домен на программные модели), работа с машинным обучением, криптографией, встроенными системами, PLC, 3D графика и игры, архитекторы и тимлиды… Да и над одной и той же задачей разные программисты работают по разному.
Это хорошо, что у школьников есть возможность изучать программирование, это однозначно помогает тем, кто в дальнейшем программирует. Однако подозреваю, что умение написать спагетти-код (с переменными a1,a2) и потом мучительно его отлаживать (без использования отладчика) — может задействовать разные области мозга, по сравнению с написанием хорошо структурированной программы, разбитой на логические модули, отражающие одну из метафор бизнес-модели?

Вот если бы они показали как различается активность мозга питониста и плюсовика во время кодинга...

Зарегистрируйтесь на Хабре, чтобы оставить комментарий