Философия программирования — трёхнаправленное программирование. Информационный портал по безопасности

Стоит ли учиться программированию?

“Программирование” представляет собой очень обширное понятие. Некоторые языки программирования намного легче, чем другие. Некоторые языки требуют понимания того, как программа “разговаривает” с компьютером. Наиболее важной частью изучения кодов - это поддержание правильного хода мышления. Суть не состоит в том, чтоб сказать себе «я могу это сделать» или прочитать нужную литературу…

Суть заключается в следующем…

Учить или не учить программирование?

Грамотность в любом компьютерном языке, от простого HTML к сложному C + +, требует преданности не только к технологии, но и к ее безконечным изменениям. HTML5 не без причины заканчивается на цифру. Когда достаточное количество веб-браузеров начнут поддерживать HTML6, разработчикам придется снова научиться чему-то новому.

Возможные причины, почему бы вы захотели вовлечь себя в новый процесс обучения:

  • Набраться уверености: у меня было несколько клиентов, которые считали, что если они овладеют языком программирования, то тогда компьютеры будут их меньше пугать.
  • Необходимость: технические проблемы могут возникнуть в любую минуту.
  • Острые ощущения: некоторые люди просто хотят освоить новые навыки.
  • Чтобы понять, что возможно: когда разработчик говорит: «Это не возможно сделать!» Имеет ли он в виду, что это вправду не возможно, или он просто не хочет брать на себя эту головную боль?

Будьте всегда любопытными

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

У меня есть три подхода к решению проблемы с любым проектом:

  • Найдите тему, которая вас раздражает

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

  • Вы должны быть вознаграждены за дополнительные усилия

Найдя пресловутый зуд, люди, изучающие программирование также должны найти облегчение. Ни учебники, ни инструменты, ни похвала не помогут кому-либо стать мастером КОДА. Только после слов “я написал это и … посмотрите, что я сделал!” вы почувствуете, что преодолели препятствие. Это будет звучать глупо, пока вы сами это не попробуете. Протестированый код, который работает, придаст вам адреналина и подарит чувство, что вы стали мастером компьютерного программирования.

  • Ваш проект должен делаться в то время, пока у вашего мозга есть аппетит

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

Практикуйтесь ежедневно

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

Иммануил Кант, жулик философии, придумал отличную вещь, для ангостицизма. Так называемая "вещь в себе". Крайне интересная штука.
Фишка в следующем: в обычном гносеологическом процесс имеется связь объект-субъект. Т.е. всегда имеется объект, который познает субъект.
Есть много взглядов, что мы познаем (идеализм, материализм и их последующие течения), одна тут Кант переплюнул всех.
В его понимании, ты сможешь познать вещь, только если она позволит тебе это сделать. Например, захочет вещь не раскрываться и ты так никогда не узнаешь, что она деревянная допустим, даже если ее распилишь.
Т.е. он наделяет волей объект приравнивая его до субъекта. Таким образом, пока вы познаете вещь, вещь познает вас. Отношения разноуровневые перекочевали в одноуровневые.

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

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

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

Функция Мировоззрение(Ценности) Ценности = Алгоритм вычисления ценностей() Вернуть Ценности Конец Функции Основная программа Цикл (повторять бесконечно){ Ценности = Мировоззрение(Ценности) } Конец программы

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

Как известно, для компьютер способен записывать слова (текст) и объекты (3д модели, картинки). Единственная брешь, которая стоит на пути создании ИИ - понятие. Т.е. то, что связывает слово и объект. Если кто-то придумает, как засунуть в машину систему понятий, то ИИ будет создан.

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

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

Также тяжело не брать во внимание и обратное влияние ЭВМ на человеческое мышление. Как изменяется жизнь человека и его духовные ценности под воздействием технического прогресса.

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

Мышление компьютера

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

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

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

Отсюда следует вывод, что сейчас программы для ЭВМ, а, также компьютеры мыслить не могут.

Моральная сторона программирования

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

Эти программы пишут люди, но вот в чём вопрос: что движет этим человеком?

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

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

Заключение.

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


Библиографический список

  1. Варфоломеева Т.Н., Овчинникова И.Г. Учебное пособие по программированию. [Текст]: учеб. пособие / Магнитогорск: МаГУ, 2005. Под грифом УМО. – 104 с.
  2. Варфоломеева Т.Н., Овчинникова И.Г., Платонова О.И. Методологии программирования. [Текст]: учеб. пособие / Магнитогорск: МаГУ, 2007. – 204 с.
  3. Варфоломеева, Т.Н. Лабораторный практикум по объектно-ориентированному программированию. [Текст]: учеб. пособие / Т.Н. Варфоломеева, И.Ю. Ефимова – Москва, 2014. (2-е издание, стереотипное)
  4. Варфоломеева, Т.Н. Лабораторный практикум по структурному программированию на примере языка PASCAL [Текст]: учеб. пособие / Т.Н. Варфоломеева, С.А. Повитухин. – Магнитогорск: МаГУ, 2013. – 123 с.
  5. Варфоломеева, Т.Н. Пособие для подготовки к ЕГЭ и ЦТ по информатике [Текст]: учеб. пособие в 2-х частях, Том. Часть 1. Алгоритмизация и программирование / Т.Н. Варфоломеева, И.Г. Овчинникова. – Магнитогорск: МаГУ, 2006. – 128 с.
  6. Варфоломеева, Т.Н. Учебное пособие для подготовки к централизованному тестированию по информатике [Текст]: учеб. пособие / Т.Н. Варфоломеева, И.Г. Овчинникова, Н.Г. Корнещук Магнитогорск: МаГУ, 2002. – 205 с.
  7. Варфоломеева, Т.Н. Учебно-методическое пособие для подготовки к вступительным экзаменам по информатике [Текст]: учеб. пособие / Т.Н. Варфоломеева, И.Г. Овчинникова, Е.Н. Гусева Магнитогорск: МаГУ, 2002. – 116 с.
  8. Ефимова, И.Ю. Компьютерное моделирование [Текст]: сборник практических работ 2-е издание, стереотипное / И.Ю. Ефимова, Т.Н. Варфоломеева. – Москва: ООО «Флинта», 2014. – 67 с. ISBN: 978-5-9765-2039-4
  9. Ефимова, И.Ю. Методика и технологии преподавания информатики в учебных заведениях профессионального образования [Текст]: учебно-метод. пособие 2-е издание, стереотипное / И.Ю. Ефимова, Т.Н. Варфоломеева. – Москва: ООО «Флинта», 2014. – 41 с. ISBN 978-5-9765-2040-0
  10. Мовчан И.Н. Инновационные подходы в преподавании информатики в вузе // Современные научные исследования и инновации. – 2014. – № 5-2 (37). – С. 45.
  11. Мовчан И.Н. Некоторые аспекты информационной подготовки студентов вуза // Сборник научных трудов Sworld. – 2008. Т.18. – № 1. – С. 34-36.
  12. Мовчан И.Н.Педагогический контроль информационной деятельности студента вуза в процессе профессиональной подготовки: дис. … канд. пед. наук/Мовчан Ирина Николаевна; Магнитогорский ГУ. – Магнитогорск, 2009, – 205 с.
  13. Овчинникова И.Г. Оценка эффективности образования личности [Текст] / И.Г. Овчинникова, В.А. Беликов, Л.В. Курзаева // Социальное партнерство в профессиональном образовании Материалы Всероссийской научно-практической конференции. ФГОУ СПО «Магнитогорский государственный профессионально-педагогический колледж», Лаборатория исследования проблем управления качеством начального и среднего профессионального образования УрО РАО: сб. науч. ст. Магнитогорск, 2010. – С. 178-187.
  14. Овчинникова, И.Г. Задачник- практикум по программированию [Текст]: учеб.-метод. пособие. / И.Г. Овчинникова, Т.Н. Варфоломеева. – Магнитогорск: МаГУ, 2009. – 77 с.
  15. Сахнова Т.Н., Овчинникова И.Г. Алгоритмы поиска в курсе информатики средней школы [Текст] // Информатика и образование. – 2010 – № 11 – С. 79-83.
  16. Сахнова Т.Н., Овчинникова И.Г. Алгоритмы сортировки при решении задач по программированию [Текст] // Информатика и образование. – 2011. – № 2 – С. 53-57
  17. Сахнова, Т.Н. Основы алгоритмизации [Текст]: учеб. пособие, 2-е изд., перерабо. и доп. / Т.Н. Сахнова, И.Г. Овчинникова. – Магнитогорск: МаГУ, 2002. под грифом УМО. – 131 с.
  18. Сахнова, Т.Н. Педагогические условия формирования профессионального информационного мышления студентов университета [Текст] : дис. …канд. пед. наук: 13.00.08 / Т.Н. Сахнова. – Магнитогорск, 2003.
  19. Сахнова, Т.Н. Пособие для подготовки к ЕГЭ и ЦТ по информатике [Текст]: учеб. пособие в 2-х частях, Том. Часть 2. Базовый курс / Т.Н. Сахнова, И.Г. Овчинникова. – Магнитогорск: МаГУ, 2006. – 128 с.
  20. Чусавитина, Г.Н. Разработка модели управление рисками, порождаемыми применением дистанционных образовательных технологий в вузе [Текст] / Г.Н. Чусавитина, М.О. Чусавитин, Т.Н. Варфоломеева // Совершенствование подготовки IT-специалистов по направлению «Прикладная информатика» для инновационной экономики: сб. науч. тр. Москва, 2008. – С. 216-218.
Количество просмотров публикации: Please wait

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

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

Философия программирования

Посмотрело: 873

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

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



Похожие статьи

© 2024 parki48.ru. Строим каркасный дом. Ландшафтный дизайн. Строительство. Фундамент.