Гостья из будущего. Обзор книги Фелин Херманс "Ум программиста. Как понять и осмыслить любой код"

04.12.22

Сообщество - О жизни

Вспоминается... Готов есть оливье и вешать новогодние гирлянды в ноябре, лишь бы 2022 год поскорее закончился. Может быть, поэтому издательство «БХВ-Петербург» выпустило книгу, датированную 2023 годом, а может быть, для тех, кто планирует бюджет закупок заранее. Приятно, что хотя бы у кого-то есть такой горизонт планирования. Тех, кто хочет заглянуть в будущее, прошу под кат...

 

Три дня молчало ереванское радио
на четвертый диктор объявил:
Передача для глухонемых окончена.

©анекдот.ру

Великий Михаил Михайлович Жванецкий давал совет: Писать, так же как и писать, надо тогда, когда уже невтерпеж. Вот сейчас примерно такой случай. Давно не было обзоров на хорошие книги, да и я давненько не топтал клавиатуру.

Постановка вопроса:

Книги, трактаты и прочие наставления как оптимизировать труд программиста появляются с достаточной регулярностью со времен появления программирования как предмета. Из бестселлеров и действительно выдающихся изданий, можно выделить "Чистый Код" Роберта Мартина и "Совершенный код" Стива Макконнелла, другой подход к проблеме и не только программирования, "Думай медленно… Решай быстро" Даниэля Канемана. Эта тройка на мой взгляд несомненно обязательная к прочтению.
Казалось бы уже не добавить не убавить, но книга Фелин Херманс "Ум программиста. Как понять и осмыслить любой код" (в оригинале The Programmer's Brain: What every programmer needs to know about cognition [Hermans, Felienne] об этом еще поговорим ниже), действительно стоит особняком и стоит того, чтобы на нее потратить свое внимание и деньги (кто может внести ее в бюджет закупок 2023, поторопитесь).

Как минимум, прочтение этой книги даст вам однозначный и понятный ответ на вопрос о который сломано миллионы копий на профильных и непрофильных форумах: А почему это я(ты, он, она) закончил замечательные, расчудесные, лучшие в галактике (нужное подчеркнуть) курсы программирования, а сеньором(сеньоркой?) не стал(а)?
И да. Это не ответ: Хочешь стать сеньором программистом быстро - переезжай в Мексику.

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

Кто любит полную информацию из первых рук, а не пересказ, тот уже гуглит сайты издательства или книжные магазины. Остальные.

Приступим...

Об авторе: Доктор Фелина Херманс — доцент университета в Нидерландах, где читает лекции по методам обучения
программированию. Также она преподает в средней школе и является создателем языка программирования Hedy, предназначенного для детей. Возможно поэтому ее книга, хотя и является научным трудом, читается очень легко и приятно, как принято говорить - не оторваться. По крайней мере у меня она прошла запоем, почти с такой же скоростью как и "Снеговик" Ю Несбё.

Во всероссийском конкурсе по вежливости и изысканности слога
с большим отрывом победил петербургский интеллигент Апполон Митрофанович,
который просил у участников 10 рублей, чтобы опохмелиться

©анекдот.ру

Лирическое отступление: Обычно книги по программированию написаны шершавым суровым языком плаката. Эту написала женщина, да еще преподающая детям, поэтому стиль изложения совсем другой. Как мне показалось, значительную часть милоты добавила переводчица. Это похоже на "Приключения Буратино" или Винни-пуха, когда литературный перевод превосходит оригинал именно в душевности изложения.



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



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

"Confusion is part of programming"

 

академический перевод, Англо-русский словарь профессора В. К. Мюллера
confusing  путанный
confusion смущение, замешательство; неразбериха;

гугл дает перевод всей фразы жестче, но корректнее,


желающие могут в комментариях посоревноваться, в любом случае "замешательство" приятно уху и очень мило.
Видимо с легкой руки маркетологов русского издательства часть названия книги "What every programmer needs to know about cognition" превратилось в "Как понять и осмыслить любой код"

А с предложением "The bug seems to be caused by an off-by-one error" не справляется даже всемогущий гугл,



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

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

Как вам: 
60% времени программистов тратится на понимание кода, а не на его написание

а вот эту я бы включил в обязательную часть трудового договора:
Программы должны писаться для того, чтобы их читали люди, и лишь во вторую очередь для выполнения машиной
сформулирована она в 1996 году!

Три источника и три составных части...


 

не марксизма...

 


Весь материал книги опирается на деление памяти человека на рабочую, кратковременную и долговременную. Местами проскакивают упоминания о других, например иконической, но опирается автор на эти три.
Сравнивая весь мозг с системным блоком, долговременная память, сравнивается с жестким диском, на который записываются знания.
Кратковременная память, это ОЗУ, хранящая информацию, которая поступает на короткое время.
Рабочая память, это процессор обрабатывающий информацию, поступающую от долговременной и кратковременной памяти.
Мне больше симпатизирует модель Даниэля Канемана, про быстрое и медленное мышление, но раз система работает и помогает в обучении программированию, почему бы и нет.
Лирическое отступление: Возможности человеческого мозга, скорее всего на текущий момент изучены не более чем на 1% или меньше, иногда все они легко разбиваются об Аннушку, которая уже пролила масло... Поэтому, можно говорить о некоторой модели, работающей в ограниченном пространстве случаев и подходящей вам. Когда человечество считало Землю плоской, то оно вполне успешно пользовалось картами, путешествовало и совершало географические открытия, вписывающиеся в эту модель. А шаманов, которые не смогли ударом в бубен вызвать дождь, просто съедали и начинали пользоваться другими шаманами. Так же и здесь, если программистов проще сейчас учить считая, что у них вместо головы системный блок, можно принять это как данность. Мне, как недоделанному DBA, больше подошла бы метафора с индексированием информации.

Опираясь на три типа памяти, автор выделяет и три типа замешательства:

  • недостаток фундаментальных знаний
  • отсутствие важной информации в момент кодирования
  • и недостаток вычислительной мощности мозга.

Школьный учитель спрашивает учеников о профессии родителей.
- Тим, чем твоя мама занимается на работе?
Тим встает и гордо говорит:
- Она - доктор.
- Замечательно, ну как насчет тебя, Эмми?
Девочка стеснительно произносит:
- Мой папа разносит почту.
- Спасибо, Эмми, - говорит учитель. - Ну, а твои родители
что делают, Билл?
Билл гордо встает и объявляет:
- Мой папа играет музыку в борделе!
Обалдевший учитель решил направиться к Биллу домой.
- В каких условиях вы растите ребенка? - спрашивает он у отца.
Тот отвечает:
- Вообще-то я программист и специализируюсь на TCP/IP
коммуникационном протоколе в системе UNIX. Ну как объяснить
это семилетнему пацану?

©анекдот.ру

Недостаток знаний 

Кратковременная память (и выделенная автором в отдельную, рабочая память) по данным различных исследований способна запоминать в среднем 7±2 объекта, максимум 12 у особо одаренных людей.
Это касается не только программирования, а всего в окружающей нас действительности. Чтобы преодолеть это ограничение сознание действует несколькими путями: сопоставляет текущий предмет с хранящимися в воспоминаниях (иногда это играет плохую шутку) и/или объединяет предметы в коллекции, в психологии называемые чанками.
Оба этих пути опираются на использование долговременной памяти, иными словами, багажа знаний.
Именно поэтому выпускник 1-3-6 месячных курсов, никогда не обойдет работающего программиста, если...
Техническое отступление: Классический пример из книги. Когда шахматистам различного уровня давали задание запомнить расстановку фигур на доске, то гроссмейстеры справлялись с этой задачей лучше новичков, потому, что их метод был не линейное запоминание по позициям, а что-то вроде сицилианская защита и слон левее на две клетки, это позволяло на порядок больше запомнить информации... но только до тех пор, пока фигуры не начинали расставляться в хаотическом порядке. Там никакого преимущества в опыте не наблюдалось. Мораль на поверхности: в общем бардаке сеньоры и джуниоры кодируют с одинаковой скоростью, а при четко выстроенном процессе опытные программисты продуктивнее на порядок.
Рекомендации автора не новы. Учить синтаксис наизусть, знать паттерны проектирования и концепции предметной области.
А вот методы представляют интерес.
Синтаксис предлагается учить с помощью карточек по типу изучения иностранных слов.
Достаточно подробно рассмотрена кривая забывания



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



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

Ограничения кратковременной и рабочей памяти.

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


Ключевое слово тут рефакторинг.
Чем яснее будет код, тем легче его будет обрабатывать. Ничего необычного.
Создание графа зависимостей, чтобы понять фрагмент сложного кода или таблицы состояний, в которую записываются промежуточные значения переменных, с этим я не встречался в чистом виде, современные IDE с этим отлично помогают, но порисовать на бумаге блок-схемы или записать что-то на память, это никогда не помешает. Наверняка есть и более технологичные методы вроде MindManager.

Тем кто при слове рефакторинг скорчил мину, что все это уже сказано-пересказано, небольшой тестовый вопрос: Есть переменные счетчики, есть константы, есть переменная бродяга(!). А сколько всего ролей переменных вы знаете?
Ответ я уберу под кат

 

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

Какие когнитивные способности указывают на склонность к программированию? Попробуйте угадать.

 

Способность к количественному мышлению — знания и навыки, необходимые для математики, — указывала на способности к программированию всего лишь у 2% участников теста.
Языковые способности дали результат чуть лучше— 17%.
Лучше всего себя показали рабочая память и логическое мышление — 34% участников.

Стратегии, использующиеся для углубленного понимания текстов на естественном языке, например визуализация и резюмирование, могут использоваться для углубленного понимания кода.

К делающему уроки сыну подходит отец, гладит сына по голове:
- Старайся, сынок, крючки пиши аккуратнее.
- Это не крючки, папа! Это интегралы!

©анекдот.ру


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

В целом середина книги получилась несколько замудренной для человека, который уже ни Бойля, ни Мариотта, в лицо не представляет.
Оцените фразу: Трансференция автоматизированных умений отличается от трансференции умений,
которые были получены осознанно
и все поймете.
Суть главы том, что не все знания полученные в прошлом помогают нам в изучении нового, иногда, иногда они могут вызывать заблуждение.
Конечно же нашелся исследователь, Юха Сорва (Juha Sorva), доцент Университета Аалто в Финляндии, который все заблуждения  начинающих программистов посчитал (насчитав 162 заблуждения) и написал конечно же диссертацию.

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


Продравшись сквозь дебри ментальных моделей выходим на солнечную поляну размышлений об именовании функций и запахе кода.



Запах кода (в подцензурном варианте: код с душком, а в неподцензуроном ...) ... вокруг него как мухи вьются различные исследователи.
Уж сколько раз твердили миру... Имена — это самая удобная форма документации, понятные имена лучше закрепляются
в долговременной памяти, в коде с некачественными именами больше ошибок.
Очень подробно разбираются идеи Мартина Фаулера (Martin Fowler) из его широко известной в узкихз кругах книги "Рефакторинг: улучшение проекта существующего кода"

Тем, кому кажется это простым вопросом. Профессор компьютерных наук Дрор Фейтельсон (Dror Feitelson), провел исследование для того, чтобы понять, насколько сложно придумать простое и понятное имя. Для 47 элементов, (т. е. переменных, функций и параметров), вероятность того, что два человека присвоят одно и то же имя, составила только 7%.
Лирическое отступление: Впрочем, возможно, дело в месте проведения: Еврейском университете в Иерусалиме. Как известно, сколько евреев, столько и мнений.

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

Завидую количеству свободного времени у людей (или количеству денег у тех, кто им выделяет гранты), которые считают в каком языке программирования, какая однобуквенная переменная встречается чаще.



Зато, как бальзам на душу 1С-ников. Вероятность выбора правильного варианта имени, написанного верблюжьим
регистром, была выше на 51,5%, чем змеиным.(Цена такой точности — скорость. Участником требовалось на полсекунды больше, чтобы найти имена элементов, написанные верблюжьим регистром.)
Желающие удивить коллег познаниями, упомяните в курилке, трехступенчатую модель Фейтельсона для хороших имен переменных.

Далее следует раздел

Как решать задачи
Все просто(читать голосом Алексея Булдакова):


 

  • Поймите задачу
  • Составьте план
  • Выполните план

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



Рекомендации - Первое, довести свои действия до автоматизма, ничем другим кроме повторения этого не добиться.
"Нужно активно повторять новую информацию до тех пор, пока вы не запомните ее и у вас не сложатся ассоциации", советует автор. "Например, вы видите открывающую скобку и нервничаете, если не видите закрывающую скобку. Вы понимаете, что лучше писать сразу обе скобки — так вы точно не забудете закрывающую скобку. Говоря другими словами, эффективные действия быстро запомнятся, а неэффективные действия будут забыты."
Лирическое отступление: Можно позавидовать оптимизму Фелины. Быстро запомнятся действия выполняемые с наименьшими трудозатратами, но не обязательно эффективные. А переучиваться будет сложнее.

А второе, это учиться на примерах. Здесь и парное программирование и изучение кодовой базы GitHub (Значит гуглить все таки можно :)

Завершают книгу главы посвященные совместной работе над кодом.

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

  • Поиск, время, когда вы читаете и выполняете код
  • Осмысление, похожа на предыдущую, но в этом случае вы еще разбираетесь, что код делает, по ходу чтения
  • Переписывание
  • Наращивание, эти две активности, собственно кодирование и улучшение кода
  • Исследование, это погружение в предметную область

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


Вишенка на торте, автор снова возвращается к теме отвлечения программистов.

Надеюсь, что ваш начальник не дочитает книгу до этого места, потому что там сказано, что около 20% всего рабочего времени программист отвлекается. 
Приняв это как неизбежное зло, можно пробовать уменьшить отрицательный эффект определив как сохраниться при отвлечении и в какой момент можно это делать.
Попутно автор рекламирует устройство FlowLight, которое отслеживает скорость набора на клавиатуре и/или щелчки мышью и определяет, насколько глубоко программист погружен в задачу.



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

В заключительной, 13 главе, рассмотрены проблемы адаптации новичков, опираясь на концепцию Пиаже о развитии детей.
Лирическое отступление: Программисты, они же как дети малые :) глава занятная, прочитайте ее полностью, и оцените, кто из ваших коллег на каком этапе развития остановился.
Этапы я перечислю

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

На экскурсии
— Почему площадь именно Красной называется?
— Видите ли, это очень древняя история. Когда в 1147 году первые жители тогда еще маленького...
— А покороче нельзя?
— Именно поэтому она и называется Красной!

©анекдот.ру


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

Впереди время подарков, потом неделя каникул, пуркуа бы и не па?

Ведь книга - это отличный подарок


 

Картинки взяты с англоязычного сайта книги и открытых источников, анекдоты из головы.
Большое спасибо издательству «БХВ-Петербург» за перевод такой классной книги и конечно Доктору Фелине Херманс.


Любезнейше прошу извинить, если получилось сбивчиво.
Дело для нас новое, неосвоенное...



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



Всем добра и здоровья.
Приезжайте в Питер :)


См. также

О жизни Россия Бесплатно (free)

Данная статья сугубо для раздела «О жизни», но может оказаться полезна многим членам сообщества. Все описанное ниже соответствует актуальному российскому законодательству на момент публикации статьи. У вас нет и в ближайшее время не предвидится детей возрастом до 1.5 лет? Вспомните о родственниках / друзьях / коллегах / знакомых, у которых они есть, и отправьте ссылку на эту статью — она может быть им чрезвычайно полезна. Распространите среди жильцов вашего ЖЭКа, как говорилось в одном классическом произведении. Помните, что, ставя плюсы к статье, вы поддерживаете её автора!

01.07.2024    5201    madonov    47    

51

О жизни Linux Системный администратор Программист Платформа 1С v8.3 Россия Бесплатно (free)

Использование Linux в качестве основной ОС для программиста 1С, возможно ли это? Решил поделиться личным опытом работы перехода на эту систему. В статье моя история без технических деталей максимально простым языком. И, спойлер, да, жизнь на Линуксе для разработчика 1С возможна и с каждым годом становится всё комфортней. Статья рассчитана на людей, с Линуксом не знакомых, специалистов прошу не кидаться помидорами.

16.05.2024    5570    soulner    33    

45

О жизни Россия Бесплатно (free)

Подводим итоги работы в 1С за 2023 год. Все о вас: 4 подробных раздела с цифрами, графиками и ужасными цветами диаграмм (должна же где-то быть стабильность).

08.02.2024    27750    Neti    85    

121

О жизни Бесплатно (free)

В процессе написания статей на тему Идеальное место работы ЗУПера нужен аргументированный текст про адекватного работодателя. Информации получилось много, поэтому выделю в отдельные 2 статьи. Рассмотрим все недостатки работодателей от момента собеседования до момента увольнения. Все этапы, как всегда, подкреплены реальными случаями из моего опыта.

22.01.2024    5438    biimmap    67    

76

О жизни Конфигурации 1cv8 Бесплатно (free)

В процессе написания статей на тему Идеальное место работы ЗУПера нужен аргументированный текст про адекватного работодателя. Информации получилось много, поэтому выделю в отдельные 2 статьи. Рассмотрим все недостатки работодателей от момента собеседования до момента увольнения. Все этапы, как всегда, подкреплены реальными случаями из моего опыта.

16.01.2024    7067    biimmap    100    

79

О жизни Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Бесплатно (free)

Импортозамещение увеличило потребность в архитекторах, аналитиках, разработчиках 1С, в т.ч. по ЗУП. Все их ищут всеми возможными способами, но не могут найти и не знают, чем же их завлечь к себе!? Давайте разберёмся в этом вопросе!

27.11.2023    5672    biimmap    52    

74

О жизни Сообщество Бесплатно (free)

Прочитав название публикации, мысль возникает о свадьбе... Но речь не об этом!

25.08.2023    3163    biimmap    24    

51
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. scientes 295 04.12.22 21:56 Сейчас в теме

Способность к количественному мышлению — знания и навыки, необходимые для математики

Как, интересно, проверялась способность к количественному мышлению ? Когда исследуемый выполняет перемножение столбиком - это количественное мышление или применение алгоритма. Если вас просят найти сумму нечетных чисел от 1 до 100 - это вопрос на количественное или логическое мышление ? Мне всегда казалось, что математика ближе к программированию , чем языковые способности.
2. capitan 2507 05.12.22 09:45 Сейчас в теме
(1)
Это видимо если считать логику подразделом математики
3. graphbuh 259 05.12.22 11:14 Сейчас в теме
Да, год очень непростой и тем радостнее видеть вашу публикацию. Не всегда есть время почитать новые книги, поэтому записки ветеринарного врача от 1С в переводе правильного человека, в наше время могут окончательно превратить переводчика в медийную личность.
4. capitan 2507 05.12.22 11:23 Сейчас в теме
(3)
записки ветеринарного врача от 1С в переводе правильного человека
недопонял
А за добрые слова спасибо
Если доверять математике, то ближайший простой год - 2027, так что держитесь)
mvxyz; Altez50; +2 Ответить
5. maksa2005 550 05.12.22 12:54 Сейчас в теме
Спасибо за картинки, гугл мне помог)
7. capitan 2507 05.12.22 14:32 Сейчас в теме
6. scientes 295 05.12.22 14:00 Сейчас в теме

Способность к количественному мышлению — знания и навыки, необходимые для математики, — указывала на способности к программированию всего лишь у 2% участников теста.
Языковые способности дали результат чуть лучше— 17%.
Лучше всего себя показали рабочая память и логическое мышление — 34% участников.

Исходя из этой иерархи, подготовил короткий тест на программиста.

1. Устно найти произведение 777*333.
2. Как будет по итальянски отец и мать.
3. Чему равна сумма нечетных чисел от 1 до 100.
8. capitan 2507 05.12.22 14:35 Сейчас в теме
(6)На логику надо полагать второй вопрос?
9. scientes 295 05.12.22 15:27 Сейчас в теме
(8) Да, и на логику, тоже.
10. capitan 2507 05.12.22 16:21 Сейчас в теме
(9)Родитель №1 и родитель №2 ?
11. scientes 295 05.12.22 16:51 Сейчас в теме
(10) Вариант любопытный, мой правильный ответ - padre и madre.
12. SergeyTerentyev 09.12.22 11:00 Сейчас в теме
Жванецкий. Великий? Однако.
13. capitan 2507 09.12.22 14:11 Сейчас в теме
14. пользователь 09.12.22 23:07
Сообщение было скрыто модератором.
...
19. Painted 49 13.12.22 15:58 Сейчас в теме
(13) Ну, например приведенная фраза Жванецкого - это перефразировка Толстого. Причем без ссылки на первоисточник. А плагиат не признак величия. Имхо, конечно.
«Если уж писать, то только тогда, когда не можешь не писать» - это оригинал
20. capitan 2507 13.12.22 16:40 Сейчас в теме
(19)
Имхо
это совершенно разные фразы
В этом и суть юмора, когда одно слово меняет смысл всего предложения
15. Cерый 26 11.12.22 15:21 Сейчас в теме
Хорошая тема, ожидал увидеть больше конкретики Вашего Авторского опыта.
Мне требуется в течении 2-3 часов делать 10-минутные перерывы, курение/кофе, появляется, скажем, резерв осмысления.

Программисту, чтобы сложить 2 и 2, требуется:
- данные о типах величин;
- данные об операциях сложения, определенных на типах;
- данные о приведении типов ...
16. capitan 2507 11.12.22 18:40 Сейчас в теме
(15)Скажу больше, есть вопросы на которые только программист даст ответ
Например, чему равно 2+2=4
17. alex_sayan 51 11.12.22 19:37 Сейчас в теме
Код получается невнятным прежде всего потому, что автор кода клал болт на других. Автору его собственный код понятен, компилятор код принимает, а дальше хоть трава не расти
Cерый; +1 Ответить
18. capitan 2507 12.12.22 10:45 Сейчас в теме
(17)На 99% согласен, но 1% это просто общая культура программирования, которой как и всему остальному надо учиться
В том числе и по книгам
21. пользователь 16.12.22 08:29
Сообщение было скрыто модератором.
...
22. scientes 295 16.12.22 10:52 Сейчас в теме
Судя по этой статье https://habr.com/ru/post/704798, ум программиста останется в прошлом. После того, как уйдут представители доинтернетного образования, программировать сможет только искусственный интеллект.
23. capitan 2507 16.12.22 11:15 Сейчас в теме
(22)Вспоминается...
Компьютер никогда не заменит человека, пока не научится смеяться над шутками начальника и сваливать вину за свои косяки на другой компьютер.
А если серьезно, прочитайте любой интернет-срач по поводу IDE и что тру кодеры кодируют в блокноте
Та же история в этой статье, если можно упростить работу, надо ее упрощать, ничего в этом нет страшного
24. scientes 295 16.12.22 11:44 Сейчас в теме
(23) Смысл статьи, как мне кажется в том, что нельзя до бесконечности упрощать работу мозга. Если его не нагружать он деградирует. Взлет советской науки был обеспечен тем, что через институтское образование прошла огромная масса сельской молодежи с натренированным через ежедневный крестьянский труд мозгом.
25. capitan 2507 16.12.22 12:07 Сейчас в теме
(24)
через ежедневный крестьянский труд мозгом
?
Взлет советской науки был обеспечен тем что ей уделялось должное внимание и был стимул учиться, это был социальный лифт, а инженер был весьма уважаемым человеком
Что касается мозга, мы не знаем и 1% его возможностей
Оставьте свое сообщение