Program complexity increases like this:
[1] linear tasks
[2] interrupt-driven tasks
[3] state machine
[4] RTOS, no timing requirements
[5] RTOS, with timing requirements (cell phone, etc.)
[5.1] RTOS, with hard timing requirements (switchgear, etc.)
Application complexity in context of a RTOS is dependent on a whack-load of things including, but not limited to: portability, documentation, available API, compile-time options, timing requirements, RAM type, peripheral and IO configurations, etc.. It doesn't get any simpler than programming a bare-bones 8-bit micro with a proprietary IDE (that takes care of the makefile, linking, target options, etc.). Some RTOS's come with language libraries like Java, but still require that you (port) configure and compile the kernel for your specific chip, requirements, and peripheral configuration.
<edit> Some dev boards come with chips preprogramed with a bootloader or interface that allows you to write code in a preconfigured environment.