Size: a a a

Programming Offtop

2020 August 16

DP

Dmitry Ponyatov in Programming Offtop
потому что метапрограммирование != макросы
источник

AN

Alexander Nozik in Programming Offtop
Dmitry Ponyatov
потому что метапрограммирование != макросы
Ну то, что вы просили - это макросы. Генерация кода по шаблону. Я не понял, как ваш железячный код на С связан с питоном и Джавой
источник

DP

Dmitry Ponyatov in Programming Offtop
Alexander Nozik
Ну то, что вы просили - это макросы. Генерация кода по шаблону. Я не понял, как ваш железячный код на С связан с питоном и Джавой
генерацию кода по шаблону любой школоло может делать, записывая код как строку в текстовый файл
у меня уровень повыше — на уровне представления моделей
источник

AN

Alexander Nozik in Programming Offtop
Dmitry Ponyatov
генерацию кода по шаблону любой школоло может делать, записывая код как строку в текстовый файл
у меня уровень повыше — на уровне представления моделей
Ну это не так просто, как кажется, но по сути макросы это и делают, только с небольшой поддержкой со стороны тулинга
источник

AN

Alexander Nozik in Programming Offtop
Но я так и не понял, где связь между кросс-компилляцией С и "представлением моделей"
источник

DP

Dmitry Ponyatov in Programming Offtop
не слышал что лисповские макросы умели выплёвывать код на Java
источник

DP

Dmitry Ponyatov in Programming Offtop
Alexander Nozik
Но я так и не понял, где связь между кросс-компилляцией С и "представлением моделей"
компиляцией _модели_ В Си-код
источник

AN

Alexander Nozik in Programming Offtop
Dmitry Ponyatov
не слышал что лисповские макросы умели выплёвывать код на Java
Почему обязательно лисповые? Маккросы что ли только в лиспе есть?
источник

AN

Alexander Nozik in Programming Offtop
Dmitry Ponyatov
компиляцией _модели_ В Си-код
Исходно вы говорили, что вам нужна Java и Python, теперь С. Вы понимаете, что это модели очень разного уровня? Напишите свой кодогенератор. Например это отлично работает на всяких CUDA кернелах.
источник

AN

Alexander Nozik in Programming Offtop
И у вас вообще нигде нет динамики. Полностью статическая генерация.
источник

DP

Dmitry Ponyatov in Programming Offtop
Alexander Nozik
Исходно вы говорили, что вам нужна Java и Python, теперь С. Вы понимаете, что это модели очень разного уровня? Напишите свой кодогенератор. Например это отлично работает на всяких CUDA кернелах.
именно, мне одновременно нужно 2-4 выходных языка, прошивка устройства, edge, веб-сервис, СУБД, фронт
модель может это сделать, выплюнув куски кода для каждой части, согласованные между собой
источник

AN

Alexander Nozik in Programming Offtop
Dmitry Ponyatov
именно, мне одновременно нужно 2-4 выходных языка, прошивка устройства, edge, веб-сервис, СУБД, фронт
модель может это сделать, выплюнув куски кода для каждой части, согласованные между собой
Возьмите kotlin-mpp. Веб-сервис фронт и прошивка сразу. СУБД - это как бы не язык.
источник

AN

Alexander Nozik in Programming Offtop
Я не знаю, как там с оптимизацией в kotlin-native, но для моделек точно должно хватить всего.
источник

AN

Alexander Nozik in Programming Offtop
Единственная другая альтернатива - писать кодогенераторы и собственный язык описания моделей (это тоже все кому не лень делали).
источник

DP

Dmitry Ponyatov in Programming Offtop
Alexander Nozik
Я не знаю, как там с оптимизацией в kotlin-native, но для моделек точно должно хватить всего.
kotlin-native only supports a few architectures. AVR- and Cortex M3-based Arduinos aren't supported, and I don't think ESP8266 will ever be since LLVM doesn't even support it.
источник

AN

Alexander Nozik in Programming Offtop
Dmitry Ponyatov
kotlin-native only supports a few architectures. AVR- and Cortex M3-based Arduinos aren't supported, and I don't think ESP8266 will ever be since LLVM doesn't even support it.
Генерируете LLVM IR  и кросс-компилируете руками. Вам все равно придется это делать. Или генерить С и кросс-компилировать.
источник

DP

Dmitry Ponyatov in Programming Offtop
Alexander Nozik
Единственная другая альтернатива - писать кодогенераторы и собственный язык описания моделей (это тоже все кому не лень делали).
я изначально и спрашивал, кто что видел из книг и т.п.
источник

AK

Anton Korotkikh in Programming Offtop
Dmitry Ponyatov
ок, как насчет реализации Swagger API в железе с 4К RAM?
и тем более, мне нужен не API, а рабочий код с типовыми элементами, куски ЦОС например, классы IoT устройств (от прошивки до представления на веб-сервисе), и т.п.
хм... нагенерить сваггер и звернуть его во что-то очень компактное и для контроллеров
https://github.com/tinygo-org/tinygo
источник

DP

Dmitry Ponyatov in Programming Offtop
Alexander Nozik
Генерируете LLVM IR  и кросс-компилируете руками. Вам все равно придется это делать. Или генерить С и кросс-компилировать.
а куда мне 10+ коллег деть, которым нужен исходный код на жестко заданном наборе языков? человеко-читаемый +\-
источник

DP

Dmitry Ponyatov in Programming Offtop
Dmitry Ponyatov
а куда мне 10+ коллег деть, которым нужен исходный код на жестко заданном наборе языков? человеко-читаемый +\-
они вашу "хипстерскую порнографию" (цитата) не оценят всякие go mango kotlin
источник