Answer the question
In order to leave comments, you need to log in
PL for cross-platform development?
Now I am writing desktop applications on the Qt framework (C ++). And I began to face the problem of porting software to older versions of Linux, namely, to archive distributions of debian 7 and the like.
The process of porting to different operating systems, like writing programs in C++, takes a lot of time. As a result, I decided to try something new.
Basic requirements for the language:
1) Multithreading
2) The presence of menthodes for working with bits and bytes
3) The presence of convenient methods for working with the network
4) Library GUI or built-in (very flexible in customization)
5) Relatively easy assembly in static
6) Relatively large community
Ideally, write once, build on one machine (Linux) and run on everyone.
Answer the question
In order to leave comments, you need to log in
Look towards Go:
1) Multithreading
2) The presence of methods for working with bits and bytes in
3) The presence of convenient methods for working with network
4) GUI libraries or built-in (very flexible in customization )
5) Relatively easy assembly in static
6) Relatively large community
Ideally, write once, build on one machine (Linux) and run on all.
Not sure, but probably yes
1 - C# (.dotnet Core. in a year and a half or two, they promise to make the whole dotnet single and cross-platform again). but the GUI "out of the box" is only for Windows (and then the release in the fall, but betas are available). but there are things like https://github.com/ElectronNET/Electron.NET. Considering that the MC himself even transferred Skype to "electron" (I don't know exactly which one), and there are frighteningly many such examples .. this is a trend. I don't like it ("electron-based", I even like C# and crust), but there is a trend. by the way? there is https://duckduckgo.com/?q=qt%23&t=ffab&ia=web (didn't touch it myself)
2 - java. and there are cross-platform GUIs (but not for me for details. rather to Google)
3 - stones in other people's gardens - I do not advise wasting time on other options;))...
ps well, or perhaps, if performance is not important to you, as already mentioned - python3. I think there are quite a few wrappers for Qt (especially if linux only)
Qt plays very well with your current experience and you don't need to relearn anything, just learn a new tool.
All other options are also possible, but this is already ...
.NET with some kind of UI framework like Avalonia or in general Unity
Python with some kind of UI library, and the same Qt and Pyinstaller.
Haxe - but it has its own atmosphere, it is translated into other languages, although there is some kind of UI there.
Javascript + Electron/React Native - but I'm afraid your sense of beauty after high efficiency in memory and CPU will not allow you to take it seriously.
You can also use Java + UI and an AOT compiler.
Variants like Rust and Go also exist, but there xs, as with bindings to normal UI.
If you are interested in the speed and convenience of development, the "power" of ready-made solutions, then I would take python and Qt or .NET / C # and cross-platform UI. Both have a community.
Of the closest to you, this is C# and java , I would add python , but it cannot multithread, no matter what anyone says.
Java or any other JVM language of your choice.
I haven't tried it myself, but if you need AoT compilation, you can look at GraalVM or Kotlin Native.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question