
Java
All kinds of machine-based programs can be developed in C, including: operating system kernels; low-level drivers; embedded systems software; client-server applications; general purpose applications; utilities; and games. There is no real limit to what you can develop in C. The question is really about whether C is the best choice for the type of software you wish to develop. For purely low-level development it is ideal, but for mid-level to high-level developments you'd be better off with C++. Where performance and memory are not a major issue,
Java is better for application development.