1. The only public development API requires the use of their proprietary language BrightScript which is poorly documented, and for which no official compiler, interpreter, or runtime environment is available. Enthusiasts had to create an interpreter for it (https://github.com/sjbarag/brs) to speed up development time. Previously you had to push your app to a Roku to run it before you could learn of any syntax errors.
2. They do have a C/C++ API, but they limit access to big orgs and require an NDA to use it.
There are plenty of cool projects, like a Prince of Persia port (https://github.com/lvcabral/Prince-of-Persia-Roku).
That they are finally shoring up their poor developer ecosystem with C/C++ and JavaScript APIs is great, but it's unfortunate that they aren't allowing these apps to be distributed through their official store.