Здравствуйте, FDSC, Вы писали:
FDS>Я программирую на C#, он мне очень нравится. Но сейчас мне нужна другая технология
.
FDS>Есть задача написать свободное standalone приложение для домашней криптографии либо для Linux и Windows одновременно, либо приложение должно грузится с флешки с мини ОС.
FDS>Соответственно, нужен либо язык, который позволит писать под Windows и под Linux без заморочек.
C/C++
FDS>Либо операционная система с минимумом кода, которая позволит создать загрузочную флешку и запустить оттуда ТОЛЬКО криптографию.
slitaz.org -- тут любой язык на выбор, какой закатаешь в образ
Или просто
uefi приложение
И еще в uefi есть виртуальная машина. Можно под неё писать и пускаться на всём.
FDS>Нужно, чтобы была кросплатформенная как можно более маленькая GUI-библиотека. В идеале, пустая форма и пустое приложение должны занимать вместе не более 200 кб в дистрибутиве.
linux dialog и xdialog
FDS>Qt не подходит, так как большая. Кода в библиотеке должно быть очень мало (меньше кода — меньше уязвимостей и закладок)
U++ но там тоже большие файлы получаются.
FDS>GTK — хрен знает. Не смотрел.
да gtk слегонца суров
https://developer.gnome.org/gtk3/stable/gtk-getting-started.html
tcl/tl смотри когда привыкнешь норм
FDS>Вообще, желательно, чтобы было как можно меньше C/C++ кода.
o_O bash наше усё?
FDS>Mono и Java не подходят, так как нужна установка стороннего кода. Кроме этого, они большие.
Тогда lua — 230kb
FDS>Нужно, чтобы система была как можно более чистая, в том числе от Майкрософтовского кода.
FDS>Библиотека должна быть относительно хорошо известная, поддерживаемая, с открытыми кодами. В идеале, контроль кода не из США/Канады/Британии/Австралии/Новой Зеландии
FDS>Язык должен быть без сборщика мусора (нужно обнулять память после использования) и иметь кроссплатформенную функцию типа VirtualAlloc для того, чтобы заблокировать в физической памяти страницы (последнее не обязательно).
C/C++
FDS>Хорошо документирован (C# или Free Pascal хорошо документированы; Java — уже нет)
man-ы
FDS>Без глюков в IDE (Lazarus постоянно глючит). Хотя хрен знает, может стоит его попробовать?
vim
FDS>Язык должен проверять, что индекс в границах массивов

lua
FDS>Язык должен быть живой.
python
FDS>Статически типизированный, компилируемый в машинные код или во что-то низкоуровневое.
haxe, zig, nim ...
FDS>В идеале, должна быть возможность взаимодействия с компилятором для получения какого-то простого скомпилированного образа программы (простого для анализа другим автоматическим инструментом).
llvm
FDS>--------------------------------------------------------------------------
FDS>Если мини ОС
FDS>Нужно, чтобы в ОС были реализованы исключения, файловый ввод-вывод хотя бы на FAT32, русские шрифты и UTF-8 (желательно), возможность загрузки с USB и ввода-вывода на USB-носители. И возможность простого исключения лишних модулей тоже не повредит (скажем, сетевых).
slitaz(linux), uefi
FDS>В принципе, есть Cosmos, однако там не реализованы исключения (но есть клон, где реализованы) и вообще он постоянно падает на ровном месте. Страшно.
FDS>Плюс, там сборщик мусора обязателен (это не страшно, но нужно будет его переписывать) и проект не очень активный.
FDS>P.S. Кто-нибудь знает простые начальные загрузчики? А не syslinux и GRUB, которые дофигища кода непонятного имеют?
https://github.com/KNNSpeed/Simple-UEFI-Bootloader