Прошу прощения, я действительно невнимательно прочитал статью.
Мне показалось, что на примере циклов вы показываете, что знающие алгебру люди будут лучшими программистами, чем незнающие её. Что математик напишет лучший код.
Перечитав этот момент, я увидел, что о лучшем коде ничего не говорится. Говорится лишь о том, что научившийся сокращать уравнения будет так же сокращать и код, без оглядки на то, а нужно ли вообще это делать.
Это код для иллюстрации применения циклов с целью указать компьютеру повторить какое-то однообразное действие. Свою задачу он выполняет отлично.
Вот именно. Это еще один бесполезный синтетический пример из серии «давайте писать циклы, чтобы писать циклы».
В реальной жизни приходит человек и начинает городить всевозможные абстракции не потому, что это требуется для решения задачи, а потому, что он их знает. А о том, что код должен быть в первую очередь простым и понятным для чтения, а так же удобным для изменения, он не задумывается. И потом, когда требования изменились, весь его код выбрасывают, и пишут заново.
Так то и корни квадратного уравнения искать нужно в первую очередь для тренировки определенных навыков. И исследования на эту тему наверняка есть.
И вот именно это должно быть вашим основным аргументом в статье. Со списком ссылок на исследования.
А то когда в комментариях задают вопрос «зачем оно мне нужно в реальной жизни», а в ответ на полном серьезе «чтобы диаметр кастрюли изменить по её объему», то кроме фейспалма это ничего не вызывает. Давайте учиться 15 лет, чтобы мерить кастрюли.
Есть множество хороших примеров. К примеру, когда я делал игру, мне пригодилась математика. В основном, для рассчета координат на гексагональном поле. Но вы и тут вместо этого приводите какой-то тупой пример. Нет, для того, чтобы написать цикл, не нужно уметь упрощать уравнения.
Если уж вы хотите выступить в защиту математики, то делайте это качественно. А то вот сейчас я прочитал статью и единственный вывод, который из нее можно сделать, это то, что алгебра нужна только для того, чтобы потом преподавать алгебру следующим поколениям.
Мда, вот уж хороший пример, как математики пишут код. Этим циклом вы ухудшили читаемость, а так же снизили гибкость кода.
Что вы будете делать, когда завтра вам потребуется, чтобы вместо "глава 1" выводилась строчка "глава первая"? А если понадобится вывести "глава о царе и сундуке"?
Вы когда в тренажерный зал приходите и вам дают упражнение "присесть с грифом 3 подхода по 10 раз", вы тоже спрашиваете "где мне в жизни пригодится приседать с грифом"?
Вопрос был задан не мне, но я отвечу.
Да, я это спрашиваю. Я хожу в зал не чтобы ходить в зал, а потому что это позволит достичь той или иной цели. И перед тем, как начать делать новое упражнение, я просматриваю исследования по нему. Если оно мне бесполезно, зачем мне тратить на него время?
Я вот тоже не понимаю, почему в торговом центре арендовать павильон будет стоить сотни тысяч в месяц, ведь в каком-нибудь подвале столько же кв. метров будет стоить пару десятков тысяч. Совершенно ненормальная ситуация.
Хотел заплатить и поиграть часок — не смог. Разные популярные в России способы, вроде киви и яндекс денег, не поддерживаете, виртуальной картой от киви тоже не получилось, а вводить всю информацию от реальной банковской карты, в том числе CVC-код, неизвестно куда, для разовой покупки — так себе идея, перевыпускать потом придется.
Попрактиковаться, плавно и ненавязчиво, с перекладыванием полностью или частично ещё и обязанностей аналитиков на разработчиков — хорошая идея?
Где я это сказал?
Но я вам отвечу на этот вопрос. Команда, в которой каждый человек примерно понимает, что происходит у других, работает более эффективно. Если начинается «это не мои обязанности», то мы получаем трения на границах обязанностей: между фронтом и беком, между беком и базой данных, между разработкой и бизнесом, etc. К примеру, дизайнер, который понимает верстку, дизайнит качественней, чем тот, кто ни разу не верстал.
Я для себя вывел такое эмпирическое правило:
1. Если вас на беке пара человек — пишите монолит и не гонитесь за модой в девопсе. Уже на десятке микросервисов вы утонете.
2. Если вас тридцать человек — никаких монолитов, вы в нём запутаетесь.
Т.е. проблема по сути одна и та же, только поворачивается разными углами — проблема взаимодействия. Когда один разраб пишет несколько микросервисов — у него всё время будет уходить на их взаимодействие между собой, а не на бизнес-логику. Когда толпа разрабов пишет один код — у них будут проблемы во взаимодействии друг с другом.
Это очень специфические продукты, в которых нужно иметь возможность менять бд щелчком пальцев.
Для чего вообще может потребоваться менять бд? Либо если текущая перестала поддерживаться, либо если конкуренты сделали прорыв в производительности. Чтобы избежать первого, нужно использовать популярную надёжную бд, вроде постгреса. Второе, по моему, просто невозможно в реляционных бд — они уже полвека пилятся, всё что можно было действительно сильно оптимизировать в движке — уже оптимизировали.
Если просто запомнит — нет, не станет. В сущности, ничего не изменится — к примеру, раньше он верил в Бога, сейчас стал верить в рациональность.
Но если он будет ежедневно работать над собой, раз за разом находить недочеты в своих мыслях и действиях, а затем методично исправлять их, то да, он станет радикально лучше.
Проблема в том, что у нас есть школы бокса, в которых ты будешь практиковать удары, тысячи, десятки тысяч раз, но нет школ рациональности. Есть лишь несколько книг и статей, которые люди читают и идут дальше по своим делам.
Это если ваша цель — преодолеть 10к км. Но если цель — остаться живым, то тут начинают возникать вопросы относительно методологии подсчетов.
К примеру, как можно доверять статистике по километрам, если она говорит, что опасность полета в 1400 км в два раза больше полета в 700 км, хотя фактически разницы между ними практически нет?
Или о том, что не смотря на все мировые усилия в конструировании самолетов и подготовке пилотов, они всё равно разбиваются. Потому что если авария случится — не спасет ничего. Тогда как при езде не выше 90 км/ч, практически невозможно врезаться во что-то так, чтобы умереть или просто что-то себе сломать (если машина нормальная, разумеется). Разве что прямиком в бетонную стену под углом в 90 градусов. Или на встречку выехать. Помню, как-то раз на платной дороге меня резко увело вбок, в ограждение — лопнуло колесо. Весь перед всмятку, рама порвалась как бумага, но на мне ни царапины. Так что я даже не представляю, каким надо быть лихачом, чтобы помереть в аварии. 180+ ехать?
Да как бы, если мне лететь 10к километров, меня не утешит то, что я безопасно пролечу 9999 км, и подорвусь на последнем. Учитывая, что практически все авиакатастрофы происходят либо на взлете, либо при посадке, совершенно плевать, сколько километров будет между этими двумя точками. Поэтому считать надо не в пересчете на бесполезные километры, а на количество поездок.
С машинами, тут да, все аварии происходят в пути, поэтому считать по километрам оправданно. Но как потом сравнить эти два транспорта — непонятно. Особенно если учесть, что подавляющее большинство смертельных исходов за рулем — когда водитель сам себе злобный буратино. Статистика с адекватными водителями должна быть намного меньше.
Возможно, я что-то не до конца понял, но мне кажется, что вы, автор, не правы.
Человек — социальный зверь. В одиночку он жить не сможет. Тем более сейчас, в эпоху глобализации. Я вот не могу припомнить ни одного примера, когда кто-то взял, и сам создал, как вы выражаетесь «собственную реальность». Не считая древних философов. Все современные достижения строятся по одному и тому же принципу — схожему с принципом рычага — взять существующую систему, включающую в себя усилия миллионов людей, и обернуть её мощь себе на пользу.
И это касается не только бизнеса. Взять, к примеру, науку. Много ли ученых изобретают свои реальности? Подавляющее большинство занимается изучением существующей, опираясь на труды многих поколений своих предшественников.
Другое дело, что умение мыслить проектно — это вторая ступень. Первая — мыслить системно, получить фундаментальные знания, чтобы проектному мышлению было на что опираться.
Но всё выше — это пространные рассуждения. Есть конкретная цитата, с которой я аргументированно не согласен:
Если человек обучился в проектном подходе, то он постоянно будет искать варианты встроиться в какую-нибудь реальность и делать в ней проект, он сделает этот проект, но реальность изменится, проект окажется бесполезным, он встроится в новый проект, и так до бесконечности. Большинство проектов устаревают, пока их делают. И конечно деньги. В рамках такого подхода много не заработаешь. Просто обычную зарплату проджект-менеджера или инновационного предпринимателя.
На практике это не подтверждается. Проектное мышление — кровь и плоть любого стартапа. Алгоритм незатейлив: найти неэффективность в существующей системе, создать решение, проверить его на практике, забрать деньги или забросить идею как бесполезную, найти новую неэффективность.
В отличии от автора статьи, я считаю, что проблема не в боязни начать, а в стремлении мозгом избежать нагрузки. Сила воли, если позволите мне эту формулировку, конечна. Если у вас тяжелый день или месяц, то ваши ресурсы истощены еще до того, как вы сели за задачу. Никаким just do it, никакой заменой слов «мне надо» на «я хочу» вы не добьетесь ничего.
Нужно восстановить ментальные ресурсы.
Во-первых, они восстанавливаются во время сна. А значит, самые важные вещи нужно делать сразу после того, как проснетесь — еще до того, как позавтракаете и почистите зубы. А всю рутину распределять в течении дня — ближе к вечеру самые бесполезные задачи. Если есть возможность — поспать минут 20-40 в середине дня.
Во-вторых, быстрые углеводы. Под вечер, когда уже совсем истощен, можно съесть что-нибудь сладкое — это даст полчаса, за которые нужно успеть что-то сделать. Но не переусердствовать — см следующий пункт.
В-третьих, не расшатывать свою нервную систему и систему вознаграждений. Если живешь ровно в эмоциональном плане — все хорошо. Если каждый час ешь по сладкой булочке, или выкуриваешь сигарету, или смотришь порно, или еще что-то в этом роде, начинаются, что называется, дофаминовые горки. Человека колбасит туда-сюда, и система вознаграждений не работает как надо. К примеру, не получаешь удовлетворения от законченного дела.
В-четвертых, нужна регулярная физическая активность, она в некоторой степени нормализует психологическое состояние, сложнее упасть в депрессию, и вообще настроение становится умеренно-положительным. Очень хорошо идет поднимание тяжестей. Если сложно ходить в зал — можно хотя бы отжиматься дома время от времени. Ни в коем случае не переусердствовать — пару раз в неделю максимум, иначе наоборот, будешь разбитым ходить. Не получается совсем ничего — тогда хотя бы ходить по вечерам вокруг дома, или в отдаленный магазин за хлебом регулярно.
В-пятых, время от времени бездельничать по полной программе. Выбрать один выходной день в неделю, когда осознанно решаешь не делать вообще ничего — ни по работе, ни по дому. Хоть на диване весь день лежать, если хочется.
Мне показалось, что на примере циклов вы показываете, что знающие алгебру люди будут лучшими программистами, чем незнающие её. Что математик напишет лучший код.
Перечитав этот момент, я увидел, что о лучшем коде ничего не говорится. Говорится лишь о том, что научившийся сокращать уравнения будет так же сокращать и код, без оглядки на то, а нужно ли вообще это делать.
В реальной жизни приходит человек и начинает городить всевозможные абстракции не потому, что это требуется для решения задачи, а потому, что он их знает. А о том, что код должен быть в первую очередь простым и понятным для чтения, а так же удобным для изменения, он не задумывается. И потом, когда требования изменились, весь его код выбрасывают, и пишут заново.
А то когда в комментариях задают вопрос «зачем оно мне нужно в реальной жизни», а в ответ на полном серьезе «чтобы диаметр кастрюли изменить по её объему», то кроме фейспалма это ничего не вызывает. Давайте учиться 15 лет, чтобы мерить кастрюли.
Есть множество хороших примеров. К примеру, когда я делал игру, мне пригодилась математика. В основном, для рассчета координат на гексагональном поле. Но вы и тут вместо этого приводите какой-то тупой пример. Нет, для того, чтобы написать цикл, не нужно уметь упрощать уравнения.
Если уж вы хотите выступить в защиту математики, то делайте это качественно. А то вот сейчас я прочитал статью и единственный вывод, который из нее можно сделать, это то, что алгебра нужна только для того, чтобы потом преподавать алгебру следующим поколениям.
Мда, вот уж хороший пример, как математики пишут код. Этим циклом вы ухудшили читаемость, а так же снизили гибкость кода.
Что вы будете делать, когда завтра вам потребуется, чтобы вместо "глава 1" выводилась строчка "глава первая"? А если понадобится вывести "глава о царе и сундуке"?
Вопрос был задан не мне, но я отвечу.
Да, я это спрашиваю. Я хожу в зал не чтобы ходить в зал, а потому что это позволит достичь той или иной цели. И перед тем, как начать делать новое упражнение, я просматриваю исследования по нему. Если оно мне бесполезно, зачем мне тратить на него время?
В каких случаях шахматы не являются игрой с нулевой суммой?
Но я вам отвечу на этот вопрос. Команда, в которой каждый человек примерно понимает, что происходит у других, работает более эффективно. Если начинается «это не мои обязанности», то мы получаем трения на границах обязанностей: между фронтом и беком, между беком и базой данных, между разработкой и бизнесом, etc. К примеру, дизайнер, который понимает верстку, дизайнит качественней, чем тот, кто ни разу не верстал.
О, такое уже давно практикуется. "У меня есть идея. Сделайте мне игру/социальную сеть. Прибыль пополам".
1. Если вас на беке пара человек — пишите монолит и не гонитесь за модой в девопсе. Уже на десятке микросервисов вы утонете.
2. Если вас тридцать человек — никаких монолитов, вы в нём запутаетесь.
Т.е. проблема по сути одна и та же, только поворачивается разными углами — проблема взаимодействия. Когда один разраб пишет несколько микросервисов — у него всё время будет уходить на их взаимодействие между собой, а не на бизнес-логику. Когда толпа разрабов пишет один код — у них будут проблемы во взаимодействии друг с другом.
Это очень специфические продукты, в которых нужно иметь возможность менять бд щелчком пальцев.
Для чего вообще может потребоваться менять бд? Либо если текущая перестала поддерживаться, либо если конкуренты сделали прорыв в производительности. Чтобы избежать первого, нужно использовать популярную надёжную бд, вроде постгреса. Второе, по моему, просто невозможно в реляционных бд — они уже полвека пилятся, всё что можно было действительно сильно оптимизировать в движке — уже оптимизировали.
Но если он будет ежедневно работать над собой, раз за разом находить недочеты в своих мыслях и действиях, а затем методично исправлять их, то да, он станет радикально лучше.
Проблема в том, что у нас есть школы бокса, в которых ты будешь практиковать удары, тысячи, десятки тысяч раз, но нет школ рациональности. Есть лишь несколько книг и статей, которые люди читают и идут дальше по своим делам.
К примеру, как можно доверять статистике по километрам, если она говорит, что опасность полета в 1400 км в два раза больше полета в 700 км, хотя фактически разницы между ними практически нет?
Или о том, что не смотря на все мировые усилия в конструировании самолетов и подготовке пилотов, они всё равно разбиваются. Потому что если авария случится — не спасет ничего. Тогда как при езде не выше 90 км/ч, практически невозможно врезаться во что-то так, чтобы умереть или просто что-то себе сломать (если машина нормальная, разумеется). Разве что прямиком в бетонную стену под углом в 90 градусов. Или на встречку выехать. Помню, как-то раз на платной дороге меня резко увело вбок, в ограждение — лопнуло колесо. Весь перед всмятку, рама порвалась как бумага, но на мне ни царапины. Так что я даже не представляю, каким надо быть лихачом, чтобы помереть в аварии. 180+ ехать?
С машинами, тут да, все аварии происходят в пути, поэтому считать по километрам оправданно. Но как потом сравнить эти два транспорта — непонятно. Особенно если учесть, что подавляющее большинство смертельных исходов за рулем — когда водитель сам себе злобный буратино. Статистика с адекватными водителями должна быть намного меньше.
Человек — социальный зверь. В одиночку он жить не сможет. Тем более сейчас, в эпоху глобализации. Я вот не могу припомнить ни одного примера, когда кто-то взял, и сам создал, как вы выражаетесь «собственную реальность». Не считая древних философов. Все современные достижения строятся по одному и тому же принципу — схожему с принципом рычага — взять существующую систему, включающую в себя усилия миллионов людей, и обернуть её мощь себе на пользу.
И это касается не только бизнеса. Взять, к примеру, науку. Много ли ученых изобретают свои реальности? Подавляющее большинство занимается изучением существующей, опираясь на труды многих поколений своих предшественников.
Другое дело, что умение мыслить проектно — это вторая ступень. Первая — мыслить системно, получить фундаментальные знания, чтобы проектному мышлению было на что опираться.
Но всё выше — это пространные рассуждения. Есть конкретная цитата, с которой я аргументированно не согласен:
На практике это не подтверждается. Проектное мышление — кровь и плоть любого стартапа. Алгоритм незатейлив: найти неэффективность в существующей системе, создать решение, проверить его на практике, забрать деньги или забросить идею как бесполезную, найти новую неэффективность.
В отличии от автора статьи, я считаю, что проблема не в боязни начать, а в стремлении мозгом избежать нагрузки. Сила воли, если позволите мне эту формулировку, конечна. Если у вас тяжелый день или месяц, то ваши ресурсы истощены еще до того, как вы сели за задачу. Никаким just do it, никакой заменой слов «мне надо» на «я хочу» вы не добьетесь ничего.
Нужно восстановить ментальные ресурсы.
Во-первых, они восстанавливаются во время сна. А значит, самые важные вещи нужно делать сразу после того, как проснетесь — еще до того, как позавтракаете и почистите зубы. А всю рутину распределять в течении дня — ближе к вечеру самые бесполезные задачи. Если есть возможность — поспать минут 20-40 в середине дня.
Во-вторых, быстрые углеводы. Под вечер, когда уже совсем истощен, можно съесть что-нибудь сладкое — это даст полчаса, за которые нужно успеть что-то сделать. Но не переусердствовать — см следующий пункт.
В-третьих, не расшатывать свою нервную систему и систему вознаграждений. Если живешь ровно в эмоциональном плане — все хорошо. Если каждый час ешь по сладкой булочке, или выкуриваешь сигарету, или смотришь порно, или еще что-то в этом роде, начинаются, что называется, дофаминовые горки. Человека колбасит туда-сюда, и система вознаграждений не работает как надо. К примеру, не получаешь удовлетворения от законченного дела.
В-четвертых, нужна регулярная физическая активность, она в некоторой степени нормализует психологическое состояние, сложнее упасть в депрессию, и вообще настроение становится умеренно-положительным. Очень хорошо идет поднимание тяжестей. Если сложно ходить в зал — можно хотя бы отжиматься дома время от времени. Ни в коем случае не переусердствовать — пару раз в неделю максимум, иначе наоборот, будешь разбитым ходить. Не получается совсем ничего — тогда хотя бы ходить по вечерам вокруг дома, или в отдаленный магазин за хлебом регулярно.
В-пятых, время от времени бездельничать по полной программе. Выбрать один выходной день в неделю, когда осознанно решаешь не делать вообще ничего — ни по работе, ни по дому. Хоть на диване весь день лежать, если хочется.
https://youtu.be/nia-63m8XG4