Just fyi: I only have limited experience with Arduino. I usually use C for my Arduino projects.
Careful with your question and options. You seem to mix available languages with available IDEs. When talking about languages, C is the usual way to go for embedded. At the same time, there is Smart.JS (Mongoose IoT / Espruino) which enables you to write JS on embedded devices. I guess that's nice for quick prototyping, but when you need performance (for example I usually use simplified TLS encryption which needs quite a bit of that), I would guess it becomes very very slow. The same goes for Lua.
If you are into tinkering around, you might want to try Rust. It is a lot higher level than C, but still very low-level with a lot of memory safety (for free) and very speedy. Using it in such an uncommon way (at the moment) doesn't seem to be very straight forward, though.
Depending on what you want to do, you might just go with the language you feel most comfortable with. After all, there is no omnipotent "best language". Use the right tool for the right job!
As for the IDE, I think the Arduino IDE is very spartanic. I do not like it. At all. That's why I use PlatformIO on CLion. I have not played around a whole lot with the official IDE, yet, but if I would not have a CLion license, I would probably prefer it.
Mongoose IoT offers a web based editor, which even lets you create programs graphically. Just click your program together. I never tried it, but it might be a good introduction if you do not feel comfortable with programming code or hate all listed languages.
By the way, you might want to tag your question with an existing node, like "General Programming", or else no one will see your question. @sandeep of Team Hashnode sent me an invite (thank you), else I wouldn't have seen your post, either ;)