Перейти к основному содержанию
Истина
Истина В одной из конкурсных статей прозвучала мысль, что наиболее удачной является та программа, которая создана самим пользователем для себя. В этой мысли большая доля истины. Я пользователь и сижу за компьютером большую часть рабочего времени, И мне, конечно же, нужна программа, облегчающая мой труд. Одна из известных минских фмрм-раэработчнков предложила свою версию такой программы. Однако стоимость ее установки на одни .компьютер приближалась к тысяче долларов. А если учесть, что в отделе несколько пользователей и соответственно компьютеров? Что остается бедному пользователю, как не взяться самому за написание программы? Тем более что лучше меня никто не знает, что мне нужно. Да и, фирма Мicrosoft дает такую возможность, Что ни продукт. то встроенный язык программирования. Конечно, надо изучить этот язык. Хотя и годы не те у многих, но, если вас еще не одолел старческий-склероз, попробуйте. Итак, с чего начнем, с алгоритмизации задачи или с создания графического интерфейса? Безусловно, все это нужно. Какой смысл пользователю смотреть на ячейки электронной таблицы, если он в ней не разбирается? Да. нужен дружественный графический интерфейс. Без четкой структуризации программы ваши отдельные подпрограммы заведут вас туда, куда Иван Сусанин поляков не смог бы завести. И, конечно же, возникает "гамлетовский" вопрос — Тше от Ра1ае? Конечно, все, что не истина, — ложь. Но что такое истина? Вот об этом и давайте поговорим, Компьютер — устройство для обработки данных, Данные получаем из объекта исследования. Но как объект, так и данные бывают ложны и истинны. Подойдите к зеркалу. Что истинно: изображение в зеркале или вы? Христианская религия решает вопрос с истиной проще. Истина — это Бог. Но Бог, по канонам православной церкви, является нам в этот мир в трех ипостасях, то есть в трех лицах. Это Бог-Отец, Бог-Сын и Святой Дух. Значит, истина должна характеризоваться не менее чем тремя признаками. Русский религиозный философ Павел Флоренский в своих трудах доказал, что если вообще может быть истина, то она есть единая сущность не менее чем в трех лицах. Но мы живем в реальном мире и исследуем конкретный физический объект, а не Бога. Читатель уже подумал, что меня не туда занесло н, мол, какое это имеет отношение к программированию. Минутку терпения. Итак, продолжим. Если в зеркале ложь, то истинны ли мы? А можно ли доказать, что мы истинны, указав только на два объекта — то, что в зеркале, и себя? Обозначим себя как объект А. Значит, отображение в зеркале — не-А. Тот же Флоренский для ясности предложил не-А обозначать как Q. О есть Q. Но оно само было бы слепым Q, если бы не было вместе и не-Q. Что же такое не-Q? Если оно просто А, то А и Q были бы тождественны. А, будучи A и Q, было бы только простым голым А, равно как и Q. Чтобы не было простого тождества А = А, чтобы было реальное равенство А есть А, ибо А есть не-А, необходимо, чтобы О было само реальность, то есть чтобы Q было сразу и Q, н не-Q. Последнее, то есть не-Q, для ясности обозначим через В. Через В круг может замкнуться, ибо в не-В А находит себя как А. В Q, переставая быть А, А от другого, но не от того, к которому приравнивается. то есть от В, опосредствованно получает себя, но уже доказанным, уже установленным, То же относится н к каждому из субъектов А, Q, В троичного отношения. Следовательно, истина — созерцание себя через другого в третьем. Истина есть бесконечный акт трех в единстве. Но может ли троица расширяться в числе? Да, это число может быть и больше трех. Однако эта новая грань истины не является сутью троичности. Истина может не иметь четвертой грани, тогда как четвертая — самостоятельности не может иметь. Выводы; Описывая объект программирования, найдите не менее трех граней, однозначно определяющих объект, Если вы взяли объектом точку, то на экране монитора они должна иметь три ипостаси — это две координаты и разрешение в пикселах. Прямая, также имеет координаты двух концов н характеристику тела (толщину линии). В нашем реальном мире все физические объекты находятся в реальном времени, пространстве и имеют физическую характеристику (опять троица). Поэтому, программируя, не забывайте функцию времени Dа1а(). За неделю до дня рождения моих коллег на мониторе головного компьютера возникает соответствующее сообщение с поздравлением. Это напоминание сотрудникам о том, что пора сбрасываться на подарок. А если серьезно, то не лишним будет сообщение в программе такого типа: "Вы используете форму документа по ГОСТ....-96. ГОСТ действует до 1.10.96 г. Сегодня уже 25.9.96 г. Проверьте возможность дальнейшего использования вашей формы", О пространстве. Ваш описываемый "объект перемещается в пространстве. Так же как и файл, который рождается вашей программой. Если в вашей конторе программируют по старинке под DOS, а вы решили сделать программу под Windows, да еще с крутой графикой, то можете оказаться белой вороной. И при использовании вашей информации другими отделами могут возникнуть проблемы. Что касается третьей ипостаси, то не уподобляйтесь чеховскому герою, который говорил: "Этого не может быть, потому что этого не может быть никогда". Вспомним задачу Льюиса Кэррола, которая в упрощенном виде звучит так: "Истинность объекта (суждения или понятия} R вытекает из другого объекта (суждения или понятия) Q. Но некоторый третий объект (суждение или понятие) Р таков, что из его истинности вытекает, что из Q не может вытекать R, как было сказано раньше, а вытекает непременное отрицание R, то есть не-R. Сам автор решил эту задачу неверно. Он рассуждал так: "Если Q включает R, то невозможно, чтобы R включало не-Я, значит R включает в себя невозможное и, следовательно, ложно (fаlsе)". Но суть в том, что, возможно, не R ложно, а ложно Q, включающее в себя сразу R и не-R, то есть два противоположных понятия. С помощью формул логистики это легко доказать, но, используя только здравый смысл, эту задачу не решить. Просто нужно усвоить себе, что обычное, повседневное, повсеместное Q перестает быть таковым в особых условиях, а именно при условии R. Поэтому, если в программе ставите условие If ….Then…то подумайте о том, не поставить ли на всякий случай ElseIf…Then…. Пример: Утверждение, что небо голубое, истинно, но на закате небо — красное. Лампочка излучает желтый свет, а при увеличении напряжения — белый. Дальше — больше. На чем основывается объектно-ориентированное программирование (ООП)? Все на том же троичном принципе. Откроем книгу Ю. С. Бородича "Паскаль для персональных компьютеров". Автор утверждает, что ключевым понятием в ООП является объект. И если рассматривать файл как объект, то ему присущи все те же три ипостаси: длина файла (LengthFile) ; текуцах позиция указателя в файле (РоsеРi1е) ; дата создания файла (DataCreateFile). Иными словами — пространство, время и физическая характеристика объекта, Далее приводятся три свойства, характеризующих объект: 1. Инкапсуляция. Явление это дает возможность рассматривать объект как единое целое в неразрывной связи всех его свойств и поведения. 2. Наследование. Происходит по принципу троичности: File NetworkFiles OpticalDisskFiles 3. Полиморфизм. Служит для использования одинаковых методов на разных уровнях иерархии порожденных объектов. При этом каждый объект реализует такой метод удобным для него способом. Не тот ли принцип познания объекта через другого в третьем? Но не буду больше утомлять читателя. Как говорят христиане: Истина в Боге, а Бог — это любовь. Создавая программу, будем любить пользователя. Не только потому, что клиент всегда прав. И, я уверен, все у нас получится. Сергей Гаркушенкo