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

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

Шикарно! Спасибо!
Угу. Если бы я был девочкой, я бы расцеловал автора статьи!
Но мальчикам разрешается пожимать руку! А этому автору так и хочется пожать ее!
НЛО прилетело и опубликовало эту надпись здесь
Это в первую очередь характерезует ваши ассоциативные связи, и в свою очередь историю вашего чтения. Когда программист думает, что два человека похожи, он забывает, что алгоритм сравнения находится в нём.
Ад! Адовая статья, адовый коммент! Автор, продолжайте!
В подкрепление вашим словам хочется только процитировать вас же:
В поиске истины давно нет правильного направления, люди разбрелись, релятивизм, плюрализм.

И еще:
То есть ты сидишь в комнате с компом, но не понимаешь почему ты в ней сидишь. То есть ты то думаешь, что ты понимаешь, но если филолог тебя спросит «зачем и почему» ты начнёшь описывать программу которую ты пишешь. Элементарный для философа навык: перечислить свои общественные связи и обусловленности, осознать свою историю и как она привела тебя в это кресло здесь и сейчас, это — азбука самосознания.

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

Один минус, я теперь заснуть не могу, а ведь только половину статьи осилил
Эмм… Я тут еще пару абзацев прочитал. Надеюсь, все-таки, что это такой новогодний розыгрыш, иначе меня начинают терзать тревожные сомнения и я искренне беспокоюсь за автора, кроме шуток.
Тащемта, сначала статья вам нравится, потом нет, сначала вы мне наносите травму именуя психически больным, потом переживаете о моём здоровье. Кого из нас терзает шизофазия, например?
Мне понравилась не то, чтобы сама статья (статья мне даже больше не понравилась, признаться честно). Скорее мне понравился ваш исключительный стиль изложения, как в статье, так и в комменарии. Понравился как нечто необычное и до этого в технических статьях мною невиданное. А потом я, как и предыдущий комментатор, задумался, а что же мне это напоминает. Ни в коем случае не хотел наносить вам никаких травм, и тем более называть больным. Я лишь пришел к выводу, что закапывание смысла (а местами даже отсутствие такового) за нагромождением речевых оборотов и россыпью специальных терминов напоминает мне признаки того самого речевого расстройства, на которое я привел ссылку, и которое само по себе тоже может являться всего лишь признаком какого-то другого расстройства. Это ведь не значит, что я называю вас психически больным. Я всего лишь выражаю тревогу, вызванную некоей схожестью стиля и механики изложения с описываемым на странице википедии. Хотя, возможно, подобный стиль просто присущ всем или некоторым философам (которых вы местами почему-то приравниваете к филологам), а я — просто паникёр.
Не пойму, где вы нашли у автора «закапывание смысла»? Язык статьи предельно прозрачен и ясен, вы бы ещё у Лейбница шизофазию диагностировали после прочтения монадологии :)
Серьезно? А краткий конспект статьи с основными мыслями по каждому абзацу вы смогли бы составить? И он будет логичным, осмысленным и последовательным? И вы будете уверены, что именно этот смысл автор и пытался до нас донести? А какова основная мысль всей статьи, если попытаться обобщить?

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

отрывок
Родился на улице Герцена, в гастрономе № 22. Известный экономист, по призванию своему — библиотекарь. В народе — колхозник. В магазине — продавец. В экономике, так сказать, необходим. Это, так сказать, система… эээ… в составе 120 единиц. Фотографируете Мурманский полуостров и получаете te-le-fun-ken. И бухгалтер работает по другой линии — по линии библиотекаря. Потому что не воздух будет, академик будет! Ну вот можно сфотографировать Мурманский полуостров. Можно стать воздушным асом. Можно стать воздушной планетой. И будешь уверен, что эту планету примут по учебнику. Значит, на пользу физики пойдет одна планета. Величина, оторванная в область дипломатии, дает свои колебания на всю дипломатию. А Илья Муромец дает колебания только на семью на свою. Спичка в библиотеке работает. В кинохронику ходят и зажигают в кинохронике большой лист. В библиотеке маленький лист разжигают. Огонь… эээ… будет вырабатываться гораздо легче, чем учебник крепкий. А крепкий учебник будет весомее, чем гастроном на улице Герцена. А на улице Герцена будет расщепленный учебник. Тогда учебник будет проходить через улицу Герцена, через гастроном № 22, и замещаться там по формуле экономического единства. Вот в магазине 22 она может расщепиться, экономика! На экономистов, на диспетчеров, на продавцов, на культуру торговли… Так что, в эту сторону двинется вся экономика. Библиотека двинется в сторону 120 единиц, которые будут… эээ… предмет укладывать на предмет. 120 единиц — предмет физика. Электрическая лампочка горит от 120 кирпичей, потому что структура, так сказать, похожа у нее на кирпич. Илья Муромец работает на стадионе «Динамо». Илья Муромец работает у себя дома. Вот конкретная дипломатия! «Открытая дипломатия» — то же самое. Ну, берем телевизор, вставляем в Мурманский полуостров, накручиваем там… эээ… все время черный хлеб… Так что же, будет Муромец, что ли, вырастать? Илья Муромец, что ли, будет вырастать из этого?


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

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

То есть ты сидишь в комнате с компом, но не понимаешь почему ты в ней сидишь. То есть ты то думаешь, что ты понимаешь, но если филолог тебя спросит «зачем и почему» ты начнёшь описывать программу которую ты пишешь.

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

А если тут введён текст, как сделать, чтобы он [пользователь] ввёл текст и сюда?

Тупо написать: «введи сюда такой-то текст (свое имя, или адрес электронной почты, или что там еще от него нужно)»? Нет, ныне этот подход не катит? Пользователя надо как-то особо программировать? Пользователь пользуется программой с какой-то целью. Он хочет достичь конкретного результата, установив и запустив эту программу. Его не нужно заставлять «вводить текст туда», он уже сам хочет это сделать, он же для чего-то запустил программу, нет? Ему просто нужно подсказать, как в этой программе он может достичь поставленной им же цели. Для этого существуют дизайнеры интерфейсов. Зачем пользователя заставлять что-то делать? Он что, мальчик-дебил, запускает все подряд, а наша задача — заставить его запускать то, что нам, великим программистам, от него нужно, и делать в них то, чего мы от него хотим?

Вы пользуетесь BASH, вы знаете, кто и когда его создал и как он осмысляет своё творение по прошествии десятков лет?

Правда? То есть, если мне надо забить гвоздь — я должен отправиться в университет и пройти курс истории развития философии, филологии, техники, средств производства, психологии, и черт знает чего еще; осознать, что там чувствовал автор молотка во время его изобретения, как изменились его чувства на протяжении его жизни, как он относился к своему изобретению по прошествии десятков лет, кто были его последователи, как развивалась концепция видения феномена молотка от момента его изобретения и до того момента, когда я вот занес молоток над шляпкой гвоздя, чтоб полка окончательно не отвалилась? А как же гвоздь, про гвоздь-то забыли! Про него тоже все изучаем досконально. Ну а заодно и про книжную полку, которую мы прибиваем. И про стену, а отсюда и про историю архитектуры, технологии строительства, сопромат, инженерное дело и т.д. В результате, к концу своей жизни я буду знать все про молоток, гвоздь и полку, про биографию их авторов, про историю развития этих концепций, ну и про все вышеописанное. И подойдя к смертному одру, я не уверен, хватит ли у меня уже сил забить сраный гвоздь в сраную стену, чтоб сраная полка не свалилась на чью-то сраную голову. Не совсем понятно, правда, кто меня все это время кормить будет, ведь на работу времени не останется — учеба наше все.

Или мы все же позволим программистам программировать, аналитикам — анализировать, архитекторам и проектировщикам — разрабатывать проекты, историкам — изучать историю, поэтам — писать стихи, философам — размышлять о смыслах бытия, менеджерам — управлять, маркетологам — исследовать потребности рынка или даже создавать новые, а в общем и в частности — каждому члену общества заниматься своим, интересным ему делом? Или разделение труда нынче не в моде, а цивилизация пошла по ложному пути?
Хорошо. Во-первых, моя статья сконструирована крайне рационально. Её смысл заявлен в названии: трёхнаправленое программирование. Поскольку первый вектор — воздействие на компьютер, всем очевиден, статья делится на две основных части: а) второй вектор б) третий вектор. Далее можно разбираться, как именно структурированы эти две части.

Теперь Ваш пример с молотком. Вот Вы, например, хотите забить гвоздь, а Вы уверены, что Вас никто не запрограммировал на это желание? Ваше поведение обусловлено. История создания ЯП или Bash, людей их создавших, и идей лежащих в их основании не нужна пользователю, но она нужна тому, кто пытается создать новый Bash или ЯП или, например, понять, как используемые им инструмменты разработки влияют на него самого, на его судьбу, как они формируют его мировоззрение.
В статье столько воды, что если в ней и есть смысл — то он погребен глубоко под ее толщей, и профильтровать всю эту массу, чтобы получить в результате эту крупицу смысла, представляется лично мне работой совершенно нерациональной и неблагодарной.
Кроме того, большая часть из того, что написано, в действительности может относиться не только к программированию, а вообще к любой профессии.
С тем же успехом можно заявлять, что создатель молотка просто запрограммировал всех нас на его использование. И не просто запрограммировал, он же заставил всех держать молоток именно за ручку, а ударять по гвоздю именно железякой! Вот же ж сволоч! То же самое можно сказать про что угодно: туфли, полотенце, табурет. При чем здесь программирование и программисты?
Кстати, не впервый раз замечаю такое отношение, что тот, кто влияет на других людей — «сволочь». В этом есть что-то глубинно-русское. Но почему именно сволочь? Ведь мы влияем на других людей, необратимо, меняя их судьбу на вечно, каждым своим словом или действием.

С тем же успехом можно заявлять, что создатель молотка просто запрограммировал всех нас


Ясно, Вы подменяете понятие «заявление». Заявление это одно, иллюстрация — совсем другое. Если к иллюстрациям, пояснениям, ответвлениям в тексте относится как к самодостаточным заявлениям, томожно сделать что-угодно.
Кстати, не впервый раз замечаю такое отношение, что тот, кто влияет на других людей — «сволочь»

Это был сарказм, если вы не поняли.

Ясно, Вы подменяете понятие «заявление»

То есть, своей статьей вы не заявляете, а лишь иллюстрируете? Вы хотите сказать, что подобно пророку, никаких заявлений вы не делаете, а лишь передаете народу объективную истину, переданную свыше, как посланник, как проводник?
Иллюстрация есть ни что иное, как заявление автора о том, как он видит явление, которое пытается проиллюстрировать, и как он предлагает видеть это явления другим людям. То же самое касается и пояснения. «Мысль изреченная есть ложь» (с). Если, конечно, автор — не пророк, не посланец всевышнего, который просто передает его слова.
Нет, в статье есть и заявления, а есть и иллюстрации к ним. Например высказываение про Bash это иллюстрация к заявлению о важности изучения исторического потока в computer science и software development.
История создания ЯП или Bash, людей их создавших, и идей лежащих в их основании не нужна пользователю, но она нужна тому, кто пытается создать новый Bash или ЯП или, например, понять, как используемые им инструмменты разработки влияют на него самого, на его судьбу, как они формируют его мировоззрение.

Ровно то же самое можно сказать, заменив «Bash» и «ЯП» на «молоток» и «велосипед».
Вытащите первый абзац в шапку статьи, просто так свежим взглядом эта структура не выявляется.
НЛО прилетело и опубликовало эту надпись здесь
Я к тому и веду. Когда смысла нет, то обилие терминов и сложность речевых конструкций заставляют читателя думать, что смысл на самом деле есть, просто он зарыт где-то очень глубоко. И в поисках отсутсвующего смысла, каждый начинает придумывать его себе сам и видеть его там, где его совершенно не видно. Вообще, вся статья похожа либо на розыгрыш, либо на эксперимент надо публикой хабра. Посмотрим, что из этого получится :) Пока, судя по рейтингам, тех, кто смог «докопаться до глубинного смысла», почти в три раза больше тех, кто его найти так и не смог.
В каждой строчке кода написанной программистом сегодня, проявляется эффект бабочки. Идут волны изменений по всей вселенной. Причём, при нескольких миллиардах пользователей интернета этот эффект ощутим в кратчайшие сроки. Часто, на собственной шкуре. Американцы думают, как оседлать эти волны для прибыли. Замечают паттерны, берут на карандаш.

Любопытно, как Вы осознаёте то, почему пишете комментарии к статье в которой не видите смысла.
Как эффект бабочки соотносится со смыслом вашей статьи или моего комментария? На какой вопрос вы вообще отвечаете этим комментарием? Могу вам с тем же успехом ответить буквально следующее: львы живут в дикой природе в основном прайдами. Являясь сильными животными, они в состоянии выбирать себе добычу среди всего многообразия, предлагаемого окружающей природой, в соответствии с текущим ландшафтом, растительным покровом, наличием или отсутсвием близлежащих водоемов и прочими условиями комфортного существования. В прайде охотятся в основном самки, самцы же проявляют поразительную лень и предпочитают большую часть дня проводить в состоянии сна в прохладной тени. Что самое интересное, — гиены, будучи всеядными, намного меньше львов своими физическими размерами. Однако, будучи животными исключительно стайными, они в состоянии силой большой стаи отобрать законную добычу у царя зверей. Одни подкрадываются сзади, и кусают львов и львиц за задние лапы, пока другие отвлекают их, зайдя спереди. И это ведь не какое-то там новейшее достижение науки и техники, так ведь было всегда, испокон существования как львов, так и самих гиен, и даже ландшафтов. Еще до изобретения интернета это все происходило, интернет лишь позволил взглянуть на всю картину целиком, и к тому же под другим, более острым углом.

Любопытно, как Вы осознаёте то, почему пишете комментарии к статье в которой не видите смысла.

если вам действительно любопытно
Во-первых, у меня несколько долгожданных выходных, и таким образом я маюсь бездельем и отдыхаю от напряжения, связанного с проектированием и реализацией сложной системы с применением новых для меня инструментов и технологий и отсутствия, как обычно, вменяемой документации. Во-вторых, это хабр, я его читатель, и даже немножко писатель, и мне любопытно, как такая статья согласуется с тематикой этого ресурса. Кроме того, мне любопытна реакция аудитории на подобную статью, которую лично я считаю феноменальной в смысле своей исключительности и непохожести на все остальное. В-третьих, как я уже писал, меня привлекла ваша манера изложения и ведения диалога с аудиторией. Открою вам секрет, я начал читать статью перед сном, будучи в состоянии легкого алкогольного опьянения после пары бокалов шампанского, и очень сильно смеялся, путаясь в лабиринтах смысловых (или, точнее, бессмысленных для меня) конструкций. Ну и теперь мне до сих пор любопытно, что же будет дальше. Да и вообще, иногда на меня находят приступы общительности, хотя сам по себе я человек больше замкнутый и неразговорчивый.
Вот вам вариант:
В жизни не стоит опираться лишь на программирование компьютеров, ведь мы живём в реальном мире, а следовательно, намного более эффективным будет «программирование» окружающей реальности, а программирование компьютеров следует рассматривать лишь как один из инструментов воздействия на мир.
Всё остальное мною было воспринято как художественная «раскраска» призванная, как мне кажется, для улучшения восприятия.(хотя автор, по моему перебрал, особенно с превращением философов в филологов).
Это понятно. Но автор ошибся ресурсом: ему нужен сайт специалистов по НЛП. А здесь сайт посвящен программированию копмьютеров. Вы следующую его статью почитайте, там дальнейшее развитие его идей принимает более крутой, но, как сейчас оказывается, вполне ожидаемый поворот: людей нужно программировать с помощью языка, а язык везде используется «англо-саксонский». Ждем третью статью, где автор будет предлагать, как заставить весь мир говорить по-русски. Ну либо признается, наконец, что он Нео, а мы все в Матрице.
Паук Троицкий?
Можно учавствовать в дискуссии по заявленной теме, то есть говорить о философии программирования (классицизм), или хотя-бы о качестве самой статьи (филология), или, хотя-бы-в-квадрате, об авторе (эпистемология), а тут человек (не вы, а аплинк нода коммента) пишет о своей ассоциации делая её объектом обсуждения, это — типичный постмодернизм, подмена предмета случайной ссылкой. Причём ассоциация беспредметная, из серии лулзов, то есть это нижняя планка нижней планки: пошлый постмодернистский масскульт. Даже на лурке люди себе такого не позволяют. А это Хабр.
Заявленная тема, однако, содержит скрытую, неявную проблему. Заключается она в том, что не только программисты, но и все остальные люди любых профессий, включая и филологов, но за исключением философов, причем таких, что очень серьезно увлекались феноменологией — не в состоянии сказать что же они, вообще, делают, кто они и почему.) Проще говоря, что бы воспитывать таких программистов, как хотелось бы автору, нужно чтобы все и каждый в образовательной среде (от технички, до ректора) твердо осознали хотя бы интенциональную природу мышления.
НЛО прилетело и опубликовало эту надпись здесь
Прошу прощения за резкость, но.

Нет.

Вы полностью неправы и проявляете свою глупость подобным комментарием. Текст обсуждаемой статьи прекрасно связан логически. Небольшая игра смыслами, к которой вы придираетесь, не является шизофазией. Рассуждения автора несовершенны, очень размыт смысл слова «программист» по сравнению с общеупотребительным, но, тем не менее, то, что этот монолог кажется вам шизофазией, говорит не об нарушениях психики автора, а о вашем скудоумии, или, как минимум, отсутствии связи с той интеллектуальной культурой, о которой говорит автор.
Ну хорошо, ладно. Это ваше мнение. А вы, простите, доктрор? Вы можете точно диагностировать, что является шизофазией, а что нет? Я вот не доктор, поэтому написал, что стиль автора мне напоминает шизофазию. Я нигде не утверждал, что это она и есть. А если вы, при всем вашем богатстве ума (по сравнению с моим скудоумием, естественно) вращаясь в своей «интеллектуальной культуре» и имея к ней непосредственное отношение, в подобном стиле будете составлять ТЗ для программистов (к примеру), или пытаться реализовать подобное ТЗ, написанное заказчиком — то лично мне бы очень хотелось взглянуть на конечный результат таких трудов. Если бы он вообще когда-то имел бы шанс увидеть мир.
Вы о пирожных, а индустрия хлебом никак не наестся.
Эджайлы, эстимейты, чего только не придумают, чтобы выжать из программиста все соки.

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

Дальше — мидл. Его спрашивают: за сколько времени ты сделаешь эту кнопочку? И он раб своего положения. Думает: не могу же я дать оценку больше, чем у джуна (хотя тот без опыта дал меньше, чем это на самом деле у него займёт). В итоге — быстренько кодим первое придуманное решение, а рефлексировать времени нет.

Этот пробел пытаются заполнить бизнес-аналитиками. Это такой человек, который сидит целый день и думает, в каком же порядке удобнее нажать кнопки пользователю, пойда-ка я лучше с ним поговорю, может ему и вовсе не эти кнопки нужны. Потом всё записывается в сценарии и тупо кодируется. Минус в том, что аналитик не знает, что под капотом в коде, какие полезные данные можно вытащить наружу, а что займёт O(2^N) при реализации.
… Сеньоры/лиды вообще про кнопочки не думают. У них другие проблемы: будем переходить на новый entity framework, переписать всё честно или подставить обёртки. А тут ещё проводки медленнее стали делаться. Деградация индекса? Запишем, надо проверить.

Какие кнопочки? Сделайте пользователям то, что они просят. Это же тупая задача — по кнопке перенести данные из одной ячейки в другую. Элементарно, разберётесь сами.
Потрясающе! Вот из таких статей и складываются планы на новый год. Благодаря ей понял свою «недальновидность». Спасибо! Теперь буду изучать философию и историю.

PS: А два года назад так же прочитал статью про чемпионат мира по триатлону на Гавайях (Ironman). Марафон за 3:49 уже пройден, готовлюсь пройти спринт-триатлон.
Первый абзац обещал много, следующие все обещания зафейлили.

Слишком много философии и духовности, слишком мало практики и формальности. Рискну предположить, что кроме автора мало кто этот текст поймёт. Через чур субъективное изложение и, вообще, картина мира.
Текст вполне внятный
Большинство программистов значительно больше интересует процесс программирования, чем пользователи, для которых пишется программа, и тем более чем другие программисты, которые потом будут ее поддерживать. А должно быть наоборот )

Можно написать 10 тысяч строк кода на Java, чтобы смоделировать изначально кривой и нестабильный бизнес-процесс, или пользовательский сценарий например, а можно поправить процесс или сценарий и вообще обойтись без написания кода. Но для этого надо выйти за рамки IDE и вообще за рамки представлений о программисте, как о том-кто-пишет-код.

Действительно хороший программист — он как Нео в Матрице, программирует мир вокруг себя, а не программы. Для этого даже не обязательно знать языки программирования :) Об этом и статья

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

По-вашему для выражения этой мысли надо писать вот такое вот полотно?

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

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

А базовых мыслей/идей в тексте больше чем одна, отсюда и объем.

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

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

Самое печальное, что эти мысли не обоснованы. Нет стройной логической цепочки, только редкие обрывки. Уверен, что в голове автора они есть, но вот передать их он не осилил.Тем самым нарушив основную идею своего текста.

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


Здорово, да?
Люди которые используют printf() и смеются над отладчиками, просто лучше понимают, что делают.

Ну хоть кто-то это понимает.

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

Цитаты таких великих людей необходимо приводить в начале статьи! Вероятно в этом случае я бы даже не стал тратить время на прочтение статьи. Ну ладно, сэкономлю людям время, тезисно изложив то, о чём пытается сказать автор:
1) Не забывайте об истории;
2) Взаимодействуйте с другими программистами;
3) Обращайте внимание на пользователей.
Итог: всё тривиально, но много лишних слов.

К слову, насчёт истории полностью согласен.
Про Гузееву, мне кажется, здесь немного стёб. Я иногда, сдавая проект заказчику, могу напеть строки из песни певицы Максим (по радио слышал несколько раз, застряло в голове): «Сердце его теперь в твоих руках, Не потеряй его и не сломай.»
Вот-вот, проще надо быть. Программисты — не просто переводчики, программисты ещё и мастера изложения. Хорошая программа — как хороший научный труд. Декомпозиция и структура (можно прочитать только заглавие/сигнатуру, но не всю главу/тело функции, если ты не специалист в данной области), вынесение тезисов (вынесение кода в функцию/класс), только уместные термины (грамотное именование функций и переменных), краткость с сохранением ясности, забота о читаемости.

И неудивительно, что программист после своих размышлений об идеалах и стремления к упорядоченности считает мудрые мысли сущим бредом только из-за того, что изложение этих мудрых мыслей представляется ему всем тем, с чем он борется. Жаль, что философы, достигая высот в познании мира, остаются там наедине с морозцем и горным воздухом и частенько спускают оттуда читателю свой труд, который ещё требуется структурировать, упрощать и домысливать.
Спасибо, что сэкономили время, +1. (сразу как-то не захотелось читать статью, а тут — пересказ)
Я ничего не понял.
Забавная статья. Но программист сейчас не правит, и не будет править миром — он просто переводит в машинный язык задачи, которые ему ставят те, кто правит людьми.

Неужели миром должны править переводчики?

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

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

Программист-стартапер — раб случайности: из ста стартапов выживает один, и принципиально невозможно определить, какой.

Программист только тогда сможет править миром, когда оседлает шум и неравновесие, когда сможет получать новые сущности из сложных колеблющихся систем с положительной обратной связью — таких как экономика, взаимодействие человеческих масс и культура.
Астрологи объявили неделю философии на хабре. Количество воды в постах выросло выше всех допустимых пределов.
Шедеврально! Давно не видел на хабре статей, которые бы читались с таким удовольствием!) Спасибо большое!
Как простейший пример к топику (как я его понял) хочу привести комментарии в коде. Для утрированного программиста из топика комментарии к коду не нужны — код отлично работает и без них. Необходимость в комментариях возникает из двух причин: 1) программист уже сам не понимает, что написал, 2) пояснить код для других людей. По первому пункту автор топика прошёлся хорошо. По второму пункту, все знают, что комментарии к коду бывают очень разные. От «i++; // увеличиваем i на единицу» до многостраничных растеканий мыслью по древу. И то и другое — плохо. Чтобы нормально комментировать код, нужно учитывать восприятие комментариев другими людьми. (Об этом автор топика тоже хорошо написал). Когда приходится обьяснять людям, как и зачем пишутся комментарии, всегда вспоминаю Витгенштейна.

В общем, я полностью согласен с тем, что программисту нужно понимать что и зачем он делает на многих уровнях и в отношении других людей, иначе не обойдётся без деятельности в стиле «i++; // увеличиваем i на единицу». А такое понимание из ниоткуда не возьмётся. Этому надо либо быть наученным, либо как-то учиться самому.
Самоопределяющие названия переменных/методов/классов и декомпозицию кода кто-то уже отменил?
Комментарии, my ass…
А типизированые языки нужны только потому, что из ста программистов только один умеет программировать, остальных нужно за ручку водить.

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

Кстати, преподаватель программирования обычно не умеет ни программировать, ни преподавать.

100% согласен, ситуация не очень хорошая в этой отрасли у нас в бывшем СССР (проработал почти 8 лет и уволился). Однако, фундаментальные причины малого количества отличных преподавателей-программистов в США и на Западе такие же, как и у нас — не так просто найти талантливого программиста, обладающего талантом учителя (зависимость O(n^2)).

В целом статья очень понравилась, много хочется еще написать, но лень-матушка :)

P.S.: Статья описывает человека(программиста) очень талантливого, системно мыслящего, Мастера. В реальности таких людей мало.
P.P.S.: Мне кажется, что если заменить слово «программист» на «токарь», например, ну и предметную область соответственно на любую другую, то эта статья будет все так же актуальна :)))
Типизация в ЯП двоякая вещь, с одной стороны это подсказка компилятору, в этом случае типами являются int, byte, short, float и т.п. Такая типизация нужна, чтобы эффективно использовать память и выбирать более подходящие инструкции ЦПУ. И совершенно другая история это — вторая типизация, суть которой: сообщения об ошибках. В таком случае типы могут быть time и date и, например, для компилятора в обоих случаях это CARD32, но пользователь, то есть программист будет предупреждён: «внимание, вы пытаетесь на вход printDate() подать time».

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

Если вы очень хорошо понимаете, что вы делаете и зачем, сообщения о несовпадении типов, которые может вам предложить компилятор, составляют ничтожную долю от ваших проблем и ошибок в процессе разработки. Можно списать на выпендрёж, но есть люди вроде Линуса, которые высказываются в духе «мой код работает с первого раза». Главное уметь рассуждать не только как пользователь языка «мне нравится», «не нравится», «очень эффективно решаю свои проблеммы», но и уметь рассуждать в русле мирового движения философской мысли в области программирования: «что нового в области обработки грубых ошибок программиста сделано за последние три года».

Вы меня не поняли — я не утверждаю, что какая-то типизация лучше, чем другая, обе нужны, им есть применение. В русле мирового движения философской мысли в области программирования по части обработки грубых ошибок программиста? =) Мне это напомнило "… в то время как наши космические корабли бороздят просторы Вселенной..." (без обид). А если серьезно, то надо рассуждать конкретно и предметно по определенному языку. В частности, по джава скрипт написал выше — Dart и TypeScript.
Я хочу, чтобы у нас был хотя-бы тонюсенький слой людей рассуждающих философски, примерно так: существует методика обработки ошибок А, она реализована в экспирементальных языках Б, В, Г и широко используемых Д, Е, Ж. В задачах З, И, К, она показала себя так-то и так-то, господа-товарищи Л и М написали интересные статьи О, П, Р на эту тему, предложены варианты новых методик С, Т и Т1. Т1 уже включена в язык Г. Впервые А было обсуждено на семинаре в городе У, в 2009 году, господа-товарищи Ф и Х критиковали эту методику приводя аргументы Ц, Ц2, Ц3 и Ч.
Аффтар, пеши длинно и непонятно, тогда многие не поймут, но, стесняясь скудости ума своего поставят плюсик. А когда пишишь коротко и непонятно, то многие понимают, и ставят минусик. Успехофф!
Не вижу ничего философского. Нормальный ход мысли в любой естественно-научной дисциплине.

Собственно современные статьи по ТЯП содержат историю вопроса и оценки перспектив почти вчегда. Другое дело что вы их не читали и придумываете их содержание в ходе мысленного опыта «что написал бы выдуманный мной программист-имбицил»?
>Поэтому в России нет Open Source. Потому что опенсорс это не умение программировать, это умение общаться. Это знание истории программ и программистов. Вы можете выложить на гитхаб своё творение, и даже написать к нему статьи и инструкции, но некому этого будет читать.

Это крайне спорное утверждение. Открытое ПО — это время людей которое они отдают, не получая материального вознаграждения. И в России и на всей территории бывшего восточного блока его нет, только потому, что там царит экономическая нестабильность, а местами откровенная нищета. Могут ли там люди системно что-то создавать бесплатно? Безусловно, но не в массе. Может ли условный семейный разработчик взять трех- или шестимесячный перерыв в карьере, что бы осмыслить свой проект? Да, наверное, но это скорее исключения.

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

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

Вот например: ананосы проектов, или вот: энтузиасты разработчики и их проекты. Тысячи их. Но их нет. Мы не празднуем новые прокеты, мы не поддерживаем авторов, мы не пользуемся их разработками, мы даже не можем их обсуждать, да что там, Вы вот уверены что их просто нет, мол выживание, экономическая нестабильность. В приведённых ссылках никому неизвестные проекты, но их хоть кто-то нашёл и хотя-бы собрал на одной страничке — уже великое дело, а сколько их пылиться на неведомых сайтах с 50 случайных посетителей в год?

То есть проекты есть, но у них нет фанатов, нет комьюнити, и именно поэтому они проигрывают западным. Если бы сто человек с хабра написало Hello World на неком новом языке «ЗЮ» написаном энтузиастом «Васей», то Вася бы летал целый год, как на крыльях и полученный фидбек заставил бы его на порядок улучшить качество ЗЮ в новых версиях, и другие волонтёры бы на волне подтянулись. Но этого нет. Мы не сообщество российских программистов, мы — атомизированые индивидуумы на обочине мировых процессов. Это философская постановка вопроса.
>Очевидно, что время и желание у людей есть, они изобретают. Но сообщества нет, соответственно они даже не знают о проектах друг-друга.

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

Тут же как — пошла светлая полоса, что-то написал, принял участие, вступил в сообщество. Потом бах, надо зарабатывать, все бросил на несколько месяцев. Вернулся назад, все уже устарело, поменялись акценты, в сообществе у тебя репутация непостоянного парня. А если сообщество создано в России, и так работают все его участники? Долго оно проживет?

Важно, чтобы ниточка не рвалась, а на плохой экономической почве это невозможно. Вы акцентируете на индивидуумах, а от них зависит не так много, как от среды в которой мы все живем.
> А вы над собой посмейтесь :)
Целиком в духе современной философии, тема не только не раскрыта, но даже не затронута.
философия социологии программистов
Какое-там раскрыта, старый фолиант достали с полки, тихонько произнесли его название, а часть читателей уже прыскает от смеха и крутит пальцем у виска, как будто с ними о потере девственности говоришь или об ограблении банка. Даёшь-молодёж.
Если серьезно, то было бы интересно увидеть:
компьютер как мозг человека:
  • CPU — абстрактно-логическое полушарие, а GPU — пространственно-образное
  • регистры кратковременной памяти
  • переключение контекстов — субличности
  • воспитание — это по сути BDD


государство как облачный сервис:
  • подача заявления — запрос
  • выдача справки — ответ


философское отличие классического ООП от протопитного в разделении сущности и существования:
  • сущность описывается в классе,
  • существование — созданием и удалением экземпляра


мода на технологии, например, централизация-децентрализация.

авторское право — философская проблема, а не юридическая или социальная

принципиальные ограничения традиционного программирования
Люди которые используют printf() и смеются над отладчиками, просто лучше понимают, что делают.

А люди, которые не используют ни отладчик, ни printf(), а взамен этого пишут юнит-тесты есть просветленные в моей картине мира.
Гейтс, когда понял то, что вы ему приписываете, перестал быть программистом.
Возможно, но читая легенды о молодом Гейтсе, мне казалось, что он это понимал ещё когда делал самые первые шаги. Человек купил дневники Леонардо чуть ли не с первой зарплаты — это ход мысли.
Прочитал статью, прочитал комментарии и пребываю в шоке.

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

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

Утверждения, подобные утверждениям о том, что русские избобретают то, что уже изобретено и не знают куда деть действительно новые изобретения, должны быть подкреплены примерами и статистикой в совокупности с аналогичной статистикой для программистов из других стран. Тогда это крайне интересные исследования, которые заслуживают подробного ознакомления. Иначе — это пустая болтовня.

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

Но тема статьи — философия программирования, а как раз о программировании тут написаны уже совсем странные вещи.

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

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

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

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

Абсолютно согласен с вами по поводу шока.

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

Знаете, писал я когда-то на ассемблере. И после этого писал на совершенно разных языках. И сегодня, если мне нужно будет быстро соорудить какой-то REST-сервис с обращением к базе данных, я скорее выберу PHP, чем ассемблер. Утверждать, что люди не программируют на ассемблере просто потому что его не знают — это равносильно утверждению автора, что статическая типизация не нужна. Кроме производительности программ в реальном мире есть еще такое понятие, как эффективность команды при их написании и поддержке. Хотел бы я знать, сколько месяцев заняла бы у меня реализация на ассемблере того, что на ПХП я напишу за день. То же самое касается статической типизации, подсветки синтаксиса, подсказок в IDE: сколько различных API со всеми необходимыми параметрами и их типами пришлось бы держать в голове программисту, чтобы быть способным писать современные приложения, учитывая многообразие различных библиотек, фреймворков, технологий, уже накопившихся к текущему моменту? С тем же успехом можно хардкорно ковырять дырки отверткой и не признавать изобретение дрели — это ж для слабаков и слюнтяев. Только слабаки и слюнтяи с помощью дрели поставят производство на поток, а упоротый хардкорщик со своей отверткой может за всю жизнь и успеет проковыряет достаточно дырок, чтобы хоть что-то одно толковое собрать.

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

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

Ну и по поводу статьи тоже совершенно согласен.
Неплохо. Даже не смотря на то, что это обычная житейская философия. Мне кажется, что рано или поздно каждый программист (раз уж речь о них), для которого его деятельность не просто ремесло, приходит к похожим утверждениям. Автору плюс просто за то, что он об этом написал.
Кухонные рассуждения.
Когда читаешь название «Философия программирования — трёхнаправленное программирование», ждешь чего-то другого. А не потока мыслей и мягкого оскорбления всех программистов.
Когда читаешь слово «философия» — ожидаешь именно чего-то подобного.
Искусство программирования Д. Кнута. Чего же Вы тогда ждете от этой книги? Ассемблерные команды на холте?
Ждёшь прекрасного, и название оправдывает себя.
Где Д. Кнут и где p4p? Некий Поппер тоже был философом. А еще есть цельные «Математические Начала Натуральной Философии». Но это скорее редкие исключения. Так же и с искусством. И бездарного искусства хватает, и бездарных книг по программированию.
У вас ошибка в коде:
def Миф и язык extends «трёхнаправленное программирование»;
def определяет метод (как нынче говорят в кремниевой долине), а наследуются классы.

Джон, похоже, понравился бы Ницше. Еще бы: проворачивает многолетние многоходовки, умело манипулирует массовым сознанием, да еще и отличный программист. Übermensch! Я бы с радостью поговорил с ним за бокалом пива, а то не знаю ни одного человека, который бы имел понятие куда движется его жизнь и что вообще происходит.

Шопенгауер утверждает, что главное в жизни — счастье. Не деньги. Их отсутствие, конечно, порождает нужду, за которой следует несчастье, но из это не доказывает обратное. За деньгами нужно присматривать, они развращают, портят характер делая обладателей зазнавшимися, способствуют поиску чувственных развлечений вместо душевных. Миллиардеры не счастливее миллионеров в тысячу раз.

Ваши персонажи напоминают мне книгу «Богатый папа, бедный папа». Вызывают то же странное чувство — почему все стремятся стать как можно богаче? Неужели Сократ, который ходил босиком, хуже Юлия Цезаря? Неужели Перельман, доказавший гипотезу тысячелетия и отказавшийся от награды в миллион долларов, получил от этого меньше удовольствия, чем бывшие владельцы Instagram'а, получившие от его продажи миллиард? Из статьи следует, что Джон лучше, потому, что у него есть некие навыки социологии. Да, я согласен, что вероятно Джон будет зарабатывать больше денег, но какой ценой?

Стоит ли менять добродетель искренности на карьерный успех достигнутый манипуляцией? Важнее ли мнение людей о работе самой работы? Будете ли вы счастливее заработав состояние, или лучше потратить эти усилия на более благородные цели? В мире каких людей хотели бы жить вы?
Этот комментарий должен был быть к другой статье: habrahabr.ru/post/247363/
Это — не главное.
Человек счастлив, когда он сам чувствует себя счастливым, а не когда другие его считают таковым… даже если он идиот…
«Даже если он идиот» — это к первой части предложения, или ко второй?
«Человек счастлив, когда он сам чувствует себя счастливым, даже если он идиот» — это гениально, я считаю ))
Отличный текст. Много фраз-кандидатов в крылатые.
…«На самом деле этот самый «сопромат» не стоит вообще ничего без гуманитарных знаний, которые позволяют построить успешное общество и управлять им. То есть без истории, психологии, социологии, правоведения и прочих не очень точных, но очень нужных наук. Советское общество управлялось в некотором смысле извне, поэтому оно было этих знаний лишено по определению. Но вообще-то только знания о человеке и обществе имеют самостоятельную ценность. «Сопромат» становится нужен, когда решены вопросы общественного устройства, власти, собственности, стабильности и тому подобное. Если всё это налажено и есть кому поддерживать систему — можно строить стоэтажные небоскрёбы. Нет — и сарай построить оказывается невозможным, за отсутствием досок, гвоздей и людей, которые вместо того, чтобы строить сарай, взяли доски и пошли бить этими досками друг другу морды. И тут уж хоть обсчитайся, толку не будет»…

полностью — www.rus-obr.ru/ru-club/6381
В защиту «технарей» скажу, что гуманитарные науки не более полезны, чем любые другие, поскольку ученые не решают «вопросы общественного устройства, власти, собственности, стабильности и тому подобное». Это делают политики.
Выходит — политики должны быть образованными гуманитариями?
Скорее всего, это зависит от ситуации. Например, кого бы вы хотели себе в помощники на необитаемом острове: историка, психолога, социолога или правоведа?)
Из перечисленных — лучше всего хорошего психолога. Его предмет работы присутствует, и в нешуточном стрессе от попадания на необитаемый остров. Правовед точно не нужен ввиду отсутствия правовой системы; социолог — аналогично, в виду пренебрежимой малости социума. Историки бывают разные. Историк деревообработки или прочей работы с материалами мог бы пригодиться.
>> Попробуйте отвернуться от экрана и продолжать решать ту же самую проблему, вы увидите — она плавно, но быстро выветривается из головы.

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

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

Можно короче: UX design.
Философия – хорошо, социологию тоже косвенно упомянули. Главное физиологию не упускать – тестирование на пользователях наполовину из этого состоит.

OFF
люди не имеют заказчика

Сначала прочитал как «люди относятся к заказчику по-человечески».
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории