01-31-2021, 12:36 AM
(01-30-2021, 08:36 PM)mandavel Wrote: Apparently, as I found out, linux, and linux kernels are written in C. Not sure if it matters or not, but going forward I've decided to write in C, only because it's close to linux OS, close to the kernel, close to the machine and fast to compile.
Maybe someone with more experience can chime in, but I'd rather write in the language that the host OS is written in. Especially if it's fast and efficient (meaning, less operations to execute) I can imagine that translates to less RAM used and less power consumed to operate... Which is what pinephones desperately need.
A low level language can give you greater efficiencies in speed and memory usage it is true, but it also makes you deal with a lot of low-level details other languages don't. Writing in the same language as the OS is not really necessary. Plenty of applications are written in lots of different languages.
If you insist you want to go low-level though, another low-level and fast language on par with C is Rust. However Rust is much newer and takes advantage of a lot knowledge gained during the almost 50 years C has been around.
C will also let you (quite easily) make lots of mistakes that can lead to security compromises. Rust makes this harder, but some say it can be somewhat more difficult to learn. Personally, I just think it seems harder because Rust won't let you write certain kinds of bad code that are very easy to accidentally write in C, even for experienced programmers.