Somewhere you have to start
I guess it's complex, but I have time and it interests me a lot .
So start with any language. By the time you find it is not adequate for your needs you will have a lot of direct personal experience that will allow you to make a wiser choice for your next attempt.
Of course, you will understand that to write an Operating System you will need resulting code that will execute directly on the arm hardware, so interpreted languages such as python, ruby or basic are unlikely to be appropriate choices.