Hi, my name is Donald Murray, and Im new to this forum. I got my BSEE degree from UCD, Dublin, Ireland in 1982. I also was a professional experienced software engineer when I graduated with my engineering degree. Ive been living in Portland Oregon since 1982. These days i work mostly in embedded systems. Ive been working in high tech for about 45 years. Anyways, i am not fully up to speed with the rust language yet (its on my list). Ive worked with embedded linux in the past. Mostly i prefer not to use linux as the hardware to support it is more expensive. When i do use it, its to get free drivers :-). I just recently took a gander and noticed that people were usimg rust in drivers and threatening to put it in the kernel.
I have some major concerns...please correct me if i am wrong, as im not yet an expert in rust.
- You are going to need a rust to c converter, as rust compilers may not be available for every microcontroller like C is.
- I hear the reason for all this is rusts ability to handle memory leaks. Memory leaks are pretty simple to handle using counters. I know people leave bugs like this all the time, but its because they dont know how to encapsulate their allocations and frees. Bottom line i dont think we need a new language for this.
- Memory fragmentation is a bigger problem in all embedded systems, and if i understand it, rust doesnt help much with this. In fact, with embedded systems, i typically dont use alloc/free, but design the system to use arrays of objects and assign these objects to which subsystem requests them and frees them in their array when no longer needed. I am in control of all memory operations as part of my system design. My cable tv company did not have my experience, which is why it has to reboot once day.
- I have concern if rust is doing garbage collection in the background and not under my control. Doesnt this make linux less suitable for hard real time applications due the background processing?
I didnt know who was best to ask about these issues. I figured you probably heard similar issues already.
I would be so grateful if you could give this message to someone who is very experienced in embedded development who is working on the linux rust integration, and if they could address my concerns.
As i said, im not a rust expert, but have only quickly looked at the language. Indeed the answers to these questions will determine how deep ill dive into rust.
Again, thank you so much for taking the time.
-Donald Murray, BSEE