View Single Post
  #3  
Old 10-18-2006, 04:08 AM
Siegmund Siegmund is offline
Senior Member
 
Join Date: Feb 2005
Posts: 1,850
Default Re: Suitable programming language

There is one compelling argument against perl and python: for simulations and exhaustive enumerations, speed matters. There is a reason to pick a compiled language, any compiled language.

Beyond that, I would suggest your choice is based more on what type of problems you have in mind.

C is fast, free versions are available, and lots of code libraries are available - but the learning curve is exceptionally steep and you're liable to get frustrated.

Visual Basic is capable of nice fancy front ends, buttons and menus and mouse interaction and all, but whether that's a feature or a flaw depends whether you WANT that. If ALL you want is a simulation program to spit out an answer into a text file, this is not the way to go. If, on the other hand, you've always wanted to build cute little mini-Windows programs, this is the easiest way to do that. Another strike against VB is that it's not a leading science/math language so it isn't going to have many built-in functions or libraries to help you with simulation code, though it will have all sorts of business applications, custom form designs, and such available.

Visual C++ will have the same "Visual" feature/flaws as VB, the same learning curve feature/flaws as C, but an abundance of libraries.

Another alternative is to get something like Mathematica that is only secondarily a programming language, but has a huge array of mathematics- and statistics-specific built-in functions and free code snippets. It requires some prodding to make Mathematica compile before executing but can be done. Don't choose this route if you "want to learn to program," but do choose this route if you also want to play around with extremely high precision arithmetic without special libraries, draw plots of your data without having to write extra code to do so (this is a real pain in VB or C - usually you export the data into a graphics program and then create the graphs separately instead), and so on.

Bottom line is that any language you choose will be *capable* of doing the simulations - your choice of language is going to depend entirely on outside considerations like what else you want to use your new programming skills for and who you want to share your programs with.
Reply With Quote