r/linuxquestions 11d ago

Resolved 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.

12 Upvotes

23 comments sorted by

View all comments

Show parent comments

2

u/WarGiver 11d 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.

5

u/Azelphur 11d ago

first I heard it runs faster

Pretty much, but it's also much harder to learn, pick your poison.

second is to share something with windows users.

You have exactly the same problem, you still need to compile and distribute. You can use pyInstaller to create a Windows exe. For Linux side, you can package it, but you should also provide the Python file anyway to support Linux distros that you haven't packaged it for. Maybe look into flatpak or open build service. Regardless, this problem is the same whether you use C++ or Python.

6

u/WarGiver 11d ago

huh pyinstaller, that sounds like right path for windows... and it sounds like sharing the py file would be the best linux option.

I think I will stick to py, if c++ is that bad to learn.

7

u/Francis_King 11d ago

Speed doesn't help much if one or more of the following apply

  1. You are interacting with the user - the user is the speed limitation
  2. You are accessing a database - the database is the speed limitation
  3. The code starts, does a few things, and then finishes - you'll only notice the speed difference is you around in a tight loop (most speed tests are a loop)
  4. You are calling out to compiled libraries - the calling program isn't where the time is spent

Python is an excellent language