Форум » МЕТОДОЛОГИЯ-METHODOLOGY » Что такое предметное декларативное знание? Как оно может быть организовано и эволюционирует... » Ответить

Что такое предметное декларативное знание? Как оно может быть организовано и эволюционирует...

БорисЕ: Здесь будут коллекционироваться ссылки и соображения по теме знания вообще и принципам организации декларативного предметного знания в частности

Ответов - 57

bne: Я. Корнаи. Системная парадигма Новая парадигма в общественных науках не обязательно заменяет старую; различные парадигмы могут сосуществовать. Основные свойства системной парадигмы следующие: 1) изучение системы в целом; 2) она не сводится к какой-либо частной научной дисциплине, это - школа обществоведения; 3) акцент на институтах; 4) признание роли истории в возникновении организаций; 5) особое внимание к факторам предпочтений; 6) повышенный интерес к изучению процесса перехода от одной системы к другой; 7) признание системно специфичных дисфункций. В статье рассматриваются возможности системной парадигмы с точки зрения способности объяснять настоящее и предвидеть будущее. === Конаи был мне известен по книге Экономика дефицита На ссылку про эту статью набрел случайно Статью ищу

ЗГТТ: Очень интересная тема, пожалуй, не имеющая аналогов. И вслух не обсуждаемая, что обостряет актуальность вопроса. Вроде бы всем понятно, что существует некое базовое знание, зафиксированное неоднократно, но в то же время не имеющее под собой серьезных оснований. Еще вариант, когда «все знают», но невозможно докопаться до источника «аксиомы». Еще вариант, когда вопрос касается вроде бы признанных авторитетов, про которых все знают, что они неправы, но опровергать сих доморощенных академиков как-то совестно. Возможно, я превратно толкую тему декларативности, однако проблематика представляется многогранной и, безусловно, заслуживающей самого широкого обсуждения в научных кругах.

БорисЕ: аспекты социологии знания. Этот срез проблемы существенен. Они работают даже в случае когда строится сильно аксиоматизированное знание (как в некоторых разделах математики) Реально же всегда примешивается и неявное знание и вкусовые элементы. Играют роль не только более верная интуиция в выборе направления, но и «грубая сила» (в числе сторонников, объеме финансирования и т.п.) Обычно приходится выбирать между «униженной мудростью и торжествующей глупостью» И нашему веку еще повезло, поскольку есть такие усилители интеллекта как компьютер, библиотеки и интернет... ;-) Вообще нечто можно IMHO описать системой нелинейных диф. уравнений, но можно моделировать и в рамках Монте-Карло (теперь модно говорить о мультиагентном подходе)...


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

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

ЗГТТ: с естественных областей. Можете ли Вы привести пример признания отрицательного результата в геофизике и смежных науках? Для защит и статей в центр ставится результат позитивного свойства, даже если он малозначимый. И научное сообщество этому способствует, чрезмерно превознося некоторых ученых. Незаслуженная похвала способна, на мой взгляд, нанести науке больший урон, чем недооценка таланта. К сожалению, приходится констатировать, что в корифеи возводится любой ветеран науки (как явствует из Вашего соседнего раздела). Корни-то от КПСС идут - непригодного перемещать с повышением. IMHO с течением времени и углублением специализации ситуация будет усугубляться, в гуманитарных науках быстрее, в естественны немного медленнее. И не факт, что реформа образовательной системы поможет...

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

ЗГТТ: в 1982 году профессором Нуримановым. Газетенка лежит в домашнем архиве с опубликованным доказательством. Относительно опровержения теоретических результатов, боюсь, что ценится далеко не всегда и масштабное практическое опревержение. Теории, как порой кажется, имеют свой самостоятельный жизненный цикл... впрочем, сей велосипед изобретен не мною, а, кажется Куном. Причем тот жизненный цикл мало связан с верностью теории. И Вы очень верно подняли проблему научной этики. IMHO научному сообществу не чужда кастовость, которую обычно изучают применительно к бюрократии. К сожалению, я не знаком с исследованиями кастовости профессиональных сообществ, кажется, тут необъятное поле...

БорисЕ: А кастовость тесно сопряжена с распределением грантов, заказов, кормушек и прочего Жизнь в науке если нет приработков достаточно мрачна Тот же Кеплер тщетно выпрашивал у Валлентштейна официально выделенные ему деньги и подрабатывал изданием календарей. Сей скорбный лист легко пополнить Выживает то направление в котором руководитель умеет пробить штат и приличный заработок, хотя порой оно успевает сменить тезисы на прямо противоположные... ;-) Сегодня читал рассуждения Генри Миллера про Рембо и Ван-Гога. В науке таким людям еще труднее чем в поэзии и в живописи Когда некое чутье (как демон) подталкивает своим нутренным видение, что это не то - очень сложно жить в мире с миром и с собой (даже если оно и абсолютно верно подталкивает) Но ведь и дар первородства на чечевичную похлебку менять не хочется (даже если он и сам размером с чечевичное зерно) И IMHO прав тут Генри Миллер, что процесс, а результаты только случайно и на обочине... Вот так и маятся сердеШные... ;-)

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

NIC: Чтобы изобрести что-либо новое, и не пойти на поводу за существующим, надо уходить в лес. Чем раньше, тем лучше. И не возвращаться. А результаты вашей деятельности пусть найдут археологи. Большинство путает и смешивает понятия ум и интеллект. А ум - это от рождения Интеллект - просто энциклопедические знания. Ум - это оператор Интеллект - это память Опыт - это большая память, накоппленные выражения и мнения Авторитетов, котрыми можно всегда приткнуть ум. Интеллект как правило чаще без ума. А ум без памяти (постоянной), но с оперативной. Идеальный случай - и то и другое = ГЕНИЙ!

БорисЕ: Разум, рефлексия, интеллект Определений много и если их четко не выписывать легко запутаться в логических кругах Тут неожиданно выяснялось, что мою заметку на философский конгресс приняли Сегодня регистрировался там Впечатления весьма сумеречные И самое обидное и средств презентации для доклада не будет А мастер узнается еще и по его инструментам, между прочим...

bne: Scientific method: principles and procedures for the systematic pursuit of knowledge involving the recognition and formulation of a problem, the collection of data through observation and experiment, and the formulation and testing of hypotheses.

BorisE: Введение В качестве введения мне хотелось бы начать разговор с истории и цитат. История эта о физике Людвиге Больцмане, который хотел достичь своих результатов путем громоздких вычислений. Кто-то однажды пожаловался на то, что его методы ужасны, на что Больцман заявил, что об элегантности должны заботиться портные и сапожники, дав тем самым понять, что его самого это никоим образом не беспокоит. В противоположность ему, я хотел бы процитировать другого известного ученого XIX века, Джорджа Буля. В своей книге Исследование законов мышления, в главе Условия совершенного метода, он писал: Я говорю здесь не только о том совершенстве, которое состоит в могуществе, но и о том, которое основывается на концепции изящества и красоты. Вполне возможно, что тщательное изучение этого вопроса приведет нас к выводу, что совершенный метод должен быть не только эффективным по отношению к объектам, для которых он разработан, но и демонстрировать определенное единство и гармонию всех своих частей и процессов. Вряд ли кто-то не заметит коренного различия в этих подходах. Мы подсознательно ассоциируем элегантность с роскошью. Возможно, это одна из причин того, что для нас само собой разумеется, что элегантность должна дорого обходиться. Одна из моих основных целей показать, что элегантность может быть также выгодна. Это даст нам ясное понимание истинной природы качества программ и пути, которым оно может быть достигнуто, а именно языка программирования. Поняв это, мы попытаемся вывести некоторые ключевые моменты, например, какие особенности языков программирования являются наиболее предпочтительными. Наконец, мы надеемся убедить вас в том, что различные цели конфликтуют друг с другом меньше, чем это кажется на первый взгляд. О качестве результатов Даже полагая, что машины работают безупречно, мы должны задать себе вопрос: Когда компьютер выдает результаты, почему мы должны им доверять, если только мы им действительно доверяем?, а затем: Какие меры мы можем предпринять, чтобы повысить степень нашей уверенности в том, что выданные результаты это то, что нам нужно на самом деле?. Насколько важен первый вопрос, можно проиллюстрировать на простом, даже несколько упрощенном примере. Предположим, что математик, работающий в области теории чисел, имеет в своем распоряжении машину с программой факторизации чисел. Этот процесс может завершиться двумя способами: либо он выдает факторизацию данного числа, либо отвечает, что заданное число является простым. Предположим теперь, что наш математик хочет подставить в этот процесс, скажем, число с 20-ю десятичными знаками, для которого у него есть веские причины полагать, что оно простое. Если машина подтверждает это ожидание, он будет счастлив; если она находит факторизацию, математик будет разочарован, так как интуиция снова подвела его, но, если он сомневается, он может взять счетную машинку и перемножить полученные множители, чтобы проверить, получится ли в результате исходное число. Если же, наоборот, машина выдает ответ, что данное число, согласно его ожиданиям и горячему желанию, является простым, с чего бы ему верить этому? Наш пример демонстрирует, что даже в полностью абстрактных задачах получение результата не является четко определенным процессом, четко определенным в том смысле, что можно сказать: Я сделал это, не беспокоясь за убедительность результата, то есть его качество. Ситуация, в которой находятся программисты, очень похожа на ту, в которой находятся чистые математики, которые разрабатывают теорию и доказывают результаты. Долгое время чистые математики думали а некоторые из них до сих пор думают что теорема может быть доказана полностью, что вопрос о том, является ли предложенное доказательство теоремы адекватным или нет, допускает абсолютный ответ да или нет. Но это иллюзия, потому что как только кто-то начинает думать, что доказал что-то, он должен доказать, что его доказательство безукоризненно, и так далее, до бесконечности! Никто не может гарантировать, что доказательство корректно, в лучшем случае он может сказать: Я не нашел ни одной ошибки. Порой мы льстим себе мыслью о неопровержимом доказательстве, но на самом деле все, что мы делаем, это лишь придаем правдоподобный вид своим заключениям. Несмотря на все свои недостатки, математические рассуждения представляют замечательную модель того, как можно охватить чрезвычайно сложные структуры посредством мозга, возможности которого ограничены. Кажется, стоит разобраться, до какой степени эти проверенные методы могут быть перенесены в искусство использования компьютеров. В разработке языков программирования можно позволить себе руководствоваться в первую очередь тем, что машина может делать. Впрочем, учитывая, что язык программирования это мост между пользователем и машиной и фактически может рассматриваться как его инструмент, кажется столь же важным рассматривать, что Человек может придумать. Именно в этом русле мы продолжим наше исследование. О структуре убедительных программ Техника управления сложностью известна с древних времен: Divide et impera (разделяй и властвуй). Аналогия между построением доказательства и построением программы, пожалуй, просто поразительна. В обоих случаях даны отправные точки (аксиомы и существующая теория против примитивов и доступных библиотечных программ), в обоих случаях задана цель (доказанная теорема против желаемых результатов), в обоих случаях сложность преодолевается делением на части (леммы против подпрограмм и процедур). Я полагаю, что гениальность программиста соответствует сложности решаемой задачи, а также полагаю, что он сумел добиться подходящего разделения задачи. Затем он продолжает действовать следующим образом: Он разрабатывает полные спецификации отдельных частей. Он убеждается, что проблема в целом решается при наличии в его распоряжении частей программы, удовлетворяющих этим спецификациям. Он разрабатывает отдельные части в соответствии со спецификациями, но при этом делает их максимально независимыми друг от друга и от окружения, в котором они будут использоваться. Очевидно, что построение каждой такой отдельной части может снова оказаться сложной задачей, так что для данной части задачи потребуется дальнейшее разбиение. Некоторые могут счесть описанный метод разбиения на части недостаточно прямолинейным и слишком извилистым путем достижения конечной цели. Мое собственное мнение я лучше всего могу выразить так: я твердо уверен, что царских дорог в математике нет, или, другими словами, что у меня очень маленькая голова, и я вынужден обходиться ей. Поэтому я рассматриваю технику разбиения на части как базовый прием человеческого мышления и считаю, что стоит попробовать создать условия, в которых она может быть наиболее плодотворно применена. Предположение о том, что программист сделал подходящее разбиение, находит подтверждение в том, что становится возможным выполнить первые два этапа: спецификацию частей и проверку, что они совместно решают задачу. Здесь элегантность, точность, ясность и тщательное понимание задачи являются необходимыми предпосылками. Но в целом техника разбиения основывается на том, что обсуждалось значительно меньше, а именно на том, я назвал бы принципом невмешательства. На втором этапе подразумевается, что правильная работа целого может быть установлена путем рассмотрения только внешних спецификаций частей, без деталей их внутреннего строения. На третьем этапе принцип невмешательства всплывает снова; здесь подразумевается, что отдельные части могут быть поняты и построены независимо друг от друга. Возможно, здесь уместно заметить, что если я правильно понял нынешнее отношение к проблеме определения языка, при несколько более формальном подходе состоятельность техники разбиения подвергается сомнению. Те, кто выдвигает возражения, аргументируют свою точку зрения следующим образом. Когда вы используете механизм, подобный описанному двухэтапному, во-первых, должны быть созданы спецификации, а во-вторых, описано, как все это работает. При этом вы вынуждены в лучшем случае сказать дважды одно и то же, но вероятнее всего, вы придете к противоречию. С точки зрения статистики, как ни грустно мне об этом говорить, последнее замечание достаточно серьезно. Единственный ясный путь к определению языка, возражают они, это просто определение механизмов, потому что все, что они будут делать, следует из этого. Мой вопрос: А как оно следует? мудро оставляют без ответа, и я боюсь, что это тонкое, но порой значительное различие между понятиями определено и известно сделают их работу интеллектуальным упражнением, которое ведет в тупик. После этого отступления вернемся к собственно программированию. Каждый, кто знаком с ALGOL 60, согласится, что его концепция процедуры в высокой степени удовлетворяет нашей концепции невмешательства, как по своим статическим (например, в свободном выборе локальных идентификаторов), так и по динамическим свойствам (например, возможность вызова процедуры, прямо или косвенно, из себя самой). Другой впечатляющий пример улучшения ясности посредством невмешательства, гарантированного структурой, представлен всеми языками программирования, в которых допустимы алгебраические выражения. Вычисление этих выражений последовательной машиной, имеющей арифметическое устройство ограниченной сложности, подразумевает использование временного хранилища для промежуточных результатов. Их анонимность в исходном языке гарантирует невозможность того, что один из них будет нечаянно разрушен до использования, что было бы возможно при программировании в кодах машины Фон Неймана. Сравнение некоторых альтернатив Развернутое сравнение кода машины Фон-неймановского типа хорошо известное отсутствием ясности и различных типов алгоритмических языков было бы не лишним. Выполнение программы всегда состоит в периодическом взаимодействии двух информационных потоков, одного постоянного во времени (программы), другого изменяющегося (данные). Много лет одним из основных достоинств кода Фон-неймановского типа считалась возможность программы изменять свои собственные инструкции. Со временем мы обнаружили, что именно эта возможность в немалой степени ответственна за отсутствие ясности в программах на машинном коде. Тут же была поставлена под вопрос необходимость этого: все алгебраические компиляторы, которые я знаю, производят объектные программы, остающиеся неизменными все время выполнения. Это наблюдение приводит нас к рассмотрению статуса переменной информации. Давайте ограничимся рассмотрением языков программирования без операторов присваивания и перехода. При условии, что набор доступных функций достаточно широк и понятие условного выражения входит в число примитивов, можно описать вывод любой программы как значение большой (рекурсивной) функции. Для последовательной машины она может быть странслирована в постоянную объектную программу, в которой во время выполнения стек используется для отслеживания текущей иерархии вызовов и значений фактических параметров, передаваемых этим вызовам. Несмотря на элегантность подобного языка программирования, имеется серьезный довод против него. Информация в стеке может рассматриваться как объекты с вложенными временами жизни и постоянными значениями в течение всего времени жизни. Нигде (за исключением явного наращивания счетчика команд, отражающего ход времени) значение уже существующего именованного объекта не заменяется другой величиной. В результате единственный способ сохранить только что полученный результат выложить его на верхушку стека; у нас нет способа выразить, что прежнее значение устарело, и время его жизни будет продолжаться, хотя безо всякого интереса для нас. Второй довод против, возможно, является следствием первого: такую программу после некоторого, довольно быстро достижимого, уровня вложенности будет ужасно трудно читать. Обычное средство от этого совместное введение операторов присвоения и goto. Оператор goto позволяет нам посредством перехода назад повторить часть программы, тогда как оператор присвоения может создать необходимое различие в состоянии между последовательными повторениями. Но у меня есть причины спросить: будучи примененным в качестве спасительного средства, оператор goto не хуже ли сам по себе, чем тот дефект, который он призван исправить? Например, два менеджера программных отделов из разных стран и разной квалификации один в основном ученый, другой в основном коммерсант сообщили мне независимо друг от друга и по собственной инициативе о своем наблюдении, что квалификация их программистов обратно пропорциональна частоте появления оператора goto в их программах. Это было стимулом к тому, чтобы попытаться обойтись без оператора goto. Идея состоит в следующем: то, то нам известно как передача управления, т.е. подмена счетчика инструкций, - это операция, обычно подразумеваемая как часть более содержательного действия. Я упомяну переход на следующий оператор, вызов процедуры и возврат из нее, условные конструкции и оператор for. Это еще вопрос, не собьет ли программиста с толку наличие отдельного средства управления передачей управления. Я поставил несколько программных экспериментов и сравнил текст на ALGOL с текстом, полученным мной на модифицированной версии ALGOL 60, в котором оператор goto был упразднен, а оператор for будучи слишком помпезным и сложным заменен более простой конструкцией повтора. Последние версии было потруднее создавать: мы так хорошо знакомы с командой перехода, что требовались некоторые усилия, чтобы забыть его! Во всех попытках, впрочем, программы без goto оказались короче и понятнее. Начальный шаг в повышении ясности достаточно понятен. Хорошо известно, что не существует алгоритма для определения, завершится данная программа или нет. Другими словами: каждый программист, который хочет создать безукоризненную программу, должен хотя бы убедиться сам, проверив, действительно ли завершается его программа. В программе, где goto применен в неограниченных количествах, этот анализ может оказаться очень трудным, учитывая большое разнообразие путей, по которым программа может зациклиться. После упразднения goto остаются только два способа, которыми программа может зациклиться: либо бесконечная рекурсия т.е. через механизм процедур либо конструкция цикла. Это весьма упрощает проверку. Понятие цикла, столь фундаментальное в программировании, имеет еще один аспект. Нет ничего необычного в том, что среди последовательности повторяющихся операторов появляется одно или более подвыражений, которые не изменяют значение в ходе цикла. Если такая последовательность должна повторяться много раз, было бы досадной потерей машинного времени перевычислять одни и те же значения снова и снова. Один из способов избежать этого переложить на оптимизирующий транслятор выявление подобных константных подвыражений, чтобы он мог вынести вычисление их значений за пределы цикла. При отсутствии оптимизирующего транслятора очевидное решение предложить программисту расписать их явно путем введения стольких дополнительных переменных, сколько константных подвыражений имеется в цикле, и присвоения им значений перед входом в цикл. Я должен подчеркнуть, что оба способа написания программ в равной степени сбивают с толку. В первом случае транслятор сталкивается с ненужной головоломкой по выявлению константности, во втором мы вводим переменную, единственное назначение которой обозначать константное значение. Последнее рассмотрение указывает выход из этого затруднения: помимо переменных, в распоряжении программиста должны быть локальные константы, т.е. идентифицируемые величины с ограниченным временем жизни, в течение которого они сохраняют постоянное значение, заданное в момент появления величины. Эти величины не новы: формальные параметры процедур уже демонстрируют это свойство. Вышеупомянутое это призыв осознать, что концепция локальной константы имеет право на существование. Если меня правильно информировали, это уже было заложено в CPL, язык программирования, разработанный совместными усилиями в математической лаборатории Кембриджского университета в Англии. Двойная выгода от ясности Я подробно рассуждал о том, что убедительность результата сильно зависит от ясности программы, от степени, в которой она отражает структуру выполняемого процесса. Для тех, кто в первую очередь озабочен эффективностью, измеряемой сомнительной мерой в виде занимаемой памяти и машинного времени, я хотел бы указать, что увеличение эффективности всегда ведет к использованию структуры. Для них я хотел бы особо подчеркнуть, что все упомянутые структурные свойства могут быть использованы для повышения эффективности реализации. Следовало бы снова пересмотреть их вкратце. Аспекты, связанные со временем жизни, разрешаемые при помощи локальных величин процедуры, позволяют нам разместить их в стеке, тем самым используя доступную память весьма эффективно; анонимность промежуточных результатов позволяет нам динамически минимизировать обращения к памяти при помощи автоматически управляемого набора аккумуляторов; постоянство текста программы во время выполнения очень полезно на машинах с разными уровнями памяти и значительно уменьшает сложность управления; оператор цикла облегчает динамическое выявление бесконечного зацикливания, и, наконец, локальные константы подходящие кандидаты для хранения в памяти с медленной записью и быстрым чтением, где она имеется. Позвольте мне подвести итог. Когда я познакомился с понятием алгоритмических языков, я никогда не оспаривал господствующего тогда мнения, что проблемы разработки и реализации языка в основном вопрос компромиссов: каждое новое удобство для пользователя должно быть оплачено при реализации, либо в виде дополнительных проблем при трансляции, либо при выполнении, либо при том и другом. Что ж, мы определенно живем не в раю, и я не собираюсь отрицать возможность конфликта между удобством и эффективностью, но теперь я возражаю, когда этот конфликт подается как закономерный итог ситуации. Я придерживаюсь мнения, что стоило бы разобраться, до какой степени интересы Человека и Машины совпадают, и посмотреть, какие технологии мы можем изобрести на пользу всем нам. Я верю, что это исследование принесет плоды, и если этот рассказ пробудит в вас такую же надежду, он достиг своей цели. Prof. Dr. E.W.Dijkstra Department of Mathematics Technological University P.O.Box 513 EINDHOVEN The Netherlands -------------------------------------------------------------------------------- (c) Клуб программистов "Весельчак У" http://club.shelek.com/

BorisE: Свободное, бесплатное и открытое ПО — понятия и отличия. Прежде всего, стоит отметить, что такое свободное ПО, и чем оно отличается от открытого ПО. Согласно определению, свободное программное обеспечение — это программное обеспечение с открытым исходным кодом, который пользователь может легально запускать, модифицировать и распространять любым образом. При этом различают четыре степени свободы ПО: Свобода запускать программу в любых целях (свобода 0). Свобода изучения работы программы и адаптация её к своим нуждам (свобода 1). Доступ к исходным кодам — необходимое для этого условие. Свобода распространять копии (свобода 2). Свобода улучшать программу и публиковать улучшения (свобода 3). По нынешнему законодательству практически всех стран, программный продукт и его исходный код, по умолчанию является так называемой интеллектуальной собственностью его автора, которому даётся полная власть над распространением и изменением программы, даже в случае, когда исходные коды открыты для обозрения. Чтобы программное обеспечение считалось «свободным», его автор должен дать пользователю все четыре вышеперечисленные свободы. Это достигается выпуском исходных кодов программного обеспечения под одной из особого рода лицензий, называемых свободными. В то время как под открытым ПО, подразумевают способ разработки ПО, при котором создаваемый исходный код программ открыт, то есть, общедоступен для просмотра и изменения. Это позволяет всем желающим использовать уже созданный код для своих нужд и, возможно, помочь в разработке открытой программы. Бесплатность ПО есть право пользователя, но не обязанность производителя — открытая лицензия не требует, чтобы ПО всегда предоставлялось бесплатно. Многие из наиболее успешных проектов открытого ПО, тем не менее, бесплатны. Подавляющее большинство открытых программ является одновременно свободными и наоборот, ибо определения открытого и свободного ПО близки, а большинство лицензий соответствуют обоим. Отличие между движениями открытого ПО и свободного ПО заключается в основном в приоритетах. Сторонники открытого ПО делают упор на эффективность открытых исходных кодов как метода разработки. Сторонники свободного ПО исходят из идеологических соображений, и считают, что именно права на распространение, модификацию и изучение программ являются главным достоинством свободного ПО. Таким образом, стоит отличать свободное ПО от бесплатного, ибо бесплатность ПО вовсе не гарантирует наличие четырех вышеперечисленных свобод, и наоборот. В английском языке, проблема усложнена тем, что «свободное» и «бесплатное» обозначаются одним и тем же словом «free». Основатель движения свободного ПО Ричард Мэттью Столлман советует для понимания различий между свободным и бесплатным ПО руководствоваться понятиями «свобода слова» и «бесплатное пиво». Проект GNU и Free Software Foundation. GNU (рекурсивный акроним от англ. «GNU is Not Unix») — проект по созданию полностью интегрируемой программной среды (свободной операционной системы), начатый Ричардом Столлманом в 1983 году. В рамках проекта было разработано множество популярных свободно распространяемых программ. Фонд свободного программного обеспечения (англ. Free Software Foundation) — благотворительный фонд, образованный Ричардом Столлманом в октябре 1985 г. для поддержки движения свободного программного обеспечения и, в особенности, проекта GNU. Со времён его основания и до середины 1990-х средства Фонда использовались в первую очередь для найма разработчиков для написания свободных программ. Начиная с середины-конца 90-х свободное программное обеспечение создаётся многими компаниями и частными лицами, поэтому сотрудники и добровольцы Фонда работают в основном над юридическими и организационными вопросами в области свободного ПО. FSF принимает пожертвования, но большая часть поступлений приходит от продаж копий свободного ПО и смежных услуг. Сегодня Фонд продает компакт-диски с исходными текстами, с бинарными файлами, красиво оформленные руководства (все это с разрешением свободного распространения и модификации), и «Deluxe Distributions» (которая представляет собой всю нашу коллекцию программ, откомпилированную под любую платформу на ваш выбор). В 1988 г. была написана первая версия лицензии GPL (англ. «GNU General Public License»). GPL была написана в рамках проекта GNU и являет собой часть этого проекта. Цель GNU GPL — предоставить пользователю права копировать, модифицировать и распространять программы (что по умолчанию запрещено законом об авторских правах), а также гарантировать, что и пользователи всех производных программ получат вышеперечисленные права. Нужно заметить, что лицензия сконструирована таким образом, чтобы разрешить все «честные» способы заработка денег на свободных программах. Это очень существенный момент, на который необходимо обратить особое внимание. При первом знакомстве с GPL может сложиться ошибочное представление о том, что эта лицензия вообще запрещает какие-либо способы заработать на программном обеспечении или его разработке. На самом деле GPL в частности и FSF вообще прямо поощряют бизнес, связанный с оказанием сопутствующих услуг, — обучение, консультации, и коммерческое тиражирование ПО. Это позволяет привлечь к сотрудничеству и корпорации и людей, для которых материальный интерес важнее моральных стимулов. Вторая версия лицензии была выпущена в июне 1991 года, после того, как стало очевидно, что первая версия не годится для некоторых библиотек ПО. Сегодня ведется работа над третьей версией GPL. К 1990 году в рамках проекта GNU было создано большинство компонент, необходимых для функционирования свободной операционной системы. Помимо текстового редактора Emacs, Столлман создал компилятор gcc (GNU C Compiler) и отладчик gdb. Будучи выдающимся программистом, Ричард Столлман в одиночку сумел создать эффективный и надежный компилятор, который превосходит по своим качествам продукты коммерческих поставщиков, создаваемые целыми группами программистов. Поскольку изначально при его создании ставилась задача обеспечения переносимости, сегодня существуют версии этого компилятора практически для всех операционных систем. Позже были созданы компиляторы для других языков программирования, включая C++, Pascal и Fortran. Поэтому сейчас аббревиатура GCC расшифровывается как GNU Compiler Collection. Сотрудники Free Software Foundation разработали множество других программных пакетов. Из них стоит особо отметить два: библиотеку Си и оболочку shell. Библиотека функций языка Си была разработана сотрудником FSF Роландом Макграсом. Оболочка BASH (Bourne Again Shell), обеспечивающая взаимодействие пользователя с операционной системой, создана еще одним сотрудником FSF Брайаном Фоксом. Как пишет Столлман: «К 1990 году система GNU была практически закончена; не хватало только одного из базовых компонентов — ядра». Ожидалось, что ядро (оно получило название HURD) будет реализовано как набор серверных процессов, работающих на Mach — микроядре, создаваемом в университете Карнеги-Меллона, а затем в университете штата Юта. Начало разработки откладывалось в ожидании выпуска Mach, которое, как было обещано, будет выпущено в виде свободно распространяемого программного обеспечения. Но его появление все откладывалось. И тут появилось ядро, разработанное финским студентом Линусом Торвальдсом, и получившее название Linux. Революция. В 1991 году финский студент Линус Торвальдс, будучи недовольным существовавшими на тот момент операционными системами, начинает разработку свободного ядра операционной системы, названного Linux, которое впоследствии даст революционный толчок к развитию и популярности свободного ПО и открытого метода разработки. Как признается сам Линус в своей книге «Just For Fun», делал он это ради собственного удовольствия, которое получал в процессе программирования. Первая версия Linux была доступна с исходными кодами в интернете, что, во многом, и повлияло на её дальнейшую судьбу « хотя в 1991 году интернет ещё не был столь популярен, как в наши дни, зато пользовались им в основном люди, имеющие достаточную техническую подготовку. И уже с самого начала Торвальдс получил несколько заинтересованных откликов. В начале к разработке присоединились сотни, потом тысячи, потом сотни тысяч добровольных помощников. Система уже не была просто игрушкой для хакеров. Дополненная массой программ, разработанных в рамках проекта GNU, Linux был уже пригоден для практического использования. А то, что ядро системы распространялось под лицензией GNU General Public License, гарантировало, что исходные коды системы были и останутся свободными, то есть могут копироваться, изучаться и модифицироваться без опасения нарваться на какое-либо преследование со стороны разработчика или какой-то коммерческой фирмы. И это привлекало в ряды пользователей и сторонников Linux все новых последователей, в первую очередь из числа студентов и программистов. Успех был ошеломляющим. Linux последовательно завоевывала плацдарм на компьютерах каждого крупного производителя серверов, операционные системы с хорошей технической репутацией, такие как BeOS, Amiga и OS/2 потерпели крах, а Apple Mac OS и различные версии Unix потеряли свое значение. Программисты, разочаровавшиеся в Windows и искавшие ей замену, увидели в Linux возможность пойти другим путем. «Она становится явлениям диссидентской культуры», — говорит аналитик Giga Information Group Роб Эндерл (Rob Enderle) — «Apple утратила эту роль, и вакуум нужно было чем-то заполнить. Альтернативной Linux делает отчасти ее open-source природа. Этим она отличается от Windows настолько, что дальше некуда». Со временем в веру Linux стали обращаться не только отдельные энтузиасты, но и компании. Первыми к лагерю пристали такие Linux-компании, как Red Hat (сегодняшний лидер), Caldera International, SuSE и Turbolinux. Затем пришла поддержка от таких фирм, как Oracle, поставщика СУБД. За ними последовали производители серверов и начали предлагать какие-то свои усовершенствования, и, наконец, IBM решила ассигновать на собственные Linux-программы 1 млрд. долларов. «Linux развивается быстрее любой операционной системы за всю историю», — говорит директор Центра Linux-технологий IBM Дэн Фрай (Dan Frye), который ровно три года назад начал оценивать Linux для IBM и впоследствии поддержал эту ОС. Одно из достоинств Linux — и качеств, которые нравятся IBM, — это способность работать на компьютерах множества разных конструкций. В их числе четыре основных семейства серверов IBM, а также ряд специальных систем, используемых для «встроенных» устройств, таких как карманные компьютеры и сетевые маршрутизаторы. Широкое развитие Linux началось со времени выхода стабильной версии ядра версии 2.2 в январе 1999 года. На нее обратили внимание производители серверных приложений, баз данных, Web-, а также приложений для всякого рода защиты ПК. Многие корпорации в области высоких информационных технологий (IT) мигрировали на Linux-серверы различных типов, обеспечивающие поддержку Domain Name System, файловых и print-серверов, Internet-доступ, электронную почту и т.д. Первой областью применения, где Linux сумел занять лидирующие позиции, была сфера веб-серверов. Произошло это благодаря широкому распространению веб-сервера Apache. Получив признание в качестве основы для Интернет-сервера, Linux начал набирать популярность в качестве серверной ОС. Об этом можно судить по увеличению продаж серверов Linux, имеющему место в течение нескольких последних лет. По данным IDC, в третьем квартале 2003 года, например, было продано Linux-серверов на 743 млн. долл., что на 50% больше, чем за аналогичный период 2002 года. «С первого по третий квартал мы наблюдаем ускорение темпов роста продаж Linux-серверов», — говорит аналитик IDC Джин Бозман. В первом квартале на долю Linux-серверов пришлось 5,6% всех продаж серверов в денежном выражении и 14,1% в натуральном. В третьем квартале эти показатели выросли соответственно до 6,8% и 16,2%. В четвертом квартале 2004 года продажи серверов на базе ОС Linux принесли 1,3 млрд. долл., что составляет 9% от общего дохода серверной индустрии. Доход сектора Linux-серверов вырос в четвертом квартале на 35,6% по сравнению с аналогичным периодом 2003 года, а объем поставок — на 29,1%. HP лидирует в этом сегменте рынка с долей в 26%, далее следуют IBM и Dell с долями в 23,5% и 15,8% соответственно. В целом по некоторым оценкам доля серверов, работающих под управлением Linux, к концу 2004 года составила более 20%. Особенно впечатляюще выглядят успехи Linux на суперкомпьютерах. По меньшей мере, половина суперкомпьютеров, вошедших в список 500 самых высокопроизводительных ЭВМ в мире (этот список обновляется 2 раза в год), работает под управлением Linux. Собственно говоря, такие суперкомпьютеры представляют собой не отдельные машины, а целые сети из множества отдельных компьютеров. Отдельный компьютер в этой сети может быть достаточно дешевым компьютером на основе процессоров от Intel или PowerPC. По подсчетам профессора Ганса Мейера (Hans Werner Meuer) из университета Манхейма в Германии, 301 из 500 компьютеров, вошедших в список Top500, работают под управлением Linux, 189 — на Unix, 2 — на FreeBSD и только один — под управлением Microsoft Windows (7 машин работают под управлением других ОС). Позже, благодаря программному обеспечению, написанного в рамках проекта GNU и поддержке крупных коммерческих компаний, Linux стала использоваться и на персональных компьютерах. Появилось множество программ (в том числе, и игр), по своим качествам не уступающим (а то и превосходящим) их аналогам в Windows. Примерами такого ПО могут служить офисный пакет OpenOffice.org, веб-браузер Mozilla Firefox, почтовый клиент Mozilla Thunderbird. Теперь у рядового пользователя есть все инструменты для выполнения своих повседневных задач. Не смотря на это, Linux не столь популярен на персональных компьютерах. Во многом, это обуславливается привычками пользователей и нежеланием многих производителей аппаратного обеспечения писать драйвера под Linux. Кроме того, правительства многих — в том числе, и развитых европейских — стран разрабатывают проекты по использованию Linux и свободного ПО в своих государственных и образовательных учреждениях. Примерами таких государств могут служить Германия, Франция, Китай, Корея, Бразилия, Норвегия и несколько других. Что касается России, в 2004 году Министерством Российской Федерации по связи и информатизации и IBM в Москве открыт Центр компетенции Linux. Основными направлениями работы центра являются: разработка решений на основе Linux совместно с бизнес-партнерами IBM и разработчиками программного обеспечения; консалтинг и обучение специалистов; поддержка производителей ПО для Linux и поставщиков решений на основе Linux. Одна из главных причин успеха Linux заключается в том, что открытая природа ОС означает возможность для увлеченных программистов влиять на нее — в альтернативных системах это исключено. «Разработчики ненавидят некачественное ПО», — говорит главный технолог Red Hat Майкл Тиманн (Michael Tiemann) — «Любая модель разработки, позволяющая им вносить изменения в исходный код, привлекает программистов и ведет к совершенствованию программ». «Собор и Базар». Наиболее популярная работа по изучению открытой модели разработки принадлежит Эрику Рэймонду, изобретателю термина «open source», и носит название «Собор и Базар». В данной работе Рэймонд производит подробный анализ и формулирует основные принципы и сильные стороны открытой модели разработки ПО. Надёжность. По мнению Рэймонда, проблема надёжности остаётся одной из главных проблем ПО. Исходные тексты доступны всем; оно более надёжно, чем закрытое, собственническое ПО. Доработанный открытый исходный код надёжен настолько, насколько это возможно. Здесь необходимо небольшое пояснение, взятое из «Собора и Базара». С появлением Linux, с открытым ПО стала связываться идея «базарной» модели разработки ПО, которая противопоставляется традиционной централизованной «соборной» модели. «При достаточном количестве глаз, ошибки выплывают на поверхность» - показательное в этом смысле высказывание Линуса Торвальдса, раскрывающее один из важнейших принципов такой разработки. Линус начал активно привлекать к бета-тестированию и исправлению ошибок в программах рядовых пользователей. Пользователь закрытого ПО может только сообщить об ошибке, допустим, в службу поддержки, а потом он может ждать исправления ошибки в самой программе минимум через несколько месяцев. Пользователь же открытого ПО может, найдя ошибку, указать на неё разработчику, и ошибка сразу же будет исправлена в следующем релизе, а релизы для открытого ПО могут появляться по нескольку раз в день. Если даже компания, разрабатывающая ПО, тестирует своё ПО внутри своей структуры, количество бета-тестеров не сравнимо с количеством бета-тестеров открытого ПО, при том, что последние не только ищут, но и исправляют ошибки. Кроме того, в мире открытого ПО намного выше стандарты надёжности, так как разработчики действуют по другим мотивам: личный престиж, удовлетворение от собственной работы и другими мотивами нематериального характера. Теперь понятно, откуда берётся надёжность открытого ПО. Результаты от применения в бизнесе технических преимуществ открытого ПО очевидно для Эрика Рэймонда. В конечном счёте, просмотр исходных текстов заинтересованными сторонами (которыми, напомним, в «базарной» модели являются и пользователи) станет необходимым условием высокого качества программного продукта. Во многих рыночных нишах ПО, исходные тексты которого не могут быть доступны любому, перестанет считаться конкурентоспособным. Безопасность. Защищает ли закрытый исходный текст от попыток взлома? — по мнению Эрика Реймонда, в действительности всё как раз наоборот, что может подтвердить любой криптограф. Безопасность не может осуществляться во мраке. Это происходит потому, что у взломщиков намного больше стимулов и они более настойчивые, чем разработчики и тестеры (которым, кроме безопасности, приходится заботиться о многом другом). Взломщики найдут «дыры» в ПО, вне зависимости от того, является ПО закрытым или открытым. Закрытые исходные тексты приводят к нескольким пагубным последствиям: во-первых, они создают иллюзию защищённости (характерно, что тогда как в мире открытого ПО конфиденциальные данные либо шифруются с помощью серьёзного криптоалгоритма, либо программа при каждом запуске будет напоминать, что ваши данные хранятся в виде простого текста и не шифруются, разработчики закрытого ПО часто полагаются на «авось» и, например, делают хранитель паролей без криптозащиты). Во-вторых, людям, желающим устранить ошибки и незащищённость в программе, сделать это будет невозможно. В-третьих, для закрытого ПО труднее распространять надёжные исправления, когда «дыра» в защите обнаружена. Фактически открытые ОС и приложения намного безопаснее, чем их закрытые аналоги. Когда в 1997 году был обнаружен эксплоит «Ping o'Death», разработчики Linux сделали защиту от него в течение нескольких часов, тогда как закрытое ПО не закрывала эту «дыру» месяцами. Точку зрения Эрика Реймонда подтверждает уход Филиппа Зиммермана, создателя программы шифрования сообщений с открытым ключом Pretty Good Privacy (PGP), из компании Network Assotiates Inc. в конце февраля 2001 года. Это было связано с тем, что руководство компании решило сократить объём раскрываемого исходного кода в PGP, традиционно распространявшейся как открытое ПО, по решению Зиммермана. Зиммерман заявил, что будет заниматься развитием открытого стандарта OpenPGP. Преимущества для производителей ПО. Скорость разработки. Предполагается, что коммерческие разработчики, использующие «базарную» модель смогут получить и удерживать значительное начальное преимущество над теми, кто её не использует. Если рассмотреть рыночную нишу, то первый коммерческий разработчик, который примет эту модель в данной нише, получит преимущество. Дело в том, что общее количество свободных талантливых разработчиков, согласных разрабатывать открытое ПО, ограничено. Первый «базарный» проект на конкретной рыночной нише, скорее всего, привлечёт лучших. А если они бескорыстно вкладывают своё время в разработку, то, скорее всего, они продолжат разработку этого проекта. Меньшие расходы. Переход на открытую модель разработки поможет также значительно снизить издержки в общих расходах на проект. Открытая модель позволяет компании-разработчику передать часть своей работы на внешнее управление (аутсорсинг), платя за это ценностями, менее материальными, чем деньги. (Хотя, возможно, экономически не менее значимыми; увеличение скорости, с которой внешний со-разработчик может исправить ошибку, часто может превратиться в реально возможную прибыль для фирмы-разработчика).То есть меньшие фирмы смогут заниматься разработкой больших проектов. Преимущества для вендоров. Тесный контакт с покупателем. Один из наиболее часто повторяемых советов менеджеру — «Старайтесь быть ближе к покупателю». В сегодняшнем бизнес-климате, быстро меняющемся и располагающим к короткому производственному циклу, это становится всё важнее — нужно понять, что нужно покупателю, как только он сам это поймёт, чтобы быть готовым сразу же предложить то, что нужно. В этом плане мало что может быть лучше, чем разработка продукта совместно с потребителем продукта. «Базарный» метод разработки напоминает то, как многие успешные японские компании занимались потребительской разработкой продукта: можно выйти на рынок с продуктом, который не до конца доработан, а потом, основываясь на отзывах потребителей, быстро достичь той комбинации качеств продукта, которая будет наиболее востребована потребителями. Эта модель особенно ценна для высокотехнологичных товаров (лэптопы, PDA, сотовые телефоны и т.д.), потребность в которых потребитель может не осознавать, или он может не знать точно, какие качества продукта ему нужны. Широкий рынок. Важным эффектом от использования открытой модели разработки будет больший круг платформ, на которых будет работать продукт. Разработчикам открытого ПО часто приходят бесплатно версии их ПО для ОС и сред, о которых сами разработчики только слышали, и для которых разработчики не могут себе позволить поддержку версий своего продукта. Безусловно, каждое такое портирование расширяет базу пользователей и увеличивает рыночную привлекательность продукта. Преимущества для предпринимателей. Для предпринимателя или производителя ПО в начинающем проекте использование открытой модели разработки — способ получить дополнительные интеллектуальные ресурсы. Лучшая в мире новая идея не будет приносить дохода, пока ей не заинтересуется достаточное количество людей. Имеет ли это смысл в качестве стратегии зависит от того, в за счёт чего фирма получает основной доход: собственно за счёт продажи ПО или за счёт услуг и знаний, связанных с данным программным продуктом. Всё чаще большую ценность приобретают именно услуги и интеграция. В качестве недавнего примера можно привести компанию Digital Creations, которая открыла исходные коды своего основного продукта Zope по совету своих венчурных инвесторов. Последние планируют увеличение стоимости компании за счёт открытия исходных кодов. «Четыре пути к победе». Теперь рассмотрим открытые исходные тексты с точки зрения инвестора. Существует, по крайней мере, четыре бизнес-модели для получения дохода от деятельности, связанной с открытым ПО: 1. Поддержка продавцов (также известная как «Выкидывайте рецепт и открывайте ресторан»). В этой модели компания не занимается самим программным продуктом, но продаёт дистрибутив, получает доход за счёт торговой марки и послепродажного обслуживания. По такой схеме действуют Red Hat и Cygnus. 2. Потеря лидера. В этой модели компания, проигрывающая позицию на рынке, открывает исходные тексты, чтобы составить конкуренцию закрытому ПО. Именно так поступила компания Netscape. 3. Удержание рынка аппаратного обеспечения. В этой модели производитель аппаратного обеспечения (для которого ПО является комплементарным товаром, но не приносит большого дохода) открывает исходные тексты, чтобы получить лучшие драйверы и более дешёвые средства разработки интерфейса. Так, SGI поддерживает разработку Samba. 4. Аксессуары. Продажа аксессуаров — книг, совместимого аппаратного обеспечения, целых систем с предустановленным открытым ПО. Это легко опошлить (футболки с открытыми исходными текстами, кофейные кружки, игрушки в виде пингвина — символа Linux), но, по крайней мере, издание книг и производство аппаратного обеспечения принесло успех компаниям, которые этим занимаются: O'Reilly Associates, SSC, VA Research, в том числе. Несомненный коммерческий успех среди сторонников открытого ПО имели компании, действующие по схемам поддержки продавцов и потери лидера. Тем не менее, есть основания полагать, что в наибольшего коммерческого успеха добьются компании, действующий по третьей модели. Недостатки открытой модели разработки ПО, или повторный взгляд на «Собор и Базар». Наиболее интересная критика некоторых утверждений «Собора и Базара» Рэймонда была представлена в статье Николая Безрукова «Повторный взгляд на Собор и Базар». Николай Безруков — ведущий аналитик корпорации BASF, профессор университета Fairleigh Dickinson, — принципиально поддерживает open source, но против пропаганды последнего как идеи, которая спасет мир. По мнению Безрукова, «базарной» модели разработки присущи следующие недостатки: Перегрузка и перегорание ведущих разработчиков. Это происходит, в основном, из-за излишних амбиций разработчиков, которые стремятся достичь уважения в среде хакеров, программируя днями и ночами, соревнуясь с коммерческими разработчиками ПО. Перегорание разработчиков может быть серьёзной проблемой, однако при разумном подходе её можно решить. Пока ни один из крупных и ответственных (так как по этим проектам судят о перспективах открытого ПО в целом) не пострадал из-за этого. Типичный пример — Linux, которым бессменно руководит Линус Торвальдс. Чтобы не допустить перегорания, он снижает свою нагрузку, так как в его распоряжении достаточно людей, готовых заняться «рутинной» работой. Консервативный подход к архитектуре. По мнению Николая Безрукова, в ОС Linux, например, нет абсолютно никаких новых решений с точки зрения дизайна ОС, а особенности «базарной» модели разработки не позволяют вносить решительные изменения в архитектуру проекта. Тем не менее, Linux задумывался как принципиальная альтернатива MS Windows и коммерческим приложениям, и именно этой идеей увлеклись люди, а не архитектурными изысками ОС. Следствием «базарной» модели разработки может быть большое количество кода, написанного непрофессионалами. В ядре 2.4 ОС Linux многие части ядра пришлось из-за этого переписать. Консерватизм в дизайне может проявиться не сразу, а в достаточно поздней версии программы: со временем ошибки исправляются, а краеугольные камни архитектуры проявляются чётче. Это правило действует для всех: и для разработчиков открытого ПО, и для коммерческих разработчиков, не заложивших в своё время в проект достаточную масштабируемость. Письменные коммуникации по электронной почте в некоторой степени имеют тенденцию искажать смысл и провоцируют столкновения и споры (flame wars). От этого психологического недостатка анонимного общения страдает качество коммуникации в Интернете вообще, но вопрос, как использовать возможности компьютера и Интернета (как и любой мощной технологии), - для созидания или разрушения — чисто философский. Техника же помогает устранить эту проблему: в установках большинства почтовых программ есть функция фильтрации сообщений, чтобы оградить пользователя от нежелательных адресатов. Даже если вся разработка зависит от почтовой переписки, от споров обычно удаётся избавляться. Скорость разработки. Тогда как Эрик Рэймонд считает преимуществом открытого ПО увеличенную скорость разработки, Николай Безруков считает, что для немодульных, нераспараллеленных проектов разработка по «базарной» модели может существенно снизить темпы разработки; другими словами, «базарная» модель разработки ограничена в применении (у стандартной, централизованной модели таких проблем нет). В качестве примера Безруков приводит TEX, который был разработан Дональдом Кнутом единолично. Имени Дональда Кнута Безруков не упоминает, как будто TEX — всего лишь одна из программ, разработанных без участия Интернета, и имеющая повсеместную распространённость. Неудачным этот пример можно считать хотя бы потому, что почти всё, связанное с Дональдом Кнутом можно считать исключением: и TEX, и «Искусство программирования». «Скорость убивает» и ее первой жертвой становится демократия (впервые отмечено Фредериком Бруксом в его анализе разработки OS/360). Это социальный вопрос, решая который главному разработчику (или ядру разработчиков) приходится быть дипломатом, чтобы руководить тоталитарно и при этом удерживать людей, коммерчески незаинтересованных. Так, тоталитарными решениями Линуса Торвальдса недовольны многие, и, кажется, появление другого Linux назревает, но пока этого не произошло. Обычно в мире открытого ПО такие проблемы решаются отделением недовольных разработчиков: либо просто уход, либо начало разработки конкурирующей программы (так называемый «fork», - опять-таки специфика открытого ПО, так как у проприетарного ПО может быть только один собственник, и «раздвоение» невозможно). С одной стороны, это плохо, но с другой стороны, конкуренция всегда повышает качество продукта, так что конечного пользователя распри между разработчиками не должны волнов ...

BorisE: ... ать. Кроме того, если проект работает, успехи заметны, разработчики согласны продолжать — в конце концов, какая у него модель разработки — тоталитарная или демократичная — вопрос формализма. Другой вопрос — ясное понимание цели проекта, и тут скорость и качество могут столкнуться. Единственный на него ответ — в осознании и провозглашении главной цели проекта ведущим разработчиком (разработчиками). «Акцентирование качества как центральной цели проекта реально увеличивает шансы выживания проекта в открытых исходниках» — считает Николай Безруков. В общем, это и проявилось, когда Линус Торвальдс многократно откладывал выпуск ядра 2.4, или когда откладывался выпуск Netscape 6. Эффект «городского совета» или же эффект «Комитета по администрированию структурного планирования ядра Linux». Да, разработчик открытого ПО намного ближе к пользователю, чем коммерческий разработчик, но прямой контакт с большим числом пользователей может занимать слишком много времени разработчика. Отчасти это возврат к дискуссии о структуре разработчиков — с этой точки зрения ограничение контактов ядра разработчиков (или формирование «клики») — защитная реакция на поток некомпетентных писем. В итоге, с одной стороны — уставшие обсуждать и давать разъяснения разработчики, с другой — отсутствие демократии для пользователей. Пользователю остаётся лишь надеяться, что разработчик знает, как лучше, или самому стать разработчиком, чтобы иметь возможность повлиять на развитие проекта. Проблема «Самого низко висящего яблока». Программисты, заинтересованные не материально, а творчески, стремятся разрабатывать программы, которые им интересны. Наличие большого числа слабо поддающихся подсчёту текстовых редакторов — тому подтверждение. Видимо, из-за этого долгое время не было ядра свободной ОС. В мире открытого ПО одна из функций FSF — направление разработчиков для создания завершённой свободной среды (ОС + все необходимые приложения). Поэтому, пока FSF существует и обладает авторитетом (во многом это авторитет Ричарда Столлмана), эта проблема решается. Вывод. Как показывает практика, открытая модель разработки ПО показала себя успешной. В частности, об этом говорит выбор крупных корпораций этой модели, — так, например, недавние решения компании Sun об открытии исходного кода своей операционной системы Solaris в рамках проекта OpenSolaris и лицензирование Java под лицензией GPL. Конечно же, во многом это обусловлено появлением операционной системы Linux и стараниями участников проекта GNU. Уже сегодня любой пользователь компьютера в полной мере может наслаждаться результатами революции конца прошлого столетия, выполняя необходимые ему задачи посредством свободного программного обеспечения. Источники информации и ссылки по теме. — Википедия — «Проект GNU — «Что такое свободное программное обеспечение?» (англ.) — Стивен Шанкленд «Пингвин учится летать: Linux исполнилось 10 лет» — Костромин В.А. «Свободная система для свободных http://netsago.org/cgi-bin/main.cgi?p=docs&did=3&d=2&lang=ru

Vot: Я не буду рассказывать о том, что копирайт умрёт. Копирайт не может умереть — его просто никогда не существовало. То, что сегодня называется копирайтом, это сплетение правды и лжи, законов и беззакония, оно противоречит само себе, но за счёт этого чертовски жизнеспособно и прекрасно приспособляется к любым условиям. Такой копирайт не копирайт вовсе, но он не умрёт сам, он умрёт только тогда, когда кто-то наконец решится или довести его до логического конца, или отменить совсем. Оба варианта означают смерть копирайта, каким мы его знаем, и рождение копирайта, каким он должен быть Копирайт — дословно «право на копирование», т.е. право автора или его представителя распоряжаться результатом своей интеллектуальной деятельности. В современном мире копирайт — это преждего всего бизнес-модель, по которой издатели, реже авторы или разработчики, зарабатывают деньги. Как большинство представляет себе обычную копирайтную (проприетарную) модель, т.е. модель, основанную на непосредственной продаже произведений? Написал программу — продал коробку. Написал песню — продал диск. Написал книгу — продал книгу. Снял фильм — продал фильм. Назовём эту модель «официальная копирайтная модель». Если эта модель работает, то я королева английская, а вам меня читать дальше не надо, у вас и так всё хорошо. Эта модель не работает. Она никогда не работала и, по-видимому, никогда работать не будет. Какая модель работает вместо неё? Вместо неё работает настоящая копирайтная модель: написал программу — добрые люди раздали всем желающим, 10% желающих купило коробку. Написал песню — добрые люди раскидали по файлообменникам, 5% купило диск (цифры взяты с потолка). Написал книгу, снял фильм — сущности не меняются, в современном мире бесплатная версия того же товара имеет куда больший спрос. В области программного обеспечения настоящая копирайтная модель выглядит ещё жёстче. Никогда не думали, зачем любая уважающая себя копирайтная программа изобретает собственный, ни с чем не совместимый формат хранения документов? Только не надо повторять маркетинговые лозунги о том, что эти форматы эффективны, компактны и вообще, хороши для хранения. Сохраните один и тот же документ в doc и в odt и почувствуйте разницу. Нет, закрытый формат нужен для совсем других целей — сначала добрые люди, раздающие всем желающим, подсаживают всех желающих на программу и на формат. Именно затем, чтобы все документы, которые были сделаны в этом формате, держали как якорь пользователей замечательной копирайтной программы с закрытым форматом данных. И чтобы в один прекрасный момент пришёл дядя с дубинкой и потребовал заплатить за эту программу. И сколько раз это было! Вот эта модель работает, и работает она прекрасно. Ничего не напоминает? Да, наркобизнес. Самый рентабельный и прибыльный бизнес. С той лишь разницей, что в наркобизнесе нелегальна и первая и вторая дозы, а в копирайтном — только первая, суть от этого не меняется. Полная версия тут http://www.aceler.ru/features/copycrysis = Дальше автор брызжа слюной объясняет, что копирайтеры - кровососы для простого народа. И как способ избавиться от всякоразных копирайтеров предлагает неукоснительно соблюдать все авторские права. Дескать, нормальному человеку месяц соблюдения авторских прав привьет к ним такое отвращение, что дальше он станет работать только на бесплатном ПО.

bne: Недавно читал автобиографии Улама и Винера и обратил внимание, что они (как и Жак Адамар) огромное внимание уделяют вопросу формулировки проблем и языка для такой формулировки Я много возился с этим ранее (пытаясь вслед за Дахновым и Полаком формализовать априорные требования) применительно к петрофизике (представления о деклоративных фильтрах) Сегодня настает пора технологизировать это... Хорошо бы и частично в ModErn (по Розину нужны образцы работы, а не программы работ) В связи с докладом о петроакустических моделях (а также моими наездами на уавнение H-H) возникла идея ввести полный перечень к уравнениям Он заведомо не будет выполним Но эти требования можно назвать сильными и смотреть какие ослабления реально играют. По сути это вся та же деятельность по специфицированию онтологий ;-) Такой вот извив-план получается Посмотрим к ему приведет (и приведет ли хоть к чему-то)

BorisE: Представим себе, что онтология описания суммирована в морфологическом ящике (типа Луллия-Цвикки) Или, например, можно говорить о репертуарных решетках Но часто тот же мир может быть суммирован в иной онтологии Ранний В.Лефевр это образно представлял как два динамически коррелированных амбивалентных образа В петрофизике это наглядно Скажем есть описание в виде решетки капилляров и укладки частиц Можно рассматривать их как автономные, а можно как дополнительные (по Бору) А можно рассуждать про кентавристику (по Даниилу Данину) Симпатичнее всего отыгрывать параллели, доминирование и области применимости

bne: Луллий-Цвикки имеют ограничения обусловленные странностями задания метрики Вроде как ее и нет и вроде как есть квантование В политологии красиво из этого выпутался Ingelhart Он таки ввел расстояние между объектами (причем такие своеобразные как лингвистическое, генетическое, религиозное, экономическое расстояния между странами) Примерно также можно было бы надумать сравнивать и концепции и теории Но это сравнение межмодельное (чем собственно и ограничиваются комбинаторные построения, если речь идет не о прямом описании измерений) А вот в сравнении модели и реальности нужны совсем иные понятия Надо фиксировать степень неполноты, степень произвола, степень демагогии (когда неполнота и произвол игнорируются) В принципе последнее хоть и размыто, но более правильно чем расзговоры о МНК или скользящем контроле Вопрос в другом - как это корректно формализовывать И видимо тут уже вполне естественно выплывает работа с многими выборками

bne: Есть еще один поворот о морфологических ящиков Их можно строить и по внутренним переменным и по внешним Когда внешних меньше - приходим к катастрофам структур Но можно строить и по генетическим соображениям Фокус не столько в построении ящиков, сколько в приемах их перестройки И, похоже, что тут придется выходить на концепции миров или фрейминга

bne: Программируем коллективный разум Сегаран цена : 390,00 руб (другая валюта или регион) издательство: Символ-Плюс (все книги издательства) дата выхода: июль 2008 ISBN 5-93286-119-3 ISBN 978-5-93286-119-6 тираж 2000 экз. страниц: 368; масса, г.: 450; размеры (высота, ширина, толщина), см.: 24x17x2 обложка: мягкая; бумага: офсетная переводное издание оригинал: "Programming Collective Intelligence" ISBN 0-596-52932-5 язык: английский год издания: 2007 Аннотация Хотите знать, как реализуются ранжирование результатов поиска, рекомендование товаров, социальные закладки и онлайновый подбор пар? В этой захватывающей книге рассказывается, как построить приложение Web 2.0, которое будет извлекать полезную информацию из гигантского массива данных, создаваемых партнерскими интернет-приложениями. Пользуясь описанными здесь изощренными алгоритмами, вы сможете писать интеллектуальные программы, которые получают интересные наборы данных с других сайтов или от пользователей ваших приложений и анализируют их на предмет выявления закономерностей. Книга "Программируем коллективный разум" – это введение в мир машинного обучения и статистики. В ней объясняется, как делать полезные с точки зрения маркетинга выводы о поведении и предпочтениях пользователей на основе информации, ежедневно собираемой вашими и сторонними приложениями. Каждый алгоритм описан четко и кратко и сопровождается кодом, который можно сразу же включить в собственный сайт, блог, Вики или какое-нибудь специализированное приложение. Рассмотрены следующие темы: Методы коллаборативной фильтрации, позволяющие розничным продавцам рекомендовать товары или мультимедийную продукцию. Методы кластеризации, применяемые для обнаружения групп схожих образцов в большом наборе данных. Алгоритмы оптимизации, позволяющие рассмотреть миллионы возможных решений задачи и выбрать среди них наилучшее. Байесовская фильтрация, применяемая в антиспамных фильтрах для классификации документов на основе встречающихся слов и других признаков. Метод опорных векторов, применяемый для подбора пар на сайтах знакомств. Применение эволюционных методик для решения различных задач – компьютер обучается, улучшая собственный код после каждой сыгранной игры. Каждая глава сопровождается практическими заданиями, направленными на овладение рассмотренных в ней алгоритмов. Выйдите за рамки простых приложений с хранением в базе данных и заставьте богатейшие россыпи данных в Интернете работать на вас. Отзывы специалистов "Браво! Не могу представить себе ни лучшего введения в рассматриваемые алгоритмы и методы для разработчика, ни более подходящего способа освежить в своей памяти кое-какие детали (а я давненько занимаюсь искусственным интеллектом)." - Дэн Рассел, ведущий технический специалист, Google "Тоби блестяще справился с задачей разбиения сложной темы – алгоритмы машинного обучения – на ряд простых и практически полезных примеров, которые позволяют сразу же приступить к анализу социальных взаимодействий в современной Всемирной паутине. Будь у меня эта книга пару лет назад, я мог бы сэкономить немало драгоценного времени, не блуждая по тропинкам, ведущим в никуда." - Тим Уолтерс, технический директор, компания Collective Intellect Об авторе Тоби Сегаран директор по программным разработкам в компании Genstruct, специализирующейся по вычислительной биологии. Он занимается проектированием алгоритмов и методов получения данных, применяемых для моделирования механизма действия лекарств. Он также работает с другими компаниями и над проектами с открытыми исходными текстами, помогая анализировать и интерпретировать собранные наборы данных. Кроме того, он автор нескольких бесплатных веб-приложений, в том числе популярной системы управления заданиями tasktoy и системы онлайнового создания баз данных Lazybase. Он любит кататься на сноуборде и дегустировать вина. Его блог расположен по адресу blog.kiwitobes.com. Проживает в Сан-Франциско.

bne: При написании раздела в книгу по петрофизике столкнулся с вопросом который не получается обойти Речь идет о формализации сложности модели По сути в петрофизике редко сталкиваемся с большим числом переменных и их сочетанием Это и относительная гладкость зависимостей (не выше второго порядка со смешанными членами) дает основание для оценки сверху сложности и связь точности, объема выборки и числа констант с числом значимых факторов Оцненки можно строить или через число вершин и центральных точек гиперкуба или по числук членов полиномов Забавно, что соотносимо с одной стороны с темами Вапника и Червоненкиса, с другой с информационными мерами и сложностью задачи интеролирования, с третьей - с идеями планирования эксперимента (Налимов и др.) Причем печально, но во всех этих областях я даже и дилетантом себя назвать не могу (как слышал сказанное по похожей теме в иной области: "Так себе, фраерок залетный").... Впрочемб может быть именно тут достаточен только пресловутый "взгляд с высоты".... ;-)

bne: Систематика (от греч. systematikos — упорядоченный, относящийся к системе), область знания, в рамках которой решаются задачи упорядоченного определённым образом обозначения и описания всей совокупности объектов, образующих некоторую сферу реальности. Необходимость С. возникает во всех науках, которые имеют дело со сложными, внутренне разветвленными и дифференцированными системами объектов: в химии, биологии, географии, геологии, языкознании, этнографии и т. д. Принципы С. могут быть весьма разнообразными — начиная от упорядочения объектов по чисто формальному, внешнему признаку (например, путём приписывания элементам системы порядковых номеров) и кончая созданием естественной системы объектов, т. е. такой С., которая основана на объективном законе (примером и эталоном такой естественной системы служит периодическая система элементов в химии). Решение задач С. опирается на общие принципы типологии, в частности на выделение в объектах, образующих систему, некоторых устойчивых характеристик: признаков, свойств, функций, связей. При этом единицы, с помощью которых строится С., должны удовлетворять определённым формальным требованиям; в частности, каждая единица (таксон) должна занимать единственное место в системе, её характеристики должны быть необходимы и достаточны для отграничения от соседних единиц. Этим требованиям в наибольшей мере удовлетворяет С., построенная на основе развитых теоретических соображений о строении и законах развития системы. Поскольку, однако, создание теории системы в ряде случаев оказывается исключительно трудным, на практике С. осуществляется обычно путём привлечения соображений как теоретического, так и практического порядка. Э. Г. Юдин. Систематика биологическая Наибольшее развитие С. получила в биологии, где её задачей является описание и обозначение всех существующих и вымерших организмов, установление родственных отношений и связей между отдельными видами и группами видов. Стремясь к созданию полной системы, или классификации, органического мира, С. опирается на данные и теоретические положения всех биологических дисциплин; по своему духу и характеру С. неразрывно связана с теорией эволюции (см. Эволюционное учение). Особая функция С. состоит в создании практической возможности ориентироваться во множестве существующих видов животных (около 1,5 млн.), растений (около 350—500 тыс.) и микроорганизмов. Это относится и к вымершим видам. Систематика животных и систематика растений имеют одни задачи и много общего в методах исследования. Вместе с тем им свойственны и некоторые специфические особенности, связанные с самим характером организмов. Однако эти частные различия не касаются теоретических основ и целей, которые одинаковы как в С. растений, так и в С. животных. С. в биологии часто разделяют на таксономию, понимая под ней теорию классификации организмов, и собственно С. в указанном выше широком смысле. Термин "таксономия" употребляют иногда как синоним С. Вид как конкретная форма существования органического мира и основное понятие систематики. Все организмы принадлежат к тем или иным видам (лат. species). Представление о виде существенно менялось на протяжении истории биологии. Среди систематиков и сейчас существуют некоторые разногласия по вопросу о том, что такое вид, однако в значительной степени в этом кардинальном вопросе достигнуто единодушие. С позиции современной С., вид — это генетически ограниченная группа популяций, особи одного вида характеризуются совокупностью определённых, только им присущих признаков (особенностей и свойств), способны свободно скрещиваться, давая плодовитое потомство, и занимают определённое географическое пространство — ареал. Каждый вид по своим морфологическим и физиологическим признакам отделен от всех других видов, в том числе и от наиболее сходных с ним, своего рода "разрывом" (хиатусом), т. е. постепенного перехода характерных признаков одного вида в характерные признаки другого обычно нет. Наиболее важная форма такого разрыва состоит в том, что в естественных условиях особи разных видов не скрещиваются между собой. Редкие случаи межвидовых скрещиваний в природе не нарушают самостоятельности и изолированности каждого из видов. Эта репродуктивная (генетическая) изоляция главным образом и поддерживает самостоятельность вида и его целостность в окружении близких, совместно с ним существующих видов. Т. о., каждый вид реален не только в том смысле, что состоит из какого-то числа конкретных особей, но главное — он отграничен (изолирован) от всех других видов. Лишь в двух случаях границы между видами нерезки или трудно различимы: 1) вид, находящийся в процессе становления и "отделения" от материнского вида, ещё не достиг полной самостоятельности и совершенной репродуктивной автономности; географические границы таких форм соприкасаются или их ареалы частично перекрываются; в этой зоне могут встречаться гибриды; организмы на этом этапе видообразования обычно объединяют в "полувид", а вместе с "материнской" или "сестринской" формой — в "надвид"; 2) в случае "видов-двойников" две формы обладают полной репродуктивной изоляцией, но по морфологическим и обычно некоторым другим признакам практически неразличимы или едва различимы. Существенные видовые различия при этом часто заключаются в особенностях кариотипа (наборе и строении хромосом), исключающих или затрудняющих получение плодовитого потомства при скрещивании (см. Кариосистематика). Иногда играют роль и другие изолирующие механизмы — особенности поведения, прежде всего брачного, и т. п. При всех условиях виды-двойники при совместном обитании и тесном общении ведут себя в природе как генетически самостоятельные независимые виды. Каждый вид — результат длительной эволюции и происходит от другим вида путём превращения его в новый (филетическая эволюция) или от части вида (отдельной популяции) путём его дивергенции (разделения на два вида или более — кладогенез). Сложившийся вид относительно стабилен во времени, причём эта стабильность далеко выходит за рамки масштабов человеческой истории. Вид, будучи качественным этапом процесса эволюции и в этом смысле основной единицей живой природы, вместе с тем неоднороден. В его пределах различают внутривидовые систематические категории, среди которых основной и общепризнанной является подвид, или географическая раса. Образование подвида связано с особенностями среды обитания, т. е. подвиды представляют собой форму приспособления вида к условиям существования на разных территориях или в разных условиях. Признаки одного подвида в большинстве случаев постепенно переходят в признаки другого, т. е. разрыва между подвидами нет. Их ареалы обычно не перекрываются, и два подвида одного вида совместно не встречаются. Особи разных подвидов одного вида, как правило, способны свободно скрещиваться: гибридизация между подвидами обычно происходит в пограничных зонах, чем в значительной мере и объясняется "переход" между признаками подвидов. Большинство видов, относительно широко распространённых, политипичны, т. е. состоят из ряда подвидов — от двух до нескольких десятков. Некоторые виды, не образующие подвидов, — монотипичны. Вместе с тем образование подвидов — это начальные стадии дивергенции вида, т. е. подвиды, по крайней мере в потенции, представляют собой "зарождающиеся" виды. Изучение внутривидовой (прежде всего географической) изменчивости, внутривидовых форм, которые на ранних стадиях развития С. привлекали мало внимания, в начале 20 в. стало усиленно развиваться. Это привело к полной перестройке прежнего, в основном морфологического, представления о виде и к выработке современной концепции политипического, точнее, синтетического вида, т. к., кроме морфологических свойств вида, учитываются его физиологические, биохимические, генетические, цитогенетические, популяционные, географические и некоторые другие свойства. Вид рассматривается уже не как монолитная единица, а как некая сложная система, отграниченная от других аналогичных биологических систем. Современная концепция вида — важное общебиологическое обобщение, обогатившее представления о самом процессе образования и становления видов и открывшее широкие возможности их изучения (см. Видообразование, Микроэволюция). Одна из важных особенностей современной С. заключается в преодолении неправильного, но для своего времени естественного представления Ч. Дарвина об условности границ вида (т. е. нереальности вида), об отсутствии принципиальной разницы между видом и "разновидностью" и определённых границ между видами. Разработка в 20 в. концепции политипического вида, т. н. широкая трактовка вида, в зоологии имела, в частности, своим следствием изменение представления о числе видов, составляющих разные группы. Большое число видов, которые ранее считались вполне самостоятельными, оказались лишь подвидами и вошли в состав политипических видов. Это привело к тому, что в некоторые, лучше изученные группы, несмотря на открытие новых видов, стали включать меньшее число видов, чем признавали ранее. Так, вместо 18—20 тыс. видов птиц (1914) приняли всего около 8600 (1955), вместо 6000 видов млекопитающих — около 3500 (1953). Среди ботаников существует тенденция понимать вид очень узко (против чего выдвинуты существенные возражения), поэтому в С. растений было описано очень много "мелких видов", в сущности представляющих собой подвиды или другие внутривидовые формы. Подразделения вида более мелкие, чем подвид, ботаники толкуют по-разному и относят их то к "формам", то к "разновидностям". Таксономические категории и естественная система. Анализируя все формы сходства и родства, прежде всего морфологические, С. выделяет во всём многообразии видов наиболее близкие и тесно родственные их группы — роды. Дальнейшее расширение круга видов и использование широких обобщающих признаков приводят к выделению всё более обобщённых групп и к классификации их в соподчинённые группы, т. е. к иерархической системе органического мира. Простейшая схема таксономических категорий, используемых в классификации, представляет собой следующий ряд (от низших к высшим): роды объединяют в семейства, семейства — в отряды (у животных) или порядки (у растений), отряды или порядки — в классы, классы — в типы (phylum) в С. животных и отделы (divisio) в С. растений. По мере познания систематических (филогенетических) отношений вводились промежуточные звенья между названными категориями. Так, в С. животных применяется свыше 20 категорий, в том числе подрод, триба, подсемейство, подотряд и др. Все типы в конечном счёте объединяют в царства, которых со времён Линнея принималось два — царство животных и царство растений. С середины 20 в. всё больше сторонников приобретает представление о 4 царствах органического мира (см. Система органического мира). Вошедшим в 40-х гг. 20 в. в употребление термином таксон обозначают реальную таксономическую группу любого систематического ранга и объёма. Так, семейство кошачьих, род соловьев, вид домовый воробей — реальные таксоны. Встречающееся иногда иное употребление термина (в смысле ранг или категория) неправильно. Устанавливая "сходство" видов и групп видов и объединяя их по этому признаку, С. имеет в виду сходство не общего облика или отдельных частностей, а самого плана строения организмов. Сходство с точки зрения С. отражает, т. о., кровное родство и степень этого родства, большую или меньшую общность происхождения. Например, при всём сходстве летучей мыши с птицей по плану строения летучая мышь остаётся млекопитающим, т. е. относится к другому классу; вместе с тем если сравнивать птиц и млекопитающих с другими, более отдалёнными организмами, относящимися, например, к другому типу, выступает уже не различие, а общность плана их строения как позвоночных животных. Некоторые кактусы и кактусовидные молочаи, несмотря на сходство, относятся к разным семействам; однако все они объединяются в класс двудольных растений. Попытки дать систему органического мира (или систему только животных или растений) предпринимались в античное время, в средневековье и в более поздний период, но эти попытки были малонаучны. Основы современной С. как науки заложены в работах английского учёного Дж. Рея и знаменитого швед. натуралиста К. Линнея. Через сто лет после Линнея учение Ч. Дарвина придало уже сложившейся С. эволюционное содержание. В последующие десятилетия главным направлением в развитии С. стало стремление возможно полнее и точнее установить и отразить в эволюционной (филогенетической) системе генеалогические отношения, существующие в природе. Вместе с тем по разным причинам, главным образом по недостатку знаний, в системах нередко имели место неправильная оценка родственных отношений разных групп, неправильное объединение некоторых групп в одну и т. п. Такие случаи придают системе или её части характер искусственности. По мере накопления знаний такие ошибки постепенно обнаруживаются и исправляются, и система приближается к филогенетической, т. е. адекватно отражающей родственные отношения организмов, объективно существующие в природе. Усложнение системы, которое происходит постоянно, и различия в системах, более или менее общепринятых в разные периоды развития науки, не случайны, — это закономерное следствие общего прогресса биологических знаний. Т. о., поскольку С. при построении системы основывается на сумме сведений из всех отраслей биологии, она по существу есть их синтез. Система надвидовых групп обычно именуется "макросистемой"; соответств. направление в С. называется "макросистематикой". При построении макросистем используются данные главным образом морфологии современных и вымерших групп и эмбриологии. Методы и значение биологической систематики. Основным методом С., наиболее распространённым при исследовании всякой группы, остаётся самый старый — сравнительно-морфологический, при помощи которого были выработаны общебиологические выводы С. Для ископаемых животных он, вероятно, навсегда останется основным. Вместе с тем в морфологическую С. широко проникают современные научные методы. Использование электронного и сканирующего микроскопов открыло новые возможности изучения клеточных структур. Введение в С. изучения кариотипов и в ряде случаев тонкого строения хромосом привело к развитию кариосистематики; в результате было показано существование видов-двойников, а некоторые формы, которые по уровню их фонетических отличий считали подвидами, были признаны самостоятельными видами (например, вместо одного вида серой полёвки, Microtus arvalis, обитающей в СССР, признано по крайней мере 3 вида). В С. стали применять и некоторые экспериментальные приёмы — естественную и искусственную гибридизацию и разведение. Их используют главным образом при изучении видовых таксонов млекопитающих, а также и других групп. С середины 20 в. в С. стали использовать данные биохимии (хемосистематика, или хемотаксономия). Сравнительное изучение у разных групп организмов важнейших белков (например, гемоглобинов, цитохромов и др.), нуклеотидного состава дезоксириоонуклеиновых кислот (ДНК), т. н. молекулярная гибридизация (геносистематика) и другим позволяют дополнять систематическую характеристику и выяснять взаимоотношения групп. Большее значение для С. приобретают этологические показатели, т. е. особенности видового стереотипа поведения, в частности брачного (звуковая сигнализация птиц, земноводных, прямокрылых и др.), которые иногда оказываются более характерными признаками видов, чем морфологические. Началось широкое изучение популяционной структуры вида, связанное с развитием биосистематики. Быстрое накопление информации в С. и смежных науках ведёт к необходимости использования ЭВМ для сбора, хранения и обработки этой информации. Неоднократно, особенно в 40—60-е гг., с целью получения возможно более объективных показателей предпринимались попытки ввести в таксономию некоторые математические приёмы (т. н. численная, или нумерическая, С.). Однако, будучи часто необходимым инструментом при изучении видовых и межвидовых отношений, математические методы в применении к надвидовым группировкам у многих систематиков вызывают скептическое отношение: показывая сходство, они не вскрывают родства. Суждение о соотносительных рангах надвидовых таксонов, т. е. создание макросистемы, требует обширных знаний в разных областях, обострённого чувства меры и соотносительности — всего того, что искони называется "духом систематика" и даётся большим опытом и школой. Имея возможность объективно оценивать виды, авторы почти неизбежно вносят в создание макросистемы какую-то долю субъективности, связанную с различием взглядов на роль и смысл системы. Тем не менее постепенно достигается большее единство взглядов и, следовательно, имеется реальная возможность построения действительно естественной общепринятой системы органического мира. До начала 20 в. даже среди биологов было распространено представление о С. как о науке, изучающей внешние, подчас случайные и незначительные признаки животных и растений, задача которой лишь описывать, давать названия и классифицировать с тем, чтобы ориентироваться в многообразии и обилии органических форм. Это представление давно оставлено. Признана роль С. как общебиологической науки. Помимо самостоятельного значения, С. служит базой для многих биологических наук. Изучение какого бы то ни было объекта со стороны его строения и развития (анатомия, гистология, цитология, эмбриология и т. д.) требует прежде всего знания положения этого объекта в кругу других, а также его филогенетических отношений с ними. На учёте этих связей основана генетика; представление о систематических отношениях видов и групп обязательно и для биохимии. Особенно важна С. в биогеографии и в экологии, где в поле зрения исследователя должна находиться масса видов. Реальное представление о биоценозе (экосистеме) невозможно без точного знания всех составляющих его видов: стратиграфия и геологическая хронология основаны прежде всего на С. ископаемых животных и растений (см. Палеонтология). Велика и чисто утилитарная роль С. Никакая практическая работа с животным и растительным миром невозможна без точного знания и различения видов. Это касается, например, вредителей сельского и лесного хозяйства и животноводства; паразитов домашних и диких животных, растений и человека, рыбного хозяйства, морских и охотничьих промыслов; возбудителей, переносчиков и хранителей болезней человека, домашних и диких животных; охраны природы и т. п. То же относится и к растениям (лесные, с.-х., сорные, лекарственные растения и т. п.). Всё это объясняет растущий интерес к С., который наблюдается с середины 20 в., а также расцвет практической и теоретической С. в 60—70-х гг. Научные центры, общества, издания. Прогресс С. связан с развитием полевых исследований и сбором коллекций. Начиная с 18 в. органический мир исследуют экспедиции систематиков, в разных частях света работают стационарные биологические и краеведческие организации и ведут сборы многочисленные любители. Работа систематика невозможна без зоологических музеев и гербариев, хранящих десятки, иногда сотни тысяч (отдельные даже миллионы) коллекционных экземпляров, по которым изучается животный и растительный мир. Особенно богаты американские музеи — Вашингтонский, Нью-Йоркский, Чикагский, крупнейшие музеи Европы — Британский музей (Лондон) и Национальный музей естественной истории (Париж). В СССР главные научные хранилища — Зоологический институт АН СССР, Зоологический музей МГУ и гербарии Ботанического института АН СССР (Ленинград) и МГУ. С 50-х гг. 20 в. в разработке общих вопросов С. (прежде всего макросистематики) принимают участие и биохимические центры и лаборатории АН (в СССР, например, работы по хемосистематике, начатые А. Н. Белозерским, ведутся на биологическом факультете МГУ). В 1951 в США было основано первое Общество систематической зоологии, издающее специальный теоретический журнал "Systematic Zoology" (Wash., с 1952); существует аналогичный ботанический журнал "Taxon" (Utrecht, с 1951). Большое количество статей по общим и частным вопросам С. печатают зоологические и ботанические журналы всего мира, а в СССР — "Зоологический журнал", "Ботанический журнал" и общебиологические издания (например, "Журнал общей биологии" АН СССР). В 1973 в США (г. Боулдер, штат Колорадо) состоялся 1-й Международный конгресс по систематической и эволюционной биологии. См. также статьи Система органического мира. Систематика животных, Систематика растений, Филогенез, Эволюционное учение и лит. при этих статьях. Лит.: Майр Э., Систематика и происхождение видов с точки зрения зоолога, пер. с англ., М., 1947; его же, Зоологический вид и эволюция, пер. с англ., М., 1968; Тахтаджян А. Л., Биосистематика: прошлое, настоящее, будущее, "Ботанический журнал", 1970, № 3; его же, Наука о многообразии живой природы, "Природа", 1973, №6; его же. Развитие систематики в СССР, "Вестник АН СССР", 1972, № 6; Строение ДНК и положение организмов в системе. [Сб. ст.], М., 1972; Mayr Е., The role of systematics in biology, "Science", 1968, v. 159, № 3815; его же, The challenge of diversity, "Taxon", 1974, v. 23, № 1; Chemotaxonomy and serotaxonomy, Proceedings of a symposium held at the Botany Departement, N. Y. — L., 1968; Hennig W., Phylogenetic systematics, Chi., 1966; Turner B. L., Chemosystematics: recent developments, "Taxon", 1969, v. 18, № 2; Systematic biology, [Wash.], 1969; Crowson R. A., Classification and biology, L., 1970; Computers in biological systematics, a new university course, "Taxon", 1971, v. 20. В. Г. Гептнер. Материалы предоставлены проектом Рубрикон http://slovari.yandex.ru/dict/bse/article/00071/45400.htm?text=%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0

bne: Типология(от греч. týpos — отпечаток, форма, образец и... логия), 1) метод научного познания, в основе которого расчленение систем объектов и их группировка с помощью обобщённой, идеализированной модели или типа. Т. используется в целях сравнительного изучения существенных признаков, связей, функций, отношении, уровней организации объектов как сосуществующих, так и разделённых во времени. 2) Результат типологического описания и сопоставления. Проблемы Т. возникают во всех науках, которые имеют дело с крайне разнородными по своему составу множествами объектов (как правило, дискретных) и решают задачу упорядоченного описания и объяснения этих множеств (химия, биология, психология, языкознание, география, социология и др.). Будучи одной из наиболее универсальных процедур научного мышления, Т. опирается на выявление сходства и различия изучаемых объектов, на поиск надёжных способов их идентификации, а в своей теоретически развитой форме стремится отобразить строение исследуемой системы, выявить сё закономерности, позволяющие предсказывать существование неизвестных пока объектов. Т. может либо непосредственно основываться на понятии типа как основной логической единице расчленения изучаемой реальности, либо использовать иные логические формы. Это, во-первых, классификация, цель которой сводится к построению иерархических систем классов и их подклассов на основе некоторых признаков, не свойственных самим объектам (название, число) или присущих им; во-вторых, систематика, предполагающая максимально полную и расчленённую классификацию данного множества объектов с фиксированной иерархией единиц описания; в-третьих, таксономия, в рамках которой специально исследуются и обосновываются принципы рациональной классификации и систематики. Хотя границы между всеми этими формами в значительной мере условны и применение той или иной из них в определённых областях знания в большой мере зависит от исторических традиций (например, в биологии даже типологические задачи в узком смысле слова рассматриваются обычно в рамках таксономии и систематики), тем не менее Т. по существу выступает как теория и язык таксономии, а последняя, в свою очередь, толкуется как обоснование систематики, анализ её языка. По способу построения различают эмпирическую и теоретическую Т. В основе первой лежит количественная обработка и обобщение опытных данных, фиксация устойчивых признаков сходства и различия, находимых индуктивным путём, систематизация и интерпретация полученного материала. Теоретическая Т. предполагает построение идеальной модели объекта, обобщённое выражение признаков, фиксацию принципов таксономического описания множества изучаемых объектов (например, принцип гомологического сходства в систематике животных, принцип симметрии в физике элементарных частиц и т. д.). Теоретическая Т. опирается обычно на понимание объекта как системы, что связано с вычленением системообразующих связей, с построением представления о структурных уровнях объекта; такая Т. служит одним из главных средств объяснения объекта и создания его теории. Общие принципы Т. существенно зависят от того, как истолковывается понятие типа. История науки позволяет выделить три линии в трактовке этого понятия и, соответственно, три основных способа построения Т. Уже в античности складывается представление о типе как о неизменной, вечной идеальной сущности, которая существует до вещей (Платон) или в вещах (Аристотель) и проявляется в видовых или индивидуальных различиях в качестве идеального прообраза, плана, нормы. С этим связаны многочисленные поиски "архетипа", "плана строения", "морфотипа", "неизменной структуры" объектов и т. п. В биологии эта линия нашла выражение в так называемой морфологической Т. (иногда её называют также идеалистической морфологией), ставившей целью отыскание некоего первотипа, пратипа ("прарастение" И. В. Гёте, "архетип" Р. Оуэна), а изменчивость трактовавшей как несовершенное выражение реально существующего пратипа. Такое понимание Т. находит сторонников и в 20 в. (немецкий зоолог А. Неф, немецкий ботаник В. Тролль), которые, абсолютизируя значение статической модели или типа, противопоставляют типологическое мышление эволюционистскому. С утверждением в научном познании идеи развития возникает вторая линия в трактовке Т., связанная с историческим пониманием типа и с представлением о Т. как отображении системы в её развитии. Отличительной чертой таких Т. является существенная роль времени в их построении и обосновании. Способы такого отображения, однако, различны в разных науках. Например, в биологии эволюционный подход привёл к формированию филогенетической (или филетической) систематики, которая и до сих пор играет ведущую роль. Её типологическое основание составляет рассмотрение гомологического сходства как критерия родства, а иерархически организованной системы органического мира — как отображения филогении; при этом спорные вопросы возникают прежде всего в связи с пониманием способов построения иерархии (возникло ли всё многообразие органического мира из одного корня — принцип монофилии, или таких корней было много — принцип полифилии) и с отысканием надёжных критериев, позволяющих за каждым таксоном закреплять единственное место в системе. В языкознании сравнительно-историческая Т., основанная на сравнении языков по сходству их субстанций (звучания и значения) и отнесении их по этому критерию к определённым родственным группам (Ф. и А. Шлегели), привела на рубеже 18—19 вв. к построению генеалогического древа индоевропейских языков (А. Шлейхер), причём морфологические типы языков трактовались как стадии или ветви эволюционного развития из некоторого единого праязыка (В. Гумбольдт). Своеобразное преломление принципы исторической Т. нашли в буржуазной социологии: здесь Т. понималась первоначально как вычленение реально существующих типов общества и строилась обычно как антитеза марксистской Т., основанной на учении об общественно-экономических формациях. Это характерно для теории культурно-исторических типов (Н. Я. Данилевский, О. Шпенглер), которая, строя с помощью Т. морфологию культур, подрывала линейную европоцентристскую трактовку исторического процесса, однако подчёркивала несводимость множества цивилизаций друг к другу. Формирование третьей линии в трактовке Т. связано с пониманием типа как особого методологического средства, с помощью которого строится теоретическая картина действительности. При этом понятие типа выступает не как непосредственно взятое из реальности, а как результат сложной работы научного мышления, которое теоретически реконструирует наиболее существенные характеристики исследуемого множества объектов и объединяет их в понятии типа. На этой основе в рамках множества может быть выделен некоторый определённый объект, который по ряду критериев рассматривается в качестве представителя всего множества объектов (например, место английского капитализма в марксистском анализе генезиса капитализма; конкретный вид и его место в конгрегационной биологической систематике Е. С. Смирнова). Переход к истолкованию типа как методологического средства имел два важных следствия. С одной стороны, он способствовал отказу от трактовки Т. как полного и однозначного отображения системы: множеству конкретных типологических процедур соответствует и множество различных Т. для данной системы. Поэтому построение Т. предполагает специальный анализ совокупности вводимых типологических понятий и их обоснование. Такой подход открывает путь к построению абстрактных Т., в которых тип понимается как сложная конструкция, размещенная в многомерном таксономическом пространстве. Тип, т. о., выступает в качестве особого идеального объекта, а не прямого заместителя эмпирически данного множества объектов; но именно в качестве идеального объекта он позволяет строить строгие многофакторные модели, создаёт базу для широкого использования логико-математических методов. Перемещение проблем Т. в сферу методологии даёт возможность использовать достижения современной логики, в частности различение класса и типа, трёх видов понятийных систем, применяемых в науке (классификационных, сравнительных и измерительных), экстенсиональных и интенсиональных языков; оно позволяет связать Т. с переходом от классификационных понятий к измерительным, с установлением интенсионалов, то есть класса возможных объектов, подходящих под значение понятия. Эта линия прослеживается прежде всего в современном языкознании, где развиты различные методы Т., превратившейся в особый раздел, в котором на основе изучения строя отдельных языков и широкого сопоставления языков мира устанавливаются существенные черты структуры языка вообще, выявляются взаимообуславливающие и взаимоисключающие характеристики структуры языка, элементы, часто или редко встречающиеся в языках. Поворот к методологическому пониманию задач Т. связан в начале 20 в. с работами Э. Сепира, Н. Трубецкого, пражского лингвистического кружка. Этот поворот повлек за собой не только интерпретацию генеалогической классификации как типологической, но и почти полный отказ от глобальных классификаций, анализ иерархии уровней языка и их единиц, отвлечение от проблем развития языков. Развитие методов Т. привело к формированию содержательной, или семантической, Т., количественной Т. (Дж. Гринберги др.), характерологической Т., изучающей взаимообусловленность языковых черт (В. Скаличка и др.), генеративной, или порождающей, Т. (Б. А. Успенский и др.), структурной Т., анализирующей определённые отношения между элементами системы языка, подчёркивающей значение языка-эталона и метаязыка (Ф. де Соссюр и др.). Разработка различных методов Т. и форм Т., в частности Т. уровней (морфологическая, фонологическая и т. д.), Т. отдельных категорий (залога, падежа и т. д.), Т. универсалий, Т. отдельных семей языков и ареалов, в конечном итоге направлена на выявление существенных и специфических черт естественного языка, его структуры. Аналогичная линия заметна и в развитии Т. в биологии (попытки усовершенствовать или даже критически пересмотреть классическую филетическую таксономию, нашедшие своё выражение в "числовой таксономии" американского энтомолога Р. Сокала, "конструкционной морфологии" немецкого зоолога Г. Бебера, "гомологической морфологии" немецкого зоолога А. Ремане, номогенетической таксономии советского биолога А. А. Любищева и др.). В буржуазной социальной мысли тенденция к методологическому переосмыслению Т. обнаруживается в концепциях моделей истории А. Тойнби, моделей культуры П. Сорокина, А. Крёбера и особенно в методе идеальных типов, разработанном М. Бебером. Т., по Веберу, заключается в создании некоторых идеальных типов, абстрактных конструкций, которые представляют собой заведомое упрощение, логической фикции, предельные понятия, не имеющие прямого аналога в реальности и использующиеся для исследования причин и характера отклонения исторической действительности от идеального типа. В методологии идеальных типов отразились существенные черты гносеологии неокантианства, её идеализм, повлекший за собой отрицание объективного содержания Т., идеографизм, подчёркивание связи Т. с учением о ценностях. Произвольность и умозрительный характер Т., связанные с отрицанием в буржуазной социологии объективных критериев выдвижения и разработки Т., в значительной мере усилились в концепции конструированных типов (американский социолог Х. Беккер). Подчёркивая, что Т. предполагает отход от описываемой реальности, конструктивная Т. переоценивает роль произвольного выбора исследователем одного какого-либо случая или события в качестве типа. С этой формой Т. связано в социологии изучение частотности распределения по каждому типу и отклонений от типа, поиск средств предсказания на основе знания, полученного из изучения отдельного случая, возможного и ожидаемого в др. случаях. Построенная из теоретических соображений, Т. обладает тем важным преимуществом, что она позволяет не только включить все изученные формы, но и выявить некоторые "незанятые" участки, где позднее будут помещены вновь открытые формы (как это было с периодической системой элементов в химии). С др. стороны, перенос основных проблем Т. в сферу теории и методологии остро ставит вопрос об эмпирической интерпретации типологических схем и понятий, то есть о соотнесении их с реальными множествами объектов, о нахождении определённых правил (например, правил запрещения некоторых возможных комбинаций) сопоставления типа и эмпирических показателей, перехода от теоретического понятия типа к реальной системе дискретных объектов. В силу абстрактности и известной односторонности каждого конкретного варианта Т. такая интерпретация представляет собой сложную проблему. Методы Т. широко используются в марксизме-ленинизме как средство научного анализа социальных процессов и явлений: общественных отношений, классовой структуры общества, личности и др. Так, марксистское учение об общественно-экономических формациях связано с вычленением экономико-исторических типов общества, в основе которых лежат определённые производственные отношения (см. К. Маркс, в кн.: Маркс К. и Энгельс Ф., Соч., 2 изд., т. 24, с. 65). Используя методы Т., марксистская социология вычленила реальные структурные единицы исторического процесса, что позволило дать материалистическое объяснение истории, множественности исторических типов обществ и культур, существования различных укладов внутри определённых общественно-экономических формаций. В противовес различным субъективистским концепциям, марксистская Т. подчёркивает объективную обоснованность вычленения типов общества. Так, К. Маркс в "Капитале" отмечает, что "... действительные отношения соответствуют своему понятию или, что то же самое, что действительные отношения изображаются лишь постольку, поскольку они выражают свой собственный общий тип" (там же, т. 25, ч. 1, с. 155). Вместе с тем марксистские обществ. науки опираются на использование различных теоретических моделей (см. Теория) и идеализации. Лит.: Маркс К., Капитал, т. 1—3, Маркс К. и Энгельс Ф., Соч., 2 изд., т. 23—25; Ленин В. И., Развитие капитализма в России, Полн. собр. соч., 5 изд., т. 3; Успенский Б. А., Принципы структурной типологии, М., 1962; Структурно-типологические исследования, М., 1962; Новое в лингвистике, в. 3, 5, М., 1963—70; Канаев И. И., Очерки из истории проблемы морфологического типа от Дарвина до наших дней, М.—Л., 1966; Шрейдер Ю. А., Математическая модель теории классификации, М., 1968; Любищев А. А., Значение и будущее систематики, "Природа", 1971, №2; его же, К логике систематики, в сборнике: Проблемы эволюции, т. 2, Новосиб., 1972; Ядов В. А., Социологическое исследование. Методология, программа, методы, М., 1972; Журинекая М. И., Лингвистическая типология, в кн.: Общее языкознание. Внутренняя структура языка, М., 1972; Виноградов В. А., Методы типологии, в кн.: Общее языкознание. Методы лингвистических исследований, М., 1973; Weber М., Methodologische Schriften, Fr./M., 1968; Hempel С., Oppenheim P., Der Typusbogriff im Lichte der neuen Logik, Leiden, 1936; Gregg J. R., The language of taxonomy, N. Y., 1954; Horn К. М., Language typology, Wash., 1966; Coleman J., The constructive typology, N. Y., 1968; Löther R., Die Beherrschung der Mannigfaltigkeit. Philosophische Grundlagen der Taxonomie, Jena, 1972; Voigt W., Homologie und Typus in der Biologic, Jena, 1973 (библ.). А. П. Огурцов, Э. Г. Юдин. Материалы предоставлены проектом Рубрикон http://slovari.yandex.ru/dict/bse/article/00079/16400.htm

bne: Пара цитат из неопубликованной книги В.В.Налимова По времени читал его наукометрию еще в институте (синхронно с ММ Элланским), раз слышал лекцию об языке абстрактной живописи и читал книгу про языки восприятия (так кажется) Элланский из наукометрии Налимова и Мульченко вынес идею диффузных моделей Остальное читал уже после конца совка и всегда интересно (включая и все про мистический анархизм) А сегодня три его фрагмента в ПОЛИТ.ру (он же в ЖЖ и на ресурсе выпускников МГУ) «… Европейская культура - это здание, построенное в каком-то бесконечномерном пространстве признаков. Свет, падающий на нас от Бога, отбрасывает в этом пространстве гигантскую тень. Она встает перед нами как вопрос: что есть Власть? Культура почти непроницаема для Света - за нею тень люциферова крыла. Что есть Власть? Еще гностики понимали всю серьезность этого вопроса. Для них Власть - это охранение незнания. В земной жизни Христа было одно, по-настоящему большое искушение - искушение Властью …..» « … Непонимание - это не есть неверное понимание, ибо понимание не может быть верным или неверным. Оно просто должно иметь место. Понимание - это приближение понимаемого текста к самому себе путём порождения фильтра понимания, приближающего чужой текст, чужую смысловую ориентацию к своей собственной. Понимание - это способность найти в чужом тексте своё, или, может быть, серьёзнее, - найти самого себя новым в чужом …» (С. 130). ======= Тексты идентичны - цитируя в порядке нахождения http://www.polit.ru/science/2009/04/23/nalimov.html http://irin-v.livejournal.com/ http://www.moscowuniversityclub.ru/home.asp?artId=8518 И все-таки IMHO по фрагментам мне сложно докопаться до заложенного смысла и потому спорно по части 1) склеивания любой власти с охранением и любого охранения с незнанием 2) любого поиска знания с традиционной религиозностью (если не думать о пантеизме) Кое-что работает как противоречие между изначально маргинальной религией и ее преследователями В принципе в поздней традиции христианства любое новое знание уже попахивает серой и дьяволом (это и у Гете видно) И лишь патеизм в котором любой поиск знания и анализ мира есть служение этому миру лишен этого противоречия Но последовательный пантеизм - вера одиночек (попытки подобные попытке Робеспьера заранее обречены и приводят только к дискредитации идеи) Конечно, перекликается с идеей динамических образов и их соотнесения со просматриваемыми полилоговыми аспектами Отсюда и моделирование в многослойном мире

bne: Интересный разворот традиции комментированиря в нынешнее время Набрел на интересную профессиональную библиотеку, хозяин которой привел и мою с ММ книгу Ссылка на нее в Каминном зале (доступна после регистрации) http://www.petrophysics.borda.ru/?1-5-0-00000107-015 Привел и привел - мне не жаль ;-) Но как всякий замысел через какое-то время она нуждается в уточнении... И тут приходят на выручку современные технологии... Легко работать вводя примечания и редакции (в форме накладок на текст в том же pdf). А ведь можно и нужно комментировать и других. Собственно мысль то банальная (достаточно HTML, чтобы к ней прийти), но если ее попытаться развернуть в сторону социальной сети то оторопь берет Ведь никто не мешает в эту сеть войти и убывающим с этого мира или электронным протезом (привет, Федоров, Болонкин и Стебаков!) давно ушедшего... Эдак пообщаться с теми же покойными коллегами и Аристотелем Благо Google специальный новый сервис изобрел Ведь мало кто мог бы качественно прокомментировать петрофизическую часть книги БЮ Вендельштейна о СП А там и другие книги достойны комментирования И это уже не на плях и не просто вложенные листки замечаний При этом можно еще и нумеровать версии примечаний Но не приведет ли такая традиция (если она сформируется b распространится) к полной путанице (как скрестить разнообразные комментарии в одном тексте? И что делать с комментариями к комментариям... Как тут с копирайтами в частности -) Вспоминаю комментаторов Аристотеля, разбросанных на тысячелетие. Подозреваю, что им такие проблемы и в голову не приходили Потенциально подобные технологии позволяют окончательно запутать незадачливого читателя ;-)

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

bne: Тут IMHO интересно, что потенциально возможны и hfзные типы комментирования и разные оценки Да и вообще документ в PDF позволяет выполнять работу неспешно и последовательно и без ограничений на объемы Я бы с удовольствием прокомментировал свою книжку с ММ и книжку БЮ Вендельштейна И даже если писать пару страниц в день можно делать это последовательно и эффективно Преимущества комментирования в том, что имеется структура (причем чем она лучше продумана тем меньше возиться самому) Можно помещать новые данные, давать ссылки, полемизировать Появляется ядро вокруг которого можно все это выстраивать А библиотека хорошая, хотя считывать одновременно несколько книг сложно и не очень ясно как часто идут изменения

viking23: буду читать вашу книгу на выходных, как и книгу одного сотрудника, Шемина:) уж больно много у него иллюстраций.

bne: Я тут недавно в одном сборнике поучаствовал Мой текст мне там не импонирует, а другие только пролистал в Геленджике А вот с ММ первую часть в первую руку писал я Он потом правил, вырезал и добавлял свое Жаль, что я вырезанное выбросил, а часть материалов у меня выбросили или украли Надо бы новую написать, но времени не хватает

viking23: такая Москва, “Недра”, 1991 год, 207 c. с oilcraft у вас там коментарий оставлен, и обращение к этой ветке, как я понял вы в своё время хотели здесь писать добавление/коментарии. Вот и хочу после прочтения вопросы задавать:)

bne: Я тут серию статей во ВНИИИОНГовском журналне напечатал, но аппетит приходит во время еды ;-) В принципе про ПС я нигде ни разу полно (с выводами) так и не написал И, конечно, сейчас возможности набора и иллюстраций и доступ к литературе стали заметно шире Это надо отражать Только вот на работе не за это держат

viking23: На сайте 0 ВСЕРОССИЙСКИЙ НАУЧНО-ИССЛЕДОВАТЕЛЬСКИЙ ИНСТИТУТ ОРГАНИЗАЦИИ, УПРАВЛЕНИЯ И ЭКОНОМИКИ НЕФТЕГАЗОВОЙ ПРОМЫШЛЕННОСТИ http://vniioeng.mcn.ru/ Нашел только это: Журнал Геология, геофизика и разработка нефтяных и газовых месторождений Секция ГЕОФИЗИЧЕСКИЕ ИССЛЕДОВАНИЯ № 9 / 2009 1) "Исследование негерметичности эксплуатационных колонн геофизическими методами." Пресняков А.Ю., Михайлов А.Г., Аликин Е.С., Миллер А.В., Еникеев В.Н., Ташбулатов В.Д № 1 / 2010 2)"ОПЫТ ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ СИСТЕМЫ ПОДДЕРЖАНИЯ ПЛАСТОВОГО ДАВЛЕНИЯ В УСЛОВИЯХ РАЗГАЗИРОВАНИЯ." Сагитов Д.К. 1, Кан А.Г. 2, Пицюра Е.В. 2, Еникеев Р.Р. 2 может название другое журнала?

viking23: Журнал Нефтепромысловое дело № 7 / 2009 "ИССЛЕДОВАНИЕ ВЕЛИЧИНЫ ФАКТИЧЕСКОГО ДАВЛЕНИЯ НАСЫЩЕНИЯ НЕФТИ ПО ХАРАКТЕРИСТИКЕ ФИЗИКО-ХИМИЧЕСКИХ СВОЙСТВ ГАЗОНЕФТЯНОЙ СМЕСИ." Журнал Оборудование и технологии для нефтегазового комплекса Секция Геофизические исследования и аппаратура № 4 / 2009 МОДЕЛИРОВАНИЕ В ПЕТРОФИЗИКЕ (РЕШЕНИЯ, ПРОБЛЕМЫ И ПЕРСПЕКТИВЫ)-1." № 5 / 2009 МОДЕЛИРОВАНИЕ В ПЕТРОФИЗИКЕ (РЕШЕНИЯ, ПРОБЛЕМЫ И ПЕРСПЕКТИВЫ)-2." № 6 / 2009 МОДЕЛИРОВАНИЕ В ПЕТРОФИЗИКЕ (РЕШЕНИЯ, ПРОБЛЕМЫ И ПЕРСПЕКТИВЫ)-3." № 1 / 2010 МОДЕЛИРОВАНИЕ В ПЕТРОФИЗИКЕ (РЕШЕНИЯ, ПРОБЛЕМЫ И ПЕРСПЕКТИВЫ)-4." № 2 / 2010 МОДЕЛИРОВАНИЕ В ПЕТРОФИЗИКЕ (РЕШЕНИЯ, ПРОБЛЕМЫ И ПЕРСПЕКТИВЫ)." Эти очень похоже на искомое. н 2 от 2010 это продолжение 4-й статьи или заврешение?(обобщение, повтор нулевого) буду читать тоже.

bne: Это меня однокурсница попросила им пустоту в журнале заполнять Не знаю буду ли продолжать - наверное если попросят ;-)

viking23: *PRIVAT*

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

viking23: Хорошо! буду ждать)

viking23: очень забавное название института. Разве нефть и экономика совместимы? это как экономика и золото или уголь, уран. Ценность сравнима. как вариант должен быть ВСЕРОССИЙСКИЙ НАУЧНО-ИССЛЕДОВАТЕЛЬСКИЙ ИНСТИТУТ ОРГАНИЗАЦИИ, УПРАВЛЕНИЯ И ЭКОНОМИКИ УГОЛЬНОЙ ПРОМЫШЛЕННОСТИ ВСЕРОССИЙСКИЙ НАУЧНО-ИССЛЕДОВАТЕЛЬСКИЙ ИНСТИТУТ ОРГАНИЗАЦИИ, УПРАВЛЕНИЯ И ЭКОНОМИКИ ЗОЛОТОДОБЫВАЮЩЕЙ ПРОМЫШЛЕННОСТИ Просто у нас нефть приоритет номер одни, поэтому видимо такое особое внимание)

bne: Институт когда-то в СССР считался головным при МинНефтеПроме Сейчас осталось что осталось Говорят арендуют здание у человека бывшего завхозом института в СССР

bne: Фамилия очень распространенная - относится к касимовским татарам (помогавшим Ивану Грозному взять татар) Совсем недавно ушел энтузиаст восстанавливающий историю княженской и музинской ветви - Альберт Фазылович Еникеев Так что где-то на уровне 15-16 веков это мои дальние родственники ;-)

viking23: *PRIVAT*

bne: У татар куча народу занимается родословными А покойный вообще энтузиаст этого дела был Даже отца Дили Еникеевой привлек Он профессор, но автор меньшего числа книг чем его дочура, которая фамилию позорит ;-)

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

bne: К сожалению, есть много неприятных моментов причем чем дальше порода от чистой тем хуже 1) плывут методики хранения и подготовки образцов 2) плывут методтики определения параметров 3) формально одинаковые методики в разных лабораториях нередко дают заметные различия 4) история исследования образца меняет его свойства 5) разные параметры нередко измеряют на разных частях одного образца (на одной гранулометрию, на другой остальное) 6) разные свойства нередко на пробах разного размера Все это приводит к дополнительным проблемам сопоставимости и вбок и назад Кроме того зависимости приходится рассматриватть все равно как стохастические, а не функциональные (из-за влияния объемов осреднения и неучтенных факторов) Ну да края, наклоны и выпуклость нечто обычно несут Большее нередко от лукавого

viking23: на примере двух исследований, Калинко-вместе возрастают разные песчаники, Энгельгард взаимообратный одна растут другая падает для однотипных пород, показано неправомочность применения простой схемы. Множество данных Калинко должно содержать множество данных Энгельгарда. И таким закономерность Энгельгарда-локальное явление(подобласти). Но есть сомнения в представительстве даннных Калинко:). Либо существует третье свойство влияющее на два (размер зерен и пористость). Мне кажеться зависимость должна стоиться от условия седиментации пород. тогда будет понятно сортированные материал или нет, да формы зерен будут ближе.

bne: В книге с ММ мы это обыгрываем Тут дело в различии фундаментальных и статистических моделей

bne: Столько всего на сей счет смотрел, что все уже перепуталось (а пора подготовиться к докладу на ГЕОМОДЕЛИ всерьез) 1) Развертка модели в систему моделей (или древесно вложенных иерархически или альтернативных) по сути уже представляет прототип системы 2) Переход от прототипа к системе требует задание набора альтернатив (по возможности полного) 3) Набор альтернатив требует замыкания и создания системы рациональной нотациии 4) Серьезная задача такого рода не является статической, а требует создания плана ее развертки и средств поддержки его реализации

bne: Видимо таки никуда без классификации типов систем и способов а) навигации б) развития Причем навигация по маршрутам (герменевтика ?) дает способ построения карты обекта и карты-плана (обе оси Якобсона) Но вопрос именно в структуре (гнездовая морфологическая?)

bne: Впечатление, что в петрофизике надо различать -онтологический слой -редукционные слои (видение объектов через редукционистские схемы) -конвенциональные слои (причем их также может быть много, но часть из них официальная или полуофициальная с ривязкой)

bne: В.К.Финн (купил таки его книгу в ОЗОН) На самом деле сборник статей< но не все они у меня были (при всем уважении к их автору) Чтение сложное, но есть и интересные идеи по формализации и метафоры Так рядом с решаемыми (формализованными) задачами - РАЙ он вводит нерешаемые (неформализованные) - АД и ЧИСТИЛИЩЕ (там смотрят нельзя ли формализовать и какой ценой)

bne: Google and the Myth of Universal Knowledge: A View from Europe By Jean-Noel Jeanneney Publisher: University Of Chicago Press 2006-11-01 | 96 Pages | ISBN: 0226395774 The recent announcement that Google will digitize the holdings of several major libraries sent shock waves through the book industry and academe. Google presented this digital repository as a first step towards a long-dreamed-of universal library, but skeptics were quick to raise a number of concerns about the potential for copyright infringement and unanticipated effects on the business of research and publishing. Jean-Noel Jeanneney, president of France’s Bibliotheque Nationale, here takes aim at what he sees as a far more troubling aspect of Google’s Library Project: its potential to misrepresent—and even damage—the world’s cultural heritage. In this impassioned work, Jeanneney argues that Google’s unsystematic digitization of books from a few partner libraries and its reliance on works written mostly in English constitute acts of selection that can only extend the dominance of American culture abroad. This danger is made evident by a Google book search the author discusses here—one run on Hugo, Cervantes, Dante, and Goethe that resulted in just one non-English edition, and a German translation of Hugo at that. An archive that can so easily slight the masters of European literature—and whose development is driven by commercial interests—cannot provide the foundation for a universal library. As a leading librarian, Jeanneney remains enthusiastic about the archival potential of the Web. But he argues that the short-term thinking characterized by Google’s digital repository must be countered by long-term planning on the part of cultural and governmental institutions worldwide—a serious effort to create a truly comprehensive library, one based on the politics of inclusion and multiculturalism.

bne: C.В.Гольдин (фрагмент из ГЕОФИЗИКА который отсканировал в 99-00 годах?) - буду благодарен за уточнение библиографии Статья где-то у меня также лежит, но где? Похоже это из статья по ссылке: Гольдин С.В., 2000, Исповедь геофизика-математика: Геофизика, 6, 3-11. А Гольдина уже давно нет ====================================================================== ЕЩЕ НЕМНОГО О МАТЕМАТИКЕ И ТЕОРЕТИЧЕСКОЙ ГЕОФИЗИКЕ Я боюсь, что совокупность моих представлений на предмет "геофизика и математика" выглядит довольно аморфно. Есть ли у меня самого какая-то методология? Повод задуматься. 23 года назад я опубликовал статью с изложением моей методологии [7]. Мои воззрения, конечно, изменились. Я решил изложить их, не загля¬дывая в то, что писал раньше, а потом уже сопоста¬вить. Но нынешняя "моя методология" не касается именно использования математики. Не так-то уж про¬сто выделить математическое направление (как я его понимаю) из общего русла теории геофизики. Исклю¬чение составляет, пожалуй, только вычислительная проблематика. Но прежде чем решать уравнения, их сначала нужно построить. Речь идет о методологии решения теоретических за¬дач. И вот в чем она заключается. 1. Многообразие подходов крещению одних и тех же проблем - не бедность, но богатство теории. 2. Все явления природы и общества в человеческом сознании являются в форме дуалей (детерминизм-интдетерминизм, дискретность-непрерывность и т. п.). Иссле¬дователь движется по пути преодоления дуальностей (от или/или к и/и). Эти вопросы я подробно осветил в [9]. 3. Я всегда различаю такие понятия, как "проблема" (реальная проблема) и "задача". Обратные задачи - они и есть задачи. А интерпретация - это реальная проблема. 4. Ставить проблему может "чистый" геофизик. По¬ставить задачу - прерогатива специалиста, умеющего решать их. 5. Для решения каждой задачи следует искать адек¬ватный математический подход и "не держаться" за ка¬кой-то один "любимый" метод. 6. При построении теории важное значение я при¬даю не только эффективности теории, но и ее объясни¬тельной функции. 7. Заменять "геологическое" понимание проблем на "геомеханическое". 8. Стремиться понять реальную геомеханическую сложность земных недр. В частности, учитывать блочно-иерархическую структуру недр, разнообразие физичес¬ких процессов, происходящих на различных масштаб¬ных уровнях. 9. Стремиться понять реальную сложность процесса интерпретации геофизических данных, вообще, и сей¬смических данных, в частности. Обратные задачи - это только фонарики, которые освещают отдельные части этой большой проблемы. Если сравнивать перечисленные положения методо¬логии с изложенными мною в работе [7], то главное - п.2 - осталось. Только тогда я это называл принципом дополнительности (по Бору). В том смысле, что различ¬ные воззрения на природу дополняют друг друга, что и должно учитываться при построении математических мо¬делей, связанных с интерпретацией. Сейчас я называю это дуальностью, представляющей форму восприятия целостной природы в человеческом сознании. Пункты 3 и 9 также осознавались мною и тогда, 23 года назад. Особенно я хотел бы остановиться на пункте 6, по¬скольку чувствую, насколько я одинок в этом вопросе. Всякая теория, вообще, и математический анализ про¬блем, в частности, имеет своей целью, во-первых, до¬стижение высокой эффективности. Например, ее резуль¬татом может быть определение помехоустойчивых алго¬ритмов решения той или иной задачи. Во-вторых, ее цель состоит в предсказании (например, поведения ал¬горитмов в тех или иных ситуациях и т. п.). В-третьих, она должна объяснять, почему ее объекты проявляют себя так, а не иначе. Вот эта третья позиция часто игно¬рируется. Я согласен, что бывают ситуации, когда кра¬сотой можно пожертвовать (оставить ее парикмахерам!). И все же теория должна в идеале удовлетворять эстети¬ческим критериям и быть способной прояснить суть яв¬лений. Возможно, что мой подход обусловлен тем, что я не мыслю себя вне преподавания. Важность этих требо¬ваний в сфере геофизического образования несомнен¬на. Но мне кажется, здесь есть и сугубо практический аспект. Хотя мы много считаем, сами мы - не вычисли¬тельные машины и обязаны понимать, что происходит и в природе, и в компьютере. К сожалению, во многих случаях наши геофизики смотрят на различные програм¬мы как на "черные ящики".

Vot: Бакминстер Фуллер написал двадцать восемь книг, выработав такие термины как «космический корабль “Земля”», «эфемеризация» и «синергетика». Он также сделал большое число изобретений, в основном в сфере дизайна и архитектуры, наиболее известным из которых является лёгкий и прочный «геодезический купол» — пространственная стальная сетчатая оболочка из прямых стержней. Резюме принципов Фуллера - небезынтересно сегодня, в эпоху саморазвития и личной инициативы: Рассматривать свою жизнь как эксперимент, призванный показать, может ли один человек сделать для всего человечества нечто такое, чего не могут сделать великие государства или крупные компании. Стремиться принести пользу всему человечеству, а не только себе, семье, стране и т.д. Помогать людям не за счет других людей. Делать только то, что можешь сделать своими силами. Руководствоваться только собственным мышлением и ограничивать себя только экспериментально полученной информацией, чтобы выразить свою собственную мечту, вместо того чтобы пытаться соответствовать мнениям всех остальных. Действовать, основываясь в первую очередь на своей интуиции. Извлекать максимум из своих ошибок. Активно заниматься самообразованием. Никогда не заниматься саморекламой и никому не платить за рекламу. Работать в широких временных рамках. Решать проблемы посредством технологий — это эффективнее, чем социальные реформы. http://vsocial.livejournal.com/

БНЕ_Home: Ремесло программиста. Золотые правила Совершенный код*, Разработка*, Программирование* imageДанный пост представляет собой выдержку «золотых правил» из примечательной книги Питера Гудлифа «Ремесло программиста». Кто-то освежит память, кто-то сверится как с чек-листом, а кто-то заинтересуется и прочтет книгу. Т.к. пост получился достаточно объемным, можно добавить его в закладки и периодически к нему возвращаться. Глава 1. Держим оборону Не делайте никаких допущений. Не зафиксированные формально допущения часто служат причиной отказов, особенно с ростом объема кода. Чем больше спешки, тем меньше скорость. Всегда думайте, что вы собираетесь ввести с клавиатуры. Не верьте никому. Кто угодно, включая вас самих, может сделать ошибки в логике вашей программы. Ко всем входным и выходным данным относитесь с подозрением, пока не проверите, что они допустимы. Предупреждения компилятора помогают выявить массу глупых ошибок. Всегда включайте их вывод. Держитесь того, чтобы ваш код компилировался молча. Берегите все ограниченные ресурсы. Тщательно организуйте их захват и освобождение. Глава 2. Тонкий расчет Поймите, кто реально станет читать ваш исходный код: другие программисты. Пишите с расчетом на них. Выясните, какие стандарты кода есть для выбранного вами языка, и освойте каждый из них на практике. Оцените преимущества и недостатки каждого. Выберите какой-то один правильный стиль кодирования и придерживайтесь его постоянно. Если в вашей группе принят некий стандарт кодирования, придерживайтесь его. Свой собственный излюбленный стиль оставьте в стороне. Скажи «нет» религиозным войнам. Не вступай в них. Отойди в сторону. Глава 3. Что в имени тебе моем? Учитесь давать объектам прозрачные имена — они должны ясно описывать то, что за ними скрывается. Чтобы придумать хорошее имя, главное — четко понимать, для кого оно предназначено. Только в этом случае имя может стать осмысленным. Если не удается придумать хорошее имя объекту, спросите себя, понятно ли его назначение. Изучите правила образования имен в языке, с которым работаете. Еще важнее изучить идиомы этого языка. Есть стандартные способы формирования имен? Вот ими и пользуйтесь. Ясность имени предпочтительнее его краткости. Следует учитывать относительные достоинства коротких и длинных имен, особенно в зависимости от области действия переменной. Предпочтительней такое правило именования, которое различает имена переменных и имена типов. Давайте функциям имена с внешней точки зрения, в виде фраз, выражающих действия. Описывайте логическую операцию, а не способ реализации. Избегайте в именах лишних слов. В частности, в именах типов — таких слов, как class, data, object и type. Давайте пространствам имен и пакетам имена, логически связанные с содержимым. Макросы в С/С++ всегда выделяют прописными буквами, чтобы сделать хорошо заметными, и тщательно выбирают их имена, чтобы избежать конфликтов. Никогда не выделяйте прописными буквами другие объекты. Выберите единообразную системы именования и последовательно применяйте ее. Степень необходимой детализации имени зависит от контекста его применения. Создавая имена, учитывайте контекстную информацию. Глава 4. Литературоведение Не пишите код, который нуждается во внешней документации. Он ненадежен. Пишите такой код, который понятен без посторонней документации. Пишите код, который может прочесть нормальный человек, причем без напряжения. Компилятор как-нибудь справится. Избегайте волшебных чисел. Пользуйтесь именованными константами. Важный участки кода должны выделяться на общем фоне и быть легко читаемыми. Спрячьте все, что не должно интересовать клиентов. Старайтесь группировать родственную информацию. Делайте эту группировку наглядной с помощью средств языка. Не выводите бессмысленных сообщений об ошибках. В зависимости от контекста представьте наиболее уместную информацию. Помещайте в код комментарии только в том случае, если не удается облегчить его понимание иными способами. Пользуйтесь инструментариями грамотного документирования для автоматической генерации документации по вашему коду. Глава 5. Заметки на полях Учитесь писать ровно столько комментариев, сколько необходимо. Отдайте предпочтение качеству, а не количеству. Не пожалейте труда, чтобы ваш код не требовал поддержки в виде уймы комментариев. Хорошие комментарии объясняют «почему», а не «как». Один источник для каждого факта. Не копируйте код в комментариях. Обнаружив, что вы пишете многословные комментарии, описывающие ваш код, остановитесь и задумайтесь. Не признак ли это того, что существует некая проблема более высокого порядка? Думайте, что пишете в комментариях; не давите бездумно на клавиши. Прочтите комментарий снова в контексте кода. Ту ли информацию он содержит? Комментарии — часть повествования кода. Размещайте их так, чтобы порядок чтения был естественным. Снабжайте каждый файл исходного кода прологом в виде комментария. Комментарии должны касаться настоящего, а не прошлого. Не описывайте того, что претерпело изменения, и не рассказывайте о том, что было раньше. Если вы изменили код, проверьте правильность комментариев, находящихся рядом с ним. Глава 6. Людям свойственно ошибаться Обработка ошибок — дело серьезное. От нее зависит стабильность вашего кода. Не оставляйте сбойную ситуацию без внимания. Если вы не знаете, как справиться с проблемой, сигнализируйте об отказе вызвавшему коду. Не заметайте мусор под ковер в надежде, что все как-нибудь обойдется. Никогда не пренебрегайте поступающими вам сообщениями об ошибках. Если существует канал для сообщений об ошибках, значит, для этого есть причины. Обрабатывайте все ошибки в наиболее благоприятном контексте, когда становится ясно, как корректно с ней справиться. Игнорирование ошибок не экономит вашего времени. Вы потратите больше времени на выяснение причин некорректного поведения программы, чем вам понадобилось бы для написания обработчика ошибок. Если вы пишете код, который может отказать, одновременно с ним пишите код для обнаружения и обработки ошибок. Не откладывайте это на будущее. Если вы все же вынуждены отложить обработку, по крайней мере, напишите оснастку для обнаружения ошибок. Глава 7. Инструментарий программиста Изучите свои стандартные инструменты вдоль и поперек. Время, которое вы потратите на их изучение, незамедлительно окупится. Относитесь к инструментам программирования прагматически; пользуйтесь ими, только если они облегчают вашу жизнь. Узнайте, какие виды инструментов существуют. Выясните, где их можно взять, даже если в данный момент они вам не нужны. Для каждой задачи есть свой инструмент. Не стоит щелкать орехи кувалдой. Следите за выпуском новейших версий своего инструмента, но проявляйте осторожность при обновлении. Выбор редактора кода имеет решающее значение; он оказывает огромное влияние на то, как вы будете писать код. Выучите несколько языков. В каждом вы обнаружите особый способ решения задач. Рассматривайте их как набор инструментов и выбирайте тот, который наиболее эффективен в конкретной ситуации. Глава 8. Время испытаний Тестирование может вскрыть только наличие ошибок. Оно не может доказать отсутствие неисправностей. Не поддавайтесь ложному чувству спокойствия, если код прошел ряд неадекватных тестов. Тестируйте каждый написанный вами фрагмент кода. Не рассчитывайте, что кто-то другой сделает это за вас. Чтобы сделать тестирование эффективным, его нужно начинать заранее, когда выявляемые ошибки еще не могут принести большого вреда. Тестовый код можно писать раньше, чем рабочий! Пишите тесты для всех выявленных ошибок. Прогоняйте свои тесты как можно чаще. Читая код, очень легко обмануться и поверить, что он работает правильно. Если вы написали код, то при его чтении вы будете видеть то, чтособирались написать, а не то, что написали на самом деле. Учитесь читать код с циничным недоверием. Напишите полный набор тестов, каждый из которых будет проверять определенный аспект кода. Пятнадцать тестов, которые демонстрируют одну и ту же ошибку, менее полезны, чем 15 тестов, демонстрирующих 15 разных ошибок. Архитектура кода должна облегчать его тестирование. Насколько это возможно, автоматизируйте тестирование кода. Это быстрее и проще, чем выполнять тесты вручную, и гораздо надежнее: более вероятно, что тесты станут выполняться регулярно. Выполняйте тестирование автоматически в ходе процедуры сборки. Глава 9. Поиск ошибок Компилируйте код при включенном выводе компилятором всех предупредительных сообщений. Тем самым вы обнаружите потенциальные проблемы раньше, чем столкнетесь с ними реально. Следуйте золотому правилу отладки: думать головой. Установите разумное временное ограничение на «бессистемную» отладку, и если она окажется безуспешной, переходите на более методичный способ. Изучите отлаживаемый код — трудно найти ошибки в коде, который вам непонятен. Когда вы ищете ошибку, неверьте никому. Проверьте самые невероятные причины, вместо того чтобы сходу отвергнуть их. Не принимайте ничего на веру. Если сборка продукта не прошла, смотрите на первую ошибку компилятора. Последующие сообщения заслуживают гораздо меньше доверия. Отладка — это методичная работа, медленно сужающая кольцо вокруг места нахождения ошибки. Не следует относиться к ней как к игре в укадайку. Первый шаг на пути установления места ошибки — это определение способа ее уверенного воспроизведения. Начните с известного места, например, с точки аварийного завершения программы. Затем двигайтесь в обратном направлении в сторону причины, вызвавшей сбой. Если вам показалось, что вы нашли причину ошибки, досконально исследуйте ее и убедитесь, что не ошиблись. Не принимайте безрассудно первую же гипотезу. Отладка заканчивается лишь тогда, когда вы докажете, что ошибка устранена и проблема решена навсегда. Проявляйте крайнюю осторожность при исправлении ошибок. Следите, чтобы ваша модификация не покалечила ничего остального. Исправляя ошибку, проверьте, не повторяется ли она в близких разделах кода. Уничтожьте ошибку раз и навсегда: исправьте все ее дубликаты немедленно. Из каждой исправленной ошибки делайте выводы. Можно ли было ее избежать? Можно ли было обнаружить ее быстрее? Столкнувшись с поведением, которое вы не можете объяснить, умеренно пользуйтесь отладчиками. Не привыкайте к тому, чтобы сразу бросаться на них, не попытавшись сначала понять, как работает ваш код. Глава 10. Код, который построил Джек Считайте систему сборки частью дерева исходного кода и ведите их совместно. Они тесно связаны между собой. Все программисты, участвующие в проекте, должны пользоваться единой системой сборки. Иначе все они будут собираться разные программные пакеты. Правильная система сборки позволяет многократно создавать физически идентичные бинарные файлы. Вы должны быть в состоянии достать дерево исходные кодов трехлетней давности и правильно собрать его заново. Правильная система выглядит как одна операция. Достаточно нажать кнопку или выполнить одну команду. Для каждого правила сборки напишите соответствующее правило чистки, которое отменяет всю операцию. Организуйте автоматическую процедуру сборки своего программного продукта. Проверяйте с ее помощью работоспособность вашего кода. Финальные сборки всегда выполняются из чистого исходного кода. Позаботьтесь, чтобы потом всегда можно было получить этот чистый исходный код из архива или системы управления версиями. Проводите тестирование финальной конфигурации своего приложения, а не только рабочих сборок.Небольшие различия между ними могут отрицательно сказаться на поведении кода. Глава 11. Жажда скорости Об эффективности работы программы нужно думать с самого начала — не надейтесь, что в конце разработки вам удастся повысить ее ценой небольших изменений. Корректность кода гораздо важнее его скорости. Что толку быстро получить результат, если он неверный! Рассмотрите альтернативы оптимизации; не удастся ли вам повысить эффективность программы иными способами? Выясните, действительно ли есть необходимость оптимизировать код, но лучше с самого начала писать эффективный код высокого качества. Оптимизируйте код отдельно от всякой прочей работы, чтобы результаты одной работы не оказывали влияния на другую. Оптимизируйте окончательные версии программы, а не промежуточные сборки. Тщательно отберите входные данные для профилирования, с тем чтобы они отражали реальный мир. В противном случае может оказаться, что вы оптимизируете те части программы, которые в обычных условиях не выполняются. Не ограничивайтесь профайлером при поиске причин недостаточной эффективности программы; они могут оказаться более глубокими. Обязательно проведите измерения до и после оптимизации. Лучше заменить медленный алгоритм быстрым, чем пытаться улучшить реализацию имеющегося алгоритма. Глава 12. Комплекс незащищенности Следует учитывать, какими важными ресурсами вы располагаете. Есть ли у вас особо деликатная информация или специальные возможности, за которыми могут охотиться? Обеспечьте их защиту. Чем сложнее компьютерная система, тем более вероятно, что в ее системе безопасности есть пробелы. Следовательно, пишите как можно более простое программное обеспечение! Не проходите мимо уязвимостей и не считайте себя непобедимым. Где-нибудь обязательно найдется тот, кто пытается применить эксплойт к вашему коду. Запускайте на своем компьютере только программы, полученные из надежных источников. Установите четкую политику определения надежности источников. Безопасность — важный аспект архитектуры любого программного продукта. Будет ошибкой не позаботиться о ней на ранних стадиях разработки. Проектируя программу, рассчитывайте только на известные, защищенные компоненты сторонних разработчиков. Готовьтесь к тому, что ваша система будет атакована, и проектируйте с учетом этого все ее части. Глава 13. Важность проектирования Программирование — это работа по проектированию. Это творческий и художественный акт, а не механическое написание кода. Думайте, прежде чем стучать по клавишам; составьте понятный проект. Иначе у вас получится не код, а хаос. Чем меньше, тем лучше. Вашей целью должен быть простой код, который при малом размере решает большие задачи. Сделать простую вещь сложно. Если структура кода кажется очевидной, не надо думать, что это далось без труда. Проектируйте такие модули, которые внутренне связны и минимально соединены между собой. Декомпозиция должна отражать правильное разбиение задачи на части. Проведите черту, за которую никто не должен переступать: определите четкие API и интерфейсы. Проектируйте с учетом последующего расширения, но неперестарайтесь, иначе вы напишете не программу, а ОС. Делай один раз. Делай хорошо. Избегай дублирования. Решайте вопросы переносимости кода на этапе проектирования, а не путем переделки готового кода. Прагматически относитесь к инструментам и методологиям проектирования: применяйте их тогда, когда это действительно полезно, но не становитесь их рабами. Глава 14. Программная архитектура Архитектура оказывает самое большое влияние на проектирование и дальнейшее развитие программной системы. По этой причине важно правильно определить ее на самых ранних стадиях разработки. Храните описание системной архитектуры в таком месте, где оно доступно всем, кому может потребоваться: программистом, ответственным за сопровождение и установку, менеджерам, а возможно, и клиентам. Спецификация архитектуры — важное средство для информирования о состоянии вашей системы. Следите за тем, чтобы она соответствала состоянию программного обеспечения. Все проектные решения для программного продукта принимайте в контексте архитектуры. Следите за тем, чтобы не отклоняться от системного видения и стратегии. Не делайте мелких ни к чему не относящихся изменений. Хорошая архитектура системы должны быть простой. Достаточно бывает описания, состоящего из одного абзаца и одной простой диаграммы. Архитектура определяет важнейшие компоненты системы и их взаимодействие. Она не описывает их устройство. Хорошая архитектура оставляет пространство для маневра, расширения, модификации. Но ее общность не переходит разумных границ. Разберитесь с основными архитектурными стилями и оцените их достоинства и недостатки. Это поможет вам более благожелательно относиться к программным продуктам, с которыми вы столкнетесь, и правильно проектировать системы. Глава 15. Программное обеспечение — эволюция или революция? Помните о том, как легко деградирует модифицируемый код. Избегайте модификаций, после которых система оказывается в худшем состоянии. Научитесь обнаруживать испорченный код. Изучите его признаки и обращайтесь с разложившимся кодом с крайней осторожностью. Добросовествно относитесь к написанию кода. Хорошие программисты думают о том, как будет выглядеть их код через несколько лет, а не о том, сколько усилий им понадобится приложить сегодня. Пишите новый код с учетом возможной потребности модифицировать его в будущем. Делайте его понятным, расширяемым и простым. Соблюдайте осторожность при модификации. Будьте в курсе того, не занимается ли кто-то модификацией близлежащего кода. Проводите обсуждение опасных изменений, особенно при подготовке к выпуску новой версии. Даже простейшие модификации могут нарушить работу другого кода. Не курочьте код бездумно. Остановитесь и поразмыслите, чем вы занимаетесь. Тщательно тестируйте все сделанные вами модификации, какими простыми они бы ни были. Очень легко пропустить глупую ошибку. Глава 16. Кодеры Выясните, к какому типу программистов вы относитесь. Определите, как можно выгодно использовать свои хорошие качества и компенсировать плохие. Глава 17. Вместе мы — сила Умение работать в команде — важное качество высококвалифицированного разработчика программного обеспечения. На результирующий код влияют как отношения внутри команды, так и внешние контакты. Следите за тем, как они отражаются на вашей работе. Организуйте свою команду в соответствии с кодом, который собираетесь построить, а не наоборот — код в соответствии с имеющейся командой. Наличие каналов для эффективного общения жизненно необходимо для нормальной работы команды. Такие каналы необходимо организовать и поддерживать. Хороший программист должен уметь хорошо общаться. Никто из программистов не является владельцем никакой части кода. Каждый из участников имеет доступ ко всему коду и может модифицировать его по мере надобности. Успешные команды развиваются и работают целенаправленно; их возникновение нельзя приписывать случаю. Не теряйте информацию при уходе людей из команды. Организуйте ее передачу и получите от них все важные данные, включая документацию по коду, инструментарий тестирования и инструкции по сопровождению. Глава 18. Защите исходного кода Код обладает ценностью. Относитесь к нему с уважением и заботой. Система контроля версий — важный инструмент разработки программного обеспечения. Она необходима для надежной работы команды. Внимательно относитесь к хранилищу. Следите, чтобы не записать в него неработающий код, который не позволит работать остальным разработчикам. Делайте резервное копирование своих данных. Разработайте стратегии восстановления, не дожидаясь, когда грянет катастрофа. Глава 19. Спецификации Процесс разработки программного обеспечения нуждается не просто в наличии спецификаций, но в их высоком качестве. Спецификации — важный механизм связи между разработчиками программного обеспечения. Они служат для фиксирования сведений, которые не должны быть потеряны или забыты. Требования к программному обеспечению нужно установить заранее, чтобы не возникало неоправдавшихся ожиданий, чтобы препятствовать расширению функциональности и снизить беспокойство разработчиков. Если ваша задача программирования недостаточно четко поставлена, не начинайте кодирование, не написав спецификации и не согласовав ее. Пользуйтесь инструментами грамотного программирования для составления технической документации. Не пишите в текстовом редакторе документ, который быстро устаревает. Составляя спецификацию, обдумайте ее содержание. Выберите структуру и словарь, понятные аудитории, и убедитесь, что документ корректен, полон и содержит собственное описание. Избегать составления спецификаций опасно и непрофессионально. Если не хватает времени для написания спецификаций, его, скорее всего, недостаточно и для написания кода. Глава 20. Рецензия на отстрел Рецензирование кода — отличное средство для поиска и устранения скрытых ошибок, повышения качества кода, усиления коллективной ответственности за код и распространения знаний. Создавая систему, выясните, нужно ли проводить рецензирование, и если да, то какого кода. Тщательно отберите код для рецензирования. Если вы не можете прорецензировать весь код, сделайте обоснованный выбор. Не нужно отбирать наугад и терять драгоценное время. Кем бы ни был написан код, он подлежит рецензированию и тщательному изучению со стороны коллег. Добивайтесь рецензирования своего кода. Успех рецензирования сильно зависит от позитивной позиции автора и рецензентов. Цель рецензирования — совместными усилиями улучшить код, а не назначить виновных или оправдать решения, принятые во время реализации. Если вы не знаете, как должен выглядеть хороший код, вы не сможете обоснованно судить о качестве работы других программистов. Глава 21. Какой длины веревочка? Оценка длительности разработки программного продукта представляет собой основанную на фактах догадку. Для каждой оценки есть некоторая мера вашей уверенности в ней. Оценка времени разработки программ представляет собой действительно трудную задачу. Избегайте недооценки объема предстоящей работы. Учтите возможные последствия неправильной оценки. Все (включая вас) хотят сокращенных графиков. Не обманывайте себя относительно того, что реально можно сделать за выделенное вам время. Не давайте нереальных обещаний, когда требуется предоставить код, готовый для поставки. Оценки времени надо применять к небольшим задачам, объем работы которых легко понять. Единицей измерения должны быть человеко-часы или человеко-дни. Различайте, чью работу вы оцениваете по срокам: свою (над системой, которую хорошо понимаете) или чужую (того, кому может потребоваться изучение системы). Не занимайтесь оцениванием в одиночестве. Выясните мнение других людей, чтобы уточнить свои оценки. Составляйте графики работ так, чтобы оставалось время на приведение кода в порядок. Планируйте возврат технической задолженности. Постоянно сверяйте свои успехи с планом. Тогда не случится внезапно обнаруженного отставания. Глава 22. Рецепт программы Хорошие программисты знают, как программировать — владеют методами и приемами работы. Наши программные проекты определяются теми стилями и процессами, которые мы применяем. Они неизбежно отражаются на форме и качестве кода. Без процесса разработки команда находится в состоянии анархии. Программы появляются благодаря удаче, а не в результате целенаправленных действий. Выбор рецепта программы может определяться многими причинами, которые должны быть вескими. Мотивировка вашего выбора многое говорит о степени зрелости вашей организации. Процесс, который вы принимаете, не должен быть слишком формальным и трудным в осуществлении. Обычно признаками хорошего процесса служат как раз противоположные характеристики. Однако определенный процесс должен быть. Выборпроцесса имеет жизненно важное значение. Неудачные проекты в большинстве случаев оказываются такими не по техническим причинам. Почти всегда одной из главных причин оказывается плохая организация процесса. Глава 23. За гранью возможного Существуют разные виды программирования в различных предметных областях. В каждой области есть свои особые проблемы и требуются специфические умения и опыт. Знайте свою область программирования. Изечите ее специфику. Научитесь писать отличные программы, которые удовлетворяют ее требованиям. Глава 24. Что дальше? Чтобы стать хорошим программистом, нужно выбрать правильную позицию — тот угол, под которым рассматривается создание программного обеспечения. Занимайтесь совершенствованием своего мастерства. Не теряйте любви к программированию и желания быть в нем мастером.

БНЕ_Home: Несколько цитат Александра Любищева Идиот подобен не тому автомобилю, у которого не хватает какой–либо важной части, а тому, у которого все гайки завинчены так крепко, что он двигаться не может. Единственная сила, которую можно применять, — это сила разума, и сила разума не есть насилие. Люди лучше убеждений. Ученый, не имеющий время на размышления, — конченный ученый, и если он не может переменить свой режим, чтобы иметь достаточное время на размышления, то ему лучше бросить науку… Истинный ученый и искатель истины никогда абсолютной уверенности не имеет (дело касается тех областей знания, где есть споры), он пытается все новыми и новыми аргументами добиться согласия своего противника не потому, что чувствует горделивое превосходство перед ним, и не из тщеславия, а прежде всего для того, чтобы проверить собственные убеждения… Серьезный спор может быть кончен тогда, когда автор может изложить мнение противника с той же степенью убедительности, с какой его излагает противник, но потом прибавить рассуждения, показывающие корни предрассудков противника. Прошлое науки — не кладбище с надгробными плитами над навеки похороненными идеями, а собрание недостроенных архитектурных ансамблей, многие из которых не были закончены не из-за несовершенства замысла, а из-за технической или экономической невостребованности. Интерес представляет не то, что есть и было, но и то, что могло бы быть… «Духовная связь выше материальной. До этого, оказывается, додумались евреи. Один из здешних медицинских профессоров, которого я консультирую по вопросам статистической обработки, мне сообщил, что в Талмуде есть такое место: » Если у тебя арестованы отец и учитель, сначала освободи учителя, потом отца, так как отец тебя породил, а учитель научил мудрости». И я до сих пор по собственному опыту знаю, насколько трогательно относятся евреи к своему учителю». Рассуждения Ленина предельно просты и сводятся к следующему: 1) солипсизм, учение о том, что весь мир — мое построение, — явное сумасшествие; 2) всякий субъективный идеализм в конце концов сводится к солипсизму, то есть к сумасшествию; 3) но многие субъективные идеалисты в области науки оказываются очень дельными учеными, сажать их в сумасшедший дом недопустимо; 4) значит, в своем субъективном идеализме они лгут, выполняя волю господствующего класса, все идеалисты — классовые враги. Мне очень приятно иметь контакт… с лицами, по возрасту годными мне во внуки (тут тоже диалектика: отцы — тезис, дети — антитезис, внуки — синтез на повышенном основании). Умный — прилагательное, то есть человек, который приложен к своему месту. А дурак — существительное. Почему в России сейчас так много дураков? Потому, что многие приложены не ко своему месту… http://alexloginov.ru/yubilej-aleksandra-lyubishheva/



полная версия страницы