PDA

View Full Version : programming languages



Drenriza
October 11th, 2011, 06:24 PM
When you look at wikipedias list over programming languages their are hundreds. All of these languages cant do their own thing. So my question is, why are their so many? Why not merge some of them or completly wipe out others.

kind regards

thatguruguy
October 11th, 2011, 06:32 PM
I think it's because no one has ever set out to create a really bad programming language. Every time a new language has been created it's been done to meet a specific need, even if that need existed only in the mind of the creator of the language.

mikaelcrocker
October 11th, 2011, 06:34 PM
There are quite a few instances where people create a language in order to capture the bes things of many languages. For me Ruby fits that bill, also while there may be a ton of other languages, you only really here about a handful of them being used on a regular basis.

Another reason for there being so many is open source type issue. Do you want to pay a bunch of money for licensing, or use an alternative?

There are other reasons, but here are a few :)

user1397
October 11th, 2011, 07:16 PM
also some are known as esoteric languages (http://en.wikipedia.org/wiki/Esoteric_programming_language), they're created as jokes, proof of concepts, testing limits, and are otherwise impractical for everyday use

juancarlospaco
October 11th, 2011, 07:21 PM
Such thing exist, technically you can code on Binary, like punched cards on old days...

Inodoro Pereyra
October 11th, 2011, 07:32 PM
also some are known as esoteric languages (http://en.wikipedia.org/wiki/Esoteric_programming_language), they're created as jokes, proof of concepts, testing limits, and are otherwise impractical for everyday use

OMG, I wanna learn this one:

https://secure.wikimedia.org/wikipedia/en/wiki/Brain****:cool:

ve4cib
October 11th, 2011, 08:07 PM
When you look at wikipedias list over programming languages their are hundreds. All of these languages cant do their own thing. So my question is, why are their so many? Why not merge some of them or completly wipe out others.

You'll find that in practice most of those languages are effectively wiped out. Very few people outside of a few very narrow domains do anything in Lisp, and even fewer probably do anything in Prolog. These languages are useful for niche tasks, but are by no means mainstream.

The family of "common" languages based on my experience are:

- C (very popular for low-level programming, one step up from assembler)
- C++ (arguably the most popular language in the world; it gets used for everything from low-level OS kernel development (e.g. HaikuOS) to application-level software (e.g. games))
- C#.NET and VB.NET (pretty much owns the Microsoft application and server programming worlds; VB seems to be on the way out)
- Javascript (you just can't do web programming without it)
- Java (popular in the business world for application programming, and necessary for Android development)
- Objective-C (iOS applications)
- Python (popular for Linux applications, batch processing, and server-side scripting. Used for ArcGIS server scripts among others)
- Perl (similar use as Python, historically the "we just need to hack together something that will work" language. seems to be falling out of favour in recent years)
- Ruby (web development mostly via Ruby on Rails. again, its popularity seems to be waning in a lot of places)
- ActionScript (used with Flash. Fortunately its popularity seems to be going away thanks largely to JS, but it's definitely still used)

That would probably be my top-10 list (in no particular order). Obviously other languages are used, but I'd argue that these are the big ones. If someone uses something else for any particular task it's likely because they have a very specific need that language X specializes in (e.g. using Bash or Csh for Linux scripting or MATLAB/Octave for math-heavy applications), or they simply have a personal preference/prior experience.

Personally I think having a few hundred different programming languages is a good thing. It gives programmers a wide array of choices when it comes to doing task X. Obviously for the sake of consistency and maintainability most businesses will use a small selection of languages, but for hobbyists having the choice is great fun.

3Miro
October 11th, 2011, 09:18 PM
Many languages exist with very specific goals. Here are some examples:

Mathematics: symbolic math
MATLAB: numerical math
R: statistics
Bash: system administration

You can try to take one language and be able to do good programs in it, or you can have hundreds of languages and use the best language for each job. It may seem hard to keep track of so many languages, but if you understand well C/C++ and couple of other languages from ve4cib's list, then you can learn a new language in couple of days. It will not be really a new language, just syntax.

decoherence
October 11th, 2011, 09:56 PM
Another reason is heavy investment in certain programs written in certain languages that have been working more-or-less perfectly for decades. The attitude is 'if it ain't broke, don't fix it.'

For example, I know that many lottery terminals in Canada are programmed in COBOL. It works and they don't want to rock the boat -- it is cheaper and less risky to keep a couple of COBOL programmers on staff than it is to migrate to another system and work out all the bugs.

alphacrucis2
October 11th, 2011, 10:01 PM
One of the earliest so called high level languages was Fortran, developed originally at IBM in the 1950's. This is still in use today, especially for number crunching applications on super computers. COBOL used to be the standard language for commercial software, especially on mainframes. I've no idea if anyone still seriously uses it.


Edit. Reading the wiki article on COBOL, the language does appear to be still surprisingly widely used.

vehemoth
October 11th, 2011, 10:40 PM
There's also a bit of use of lisp these days and I think it was the second high level language invented. Each language fills a niche, some fill bigger niche's then others so become widely known, because they are widely known people learn them and start using them in other places.
Some a better at certain things, just taking a look at my linux install
I have software written in: C, C++, python, perl, lisp, bash and probably a few others.
It's unlikely that those languages will die out soon because they all fill a niche and there aren't many good replacements for them. Especially as some of them evolve and gain the latest features of would be replacers.

GMU_DodgyHodgy
October 12th, 2011, 02:47 AM
One of the earliest so called high level languages was Fortran, developed originally at IBM in the 1950's. This is still in use today, especially for number crunching applications on super computers. COBOL used to be the standard language for commercial software, especially on mainframes. I've no idea if anyone still seriously uses it.


Edit. Reading the wiki article on COBOL, the language does appear to be still surprisingly widely used.

The best accounting system I have ever known AMS' FFS was written in COBOL on CICS and IBM mainframe.

rithika
November 3rd, 2011, 02:03 PM
There might be numerous programming languages, but PHP gains the popularity worldwide. About 342547 websites prefer to use PHP. Greatstatistics.com details you the information on most popular programming languages and its related stats.

BrokenKingpin
November 3rd, 2011, 03:15 PM
There might be numerous programming languages, but PHP gains the popularity worldwide. About 342547 websites prefer to use PHP. Greatstatistics.com details you the information on most popular programming languages and its related stats.
There is no doubt it is the most popular web language, but that site doesn't account for non-web languages... c/c++ easily rivals that number.

dawidku
November 3rd, 2011, 03:23 PM
I think that it is very good that we have so many programing languages because developers can chooose the one that meets their needs most.

danbuter
November 3rd, 2011, 08:24 PM
Many computer languages used to be very popular, then get replaced by something newer that can do something different. Object oriented programming changed the field quite a bit 15-20 years ago.

I think functional programming is currently stirring the pot (Microsoft is pushing F#, for example), because it may deal better with multiple cores. Haskell, which has been around for a long time, has recently started gaining popularity just because it can deal well with multiple cores.

Chiel92
November 3rd, 2011, 11:41 PM
I think functional programming is currently stirring the pot (Microsoft is pushing F#, for example), because it may deal better with multiple cores. Haskell, which has been around for a long time, has recently started gaining popularity just because it can deal well with multiple cores.

Additionally its gaining popularity because functional programming decreases lines of code, which is nice for the eye. I personally think Haskell is one of the best languages for writing short smart scripts. Like bots and AI scripts. And certain algorithms will execute very fast due to its lazy evaluation.