Size: a a a

Compiler Development

2020 March 11

АВ

Александр Вольнов in Compiler Development
Антон
Там если что мета есть, и это не черный ящик
Сам формат придаёт какое-то значение этим метаданным или это как комментарий, который само приложение решает как интерпретировать? Если даже есть какое-то значение, наверняка там ограничено всё спецификой игрового движка. То есть размеры и формат картинки указаны, а если надо хранить не картинку, а геном человека или какие-то другие научные данные, то он не сможет описать их структуру.
источник

AT

Alexander Tchitchigin in Compiler Development
Igor 🐱 Jirkov
А также этот язык можно транслировать в С и обратно, и компиляция Doom 3 занимает 0.4 секунды?
👏😂
Впрочем, что ж Вы так желчно... 😊
источник

А

Антон in Compiler Development
Александр Вольнов
Пополню ими список того, что "убьёт" моя технология. Всё что существует - avro, parquet, protobuf, flat buffers, json, xml и т.п. вместе взятое покрывает от силы 10% того функционала, который будет в моём формате-языке. У меня будут:
1) Поля произвольной битности. Например, можно хранить монохромные картинки без оверхеда и кастомной логики на стороне приложения
2) вычисляемые поля - был сначала формат с полями A и B, в новой версии поле A убрали, ввели C и указали, что A = C*2. Старая версия программы сможет прочитать новый файл. Новая версия сможет прочитать старый файл. Совместимость в обе стороны. Или, к примеру, можно не хранить пиксели изображения совсем, а записать формулу вычисления каждого пикселя картинки. Программа сможет прочитать этот файл как картинку, не имея представления о том, хранится ли она в файле или считается по формуле.
3) формат можно использовать как язык для обработки данных - писать всякие map, reduce, filter, считать статистические функции над данными и делать другую обработку.
Вот такая идея. Большую часть уже продумал и выглядит, что это вполне реально сделать силами одного человека и умениями, которые у меня уже есть. Жду не дождусь, когда руки дойдут до реализации.
Убийца ты конечно знатный, но ты же понимаешь что json, XML, protobuf все специализированные форматы для конкретной задачи. Твоя задача не сформулирована, абстрактна, а если уж говорить о реальности - мало производительна человеком у которого есть 'умения'
источник

p

polunin.ai in Compiler Development
Я даже не буду говорить что ты в соло даже половины не напишешь за 5 лет😂
источник

А

Антон in Compiler Development
Ну и это не стёб а жестокая реальность
источник

А

Антон in Compiler Development
Найди конкретное применение и продай в Яндекс - и будет всё в шоколаде, дадут тебе команду и вперед
источник

А

Антон in Compiler Development
Кликхаус же они нахуевертили
источник

АВ

Александр Вольнов in Compiler Development
Alexander Tchitchigin
Т.е. Вы переизобретаете SQLite? 😃
Нет, это более общая штука. Я же говорю, любая структура (при желании: структуры структур массивов структур с массивами), поля произвольной битности. В SQLite нет этого, там только реалиционные БД можно делать, и внутренний формат хранения не настраивается, а определяется движком.
источник

DF

Dollar Føølish in Compiler Development
А што за история с кликхаузом ?
источник

AT

Alexander Tchitchigin in Compiler Development
Александр Вольнов
Нет, это более общая штука. Я же говорю, любая структура (при желании: структуры структур массивов структур с массивами), поля произвольной битности. В SQLite нет этого, там только реалиционные БД можно делать, и внутренний формат хранения не настраивается, а определяется движком.
Вы можете сильно удивится, если так думаете про реляционные БД. 😉
источник

p

polunin.ai in Compiler Development
Александр Вольнов
Нет, это более общая штука. Я же говорю, любая структура (при желании: структуры структур массивов структур с массивами), поля произвольной битности. В SQLite нет этого, там только реалиционные БД можно делать, и внутренний формат хранения не настраивается, а определяется движком.
А зачем мне любая структура?
источник

А

Антон in Compiler Development
Александр Вольнов
Нет, это более общая штука. Я же говорю, любая структура (при желании: структуры структур массивов структур с массивами), поля произвольной битности. В SQLite нет этого, там только реалиционные БД можно делать, и внутренний формат хранения не настраивается, а определяется движком.
Так же рассчитай сложность пользования таким инструментом, сейчас процентов 60 рынка даже в SAP не могут
источник

p

polunin.ai in Compiler Development
Если можно хранить что угодно, будут издержки на преобразование данных в формат и обратно. Следовательно уже нельзя использовать как БД.
источник

AT

Alexander Tchitchigin in Compiler Development
Но если не нравятся реляционные, то Вы переизобретёте крайне медленный kdb+.
источник

АВ

Александр Вольнов in Compiler Development
Антон
Убийца ты конечно знатный, но ты же понимаешь что json, XML, protobuf все специализированные форматы для конкретной задачи. Твоя задача не сформулирована, абстрактна, а если уж говорить о реальности - мало производительна человеком у которого есть 'умения'
Моя технология решит задачу хранения данных в общем виде. Частные случаи, которые решают большинство существующих технологий описываются 5-25 строчками на специальные языке. Этот текст на языке - это как подстановка констант в готовое общее решение уравнения вместо ручного решения в частном случае. Написать такой текст в сотни раз проще, чем сделать с нуля что-то типа protobuf, что может понадобиться, если вдруг сам protobuf не подошёл для решения вашей задачи.
источник

АВ

Александр Вольнов in Compiler Development
polunin.ai
Я даже не буду говорить что ты в соло даже половины не напишешь за 5 лет😂
По моим оценкам для того чтобы сделать минимальную рабочую версию без вычисляемых полей достаточно от силы полгода фулл-тайм разработки.
источник

p

polunin.ai in Compiler Development
Вот именно, что по оценкам.
источник

АВ

Александр Вольнов in Compiler Development
polunin.ai
А зачем мне любая структура?
Берёте вашу конкретную задачу и делаете ровно ту структуру, которая для неё подходит идеальным образом. А не ту, которую вам навязывает та или иная технология (SQLite, protobuf, JSON, XML и т.п.).
источник

p

polunin.ai in Compiler Development
В итоге это выльется в два года. Потом на бенчмарках окажется, что ваше решение медленне уже существующих раз в 500.
источник

AT

Alexander Tchitchigin in Compiler Development
Александр Вольнов
Берёте вашу конкретную задачу и делаете ровно ту структуру, которая для неё подходит идеальным образом. А не ту, которую вам навязывает та или иная технология (SQLite, protobuf, JSON, XML и т.п.).
Вы же в курсе, что у ProtoBuf есть язык описания структуры хранения, позволяющий таки описать "ровно ту структуру, которая подходит под задачу"? Как и у Thrift, и т.п. 😉
источник