Про 1С++ООП, на ночь глядя бесстыжими вочами

Автор Пиит, 05 апреля 2024, 00:58

« назад - далее »

Как Вы относитесь к Истории к контексте данного форума?

Пишите, коллега, история это всегда интересно
6 (75%)
Мне по барабану
0 (0%)
Хватит уже, чувак, расвешивать здесь свои простыни
2 (25%)

Проголосовало пользователей: 8

Пиит

Вот так бывает, и Злоп прав, и я прав.
Разве так может быть?
Злоп прав, для Программиста ООСУБД это не более чем надстройка, а с точки зрения Одинэсника, ООБД это целый мир ООП, не ограниченый только ПрикладнымиОбъектами. Мы смотрим на этот шарик с разных точек, Злоп снаружи, как Создатель, а я изнутри, как муракашка. Для меня это целая вселенная, а для Демиурга - одна из моделей ООБД.
Вот в чём прикол.
Помните киношку ЛюдиВЧёрном, первую, где Билли Смит и Томми Джонс за жучком гонялись? Там в конце осьминоги шариками со вселенными в гольф играют, вот я - в шарике, а Злоп - осьминог походу. ))
Без обид, конечно, как пример.
Повторюсь, одинэсник получает в своё распоряжения то, что предложит ему разработчик, и каким будет эта ООБД, какие Базовые и Прикладные Классы заложит в неё программист, имхо нужно прорабатывать гораздо лучше, и не грех спросить одинэсника, что ему нужно.
Могу предположить, что на планёрках у Нуралиева программисты завалили авторитетом одинэсников, надавали им по шее, и пошла восьмерка нах "Дуум писать".

Arbuz

Идут инженер и математик по лесу.
Вдруг видят медведя.
Математик:
— Его скорость такая-то, наша такая-то, бесполезно убегать, все равно догонит.
Инженер улепетывая со всех ног:
— Его объем желудка такой-то, объем человека такой-то, мне достаточно обогнать тебя!!!
 ;D  ;D  ;D

Пиит

Я всё же ещё раз призову к сдержанности в этой теме.
Это очень личная и важная для меня дискуссия "на троих", с самим собой и моим идеальным читателем.
Я очень ответсвенно отношусь к моиму изложению, сам его перечитываю постоянно, чтобы не повторяться лишь раз, чтобы планировать свои записки на ход вперёд, и болезненно реагирую на вбросы, которые в последствии мешают мне сосредоточиться.
Не скрою, я просил АЛьФа открыть блог, чтобы не привлекать лишнего внимания к своей персоне, и в соответсвующем формате, неспеша излагать мысли вслух. Блог не востребован, и я не вправе злоупотреблять гостеприимством с подобными хотелками.
Замечу также, что я не новорожденный Эдгар Кодд, что у меня нет в кармане никаких концепций, и даже общего понимания того, что я хочу сформулировать. Многое переоткрываю для себя заново в процессе продвижения своих рассуждений. Более того, не претендую ни на первенство, ни на оригинальность, ни какие-либо другие лавры, просто есть время, желание и потребность высказать кое-какие идеи по поводу гипотетического развития проекта 2С. Сформулировать проблемы, с которыми имхо неизбежно должны были столкнуться разработчики, ознакомить с ними заинтересованных в этом читателей, и возможно, привнести свою лепту в их разрешение. И наконец, просто в целях популяризации как этого проекта, как и концепции  ООБД.
Приветствую в ветке юмор, конструктивую критику и ценные замечания.
Спасибо за понимание.

АЛьФ

Господа, нас тут очень немного и я надеюсь, что мы все, как единомышленники, найдем путь не устраивать склоки и скандалы.

АЛьФ

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

Пиит

Цитата: Пиит от 17 апреля 2024, 20:49...просто есть время, желание и потребность...

Да, именно так, есть потребность. Треба. У нас в деревне говорят "трэба". "Трэба у махгазин схадзиць", - можно услышать от проходящей мимо бабули, и непременно треба с ней поздороваться, а як жаш, бо не па-людски.
На неделе у моего товарища, с которым я работаю вот уже 20 лет, случился инфаркт. Спасли, прооперировали, слава Богу, ещё повоюем. А иных не смогли спасти. И в моих друзьях не только парни, с которыми я прожил свои лучшие годы, есть и другие, где то там, в виртуальных пространствах. Порой они даже и не подозревали и не подозревают, что они мои друзья. Но они не только мои друзья, но и мои плечи, люди, которые приложили знания, силу и энергию в развитие моей вселенной. Василий Демидов, Аркадий Кучер, Василий Кушнир...
Из нашего пространства человек уходит как-бы незаметно, тихо так, часто никто их участников в реале не знаю друг друга, порой годы пройдут, пока ты опомнишься, кликнешь страничку, ну, чево там нового, чего там Вася снова выдумал? Смотришь, а Васи-то и форуме давненько не было. Может, плюнул на всё, в израили подался, на пенсию?
Ан нет больше Васи. Сложил он голову, за други своя. За меня, засранца такого.
Но нет же, вон он, вот его работы, вот его советы, вот обматерил меня, по делу значит, так жив ведь, курилка?!
Да, друзья мои, они все живы, и будут жить, пока я топчу это пространство и время.
Война то заканчивается, когда уходит последний солдат.

Почитайте вот
https://infostart.ru/1c/tools/16847/

А что же я?
Что я принёс людям в этой вселенной? Огонь?
Кто-то скажет: "Эээ, парень, да у тебя кризис среднего возраста, всё ясно..."
Назовите это, как кому нравится, у психологов терминов предостаточно.
Да, кризис. Старшие мои девочки уже разлетелись, одна в Питере, одна в Минске, осталось дома два хоббита, тоже на старте.
Есть такие периоды в жизни, когда "имеешь что сказать". Впервые я это остро почувствовал лет в 26, осознал всеми своими фибрами: "парень, тебе есть что сказать, не пора-ли заводить детей?"
Никак не могу хоббитов посадить за учёбу, но все равно надеюсь, что смогу им передать что-то важное, стать неплохим плечом, и возможно, они воплотят в свою жизнь мои несбывшиеся мечты.

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



ПС:
Не, не, Ёпрст с нами, слава Богу, видел на днях.
Таки не поставил мне плюсик за блокировку базы.
Я всё конспектирую.

Пиит

Цитата: Пиит от 16 апреля 2024, 10:57... Так что же такое Регистры?...

Оставим на время Регистры. В который раз я перелистал всю ветку, и понял, что примеров было уже вполне достаточно. Регистр таки это ПрикладнойОбъект, вернёмся к нему немного попозже. Вообще, каждого представителя семейства  ПрикладныхОбъектов я хочу рассмотреть отдельно, поделить ли его, помножить ли, разбираться необходимо пристально, в контексте его назначения и ссылочной целостности, как впрочем, и представителей семейства ОпределяемыхТиповДанных.
Ссылочная целостность как термин будет в дальнейшем использоваться без кавычек, как термин из теории РБД, который существенным образом повлияет на нашу классификацию Базовых ТиповДанных/Классов, и позволит немного разобраться, каким образом следует строить дерево метаданных.
Похоже, настала пора перейти к делу, на другой уровень изложения, более строгий в терминологии и более сложный в своей абстракции от v7.
Как введение, считаю необходимым подбить здесь итоги вышесказанного, и повторить "содержание предыдущих серий".

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

Концепция ООБД сама по себе универсальная, но не является здесь в целом некой самоцелью, хочу такую, мама купи.
Нет, пусть над ней корпят лучшие умы человечества, как все dll-и мира запихать в эту чудное пространство, а я, как типичный одинэсник, хочу выдрать из этой "типовой" концепции то, что считаю нужным для развития платформы V7.
V7 я считаю революционным продуктом, а V8 - тупиковой ветвью эволюции.

Принцип уложения Метаданных в БД также не есть самоцель. Разницы я тут особой не вижу. Если метаданные будут как в V7, отдельно от базы, это никак не повлияет на концепцию развития. Даже в случае присутствия Метаданных в базе, потребуется разграничение доступа специалистов и пользователей к таблицам базы на уровне прав. Здесь я оставляю право выбора реализации за разработчиком платформы. Разрешение проблемы ПредопределённыхЭлементов, как связующего звена между метаданными и данными, возможно будет решающим при выборе варианта реализации.

V78 я буду называть реализацию, где метаданные отделены от данных, V9 - соответсвенно реализацию совместного проживания, а независимой от положения метаданных у меня будет просто Машина.

Задачей для себя вижу разработку некой концепции ПОП, как одной из моделей ООБД, применительно к платформе v7 с ее прикладными особенностями.

Ни v7, ни v8 не имеют средств для описания собственных классов в полном смысле слова, с наследованием от базовых классов и полиморфизмом реквизитов, форм и методов базовых классов, поэтому цель концепции ПОП - прикрутить эти термины к Машине и описать простые и понятные правила их поведения.

Более того, ни v7, ни v8, даже не имеют средств описания собственных типов данных, и проктически все используемые типы данных построены по факту на ссылках и базовых примитивах. Здесь также целью концепции ПОП я считаю ликвидацию этого ущемления прав трудящихся и реализацию такой возможности, причём не просто как объявление типов, а представления типов данных как полноценных классов, со всеми к ним прилагательными. Перечень типов данных используется не только для организации таблиц БД, но и отражает потребности в них среды программирования.

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

Таким образом, списки определяемых типов данных и прикладных объектов являются открытыми, и их пополнение можно представить себе как потенциальное развитие Машины в будущем...

Пиит

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

ТипыДанных - это сопокупность БазовыхКлассов, для которых, в рамках ссылочной целостности, на уровне исполняемой Машины устанавливается правило каскадного удаления.

ПрикладныеКлассы - это сопокупность БазовыхКлассов, для который правила ссылочной целостности на уровне исполняемой Машины в целом не определены, таким образом...

Вот так, целый вечер вчера я пытался выдавить из себя могучий научный слог, хмурил брови, слюнявил карандаш, да так и не осилил.
Вы бы почитали эту ересь: "концепция программирования", "используемая терминология", "определяемые понятия".
Нет, эт не моё. Отказываюсь от научных степеней, нобелевки по химии и персональной пенсии.
Нахрен такой счастье, если я не смогу здесь ёжика с удавом заплести. Может мне ещё Злопа прикажете под ковёр? Злоп мой друг, а истина пусть подождёт, или побудет где-то рядом.

Итак, ТипыДанных.

Прикинусь немножко Программистом, открываю Конфигуратор, летаю по модулям, лезу в книжку, ничего не понимаю, а где раздел описания типов данных? Где эта несущая конструкция, начало всего сущего, святая святых программиста? Ладно, пишу Перем = Число, Дата, Строка, Массив[Х] и всё на этом? Эй, наверху, у вас там че, многомерные не модно? Я чё, глист вам? Где типы, я кого спрашиваю?
- Чего шумишь в храме моём, сын мой?
- Ойо, кто здесь, я слышу глас Божий?
- Отвечай, грешник, какого типа ты ищешь в святом РБД?
- Эдгар, ты чё ли? Как жизнь? Сорян, офтоп.
- Отвечай, глист, кто таков в таблице таблиц?
- Дык это, программист я, ООП люблю.
- Как ты смеешь сквернословить в храме моём?
- Лан, лан, массивы, структуры...
- Плзи вон, глист! Нарекаю тебе массив одномерный до конца дней твоих!

Бррр... Приснится же такое. А может это сон Нуралиева, за секунду до пробуждения? Усатый Сальвадор отдыхает. Не люблю я Дали, люблю импрессионистов.

Та что общего между ООП и РБД?
С одной стороны цельная концепция программирования, с другой цельная теория баз данных.
На первый взгляд кажется, что легче сложить килограммы с километрами.
Да, складывать уж точно не нужно, будем умножать.
В теории мкножеств операция умножения определена как пересечение друх множеств, как множество общих элементов. Это так, к слову, закладка на будущее.
Так вот, общий элемент между этими ёжиком и удавом всё же есть. Это ТипыДанных.

Базы данных. Все таблицы РБД строго типизированы, каждое поле объявлено в заголовке своим маркером. Но это достаточно низкий уровень прочтения таблицы, без icpp не разберёшься. И Эдгар упаси рассматривать таблицу БД дальше под лупой, там можно увидеть только копошащиеся нули и единицы. Наоборот, я хочу воспарить над ней, посмотреть на расстоянии, как картину импрессиониста.
Глянь Эдгар, вон те три поля рядышком, может массив[3]? А вон те четыре, чуть правее, двумерный [2х2] мне напоминают. Эй, Кодд, а чё у тебя было по теории множеств в оксфодах, тройка поди? А про субтаблицы и супертаблицы слыхал? Ник, кстати классый.

Зря, конечно я так про Эдгара Кодда. Глыба, безусловно. Но Сергея Дмитриевича Кузнецова тоже настоятельно рекомендую.
http://citforum.ru/database/advanced_intro/84.shtml

Пиит

Цитата: Пиит от 19 апреля 2024, 09:38...В теории мкножеств операция умножения определена как пересечение друх множеств, как множество общих элементов. Это так, к слову, закладка на будущее...

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

"Не офицер я, не асессор.."

Вот и думаю, не программист я, не учёный. Популяризатор? Подходит.
Есть такая категория пишущей братии, популяризаторы науки и чего ещё там.
Но за ними глаз да глаз нужен, учтите.

ПОПуляризируем дальше.


Пиит

Здесь я утверждаю, что любую структуру данных, какого угодно уровня сложности и абстрации, можно уложить в таблицу или набор таблиц. Хошь, tree of structure, хошь array of table, хошь ДокументV7, АЛьФ не даст соврать. Хошь, Злоп, вложенный в себя ассоциативный вектор? Да не вопрос, лишь бы уложилась такая абстракция в таблицу Одинэсника. Ведь ему с ними работать.

Рассмотрим способ 1. Субтаблицы и Подтаблицы.

С базовым примитивами всё понятно, они остаются самими собой, значениями в полях БД и дедушка Кодд на нас не осерчает. Проблема реструктуризации данных правда выйдет на первый план. Если мы заявили в Конфигураторе тип СуммаДокумента[18.0], и практически вся база будет насвозь им пропитана, то и все таблицы придётся хорошенько перетряхнуть при изменении длины или точности. Но здесь имхо большой плюс универсальности применения такого типа на порядок перекрывает недостаток в администрировании.

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

С множественными типами, такими как Список, Дерево, Таблица и т.д. ситуация немного другая. Данных о них вообще нет в таблицах-владельцах. Для них необходимо заложить в БД специальные "подчиненные" таблицы, назовём их просто Подтаблицы, с нелишним полем-ключом Владельца записи из таблицы-владельца, табличные связи же могут быть заложены в СУБД отношением многие к одному.  Таким образом, все записи одного определяемого типа данных будут уложены в одной таблице БД. Здесь мы получаем очевидное преимущество при реорганизации таких типов. Например, если вы в ТаблицуОтгрузкиТоваров вдруг добавили новый Реквизит, то это не повлечёт за собой реструктуризацию всех таблиц-владельцев такого виртуально типа, потому как вроде он есть в таблице, а вроде и нету.

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

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

Нет, не всё так просто, попробуйте уложить таким способом таблицу таблиц...

Забыл совсем.
Ура, случилось! Да вот же он - тот самый раздел описания типов данных для программиста.
Почему нет? Это он, тот самый, ОпределяемыеТипыДанных, типы описаны, бери и объявляй Перем = Структура.Корреспонденция; Перем.Счет = ...
Красота? А какие ещё типы нужны программисту в среде, где основной объект применения - БД? Дедушка Кодд на этом месте должен улыбнуться.

Пиит

Цитата: Пиит от 19 апреля 2024, 12:15.       ПОПуляризируем дальше. 

Может, таки ПОПом стать?
А чё, буду ПОПоведовать.
Эдгару помооолимся.
И Злоп в теме, братьями будем.
Как думаете, братия мои в РБД?
Нет ограничесний на форуме ник менять?

АЛьФ

Цитата: Пиит от 19 апреля 2024, 16:11
Цитата: Пиит от 19 апреля 2024, 12:15.       ПОПуляризируем дальше. 

Может, таки ПОПом стать?
А чё, буду ПОПоведовать.
Эдгару помооолимся.
И Злоп в теме, братьями будем.
Как думаете, братия мои в РБД?
Нет ограничесний на форуме ник менять?


Не стоит.

Злоп

Цитата: АЛьФ от 19 апреля 2024, 16:47Не стоит.
согласен, а то у меня в глазах уже мельтешит

Пиит

Спасибо, друзья, вы правы.
Хотел было оправдаться, мол я тоже немножко Программист, и мне тоже трудно бывает вовремя остановиться, но когда заглянул в Реанимацию сборки 1С++, моё "немножко Программист" сдулось до статистической погрешности.
Как среди арабов очутился, чес слово, говорят о чём то люди, а ты тока стоишь и улыбаешься.
Был в этом году впервые в Москве, да и в большой России тоже впервые, чего скрывать.
Ездили с супругой на тот самый КэВээН, дочку поддержать, мешок картошки по традиции и всё такое.
Зашла мне столица моей Родины, прям как родная зашла, 24к протоптали мы пёхом по площадям и скверам, намаялись к обеду, и решили по Москве-реке покататься, передохнуть значит. Сели на пароход, а там - арабов полная палуба, одни арабы, арабки и арабчата, мы ток походу одни белые были, не считая группы китайских товарищей. Потом из газет я узнал, что сходка была не детская в Москве, товарищи из Йемена, все партии изо всех Палестин, и еще Бог знает кто из каких оазисов, а расквартировались они все в гостинице Украина, у причала. Так вот мы и проплавали, по родной реке средь гула заморских наречий. А какие они красивые, эти арабки, подумал было, что из одного гарема все, все как одна ухоженные, в браслетах и кольцах на всех щупальцах, с бровками и губками, пипец в общем, Скво моя даже насупилась. Ну, и все в хиджабах ессесно, но это так няшно ёлы-палы. И вспомнил я тогда, на волны глядя, свою бабушку Нину Макаровну, царство её небесное, всю жизнь свою трудовую проносившую на голове платок. Никогда, ни 20-м веке, ни в 21-м она не выходила на гулыцу без платка, по будням - обычный, серенький, по выходным - нарядный, с цветочками. Не допускала она даже мысли опростоволоситься, т.е. опозориться, выйии на'люди с непокрытой головой. О как. Это она, моя милая старушка, сызмала приучила меня к порядку, где "всё должно быть по полочкам". И гоняла меня веником, если чего натворил, выговаривая: "уу, бандюган Брэский, вочы твои бесстыжые". Это даже не плечо, это фундамент моего образования...

Пиит

...Уже в школе я был уверен на все 200, что стану программистом. Правда, школа была не совсем обычной. Моя мама, вычитав в местной газете, что в городе открывается лицей для особо одарённых, со словами "у тебя уже тройка по физике, а что будет дальше", отвела меня за'руку в приёмную комиссию. До сих пор не понимаю, за какие глаза меня туда взяли.
Начало 90-х, иномарки на улицах, банкиры-рэкетиры, и бывшая партийная номенклатура решила отгородить своих детей от других сословий, выделив бюджет на строительсво учебного заведения нового типа. Так считал папа, но благословил. Новое время, новые веяния и с ними диковинные для нас вступительные испытания. Представьте, большая поточная аудитория в политехе, битком набита подростками, галдёж, входит человек, ставит на стол бум-бокс, произносит "вам пол-часа, пишите что хотите", включает Баха и был таков. Не Шуберта блин, а Баха, тут задуматься надо. Ну и понесло меня в космос, в другие галактики, и "как одиноки мы во вселенной". Да, потом были тесты, тоже диковинка, поставь галочки на трёх листах, и своден как африка. Вопросы были не простые, например "смогли бы вы убить человека", ё, чесал я тогда за ухом по пять минут на каждым пунктом, недоумевая, как мой сосед по парте быстро так и ловко расставляет свои галочки, электроник какой-то. С кем мне доведётся ещё тут учиться? С терминатором?
Аттестат мой за 8-й класс был такой себе, четверки-пятерки 50/50, и та самая тройка по физике, и с этой черной меткой мама ещё на что-то надеялась, когда только из моего класса документы подали пятеро, один мальчик, это я и ещё четыре девочки, и у всех, как утех арабок, годовые отметки будь здоров, найди четвёрку. Вот поэтому я до сих пор так и не знаю, как я попал в эту мясорубку, какой добрый человек внёс мою фамилию в списки будущих лицеистов, подозреваю только, что этот кто-то вероятно сильно прослезился над моей космической диссертацией и сжалился над рабоче-крестьянким сыном.

А соседа по парте того звали Вадим, в будущем Программист, мой гуру в айтишных вопросах и просто хороший товарищ...