C because [1], but Javascript is also being used in that space, Lua is small and beautiful, Python is everywhere, Forth can be implemented in 42 bytes of Forth...<p>[1] "Pointers are real. They’re what the hardware understands. Somebody has to deal with them. You can’t just place a LISP book on top of an x86 chip and hope that the hardware learns about lambda calculus by osmosis."
So many comments about using C, but I think the question may be a bit too broad to make a sweeping generalisation. IoT is such a broad term it's like saying 'what language should I use for a web-app?'.<p>What are you expecting of your IoT projects? What sort of hardware are you thinking of running on? Is power usage a concern? Performance? What languages are you most comfortable with already?<p>I don't have the answers for these, but knowing may help you figure out what to use. The truth is, these days you have so many options, it's a bit similar to asking what language to use for a web-app, and the decision may follow a similar path. Does anybody build web-apps in C anymore? If so, why?
It depends. If you're making an attempt at future-proofing yourself, you gotta start at the bottom with "C".<p>If you're just looking to pick up your first project in the category, consider something simple like a RaspberryPI + Python.
You are looking at a simple embedded hardware platform, so C is going to be 90% of project. A few project may use C++. Even more fringe outliers might be assembler and Ada.