Задать вопрос
@Zebr21

Язык программирования для любителя?

Доброго времени,
помогите определиться с выбором языка для написания программ со следующими нюансами:
1) Windows only (Xp, 7, 10, 11,..);
2) Без предварительной установки фреймворков для машине пользователя приложения;
3) Приложение компилируемое (желательно для portable использования);
4) Приложения с Gui (достаточно WinFroms 32). Также в основном работа с массивами, regexp и диском;
5) Желательно иметь IDE и бесплатные библиотеки для минимизации кода;
6) Достаточно возможностей процедурного языка, требований к производительности нет;
7) "Модность" и перспективность языка не важны. Важнее удобство и простота пользования (С++ не вариант).

Знаком с VB.Net и он вполне подходит, но непонятно какую одну версию .Net использовать для WinXp-Win11+
Думаю посмотреть в сторону Delphi, но совсем не знаю что там сейчас происходит.
В идеале если бы была возможность компилировать Perl или Python в portable EXE Win32..
  • Вопрос задан
  • 443 просмотра
Подписаться 2 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 6
saboteur_kiev
@saboteur_kiev
software engineer
C# или Delphi подойдет.
Ответ написан
Adler_lug
@Adler_lug
Зачем это вообще нужно под XP? Это уже лютый некрофилизм. Как в прочем и Windows 7 уже.
Я бы смотрел только на Windows 10-11 (хотя последняя пока под большим вопросом, но все равно на нее смотреть поидетсч) и .Net 5-6 в "исполнении" C#.
Ответ написан
@AlexSku
не буду отвечать из-за модератора
Новая Delphi бесплатный вариант Community Edition.
Ответ написан
Комментировать
А чем обоснована такая широта операционных систем?
Если выкинуть из списка XP, то можно спокойно взять C# или vbnet + .net 6

А вообще для полного покрытия всех ОС нет одного фреймворка, тк:
7-11: можно использовать .NET 6
XP: Можно использовать .NET FW 4 или 3.5. Но при этом 3.5 надо дополнительно руками включать на более новых ОС, а на 11 его вроде совсем нет.

На счёт современных версий Delphi не уверен, но там точно будут проблемы с библиотеками.
Ответ написан
@Carburn
Через py2exe и PyInstaller можно же создать exe из Python. Еще есть Perl2Exe.
Ответ написан
@Zebr21 Автор вопроса
Проверил несколько вариантов на совместимость на разных компах, мало ли кому интересно будет.
1) Win10x64 с VS2022; 2) Win10x64 чистый; 3) Win7Sp1x64 чистый; 4) Win11 под рукой не оказалось(
Простая форма WinForm x32 с несколькими элементами, скомпилированная в EXE.
a) Lazarus 2.012 + Free Pascal. Отлично работает везде. Похоже самый универсальный вариант для винды. Жалко литературы маловато по нему(
б) VS2022 C#10 Net FW 4.5. Работает везде. FW хоть и не развивается, но еще долго можно пользоваться думаю. Хотя если поддержку FW уберут например в Win12, то будет неприятно.. С другой стороны с MS станется и поддержку WinApi32 в Win12 убрать)
в) VS2022 C#10 NET6 или NET Core3.1. Работает только после установки соответствующих фреймворков (Net FW4.5 недостаточно).
г) Python3.6 + py2exe. Работает везде, но даже простая форма Tk тащит за собой 900+ мелких файлов. Такое себе решение для portable..
С большими проектами видимо будет все сложнее, но это уже другая история)
В целом выводы у меня такие - надеяться что твой софт отработает 10 лет на одном компе это очень оптимистично)
Возможно по суммарным затратам выгоднее писать на свежем и актуальном и каждые несколько лет обновлять код вслед за новыми фреймворками, нежели пытаться выбрать инструмент с долгосрочной поддержкой от ОС..Только вот в этой схеме нужен специально обученный человек, который будет следить за версиями софта и фреймворков у пользователей и объяснять им почему вдруг все перестало работать при обновлении.
PS: Паскалю в любом случае респект)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы