this post was submitted on 08 Sep 2024
35 points (92.7% liked)

Programming

17020 readers
428 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 1 year ago
MODERATORS
 

I have a small homelab running a few services, some written by myself for small tasks - so the load is basically just me a few times a day.

Now, I'm a Java developer during the day, so I'm relatively productive with it and used some of these apps as learning opportunities (balls to my own wall overengineering to try out a new framework or something).

Problem is, each app uses something like 200mb of memory while doing next to nothing. That seems excessive. Native images dropped that to ~70mb, but that needs a bunch of resources to build.

So my question is, what is you go-to for such cases?

My current candidates are Python/FastAPI, Rust and Elixir, but I'm open for anything at this point - even if it's just for learning new languages.

you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 3 points 1 week ago

If you've so far been able to do this stuff in Java, then presumably all your hardware has an OS and such and you don't need this, but a colleague has been having a lot of fun with Rust and proper embedded development.

It's very different from regular development, as you've got no OS, no filesystem, no memory allocations, no logging. It can most definitely be a pain.
But the guy always has the biggest grin on his face when he tells that he made a custom implementation of the CAN protocol (TCP is too complex for embedded ๐Ÿ™ƒ) and that he had to integrate an LED to output error information and stuff like that. At the very least, it seems to be a lot less abstract, as you're working directly with the hardware.