Как стать автором
Обновить
35
0
Сергей Галанин @SergeyGalanin

Программы—программистам! Польза—пользователям!

Отправить сообщение
Когда пример лёгкий, как тот, что я привёл в пример в начале поста — такой вполне можно решить в уме и записать сразу готовый ответ. Лично я постоянно так и делал, несмотря на требования расписывать решение по шагам. Ну или хотя бы пропускал половину шагов, потому что влом записывать.

А когда решение на четырёх страницах — его ни один отличник в уме не решит. Более того, каждый отличник (и я в том числе) будет сразу записывать именно по шагам, чтобы потом можно было проверить правильность решения.

Опыт с оленеводом немного к другой теме относится. Пастух — он чужих коров пасёт, и у него они действительно сидят в памяти, близкой к кратковременной. А оленевод своё стадо знает с пелёнок, и кратковременная память тут меньшую роль играет — он здесь на долговременную опирается.

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

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

А вот обратное — не всегда верно. Некоторые «отличники» (читай: «талантливые парни с хорошо развитой кратковременной памятью и подвижным интеллектом») — да, всё ещё продолжают писать длинные методы. А некоторые — уже набили достаточно шишек, и перешли к коротким.
Разумеется. Иначе не быть бы когнитивной психологии отдельной дисциплиной. Вот: «Когнитивная наука. Основы психологии познания» (в двух томах). Суммарно 880 страниц. Можно найти в электронном виде — почитайте содержание ради интереса.
успеваемость по таким предметам, как чтение и математика, напрямую связана с рабочей памятью

Эллоуэй Трейси, глава «Рабочая память и коэффициент интеллекта IQ» из книги «Включите свою рабочую память на полную мощь».

Понятие рабочей памяти тесно связывают с понятием подвижного интеллекта. Некоторые учёные находили связь между размером рабочей памяти и уровнем подвижного интеллекта, в связи с чем возникла теория о возможности развития подвижного интеллекта посредством тренировки рабочей памяти при использовании техник вроде n-назад.

Рабочая память, Википедия.

Так что первое условие я не придумал. А второе условие — да, это гипотеза, о чём я так прямо и написал. И мне хотелось бы обсудить её. Может быть, следовало обратиться к сообществу психологов? Однако затронутая проблема касается именно программистов, поэтому я предпочёл хабр.

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

Безусловно, бывают такие талантливые троечники, которым просто на математику наплевать, потому что у них есть куда более интересные для них занятия: литература, плавание и КВН, например. На таких ведь так мало…
Согласен с каждым словом. Примерно так я и сам часто пишу, и собираюсь рассказать об этом в следующем посте. Более того, наши гуру-наставники советуют всегда рефакторить код после написания, потому что хороший код никогда не получается с первого раза. Так что сначала 1500 строк, а потом рефакторинг — это нормально и правильно.

Способность писать сразу понятный код именно что связана с опытом, а не со способностью удерживать в памяти много объектов.

Только вот чтобы сначала написать 1500 строк, нужно их всё таки все держать в памяти. А во вторых, рефакторинг 1500 строк до 10 раз по 150 — это не очень хороший рефакторинг. Надо тогда уж хотя бы до 100 раз по 15.
зависимость, недальновидное удовлетворение потребностей и надежный источник дохода для «дилера»

Именно так. Иначе просто не останется времени на то, что мне нравится. А ремонт авто не входит в этот список. Жизнь слишком короткая, чтобы тратить её на решение вторичных вопросов.
Парни, пост был отличный ровно до вашей рекламы. Ваш самопиар никак не связан с темой статьи, поэтому выглядит инородным телом.

Тем не менее, отличный пост-вброс! Автор мастерски использует приём с изложением в первой половине текста очевидных тезисов, чтобы затенить спорность тезисов, излагаемых во второй половине.

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

Абсурд! Я знаю, как работают некоторые вещи, отдельные вещи знаю отлично, но я не хочу понимать, как работает весь океан современных технологий.

Когда я пригоняю свой «тазик» на автосервис, я не хочу разбираться, чем отличается сход-развал от датчика кислорода. Я просто хочу, чтобы «тазик» после сервиса ездил лучше, чем до. Да, я «user» этого пепелаца, я выбрал этот путь осознанно. Я всего лишь хочу быстро и с комфортом добираться из пункта А в пункты Б, В и Г, и знать не хочу, какие технологии под капотом позволят мне это сделать. А ещё хочу прийти в магаз и просто расплатиться карточкой не задумываясь, как именно терминал будет устанавливать соединение с банком. И так со всем остальным. И это никак не мешает мне вникать в нюансы современной веб-разработки на рабочем месте.

Большинство людей — они вообще априори «юзеры» по жизни. И мы, как разработчики, можем только учитывать этот факт, но изменить его никогда не сможем. Просто-напросто такова природа homo sapiens. Всё. Точка.

Упомянули REST-сервис, на который падают ошибки для последующего анализа. Собственная разработка или готовое решение? Можно чуть подробнее?

Поддерживаю предыдущих докладчиков. Боб очень щепетильно относится к именованию, но с интерфейсами он малость перегнул. Правда, в том абзаце про имена интерфейсов он выражает мысль про нелюбовь к префиксам в такой форме, что становится ясно, что это его личное предпочтение, тем самым оставляя читателям право сделать собственный выбор.
Есть, несомненно, много неприкосновенных правил, которые нельзя нарушать в программировании, но использование префиксов для интерфейсов к ним не относится. Тут, я считаю, следует руководствоваться только личным удобством (и удобством коллег, конечно же).
Он самый. Глава 2 «Содержательные имена», пункт «Интерфейсы и реализации».
Мне «Чистый код» Дядюшки Боба нравится, например. Как раз сейчас у меня на рабочем столе лежит.
Отвечу сразу на несколько каментов выше.

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

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

«Код — это общение между людьми и инструкции для компьютера, но значительно больше первое, чем второе»,

которая, фактически, является перефразированной цитатой Кента Бека. Цель поста — в очередной раз привлечь внимание к злободневной проблеме. И попытка удалась, что тут скажешь. Скотт — красафчег!

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

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность