Comparison of Various Programming Languages

Status
Not open for further replies.

Punch-M6.net

Baseband Member
Messages
37
I've started to compile a list of pros and cons of various programming languages, partially from personal experience and partitially from various sources scattered around the net. I found it a useful activity for myself, and thought it might help others as well.

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 essential 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. :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 horribly break 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.

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.

.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:
· Framework runs only on Windows
· 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

I'll come back and add more as I update the list.
 
I've compiled a bit of a list for Delphi. Most of these points came from a Delphi textbook that was written a couple of years ago, so they could be incorrect now, but I don't think that these particular points would have changed. I haven't had a whole lot of interaction with the language.

Delphi
Delphi is, at heart, a Pascal compiler. It was designed to be a visual rapid application development environment without the limitations of other similar products. Delphi was the first to combine a visual development interface, an optomising native-code compiler, a scalable database access engine and other features.

Pros:
- Rapid development environment that is very fast to make programs in.
- Easy to learn and program in.
- Faster compiler than many other languages
- Powerful database architecture that can be changed if desired
- Solid OO Design encouraged, helping to keep code clean.

Cons:
- Visual Studio's interface is more customisable.
- VB can edit code while in Debug mode but Delphi can't.
- Compiled code is slightly slower than (good) C and C++ compilers'
- No operator overloading
 
Quick Basic
Quick Basic is generally well known for being the easiest language to learn... lol

Pros:

-Extremely Easy to learn
-Somewhat flexible as to what you can do
-Also somewhat powerful as to what you can do
-Can be compiled into a .exe file for use with other systems and can be used as a stand-alone program

Cons:

-Since its easy to learn, you can't do as much with it as the other languages like c++


Just though I would add the language I am currently interested in. I've known qbasic for quite some time now, and now I'm getting back into it. After finally realizing that the new 7.1 edition comes with a compiler :)
 
I didn't realise that QBasic was still around and being updated. I always just assumed that version 4.whatever that came with windows 95 was the end of it.

Is it a free download? And if so, where from?

Thanks for your reply.
 
Nice list :D
If you want we could combine my sections (General Programming FAQ) and yours into one massive newbie help article. Let me know if this sounds like a good idea to you.
 
Ranking from worst [1] to best [10]

Learning curve
VB [9] Delphi [7] C++ [2]
VB is a snap to get started, Delphi is not bad, C++ sorry

Cross platform Support
VB [1] Delphi [3] C++ [8]
VB = MS, say no more. Delphi (Kylix) can run on Linux, but support is spotty. C++ runs everywhere, you just have to handle a lot of platform specific issues in your code.

Performance
VB [6] Delphi [8] C++ [9]
VB is actually decent these days. Biggest performance problems are lack of support for more advanced operations needed for tuning. Delphi is quite good, but lack of tuning options, etc. make it hard to tweek an app with some problems. C++ is about as fast as you get without assembly

Ease of Development (simple gui apps)
VB [9] Delphi [7] C++ [2]
If your needs are basic, VB is about as easy as it gets.

Ease of Development (complex gui apps)
VB [5] Delphi [8] C++ [2]
But, when you run into walls with VB, Delphi just keeps moving along

Ease of Deployment
VB [2] Delphi [8] C++ [9]
VB practically invented DLL hell. Dephi usually does not have this problem. Neither does C++, and you usually know exactly what is in your C++ app.

Component Based development
VB [7] Delphi [10] C++ [1]
You can find most components you want for VB. You can use all of these plus some very nice Delphi only components in Delphi. And in Delphi, you can write components (and you can almost always get the source for native Delphi components you find). C++ -- we don't need no stinking components.

Library Availability
VB [2] Delphi [4] C++ [8]
Both VB and Delphi libraries are fairly sparse (there is a little more open source and equivalent for Delphi). You can find just about anything for C++, biggest problem is library compatibility problems.

Programmer Availability
VB [9] Delphi [3] C++ [6]
You can't swing a dead cat without hitting a VB programmer. C++ programmers are less common these days cause many of them switched to Java. Delphi is just not as popular

Expert Programmer Availability
VB [4] Delphi [5] C++ [3]
Experts are hard to find. VB tends to draw amateurs, Delphi and C tend to attract experts. Problem is expert C++ is very difficult to achieve. C++ is a very difficult language to master

Job satisfaction
VB [2] Delphi [7] C++ [5]
Most VB's seem to find themselves in a stale position. C++ can be a lot a fun, but it has a tendency to be terrible complex, making for late nights, etc. Delphi is really quite a bit of fun to use

Hacking Fun
VB [1] Delphi [4] C++ [9]
Serious hacker ignore VB, some like Delphi (but its GUI is negative), hard to beat hackability of C++, though templates sometimes cause serious bloat.

Platform Risk
VB [9] Delphi [3] C++ [10]
VB / C++ are here to stay (these app will be supported for a long time). Delphi may be in trouble, there is little reason to consider the dotnet version unless you have existing Delphi codebase.

Career Path Risk
VB [6] Delphi [4] C++ [6]
VB is here to stay as is C++. C++ is being replaced mostly by Java over time.

Overall if you are writing moderately complex Window Apps, Delphi is first choice, VB follows, and C++ is much worse.
 
sippin codeine, why you did not include Java in your thread as a comparison??? :)

I am learning Java currently, but i found it is quite ok to learn although i did not learn C or C++ before.

I learned VB before but as mentioned it just can run in Windows.
in addition, a lot of problems happened, when I made it into an installer :angry:

the interface are almost ready for you and you just need some simple coding compared to other languages.
if Java can be programmed just like VB, i think it might be quite useful.

hope someone can develop that application to make Java programming easier :eek:
 
ZoneFire said:
sippin codeine, why you did not include Java in your thread as a comparison??? :)
I am un-familiar with Java, I dont even know if you can make a GUI in Java, if so i'm sure its a pain in the ass.
I make Windows applications, Delphi lets me do that very easily providing a strong programming language at the same time.
 
Status
Not open for further replies.
Back
Top Bottom