"Everyone Knows" ...

  • ... that c is widely used for low level programs in large part because operating system/device apis are usually in c.
  • ... that Java is widely used for enterprise applications in large part because of enterprise libraries and ide support.
  • ... that ruby is widely used for webapps thanks in large part because of rails and its library ecosytem

But lets go into to details what are the specific niches and subniches. Especially with respect to libraries. Where might you embed lua for application scripting versus python. Where would you use Java vs C#. Which languages do different scientists use? Also which languages have libraries for these subniches? Things like bioperl/scipy/Incanter.

Please no flamewars about how nice each language or environment is. This is where they used. Also no complaints about marketing/PHBs.

(Manually migrated) I asked this question again after it was closed on stackoverflow.com

closed as too broad by user40980, gnat, BЈовић, Kilian Foth, Bart van Ingen Schenau Aug 1 '13 at 11:37

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.


Lua: in any multithreaded application. You can have multiple interpreter instances in the same program, and there is no global interpreter lock. Also, Lua has one of the most simple and cleanest C APIs that I've seen. It is light on resources, so it runs also in embedded systems. (Heck, it has even been ported to Lego mindstorms.)

R: statistics, data processing and visualization environment. Rather unusual language, but I forced myself to learn to use it because I got fed up writing perl scripts to process data before feeding them into gnuplot. Just knowing R saved me a lot of time, made experimentation with data much more comfortable and it allowed me to design very complex experiments because I knew I'd be able to process the results.


Erlang is very widely used in telecom, but is starting to move into other areas because it does concurrency and fault Torrence very well.

Javascript is used in the browser, but with node.js is moving into the server space.

Not the answer you're looking for? Browse other questions tagged or ask your own question.