views:

150

answers:

5

Is there a general list of what different programming languages are used to solve different scenarios?

like C is also used in embedded programming,kernel programming,UI programming too(GTK).

C++ is also used for desktop/sever application programming and also business/enterprise applications which sit on the desktop/server or even the web, and also to make computer games

Java is also used for almost anything. same with .Net

Scripting languages are used widely in administrative tasks and web scripting too.

this is my general idea of most languages (excluding functional languages)

can someone correct me and post a precise list of what programming languages can/are used to solve different and most general and common problems across different domains in the IT industry?

A: 

Most languages can cover a wide range of tasks, just with varying degrees of aptitude.

It is the corner cases which define a programming language. To find out which language is specialized for what, you'd have to see each language's website, or wikipedia article. Scheme for instance, is a dialect of Lisp used in mathematics, because the syntax (and language extensions) are geared towards such use. That doesn't mean it can't do other things, it just means it's really really good at that.

Tor Valamo
yes, but i want to know the best programming languages for a specific set of problems in any domain of the IT industry.
Rohan
So you want a lazyweb list of wikipedia metadata?
Tor Valamo
+5  A: 

These are stereotyped and oversimplified, but:

  • Assembly and C: embedded programming, OS programming
  • C++: OS programming, native GUI apps, games
  • Objective-C: Mac OS programming, iPhone apps
  • Java and C#: enterprise web services and web apps
  • PHP: web apps
  • Ruby/Python/Perl: scripting, web apps
  • Fortran/Matlab: mathematical and scientific apps
  • Erlang: high-concurrency network and telecom apps
  • Scala/F#/Clojure: functional languages, some initial attempts made for business and web apps
  • COBOL: business apps (yeah, still to this day...)
  • Prolog: artificial intelligence
  • Lisp: artificial intelligence (and according to some fans of the language, all of the above)
Kaleb Brasee
Perl: scripting, web apps
Thilo
Objective-C: Mac, iPhone
Thilo
There was like 30 questions yesterday on how to use PHP as a build language, which is definitely outside of the web category.
GrayWizardx
Yup Thilo, thanks, knew I was forgetting a 3rd language there, just wouldn't come to me.
Kaleb Brasee
Fortran, Matlab: mathematical/scientific computation
Thilo
Erlang: high-concurrency (like telecom switching devices)
Thilo
JavaScript: Ajax applications
Thilo
there's an absolute correct answer for this question?
Russell
nope, but i was satisfied with the above answer. i was just looking for a rough list of what languages are best at what tasks
Rohan
Python, TCL/TK: UI frontend for C/C++ apps. (I've frequently seen them used in this context)lua: Scripting for games
Philippe Beaudoin
A: 

Here is a list of programming languages by category.
Not exactly what you asked for, but you'll get an idea :-)

Nick D
A: 

This a somewhat unanswerable question. There is no definitive list of what a language is good for and not good for. Part of this is because language use drives new features in the language, and though some languages have constructs and syntaxes geared towards a certain "perspective" on a problem that does not prevent them from solving other problems.

In addition what defines a language? You listed several but what about SQL, ActionScript, CSS, HTML, etc? Some are not languages but they are used as such and the line is blurring pretty quickly.

GrayWizardx
actionscript falls under scripting language, SQL has a pretty well defined purpose i.e to manage data of a RDBMS (m jus a student so i might be wrong). and you cant really compute anything using CSS, HTML or XML , they just define data and styling in some way right?
Rohan
It really depends on how you define it. SQL the raw language is mostly table oriented, but basically ever version I can think of allows you to run arbitrary code of some kind (PL/SQL does, MS SQL does, etc). Actionscript is a scripting language, but that in no way prevents it from doing a given job beyond what it has "objects" for. CSS and HTML do describe data but have features for loading and manipulating data as well. See some of the other answers for more explanation.
GrayWizardx
+1  A: 

The best language depends on how you are modeling the solution, as some models just work better with objects, so an OOP would be best, some would best be done in a iterative solution and so on.

So, you either pick a language or you design the solution first, in some language-agnostic solution, such as using some of the UML diagrams.

Either way will create some constraints, and then you do the other part with the constraints imposed by the first one.

You can do basically any problem with any complete language, but some languages are just a better fit, but, again, it depends on the problem solution and how you model the solution.

Any list will be very subjective based on a very important constraint, your familiarity with that language.

But, you will find LISP in robots, for example, as well as in the scripting part of Autocad.

Smalltalk has been used a great deal in the financial industries, from what I have heard.

If speed and size is important then C or C++ is probably the best choice, such as in embedded systems, like dsps.

PHP and Perl, as well as Python have found uses in scripting for sysadmin tasks, but these are also used in many other areas.

You pick a problem and several languages, and I can give a design that will work for that problem, but the solutions will be very different.

It gets more interesting now since we have languages that cross paradigms, so, Java and AOP can solve problems better than just Java by itself. F# and Scala are hybrid languages, so they are both functional and OOP. Javascript can be a functional language, even though it is prototypical by design, but you can pretend to be OOP.

James Black