Методы. Сравнение как базовое положение.
- 18.05.14 г. -


Кроме определения программистских типов другим важным вопросом, по которому благодаря в том числе изучению платформы .Net Framework (Microsoft Co.) в диалектическом программировании достигнуто значительное продвижение вперед, является получение базовых определений методов. Это большая тема, которая характеризуется обширной теоретической основой, предназначенной для глубокого исследования как общих вопросов, так и специализированных положений, что напрочь упущено из виду в обычном программировании.  Поэтому на данном этапе изложения материалов сайта обозначим лишь два значимых положения.
    Во-первых, в обычном программировании метод вообще сведен, фактически, к набору инструкций, что можно было бы принять на заре развития программирования, но сейчас такие простецкие представления уже не достаточны для решения современных задач (что, кстати, предопределяет многие известные и широко обсуждаемые ограничения и негативы современного программирования, о чём уже говорилось при анализе платформы .Net Framework).
    Во-вторых, в обычном программировании не рассматриваются ни базовые положения, ни специфические аспекты того, что должно пониматься в качестве метода. Так происходит по той причине, что в науках нет корректного определения метода, и в них самих не рассматриваются ни его базовые положения, ни его специфические аспекты.
    Метод – это не набор инструкций, это в принципе нечто другое, что к тому же определяется своими базовыми положениями и специфическими аспектами. И именно они проявляются в конкретных методах, в т.ч. в программах, но это пока не может быть понято в науках и, следовательно, в обычном программировании в силу отсутствия соответствующей теории. Поэтому и возникали, например в СССР, вульгарные представления о неком «диалектическом методе», положения которого так и не были раскрыты, а были лишь уверения советских философов (см. «"Диалектический метод" советского диамата»). В том числе и по этой причине легко могло говориться о неуклонном движении к коммунизму, о квартире каждой семье к 2000-му году и т.д.
    В силу отсутствия корректного определения метода не может быть определения алгоритма, о чём уже говорилось на сайте ...

В программировании всё конкретно, и разговорами не обойдешься, так как при неоднозначностях программа попросту не будет работать. Но и конкретику нельзя утрировать до вульгарной простоты: нельзя методы сводить просто к набору инструкций. Что-то в методах есть особое, позволяющее достигать более значимых результатов, чем просто последовательное выполнение действий, достигать некоторого сверхсуммарного результата. Тут речь, конечно же, далеко не про искусственный интеллект, о котором на сайте идет отдельный разговор. Но и не про набор команд, который и так присущ программе, и который, как отдельный блок, называть методом смысла особого нет: набор команд присущ и циклу. Метод в программировании отличен от набора (блока) команд (инструкций). Но чем? – это так и не выяснено в науках …
    Поэтому в рамках проект ДИАЛЕКТИКА, особенно после исследования ресурсов платформы .Net Framework, было принято решение обсудить отличие метода от набора инструкций (и от алгоритма), а также некоторую особенность, присущую программе, для чего пока достаточным будет обсуждение некоторой специфики методов (речь не про их определение и не про их предметную трансформацию и применение, например, в программировании), что и должно, по идее, привести программистов к выводу о необходимости пересмотра вообще подходов к пониманию и использованию методов (процедур, функций). А вот в науках прогресс по этому вопросу не предвидится.
    Соответствующие положения могут стать предметом как дискуссий, так и взаимовыгодного сотрудничества.

Для наглядности пояснения тезиса о специфике методов была выбрана категория «сравнение», исследование которой отсутствует как в науках, так и в обычном программировании, но которая является очень важной в функциональном смысле, так как без неё программирование (да и вообще познание) обойтись не может (тем более, именно в связи с ней были обнаружены некоторые нерациональные положения платформы .Net Framework, известные в диалектической гносеологии).
    Понятно, что пока нет смысла раскрывать категорию «сравнение», тем более, что её использование в диалектическом программировании и в диалектической гносеологии дает им значимые преимущества по сравнению с науками и обычным программированием. Пока есть смысл только в акцентировании значимости этой категории для программирования (в смысле подготовки дискуссий о методах) и в обсуждении аспектов её применения в нем (в смысле выявления её актуальных прикладных аспектов). Да и программисты, быть может, придут к выводу о необходимости пересмотра вообще подходов к пониманию и использованию методов. (Хотя основной смысл этой статьи – в обозначении возможности взаимовыгодного сотрудничества …)


1. Предметная часть.


Сравнение является фундаментальной категорией, причем важной не только для гносеологии, но и в практическом смысле.
    Но речь сейчас не о фундаментальных исследованиях и не о повседневном повсеместном проявлении и применении этой категории, а о её применении в программировании.
    Никто до соответствующих исследований Новейшей философии не обратил внимания на особое концептуальное положение (т.е. не на факт, а на его понятие): в платформе .Net Framework имеются два принципиально отличных метода сравнения. Почему так?   
    Просто так этого захотелось транснациональной корпорации, пошутила она, или что-то вынудило её так сделать?
    А ведь никто до оглашения некоторых результатов исследований в современной диалектике этого вопроса и не задумывался об этом! Это теперь нам присылают отзывы и предложения, а ведь еще полгода назад по этому вопросу была полная тишина …

Тогда на первый план выходит такой вопрос: что такое сравнение?
    Конечно же, по этому вопросу всякие там противоречащие друг другу научные определения и домыслы изложены в многочисленных учебниках и в Интернете. Но в современной диалектической философии все они игнорируются, ибо, во-первых, в науках нет корректного определения сравнения: есть лишь противоречащие друг другу многие определения, причем более уповающие на интуитивные представления, но не основывающиеся на фундаментальных категориях. Представления о сравнении в науках вульгарны и допотопны, что, кстати, снижает эффективность ряда программных методов, IT-технологий и аппаратно-программных комплексов. А, во-вторых, в современной диалектике для исследований были необходимы фундаментальные знания, к тому же имеющие согласованные определения (а не как в науках – отдельные мнения). Поэтому в современной диалектике для исследования сравнения использовались знания только великих философов: Платона, Канта и Гегеля (их знаний вполне хватило). Правда, оказалось наиболее важным не столько сравнение, сколько другое, но это обсудим позже …
    Серьезным исследованием стала реконструкция знаний трех указанных великих философов по вопросу сравнения. Дело в том, что самой категории «сравнение» они уделили мало внимания, так как и Платон и Гегель могли решать возникающие перед ними вопросы на основе имевшихся у них парадигм, а в философии Канта соответствующий момент воплощен в концепте единства сознания, позволившем корректно осуществить требуемые Канту рассуждения.
    В современной диалектической философии пришлось осуществить различение ряда аспектов рассуждений великих философов, включающих категорию «сравнение».
    При этом была использована объективно-эзотерическая компаративистика. Тут могут возразить: мол, она сама имманентно включает моменты сравнения, так что сравнение получались из сравнения. Нет. Несмотря на то, что в итоге объективно-эзотерическая компаративистика, действительно, тоже стала применять сравнение как таковое, изначально она формировалась и применялась на основе той же парадигмы, на основе которой проводили исследования Платон и Гегель. Иными словами, использовался в качестве основы (1) другой принцип. Кроме того, использовались (2) проверенные временем формы (известные из эзотерических учений), (3) в известные схемы рассуждений для проверки подставлялись те или иные факты, и делались выводы на основе (4) определенных в диалектике суждений (а не с использованием некорректно определенных в науках суждений). Так устанавливались моменты, сопутствующие выявлению и изучению сравнения. Другое дело, что, во-первых, сначала вопрос не ставился о полном изучении сравнения: надо было понять хотя бы актуальные частные положения (например, такие, которые обнаружились в платформе .Net Framework), а это, очевидно, лишь отдельные положения, причем к тому же из сферы эмпирики, вполне покрывавшиеся опытом тысячелетий (проверенные временем формы). И, во-вторых, затем уже на кругах познания моменты исследований были воплощены в некоторое целое, еще далекое, правда, от категории «сравнение», но уже достаточное для диалектического программирования, в котором и были закреплены полученные результаты. (Только потом исследования переместились в теоретическую плоскость.)
    Понятным стало и то, почему корпорация Microsoft в своей платформе создала два принципиально разных метода сравнения (их развития тут не в счет). Только вот обладает ли Microsoft теорией этого положения? Вот это – реальная тайна, и от её знания очень много зависит в части конкуренции с Microsoft.
    Но дело не только в конкуренции знаний и, следовательно, новых IT-технологий. Вопрос ещё и в разработке принципиально новой программисткой парадигмы, когда фундаментальные вопросы, связанные с её функционированием, и, значит, с функционированием поддерживаемого ею программного обеспечения, не создаются вдогонку к программно-языковой парадигме. Иными словами, изменяется (1) принцип подхода к созданию (2) комплекса программных ресурсов (тут в одном тезисе аж два принципиально важных момента).

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

Но почему для обсуждений и возможного взаимовыгодного сотрудничества была выбрана именно категория «сравнение», а не другая категория, которая могла бы, быть может, привести к более сильным выводам?
    Во-первых, на парадокс методов сравнения, проявляющийся в платформе .Net Framework, всё равно рано или поздно, но обратили бы внимание: этот момент не утаишь. Поэтому, его, наоборот, следует начать обсуждать раньше, чем это сделает Microsoft: нужно работать на опережение.
    Во-вторых, обсуждение категории «сравнение» нужно для диалектической гносеологии: можно даже пожертвовать (обменяться) некоторыми базовыми знаниями о ней ради получения других знаний, в т.ч. о ней же, о её применении и т.п.
    В-третьих, всё это нужно для диалектических IT-технологий (у них есть некоторое преимущество, так как категория «сравнение» в науках не осмыслена, а в современной диалектике проработана и на теоретическом уровне и на практическом уровне, и это преимущество надо развивать).

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


[См. «Методов идентификация в диалектическом программировании» и «Сопоставления идентификация в диалектическом программировании», «Диалектическое программирование: особые положения».]


2. Дискуссионная часть
[в рамках проекта ДИАЛЕКТИКА].

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

б. Для предметных дискуссий в рамках Академии диалектики и диалектической философии предоставляются ссылки на дополнительные материалы.

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

г. Для новых пользователей и для новых ветвей обсуждений могут быть созданы дополнительные дискуссионные площадки; заявки и предложения присылать через Контакты.


3. Другие обсуждения: http://all-discussions.livejournal.com/55770.html.