Re: Подскажите кроссплатформенный язык или мини ОС
От: kov_serg Россия  
Дата: 11.01.20 11:06
Оценка: 22 (2) +1
Здравствуйте, 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
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.