Programming language in Biology

AI Thread Summary
Knowing a programming language can significantly enhance capabilities in Biomolecular Sciences, particularly for statistical analyses and custom program development. C and C++ are recommended as foundational languages, with C being ideal for writing fast programs and C++ offering more convenient features like simpler memory management and built-in string types. While Oracle and SQL are important for database management, understanding various database environments is also crucial, as many modern applications use relational databases. Learning languages like Perl may be beneficial if they are prevalent in the specific field of biomolecular science. Overall, a solid programming foundation can facilitate better data handling and analysis in biological research.
Monique
Staff Emeritus
Science Advisor
Gold Member
Messages
4,211
Reaction score
68
I am wondering, does it give one an edge to know programming language in Biomolecular Sciences? For instance if a certain analysis, maybe statistical, needs to be done.. and you can write your own little program..

If so, which languages would be the best to master? Visual Basics, C++, Oracle..?
 
Biology news on Phys.org
I guess Oracle is not a programming language, but a database.. which different kinds of databases are there?
 
Most databases nowadays are relational, at least in part. And most of them accept some dialect of the database language SQL (pronounced sequel and standing for structured query language). Oracle and SQL Server are proprietary database products and Mydb is an open source (I believe) database. The Microsoft product Access is sometimes called a database product, making old line DBAs like yours truly smile.

An older type of database was the network type, of which I believe IDMS still survives.
 
C is probably the ideal language for writing little, fast programs.
 
Whoa, thank you for being so helpfull. I have a question though, what is meant with a 'fast' programming language?

I still have to process all that you just said, but I can ask the following: is it usefull to start with learning C before going to C++?
I hiked along with a friend who was taking an introductory C course. The course wasn't that well set up, just a new programming problem was given each week that had to be solved (eg. you have ten students, write a program to enter their grades and calculate the mean, etc.)

VB has been helpfull for me in Excel, where with a little programming knowledge I was able to modify a macro so that it would loop infinately (with some lingo I had learned from the C class).

Oracle I also ran into at work, where a computer engineer had developed a database for me for entering and safely storing data (Access didn't cut it and Excel is too easy to mess up), I would have loved to've modify the database myself..
 
This will be a very silly question

With the databases/languages you mentioned, in what kind of environment are they written and operated?

Is an ordinary PC with Windows XP able to handle them? I think with the C course we had to log into a different computer through telnet and download software from the internet (the compiler I guess).

The computer engineer who worked on the Oracle database was sitting at a Windows NT computer.. but I could use the database at an XP computer, and the data was sent to again a different computer which I didn't have access to..
 
I echo Ambitwistor's comments on C vs C++. While you will probably only need C to do what you want to do, C++ offers simple alternatives to several things that are more convenient than C. Ambitwistor mentioned input/output. In addition, C++ style memory allocation/deallocation is a little simpler to write, and C++ has a real string type, a feature that C lacks... string manipulation in C is fast and flexible, but it is probably one of the most difficult things to learn as a beginning programmer.


But in any case, you will probably want to query people who work in your field; if every biomolecular scientest in the world uses Perl for everything, then you should definitely start learning that simply because it would be easier to understand/use what others have written. I don't know if that would be important to you at all, though...


If you want to DL a free C/C++ compiler for windows, I know of two options...

(a) Download "cygwin" which is a unix emulator for windows. You can then use "gcc" in this environment which is probably the best free c/c++ compiler.

(b) Download "djgpp" which is a port of gcc over to dos. I don't remember how up to date it is, nor how good of a conversion it is. On the upside, with it you can get the free integrated development environment "rhide"
 
Last edited:
Well as someone programming almost whole my life (nothing professional...do you remember good old C64 fatty :), and the spectrum) I can tell you, that the safest thing is a C++. Any kind of foundation is good, basic, Pascal, vbasic, c etc... Because you will find very similar/same logic everywhere just different syntax... Of course there’s a thing called object programming you’ll face dealing with C++, but it’s not some kind of great obstacle, after a while you’ll find that way of thinking useful and economic.

Even today I see many physicians working with the Fortran for their simulations (even though there’s better solutions (sometimes)), but there’s no mainstream of that kind in molecular biology (tj. problems being solved with the computers). But C++ is mainstream in today’s serious programming (you could use it for many things, and it’s great starting point for some other great languages as PHP...)
+ There are a bunch of great eBooks abut C/C++(almost every good book could be found in eBook form), or if you’re more comfortable with real books (who isn’t :)) it’s no problem learning it by your own, believe me...
 
Back
Top