r/linuxquestions 20h ago

Support Noob needs help creating linux programs

I am posting this reluctantly because reddit is a toxic mess most of the time, but two hours of research and I am no closer to an answer. If this is the wrong place to ask please aim me.

I am about 6 months into using Bazzite Linux and decided to make a program for content generation for a game (does not matter for my question but for context its a program to either randomly or psudeo-randomly produce a custom planet for the game space engineers) I want to make this tool available if/when I finish so leaving it a python script (I am well aware the unholy pain converting that to c++ will be) is not going to be a good way to share it.

The problem is that while I know and have compiled stuff to exe files for windows, before I switched, I do not know anything about doing that for linux. Can anyone aim me at the noob resources for that?

I started making it in py half to teach myself py half to see if I could, I got far enough in that I stopped to think and now I need help finding the off ramp.

Edit: Thank you all for the help! I am just going to stick to python and share that when I am done.

9 Upvotes

20 comments sorted by

View all comments

15

u/dgc-8 20h ago edited 18h ago

Every Linux distro has python preinstalled, so it's perfectly fine to keep it in python. There are many big apps in the repos that are written mostly in python.

But if you want a compiled language, I can relieve you, compiling software is way easier than on windows, at least in my opinion. Even when I was on windows I used wsl for my c++ projects.

If you choose a modern language like rust or go just look up the "getting started" pages of these languages. If you want to use C/C++ take a look at gcc/g++ and maybe make, although that is optional. There should be quickstart guides out there, or ask again if you don't know further

2

u/WarGiver 19h ago

the reason I was considering c++ was two reasons, first I heard it runs faster, and second is to share something with windows users. I never ran a python script on windows, technically even Linux either before this, so ease of access or running is my worry.

3

u/RPG_Hacker 18h ago

It's worth noting that sharing executables will not be easy on Linux, anyways, and is often even discouraged by the Linux community. The reason for this is that most Linux distros have a unique environment for running executables, making them compatible with only that specific distro.

There are alternatives and ways around this, but to put things simply, you just won't be sharing EXE files on Linux like you might be on Windows. It isn't typically done. So if you're choosing to make your app a compiled program, you might even end up making things more complicated instead of simpler, since users of the app might now have to compile it from source (unless the specific package manager they use has a compiled version of it available for their specific distro).

So unlike on Windows, sharing a Python script instead of an executable might even be simpler for end users on Linux.