0,0
рейтинг
3 января 2015 в 04:20

Разработка → Философия программирования — трёхнаправленное программирование

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

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

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

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

Например такая история:
пытаясь раскрасить карту округов Англии, Францис Гутри сформулировал проблему четырёх красок, отметив, что четырёх цветов достаточно, чтобы раскрасить карту так, чтобы любые два смежных региона имели разные цвета. Его брат передал вопрос своему учителю по математике, Огастесу де Моргану, который упомянул о нем в своём письме Уильяму Гамильтону в 1852 году. Артур Кэли поднял эту проблему на встрече Лондонского математического сообщества в 1878 году. В том же году Тэйтом было предложено первое решение этой задачи.


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

Хотя системная инженерия подразумевает анализ и постановку задачи перед собственно проектированием, алгоритмированием, разработкой структур данных, кодированием и отладкой, но задачу-то ставит заказчик. Заказчик это «Господь Бог» в философии программирования, он не осмысляется, поскольку не может быть осмыслен, он — абсолют и высшая сила. Можно только осмыслять его отдельные указания и жаловаться на несовершенство «божьих творений». Сами отношения программиста и заказчика в учебнике по Java не поднимают, это марксизм или протестантская этика: метафизика подчинения и обусловленность материальными ценностями. В Америке есть класс «супер программистов», «старт-аперов», люди не имеют заказчика, они знают жизнь настолько, что сами могут увидеть потребности. То есть он не сидит и не ждёт пока некто, кто в жизни разбирается лучше него, придёт и скажет ему, что ему делать, он сам осмысляет жизнь и находит куда двигаться чтобы заработать и реализоваться как деятель. Не пишет программу, которую люди запрашивают, а сам создаёт запрос и сам же его удовлетворяет. Был ли запрос на iphone когда Джобс его придумал? Или Джобс создал сам запрос?

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

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

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

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

Программист это как раб лампы, как батарейка матрицы — если он вдруг начнёт применять свой мозг, свои невиданные способности по оперированию языками, логикой, работой с объёмами данных в обычной жизни — он может стать тем самым одноглазым, который король в стране слепых. Свитер облегает шею и тело, пуловер имеет широкое отверстие чтобы его было удобнее натягивать (pull-over), кофта имеет пуговицы. У джемпера вместо широкого отверстия застёжка. Это элементарно, можно написать в одну строчку кода. Но программисту не понятно одно, что эта информация, это не про одежду, это — часть описания жизни. Правда европейцы часть отличаются, есть культура программировать жизнь, особенно у англичан. Давно они открыли, что можно написать какое-то письмо, например «высылаю вам три мешка сукна, вышлите мне шесть золотых» и вдруг это можно повторять снова и снова и появляется возможность управлять жизнью просто сидя за своим рабочим столом и сочиняя письма. Венеция, Ганза, Кембрия. Это качество унаследовали и американцы, и поскольку они же полюбили и компьютеры и программирование они вышли на недосягаемый уровень. Они видят третий вектор программирования: любой код, любая программа программирует не только компьютер, не только процессор, но и пользователей.

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

Трёхнаправленное программирование. Компьютер, программист, пользователь. Невозможно внести изменения в код, не внеся изменения в будущее пользователя и программиста. Но можно об этом не думать. Так проще. Не думать — всегда проще. Человек из всех входных сигналов предпочитает принимать те, которые не требуют осмысления, а лишь ощущения. Вкус пива, чистая рубашка, похвала, или даже оскорбления и наезд начальства. Из этих эмоций далее следует эмоциональное принятие решений. Приятный фреймворк. Идиотский язык программирования. Тупой коммент. Классная статья. У меня возникла идея написать свою реализацию b-trees. Почему? Ну понравилась идея. Общение программистов, самых логически занятых сознаний, сводится к обмену эмоциями. Это два бурлящих потока, сталкиваются, отталкиваются, создают вихри — как же они вообще могут программировать? Очень просто, после часа эмоций они расходятся чтобы читать книги. Тут включается мысль. Киньте ссылку, я почитаю. Мне понравилось, есть что-нибудь почитать по этой теме? Две жизни. Программист особенно интересен тем, что для него даже кодирование это эмоциональное занятие, он бросает свои чувства в холодный экран, он пытается почуять логику и оформить себя как разум в результате. Русским программистам это особенно свойственно, а не свойственно им — рассуждать, тем более вслух, тем более письменно. Более того, человек способный рассуждать о своём проекте вызывает недоверие — он кажется вруном, который вместо того, чтобы смотреть в код, осознавать структуру алгоритма, почему-то думает о социальных проявлениях, пиарится, — сказки про Эльбрус и Фантом.

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

Мама не дура, даже по одежде и тарелкам может твоё будущее предсказать не зная асинхронной обработки данных. Это не сложно, и ты бы мог, если бы смотрел на социум и знал язык описания и программирования. По инстанциям похлопотать. Растёт ценный кадр. Толковый парень появился. Выправить документы. Начальство приметило. Это API. Ничего сложного. Программисты могут и должны править миром. Но, пока что, только небольшой слой американских программистов это понял. Гейтс понял, что программа может глючить когда её инструкции выполняются в компьютере, но она не должна глючить, когда её инструкции выполняет пользователь. Это не только цинизм, это понимание своей роли, это исследование поведения, это изучение API пользователя и всего общества. Нажми сюда, что будет если пользователь нажмёт эту кнопку? А если тут введён текст, как сделать, чтобы он ввёл текст и сюда? Открылось окно выбора файла, в какой папке по умолчанию оно должно быть открыто? Сколько часов вы потратили на отладку кода, почему вы не потратили в десять раз больше изучая поведение пользователя? Гейтс потратил.

Люди записывают на видео поведение пользователя за программой, причём с момента входа в комнату. Самое смешное, что эти люди это не программисты, это приглашенные люди — социологи, даже дрессировщики. Они сидят и выполняют работу, которую по идее программист должен выполнить эффективнее, ведь это отладка кода. Вносятся изменения. Но программа работает не быстрее после этих изменений, она может быть работает медленнее и чаще глючит, в процессоре, на компе глючит, но в поведении пользователя она работает лучше, он быстрее выполняет операции (performance), чаще достигает цели (debug), он доволен (energy saving). Он платит в конце концов. Всё, что делал Джобс — это программирование пользователя. Как он к этому пришёл? культура окружения? наркотики? личный талант? Философия. Канты-гегели, Гуссерли-расселы, Витгенштейны-сартры, тысячи их. Они создали немало языков для описания реальности и API для её осмысления. Большинство умных слов которыми мы пользуемся интуитивно, было ими некогда введено и сформулировано. Нельзя употреблять слово «культура» и думать о консерватории, говорить «консерватория» и не знать, что это в первую очередь система преподавания и отбора преподавателей. Консервативная и консервирующая опыт. Для программиста, всё чем он пользуется взялось из ниоткуда. Умные люди разберутся, преподы в универе есть для этого.

Кстати, преподаватель программирования обычно не умеет ни программировать, ни преподавать. Отдельная песня, так вышло, Сталин направил миллионы дремучих крестьян учиться инженерии, сейчас аналогичное происходит в Индии. Три миллиона выпускников ежегодно. Понятно, что люди стремятся стримлайнить преподавание, выкидывают всё лишнее. Зачем вам это знать, вы это учите — пригодится. История опытов Максвелла, очень увлекательна, но вам некогда её учить, вы выучите сразу уравнение Максвелла. Ну вы хоть скажите студентам, что до Максвелла не было ничего, после него уже наука об электричестве была развита. Какой пример для программистов! Нет ничего — что-то есть. Хотя бы расскажите как Страуструп и Торвальдс работали. Как из ничего, получается что-то. То есть преподаватель, так же философски дремуч, как и студент.

Вы смеётесь, что американцы не могут на глобусе найти Ирак. А вы над собой посмейтесь, вы можете на глобусе истории логики найти Гегеля? Вы пользуетесь BASH, вы знаете, кто и когда его создал и как он осмысляет своё творение по прошествии десятков лет? Вы знаете почему терминал называется терминал? Как он связан с телетайпом? Вы знаете, что компания IBM делала перепись населения в США более ста лет назад на деньги центробанка, а потом поставила эти механические компьютеры Гитлеру? Вы представляете, что устройство и терминология баз данных ведёт историю от тех перфокарт, а они от каталогизаторов привезённых из Англии в начале девятнадцатого века? Вы знаете как создатель Atari Бушнел не понял идеи своего работника Джобса? Вы хотя бы представляете роль Atari в истории вычислительной техники? Кто кого скопировал Atari или Sinclair? Мало знать устройства и их историю, надо в первую очередь знать людей, мысли и их историю. Отец Гёделя был священником, а отец Святого Франциска был банкиром и торговцем. Что такое львовско-варшавская школа логики?

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

Кстати, линковщик тоже не нужен, рудимент первых трансляторов. А типизированые языки нужны только потому, что из ста программистов только один умеет программировать, остальных нужно за ручку водить. Даже одна обезьяна напечатает «Войну и мир», если разблокировать только нужные клавиши и в нужном порядке. Потому мы так и любим подсветку синтаксиса и темы оформления — это способ воздействовать на себя, на свой разум, сконцентрировать внимание, помочь себе видеть больше. Сейчас размываются границы, где встроенная документация, где интернет, где компилятор, где интерпретатор, где ходить на работу, а где самозанятость. В таких условиях желание опереться на авторитет развивается, как у ребёнка желание схватить взрослого за рукав. Преданный взгляд в глаза Google когда они выкатывают очередную технологию для разработчиков. Надо вставать на ноги и осмотреться в большом взрослом мире, где ты не изучаешь технологии, а создаёшь их, где ты видишь не только мануал, но и руку которая тебе его протягивает и знаешь историю обоих. Это основы, это называется философия программирования.

Философия программирования
6: Продукт и Проект
5: Реактос и Колибри
4: Технология «Шапито»
3: Чичиков и программиат
2: Миф и язык
1: Трёхнаправленное программирование
Яков Судейкин (Нивин) @4p4
карма
59,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (85)

  • 0
    Шикарно! Спасибо!
    • +2
      Угу. Если бы я был девочкой, я бы расцеловал автора статьи!
      • +1
        Но мальчикам разрешается пожимать руку! А этому автору так и хочется пожать ее!
  • +10
    Я долго пытался понять что же мне напоминает ваш монолог, но все-таки вспомнил.

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


    • +11
      Это в первую очередь характерезует ваши ассоциативные связи, и в свою очередь историю вашего чтения. Когда программист думает, что два человека похожи, он забывает, что алгоритм сравнения находится в нём.
      • +7
        Ад! Адовая статья, адовый коммент! Автор, продолжайте!
        В подкрепление вашим словам хочется только процитировать вас же:
        В поиске истины давно нет правильного направления, люди разбрелись, релятивизм, плюрализм.

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

          Нет.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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