Комментарии 20
Программирование и правда приводит мысли в порядок, хотя не скажу, что прямо все мои знакомые разработчики являются образцами красноречия. Скорее они менее склонны к бессмысленным обсуждениям, чем многие знакомые «гуманитарии» — но это может быть уже профессиональной особенностью, все-таки им по долгу службы больше надо делать, а не разговаривать
+14
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
16 лет. 2*(x-(24-x))=x.
+2
Кстати, можно в цикле посчитать:
M=24
А=x
Щаг 1
M-1=23
A=x-1
Так как второй аргумент в А не половинка от М то увеличим шаг, ( пропустим шаги цикла )
M-5=18
A=x-6
Опять не половинка :(
M-2=16
A=x-8
16/8=2
Соответственно ответ: 16
M=24
А=x
Щаг 1
M-1=23
A=x-1
Так как второй аргумент в А не половинка от М то увеличим шаг, ( пропустим шаги цикла )
M-5=18
A=x-6
Опять не половинка :(
M-2=16
A=x-8
16/8=2
Соответственно ответ: 16
+2
Например, в Lisp есть несколько необычных выражений («cons», «sexp», «car», «cdr»), не имеющих аналогов в других языках.
Серьезно?
+2
-Маша была в два раза старше Ани, когда Маше было столько лет, сколько сейчас Ане. Если Маше сейчас 24, то сколько лет Ане?
Вот только в английском языке слово «Маша» «Маши» «Машу» будет в одном слове «Masha». И «Аня» «Аню» «Ане» — тоже. Поэтому построить такой алгоритм для английского языка было бы заметно проще)) уверен, наши учителя по информатике обязательно придрались бы к таким моментам и заставили делать проги, которые воспринимают все варианты имён, аля «Мария» «Машуня» «Машуля» итд)))
Вот только в английском языке слово «Маша» «Маши» «Машу» будет в одном слове «Masha». И «Аня» «Аню» «Ане» — тоже. Поэтому построить такой алгоритм для английского языка было бы заметно проще)) уверен, наши учителя по информатике обязательно придрались бы к таким моментам и заставили делать проги, которые воспринимают все варианты имён, аля «Мария» «Машуня» «Машуля» итд)))
+1
Статья называется «Как программирование позволяет логично выражать мысли». Я прочитал. Два раза. Ответа не нашел.
В конце статьи чувак рассказывает как важно программисту уметь письменно выражать мысли. Дай бог устно бы научиться это делать. И это не сложнее чем писать блог. Вот только блоги пишет 1 из 50 наверное. Которые интересно читать — 1 из 500.
Бред про языки даже комментировать не хочу.
В конце статьи чувак рассказывает как важно программисту уметь письменно выражать мысли. Дай бог устно бы научиться это делать. И это не сложнее чем писать блог. Вот только блоги пишет 1 из 50 наверное. Которые интересно читать — 1 из 500.
Бред про языки даже комментировать не хочу.
+7
- Программирование учит точности формулировок. Компьютеру (в отличие от мужа) нельзя сказать «пойди в этот, ну как его, и принеси ту, которой я вчера это, ну, длинную».
- Программирование учит предусмотрительности. Компьютеру нельзя сказать «Сходи в магазин и купи хлеба и молока, а если не будет — то сам что-нибудь сообразишь.» Нужно на каждой возможной ветке алгоритма нужно чётко прописать случай «а если не будет». (Программистов, не понимающих этого момента, сразу видно по падающим с Access Violation программам.)
- Программирование учит решать проблемы, раз и навсегда. Подходы вида «у меня не загружается библиотека… нет, мне не надо, чтобы она загружалась, мне надо просто поговорить об этом» в программировании немыслимы.
+2
Вот об этом заблуждении я и хотел написать. Точность формулировок != понятность.
Попробуйте почитать доказательство теоремы Ферма. Там все формулировки точные. Как что-нибудь поймете — расскажите нам.
Программистская формулировка была бы такая:
И тут возникает вторая проблема:
Но и это еще не все, последняя проблема:
Поэтому зачастую мысль выраженная программистом содержит слишком слов, много технических деталей, в ней важное не отделено от второстепенного и она не апеллирует к опыту целевой аудитории. В текстовом виде такое никто читать не будет. А если рассказывать устно, то будет неинтересно.
Попробуйте почитать доказательство теоремы Ферма. Там все формулировки точные. Как что-нибудь поймете — расскажите нам.
«пойди в этот, ну как его, и принеси ту, которой я вчера это, ну, длинную»Это понятно мужу. То есть сообщение идеально сформулировано для целевой аудитории. Мало того что муж понял что надо купить, так он еще и понял зачем это жене. У него много информации, чтобы принять правильное решение если длинной вдруг не окажется.
Программистская формулировка была бы такая:
Купи в магазине магнит французский батон, не короче 50 сантиметровВо первых не очень понятно зачем. Во вторых что делать если магазин закрыт или если нет именно такого батона.
И тут возникает вторая проблема:
Нужно на каждой возможной ветке алгоритма нужно чётко прописать случай «а если не будет».Это означает что формулировка становится длинной. А чем длиннее мысль, тем меньше людей её поймут.
Но и это еще не все, последняя проблема:
Программирование учит решать проблемы, раз и навсегдаЭто значит, что будет тратиться неимоверно много времени на описания случаев, которые в реальной жизни никогда не произойдут. Но для программиста они равнозначны основным сценариям.
Поэтому зачастую мысль выраженная программистом содержит слишком слов, много технических деталей, в ней важное не отделено от второстепенного и она не апеллирует к опыту целевой аудитории. В текстовом виде такое никто читать не будет. А если рассказывать устно, то будет неинтересно.
+5
Точность формулировок != понятность.Не следует смешивать «понятность вообще» с «понятностью тому, кому надо». Вы же не заставляете первоклассника понимать простейший (для нас с Вами) алгоритм решения квадратного уравнения; зачем Вы заставляете меня понимать формулировку теоремы Ферма?
Попробуйте почитать доказательство теоремы Ферма. Там все формулировки точные. Как что-нибудь поймете — расскажите нам.
… Вообще-то, когда я придумывал, какое задание для мужа написать, я изобразил в мыслях ситуацию «сходи в санузел и принеси мои щипцы для завивки волос»… Поздравляю, Вы сами же подтвердили мою мысль.пойди в этот, ну как его, и принеси ту, которой я вчера это, ну, длиннуюЭто понятно мужу. То есть сообщение идеально сформулировано для целевой аудитории.
Это означает что формулировка становится длинной. А чем длиннее мысль, тем меньше людей её поймут.Десять коротких мыслей не означают одну длинную. Они означают дерево решений.
В текстовом виде такое никто читать не будет. А если рассказывать устно, то будет неинтересно.Вот поэтому программисты с людьми и предпочитают по мере возможности не общаться:
vsb: Я программирую, потому что мне нравится программировать, а не потому, что есть возможность меньше контактировать с людьми. Это всего лишь приятный бонус :)
-1
Вот поэтому программисты с людьми и предпочитают по мере возможности не общаться
Извините, но это типичная стереотипная чушь. Есть люди, которые предпочитают с другими людьми не общаться, а есть люди, которые предпочитают общаться. К программированию это отношения не имеет.
(отдельно, конечно, в вашем высказывании прекрасно деление на «программистов» и «людей»)
+4
Вот только все это не имеет никакого отношения к логичности выражения мыслей. Точность, предусмотрительность — это совсем другое.
Понимаете, компьютер — он (вроде как) не прощает ошибок. У нас есть компиляторы, тесты — мы привыкаем на них опираться и проверять свою правоту (или неправоту). А в письме такого нет. Ты написал слово с ошибкой — и тебя все равно поняли. Что думает логичный мозг программиста? Что так тоже можно. И так можно. И вот так, наконец, тоже можно. И поэтому логичный — но ленивый — программист, естественно, не применяет свои такие логичные навыки в письме.
(я преувеличиваю, конечно)
Вы много знаете людей, которые используют исключительно точные формулировки и оговаривают все побочные ветви в рассуждении? Вот и я нет.
Понимаете, компьютер — он (вроде как) не прощает ошибок. У нас есть компиляторы, тесты — мы привыкаем на них опираться и проверять свою правоту (или неправоту). А в письме такого нет. Ты написал слово с ошибкой — и тебя все равно поняли. Что думает логичный мозг программиста? Что так тоже можно. И так можно. И вот так, наконец, тоже можно. И поэтому логичный — но ленивый — программист, естественно, не применяет свои такие логичные навыки в письме.
(я преувеличиваю, конечно)
Вы много знаете людей, которые используют исключительно точные формулировки и оговаривают все побочные ветви в рассуждении? Вот и я нет.
+1
Не следует смешивать «понятность вообще» с «понятностью тому, кому надо».
Точность формулировок понятности не добавляет.
Вообще-то, когда я придумывал, какое задание для мужа написать, я изобразил в мыслях ситуацию «сходи в санузел и принеси мои щипцы для завивки волос»… Поздравляю, Вы сами же подтвердили мою мысль.Какую мысль?
Что не целевая аудитория не поймет? Это очевидно.
Как точность формулировок помогает донести мысль до ЦА — неясно.
0
Вообще во многом соглашусь с автором. Программирование действительно помогает корректировать собственное формальное мышление, но не бывает добра без худа. Возможно, чрезмерное увлечение программированием ограничивает ( сужает, если хотите ) тропинку в иные сферы творчества (я отношу программирование именно к творчеству).
Пока читал статью, вспомнил о многомерных или неклассических логиках Васильева Николая Александровича, который еще в начале 20 века сумел в своих работах показать возможность выхода за пределы двоичной логики.
К чему я это? Почему-то часто можно слышать такое мнение, что наиболее логично и правильно у нас мыслят программисты, а еще логичнее математики. Но почему-то часто забывают о том, что булева алгебра, на которую опирается программирование практически полностью дублирует логику высказываний, а она в свою очередь является и инструментом гуманитариев и в принципе исторически вытекает из философии.
P.S.
Вообще очень просится для Хабра серия статей об истории логики и её связи с алгебрами высказываний и программированием. Можно бы даже с самой древности. Хотелось бы, чтобы не были забыты и отечественные учёные — такие как Н.А. Васильев, Челпанов, Асмус.
Пока читал статью, вспомнил о многомерных или неклассических логиках Васильева Николая Александровича, который еще в начале 20 века сумел в своих работах показать возможность выхода за пределы двоичной логики.
К чему я это? Почему-то часто можно слышать такое мнение, что наиболее логично и правильно у нас мыслят программисты, а еще логичнее математики. Но почему-то часто забывают о том, что булева алгебра, на которую опирается программирование практически полностью дублирует логику высказываний, а она в свою очередь является и инструментом гуманитариев и в принципе исторически вытекает из философии.
P.S.
Вообще очень просится для Хабра серия статей об истории логики и её связи с алгебрами высказываний и программированием. Можно бы даже с самой древности. Хотелось бы, чтобы не были забыты и отечественные учёные — такие как Н.А. Васильев, Челпанов, Асмус.
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как программирование позволяет логично выражать мысли