Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

"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

share|improve this question

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

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.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.

share|improve this answer

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.

share|improve this answer

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