Comparison of programming languages

An extremely useful list of the popular languages. May contain mistakes. Dont know all of them, so corrected a few as per my abilities. Other more knowledgeable members please correct more mistakes if they find any.

Java
Programming in Java is very similar to C/C++ development. It is object-oriented and well structured. There is wide usage of Java, and therefore there are a lot of libraries around that can be used in your Java program.

Pros:
· Java is platform independent, it can be run on everything.
· It’s free, you can just download the SDK and go.
· It’s easy to learn if you know C or C++.
· Provides automatic memory management.
· Large library of pre-built classes and many more available from around the net
· It’s quite safe. It’s fairly hard (if not impossible) to damage your computer through programming in Java.

Cons:
· Speed. Java is quite slow, because it is essentially compiled at run-time by the system’s virtual machine.(This is,however more or less a thing of the past. At present java applications are seen to run at par than their corresponding C/C++ ones. But graphical applications still lag somewhat on older machines.)
· Difficult to compile into a stand-alone application.
· Memory pointers not allowed(though some might consider it a pro)
· Some people dislike being forced into object oriented programming. But that’s their problem. :p

C
C has been around for years and has a large following. It is used by many, many different people around the globe. Many other programming languages were written in C.

Pros:
· Large usage base. Easy to find help, other programmers, libraries etc.
· Simple core language, with further functionality being added through the use of libraries.
· Very powerful. If your computer can do it, it can do it through C.
· Low-level unchecked access to computer memory using of pointers.
· One of the fasted running languages.
· C code can be used in C++ applications.
· Programs are compiled and stand alone, no need for interpretters (sometimes external libraries will need to be installed on the target PC).

Cons:
· Relatively difficult to learn.
· Very little safety net. If you choose (accidentally or otherwise) to make a program that will access memory incorrectly and cause problems with your system, it won’t stop you. It only pulls you up on compile errors.
· Non trivial programs could be hard to port. Programs have to be compiled for each specific platform.
· Not strictly object oriented.
· Code can get messy easily.

C++
C++ can be said to be a superset of the C programming language. C code still works in C++ programs. It is an object-oriented language and very powerful.

Pros:
· As close to a universal programming language as you’re likely to get at the moment. It’s used everywhere.
· Object oriented technology included, highly supported and recommended, but not forced upon you.
· Programs are stand alone, no need for interpretters (sometimes external libraries will need to be installed on the target PC).
· Easy to port to other platforms if standard C++ guidelines are adhered to.
· Many libraries available for added functionality.

Cons:
· Quite difficult to learn. You’ll never really stop learning new things about it (which is also a pro, I guess)
· Programs can be slightly larger and slower than those programmed in C (although it's highly unlikely that you'll notice the difference)

Visual Basic
Visual Basic is a very easy language to use. It’s code is similar to Pseudo-code, and many times the developer can simply type what they think should work and it does. Which is cool.

Pros:
· Very easy to learn
· Quick to implement an application or algorithm
· Lots of in-built functionality
· Complete OOP support with the .Net upgrade.

Cons:
· Not as flexible as other languages. Can’t do as much.
· Runs slower than C/C++
· Purely a Microsoft product and Windows based.

.Net Environment
Not really a programming language, but closely related.

The .Net environment is a relatively new creation of Microsoft’s. It adds an overall cohesiveness to various programming languages by compiling them into a standard form that is interpreted by an intermediate language between the code and the OS. In this way it is similar to Java. The creation of the .Net environment means that the method of programming basically comes down to personal preference.

Pros:
· Easy-to-use tools may increase programmer productivity
· Has a strong framework for building rich graphical user interfaces
· Gives developers choice of working in more than 20 programming languages
· Is tightly integrated with Microsoft's operating system and enterprise server software
· Has built-in support for Web services standards

Cons:
· Users of prior Microsoft tools and technology face a potentially steep learning curve
· Choice of integrated development environments is limited
· Getting older applications to run in new .Net environment may require effort
. Many consider it to be really slow(though i wouldn't know, I haven't programmed in .NET)

Python
Pros:
- One of the easiest to learn fully object-oriented language on the market.
- Very rich, both fully OO and fully functional set of libraries;caters to both sides of the design methodology debate.
- Easy to use native invocation
- Slicing, Lamda functions, and Lists, oh my!
- Named for Monty Python, and they're damn cool.
Cons:
- Comparitively slow (but still faster than VB!).
- No curly braces for code blocks: blocks are determined by indentation.

PHP:
Pros:
- Speed -- fastest web-application scripting language out there, bar none. Yes, faster than ASP, faster then ASP.NET, faster than JSP, faster than the Python web aps (Zope, Twisted), faster than Coldfusion.
- very rich very fast library of functions
- library functions are mostly thin wrappers of mature c functions.
Cons:
- OO is tacked on, and kludgy at best.
- syntax (especially for OO) can get in the way.
- library functions are mostly thin wrappers of mature c functions.

source
 
Hmm .. seems a bit partial ... C/C++ programs run faster coz their native graphic library is built using a 8 bit color palette .. Whereas other languages like Java and VB can use anything that Windows or the corresponding platform has to offer ... this definitely will be slower on older pc's ... but hey , using the 8 bit palette there too will solve the problem too ..

Visual Basic

Visual Basic is a very easy language to use. It’s code is similar to Pseudo-code, and many times the developer can simply type what they think should work and it does. Which is cool.

Pros:

· Very easy to learn

· Quick to implement an application or algorithm

· Lots of in-built functionality

· Complete OOP support with the .Net upgrade.

Cons:

· Not as flexible as other languages. Can’t do as much.

· Runs slower than C/C++

· Purely a Microsoft product and Windows based.

This is a joke right ??
 
You could have used the term c# instead of .net .NET is not really a programming language but c# is.

python, c#(correct me if im wrong) and php are dynamically typed languages, others are static

python:

cons

- No curly braces for code blocks: blocks are determined by indentation.

some people might term this as pro

Regd VB cons

· Not as flexible as other languages. Can’t do as much.

These terms are always bad in comparisons, think flexibility can be taken in different ways.
 
python:

cons

- No curly braces for code blocks: blocks are determined by indentation.

in fact in the source, this point was present under both pro and con.

@deathvirus_me: i agree regarding the partiality, but even so i think compared to Swing/Awt, graphical interfaces programmed with C/C++ are somewhat faster, even if platform specific libraries instead of the native ones are used.however, i'm not sure if it's anything a good coder can't take care of. i've not programmed much in java and there are many good programmers who might rubbish my statements:)

@random2 : C# is only a programming language developed by microsoft specifically for programming in the .NET environment.but there are also other programming languages which can run in there.

As it is mentioned, .NET is included not as a programming language, but as a programming platform on which other programming languages can run.

but i agree to what you said about "flexibility"..but you have to agree, if C is the "swiss army knife", then VB is just a knife..but it does do its job well:)

cheers..
 
Back
Top