|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
Привет, Всем! Наверно, тут будет интересно https://www.youtube.com/watch?v=gemRHJ2cDAQ&t=10817s ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 12:25 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
artemana, после слова dinamic на слайде смотреть не стал. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2021, 10:37 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
kdv, в топике всё равно прикольнее написано. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2021, 12:21 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
artemana, я может чего недопонял, но не уловил какой-то новизны идеи. В бытность работы с ДИАМС 3 на СМ1420 (1990-92) некоторые наши программисты делали "динамические отчеты" - запихивали куски кода в глобали, а программа потом в зависимости от данных вытаскивала тот или иной кусок кода, который потом интерпретировался на ходу. И это был не просто какой-то "хранимый кусок отчета", а там прям код конструировался мелкими кусками, по частям. И вот отлаживать ЭТО был полный звездец, нихрена непонятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2021, 12:37 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
kdv, спасибо за указанную ошибку в грамматике. Обязательно исправлю. kdv artemana, И вот отлаживать ЭТО был полный звездец, нихрена непонятно. Наоборот, это намного легче отлаживать. Об этом говориться после неправильного слова dynamic, и как ты написал, было тобой пропущено. )) В проекте есть два режима работы, в первом режиме программа динамически генерирует и компилирует код непосредственно в Runtime под каждую пришедшую SQL команду. Это ее основной рабочий режим, в нем при необходимости целесообразно отлаживать только сам процесс кода генерации. Если же необходимо отладить или проанализировать с точки зрения производительности тот или иной участок сгенерированного кода, то программ запускается в так называемом статическом режиме. В нем участки кода (файлы на C#) сгенерированные ранее включаются, в программу как обычные. В этом случае сервер становиться жестким (hard coding program), как бы замирает в своем развитии, и не может воспринимать новых SQL команд, только старые, к которым он создал код находясь в рабочем режиме. Что может быть проще отладки программы написанной в стиле hard coding? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2021, 13:03 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
kdv artemana, я может чего недопонял, но не уловил какой-то новизны идеи. ...интерпретировался на ходу. ..... Может отличие в этом. Нет никакой интрепритации на ходу. Никакого промежуточного языка между SQL и C# . Есть SQL команда, под нее создается код (такой же файл cs, как будто его написал руками программист). В нем реализуется SQL команда, только не с нуля, а отталкиваясь от библиотеки базовых классов. Этот файл компилируется в dll и исполняется. Если такая SQL команда приходит повторно, используется ранее созданная dll. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2021, 13:14 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
kdv artemana, после слова dinamic на слайде смотреть не стал. dinamic - это болельщик одесского Динамо ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2021, 13:48 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
softwarer, там еще дальше на слайдах - "data leek". "Данные лук-порей"? Я не понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2021, 14:45 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
artemana Может отличие в этом. Нет никакой интрепритации на ходу. Никакого промежуточного языка между SQL и C# . Есть SQL команда, под нее создается код (такой же файл cs, как будто его написал руками программист). В нем реализуется SQL команда, только не с нуля, а отталкиваясь от библиотеки базовых классов. Этот файл компилируется в dll и исполняется. Если такая SQL команда приходит повторно, используется ранее созданная dll. Вы изобрели универсальный построитель плана SQL-запроса с прибитием его гвоздями в DLL? Видос не смотрел, бо мову не розумию. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2021, 15:35 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
Alexander A. Sak, там на русском (с надписями на неправильном английском))). я думаю поймете. попробуйте. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2021, 15:43 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
artemana kdv artemana, И вот отлаживать ЭТО был полный звездец, нихрена непонятно. Что может быть проще отладки программы написанной в стиле hard coding? kdv писал про вполне определённую систему, а не про Вашу, и вот именно в ней разбираться, и в частности отлаживать код, было непросто. На рынке уже давно есть как минимум одна система, в которой классы, SQL команды и т.д. компилируются в промежуточный код на встроенном языке этой системы (ObjectScript), который в свою очередь - в P-code (байт-код), а уже этот p-code выполняется виртуальной машиной этой СУБД. Конечно, никто не мешает разработчику написать код сразу на ObjectScript (а скоро и на Python), если возможности/производительность SQL-автокода его не устраивают. Ещё там есть методы-генераторы, цель которых состоит в генерации другого кода, который и будет в итоге выполняться. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2021, 10:58 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
servit kdv писал про вполне определённую систему, а не про Вашу, и вот именно в ней разбираться, и в частности отлаживать код, было непросто. Он поставил их рядом, сказав что ничего нового, и соответственно его критика относилась к подходу в целом. И если не смотреть в детали, она может показаться справедливой. Мой ответ, как мне кажется, просто отвечает на вопрос, почему к нашей конкретной системе этот недостаток не относиться. А то, что в той системе было сложно, я и не сомневаюсь. ;) servit На рынке уже давно есть как минимум одна система, в которой классы, SQL команды и т.д. компилируются Отлично! Значит мы не одиноки. Как называется система? Какие прикладные продукты на ней сделаны? Как Вы лично оцениваете такой подход в принципе? Мне это очень интересно! servit в промежуточный код на встроенном языке этой системы (ObjectScript), который в свою очередь - в P-code (байт-код), а уже этот p-code выполняется виртуальной машиной этой СУБД. Наше отличие заключается в том, что нет промежуточного языка, SQL сразу превращается в код на C#. То есть в язык на котором и написана сама система. Этот промежуточный язык нам не нужен! C# и VS со всеми своими возможностями, покрывают все потребности(производительность и наглядность кода, удобство отладки) я не языковед, и тут не место для священных войн по языкам и средам, но лично оцениваю их очень высоко. servit Конечно, никто не мешает разработчику написать код сразу на ObjectScript (а скоро и на Python), если возможности/производительность SQL-автокода его не устраивают. Ещё там есть методы-генераторы, цель которых состоит в генерации другого кода, который и будет в итоге выполняться. У нас тоже есть аналогичные механизмы. То что мы не первые, с одной стороны огорчает, а с другой стороны радует, так указывает на то, что мы не сделали нечто с квадратными колесами, а вполне себе с овальными ;) Но для нашей конечной задачи (BI-система), это штука подходит идеально. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2021, 11:39 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
Наше отличие заключается в том..., servit, я наверно не правильно понял Вас, меня смутило слово "встроенный". Если та система написана на ObjectScript и SQL команду она превращает в программу ObjectScript, то отличия нет. Разница только в языке. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2021, 12:04 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
artemana Как называется система? Какие прикладные продукты на ней сделаны? Много каких, в частности в области здравоохранения. artemana Наше отличие заключается в том, что нет промежуточного языка, SQL сразу превращается в код на C#. То есть в язык на котором и написана сама система. Этот промежуточный язык нам не нужен! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2021, 12:12 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
artemana Если та система написана на ObjectScript и SQL команду она превращает в программу ObjectScript, то отличия нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2021, 12:16 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
artemana Разница только в языке. В сравнении производительности программ, написанных на С# и ObjectScript. Есть, как мне кажеться, непреодолимый барьер - байт код, исполняемый на виртуальной машине, проиграет нативному коду. Для big data разница может быть заметной. И еще, в ObjectScript есть многопоточность? Нам она позволяет разделить отдельные фазы в исполнения одной команды на несколько потоков, тем самым добиться ускорении ее выполнения в разы. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2021, 12:30 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
Такое ощущение что он объяснял схему разделения секрета Шамира школьникам 1-го класса. Кто вообще аудитория? Кто вообще пойдет на лекции с такой агендой? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2021, 12:43 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
А это - вообще фейерия. Я позволю себе процитировать. ...программа донаписывается... ...и программа от этого только выиграет... ...например доступ к значению поля всегда сопряжен с вычислением его адреса исходя из адреса записи смещения поля относительно предшествующих полей с полседующим жостким приведением содержимого памяти по этому адресу к нужному типу данных... ...при НАШЕМ подходе :).... Но при чем здесь черт возьми базы данных и безопасность? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2021, 12:50 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
servit artemana Если та система написана на ObjectScript и SQL команду она превращает в программу ObjectScript, то отличия нет. На чем написан C# не так важно. Значимым в данной вопросе является то, что мы превращаем SQL команду в программу на родном языке системы, а там, в программу на суррогатном. А он априори бедней. Или вообще представляет собой ад, как в воспоминаниях kdv. Этому, как мне кажется, есть простое историческое объяснение. Раньше не было выхода. Средства кода генерации во время исполнения появились недавно. В С# это рослин, что в С++ не знаю, наверно что то тоже есть, но появилось скорее всего недавно. В тоже время в языках со слабой типизацией, JavaScript, ObjectScript они были намного раньше, если не изначально. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2021, 12:50 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
artemana В сравнении производительности программ, написанных на С# и ObjectScript. Есть, как мне кажеться, непреодолимый барьер - байт код, исполняемый на виртуальной машине, проиграет нативному коду. Для big data разница может быть заметной. Можно, конечно, код вместо ObjectScript/Python написать на С/С++ или вообще на ассемблере, но вряд ли скорость существенно возрастёт. artemana И еще, в ObjectScript есть многопоточность? Конечно есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2021, 12:54 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
mayton Но при чем здесь черт возьми базы данных и безо? 1. Что Вы означает "безо"? 2. В ролике, в том месте куда дана ссылка, рассматривается отличительный от классического подход к созданию движка базы данных. Тем специалистам, которые представляют как устроен движок РСУБД, управляемой посредством SQL, вроде все должно быть понятно, черт возьми! ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2021, 13:08 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
artemana Значимым в данной вопросе является то, что мы превращаем SQL команду в программу на родном языке системы, а там, в программу на суррогатном. А он априори бедней. Или вообще представляет собой ад, как в воспоминаниях kdv. Дело не в языке, а в алгоритмах, оптимизации библиотек и драйверов под ОС и железо, и кривизне рук тех, кто всё это использует. Например, здесь Python и Fortran "почему-то" уделали C++. Недавно на нашем форуме тоже попытались сравнить скорости чтения CSV-файла на Python и ObjectScript. Результат плачевный. Для автора плачевный.. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2021, 13:25 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
servit, конечно, все нужно сравнивать на реальных экспериментах, но у Вас же не BI, а у меня не медицина. Плюс надо помнить, что у нас не совсем SQL, а язык только принципиально на него похожий. Сравнить на одинаковом примере не получиться. Жаль, но еще не вечер. Может судя заглянут люди из раздела OLAP и DWH и предложат посоревноваться. Вы не сказали свое отношение к такому подходу в принципе. Какая Ваше оценка? Мы сразу приступили к жесткой внутривидовой конкуренции (детали внутри одной концепции), в то время как некоторые вообще не поняли о чем речь! :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2021, 13:42 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
artemana servit, конечно, все нужно сравнивать на реальных экспериментах, но у Вас же не BI, а у меня не медицина. artemana Может судя заглянут люди из раздела OLAP и DWH и предложат посоревноваться. artemana Вы не сказали свое отношение к такому подходу в принципе. Какая Ваше оценка? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2021, 14:10 |
|
Dinamyc hard coding
|
|||
---|---|---|---|
#18+
servit Здесь уже было много соревнований всего со всем, которые ни к чему хорошему не привели, не приводят и вряд ли приведут. ... Это пять! servit Моё отношение простое - это уже было и есть. Оценка положительная. Спасибо, если что, буду на это ссылаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2021, 14:47 |
|
|
start [/forum/topic.php?fid=35&msg=40099488&tid=1552159]: |
0ms |
get settings: |
21ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
146ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
467ms |
get tp. blocked users: |
2ms |
others: | 372ms |
total: | 1044ms |
0 / 0 |