Тег «философия»

Альтернативное мнение об аспирантском курсе философии науки

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


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

Курс же философии науки знакомит нас с тем, как различные (не самые глупые) люди подходили к решению означенной проблемы. А проблема очень серьёзная – можем ли мы доверять научному или какому-либо ещё знанию? Как нынче принято говорить, краткий ответ – нет. Но если мы углубимся ещё немного, то оказывается, что лучше всё же доверять научному знанию, чем не доверять. В общем, там очень много весёлого, так в двух словах не перескажешь. Скажу лишь, что современной науке по моему представлению наиболее соответствует эволюционная эпистемология, а современному общественному сознанию – постмодернизм. Разумеется, сей курс не даёт правильного ответа – именно в силу невозможности абсолютного познания истины. Но он заставляет задуматься над тем, правильно ли то, что ты делаешь. Я категорически утверждаю, что философия науки необходима любому человеку, претендующему на то, что он занимается наукой, а не просто наливает раствор А в раствор Б.

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


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

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

> В этой области множество людей столетиями придумывали термины, «законы» и «принципы».

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

> до какого-нибудь Витгенштейна

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

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

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

> Нет, я согласен, что при наличии хорошего преподавателя это может быть даже интересно, но нужно ли?

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

Ежели спрашивать лично меня – то я бы исключил литературу и русский язык из школьной программы за полной бесполезностью. Оставил бы только чтение-запись в начальной школе.


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


Из конкретных философских трактатов могу порекомендовать разве что статью Карла Поппера об эволюционной эпистемологии http://www.keldysh.ru/pages/mrbur-web/philosophy/popper.html . Также не совсем по теме, но всё же – Ричард Докинз «Эгоистичный ген».

Теория крючков

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

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

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

Мне придумалась образное объяснение, почему так происходит — теория крючков. Она состоит из следующих постулатов:

  1. Поглощаемые человеком знания ищут в мозгу крючки, за которые могут зацепиться. Чем больше таких крючков, за которые зацепилось некоторое знание, тем дольше оно останется в мозгу.
  2. Крючки типизированные: определенным знаниям нужны определенные крючки. Нельзя зацепить знания о языке Фортран за крючки, относящиеся к плаванию кролем.
  3. Хотя некоторые уникумы умудряются нарушать типизацию крючков, проводя смелые аналогии в различных областях знаний.
  4. Закрепленные в мозгу новые знания сами начинают создавать крючки. Больше знаний — больше крючков — проще усваиваются новые знания.

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

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

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

УжасноПлохоНормальноХорошоОтлично (4 голосов, средний: 4,75 из 5)
Loading ... Loading ...

Программирование vs. прочие сферы деятельности

  1. Программирование демократично (в отличие от, например, политики). В сообществе разработчиков нет выраженной иерархии. Нет «элиты», уровень которой недостижим для простых смертных. Общение с великими программистами доступно каждому — зайдите на любой популярный форум разработчиков и общайтесь, сколько влезет. Можете написать письмо Фаулеру или Степанову, и если письмо будет по существу, они скорее всего ответят.
  2. Программирование справедливо. Все знаменитые программисты стали таковыми исключительно заслуженно. Шарлатаны моментально обнаруживаются и посему практически отсутствуют (или окучивают дилетантов).
  3. Программирование доступно всем. За последние двадцать лет оно потеряло остатки своей элитарности, и теперь программистом себя называет каждый, кто написал «Hello, World» и знает несколько аббревиатур. Всем доступны среды разработки, компиляторы и вообще все необходимые инструменты для производства конечного продукта, в отличие от большинства «материальных» профессий (например, стеклодувов или специалистов по микроэлектронике).
  4. Программировать сложно. Для разработки качественной программы нужно знать кучу разных вещей, и научиться этому за пару лет невозможно. Я вырос и перестал верить в Деда Мороза и малолетних разработчиков-гениев (олимпиады не в счет, они бесконечно далеки от реальности). Оптимистичным сроком обучения с нуля до уровня середнячка я бы назвал 6–10 лет. Тем не менее, подавляющее большинство считающих себя программистами таковыми не являются и никогда не будут.
  5. Программирование требует наличия своеобразной манеры мышления. Об этом я уже писал.
  6. Пользователи обычно не могут адекватно оценить качество программы. Всякий может посмотреть на результат труда писателя или художника и составить свое мнение. Но по поводу программы максимум, что можно услышать, — удобная она или нет; насколько программа корректно проверяет входные данные, насколько аккуратно обращается с памятью, продумана ли безопасность — все это невидимо. Зато когда вдруг исчезает квартальный отчет, все шишки падают на прибежавшего на крик сисадмина.
УжасноПлохоНормальноХорошоОтлично (Еще не оценили)
Loading ... Loading ...

Философия considered harmful

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

Леонардо да Винчи

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


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

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

Природа ценностей и их роль в социально-гуманитарном познании.

О да, трудно представить себе ученого, не имеющего понятия о роли ценностей в гуманитарном познании. Да такого нужно просто гнать из науки поганой метлой!

Меня всегда поражал подход социально-гуманитарных «наук»: прицепиться к какому нибудь определению или явлению (часто не понимая его сути) и навертеть вокруг этого целую теорию. Да, я могу назвать главную ценность гуманитарных наук. Их главная ценность — убедительность. Не важно что, не важно о чем. Если тебе поверили — твоя цель достигнута. К несчастью, многие ученые-естественники не умеют или не хотят говорить настолько же часто, много, убедительно и доступно для обывателей. В результате мнение о науке складывается не по выступлениям ученых и научным публикациям, а по интерпретации этой науки тружениками пера.

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

Еще один пример — синергетика. Типа, теория самоорганизующихся систем. Да, название громкое. А начинаешь выяснять, чем занимается эта самая синергетика — выходит, что в общем-то ничем особенным. В основном, пытается оправдать собственное существование. Ну, типа физика с информатикой встретились, — бах! — новая наука. Фактически синергетика заключается в нескольких самоочевидных постулатах вроде такого:

Когда системы объединяются, целое не равно сумме частей.

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

Неравновесность в системе является источником появления новой организации (порядка).

В сильно неравновесных условиях системы начинают воспринимать те факторы, которые они бы не восприняли в более равновесном состоянии.

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

И ведь десятки тысяч людей что-то делают, пишут какие-то работы, получают деньги… Безо всякого полезного эффекта. И не только в синергетике, которая является международным помешательством. У нас хватает своих российских тараканов: торсионные поля, наношампуни «с экстрактами бриллиантов», разнообразные артефакты Петрика и прочая псевдонаука. Миллионы человеко-лет тратятся впустую. Так вот, философия сейчас — примерно такая же псевдонаука.

Всех аспирантов РАН заставляют приобретать книгу «Философия науки. Общие проблемы» Степина.  Объемом около 400 стр. Стоит она около 500 р. Автор книги, разумеется, сотрудник института философии РАН, где я и проходил обучение по оному курсу. Я такую тоже купил, куда деваться. Открываю, — а там первая глава «Предмет философии науки». Отлично, думаю, сейчас я наконец узнаю, чем же философия науки занимается. Глава занимает 7 страниц примерно такого текста:

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

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

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

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

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

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

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

Впрочем, положительные впечатления от курса философии все же были. Первое — отличная лекция о математической аксиоматике, непонятно как попавшая в курс. Второе — семинары. Семинарская группа была маленькая и отбирали в нее исключительно математиков, физиков и CSов. Атмосфера соответствовала. Мы пили чай и читали друг перед другом доклады. Обсуждение любого доклада, скажем, о схоластическом образовании, довольно быстро сходилось к спорам по поводу постройки БАКа, обучения нейронных сетей или квантовой физики. Все попытки семинаристки вернуть нас в философское русло были обречены на провал — у нас была своя философия. Ее красноречие разбивалось о нашу логику. В конце концов, она осознала нашу безнадежность и свое бессилие.

На кандидатском экзамене все получили высший балл: семинары научили нас сводить любой вопрос к своей области науки. У экзаменаторов просто не было шансов.

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


Добавлено

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

УжасноПлохоНормальноХорошоОтлично (4 голосов, средний: 5,00 из 5)
Loading ... Loading ...

Исходники: текст или что-то другое?

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

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

Были еще встроенные в ОС средства протоколирования, но они именно в эти две недели не работали. Удивительное совпадение. Хотя нет, скорее, все дело в кривизне рук. Неважно.

Так вот, отладочная печать прекрасно себя зарекомендовала. Изучение длинных простыней протоколов из строк вроде «(kernDispatchThread) pre-switch ct=174380000 diff=55489 nn=4», «test 4»и даже просто «hahaha!!!» позволяют получить истинное удовольствие от расследования а-ля Хаус. Ну-ка, кто у нас тут вытеснил этот поток? Но вот аномальная последовательность строк найдена, и теперь никуда не денешься — придется разглядывать код, который эту аномалию продемонстрировал.

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

Вот как-то так я и провел две недели.

И не переставало мне думаться, что текст в качестве носителья исходного кода всем хорош: и редактировать его легко, и всякие diff’ы со слияниями делать, и от платформы не зависит (ну, почти), да и сколько уже проверенных временем алгоритмов на строках есть. Вот только читать чужие исходники неудобно. Хорошая IDE позволяет от вызова функции перейти к ее определению, но серебряной пулей тут и не пахнет. Пока читаешь код вызванной функции, забываешь, что делала вызывающая. И хорошо еще когда в когнитивном процессе участвует две функции. А что если 10? Или 50?

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

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

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

P.S. Я давно уже дочитал «Организацию ЭВМ» и с пяток книжек сверху. Просто под линуксом не работает мой антикварный сканер. Постараюсь что-нибудь придумать.

УжасноПлохоНормальноХорошоОтлично (Еще не оценили)
Loading ... Loading ...

Visual Studio разрушает мозг

Хе-хе, это не я, это все Петцольд сказал. Уж кому, как не ему, это знать!

А если честно, я с ним согласен. И сам все больше и больше отхожу от IDE в пользу Emacs, причем без средств управления проектами (да, я иногда меняю свое мнение). Во-первых, я нахожу, что «управление проектом» в техническом смысле — штука несколько эфемерная, и, во-вторых, в Emacs оно сделано ужасно неудобно.

В результате я решил, что хороший текстовый редактор повышает мою производительность гораздо сильнее, чем хорошая IDE. А автоматизация сборки и тестирования вполне удовлетворяется Autotools или cmake (статьи про которые я все никак не допишу), а что не смогут они, смогут сценарии bash или Power Shell.

P.S. Ссылку на Петцольда стащил у Сергея Зефирова.

УжасноПлохоНормальноХорошоОтлично (Еще не оценили)
Loading ... Loading ...