this post was submitted on 04 Feb 2025
15 points (80.0% liked)
Programming
18116 readers
400 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Think about why you're wanting to do this. Is there a material benefit you'll get from splitting your codebase like so? Enough to overcome the fact that you've split your codebase into two very different languages?
When you're going between languages like this, you either need some kind of communication protocol (e.g. JRPC, TCP, or maybe something home cooked) or you need a stable ABI to allow the programs to talk to each other directly.
My point is, you probably don't want to do what you're trying to do. Unless you have a really good reason, pick one language and stick with it.
Also, a funny side effect of game programming is that loosely coupled components like this can make development harder. If it doesn't need to be split like this, you probably shouldn't.
on the other hand challenges like these give us valuable experience. Its not often one has the opportunity to write two programs in different languages from scratch and figure out the coupling. I know I would be excited if I got paid to do such things.
And loose coupling is a good constraint to force a good design for your application.
I once had to use a network API, which was only available for Python, with sensor drivers whose API was only available in C.
I just used a file as a buffer to transfer data between them and didn't need any other interfaces.
The price paid, was polling.