technomodel
Journeyman
Ok, here's something i think may be of a lot of help to some people.here is a list of the pros and cons of some of the programming languages used by developers that i came across on the net.the list is by no way exhaustive and may have inaccuracies,and so it will of great help if other forum members contribute in this thread too.
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.
· Difficult to compile into a stand-alone application.
· Memory pointers not allowed.
· Some people dislike being forced into object oriented programming. But that’s their problem.
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++ is a derivation 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)
· Non-trivial programs aren’t easily ported if they use platform-specific libraries (e.g. DirectX etc.)
· 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
· Recently added 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.
Python:
Pros:
- One of the easiest to learn fully object-oriented language on the market.
- Both functional and object oriented; caters to both sides of the design methodology debate.
- No curly braces for code blocks: blocks are determined by indentation.
- Very rich, both fully OO and fully functional set of libraries
- 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! w00t).
- 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.
- Poor error handling support in the library (PHP 5 finally introduced try/catch blocks, but they're not implemented to my knowledge in the library. Yet.)
DISCLAIMER:
Among the different languages mentioned here, the only one i know is C.so I hereby state that i'm in no way responsible for the misinformations that may be present in the description of the other languages.
courtesy:*codenewbie.com/forum/showthread.php?t=2142&highlight=comparison+programming+languages
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.
· Difficult to compile into a stand-alone application.
· Memory pointers not allowed.
· Some people dislike being forced into object oriented programming. But that’s their problem.
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++ is a derivation 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)
· Non-trivial programs aren’t easily ported if they use platform-specific libraries (e.g. DirectX etc.)
· 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
· Recently added 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.
Python:
Pros:
- One of the easiest to learn fully object-oriented language on the market.
- Both functional and object oriented; caters to both sides of the design methodology debate.
- No curly braces for code blocks: blocks are determined by indentation.
- Very rich, both fully OO and fully functional set of libraries
- 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! w00t).
- 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.
- Poor error handling support in the library (PHP 5 finally introduced try/catch blocks, but they're not implemented to my knowledge in the library. Yet.)
DISCLAIMER:
Among the different languages mentioned here, the only one i know is C.so I hereby state that i'm in no way responsible for the misinformations that may be present in the description of the other languages.
courtesy:*codenewbie.com/forum/showthread.php?t=2142&highlight=comparison+programming+languages