Which programming language for Biomedical Engineering?

09.06.2020

Just as some jobs disappear and other appear, old programming languages become obsolete while new programming one are launched. On the other hand, there are so many possibilities, and all of them have things in common, characteristics that are unique, advantage and disadvantages.

The ideal thing is to use different languages for different objectives. For example, if we want to do mathematical operations, the best option is Matlab. On the other hand, for big amounts of data visualization, R is interesting. Python is best recomended for Artificial Intelligence or graphic estimations.  

Therefore, it can be difficult to choose a programming language. How to proceed? Which one has more advantages? Which one choosing as a bioengineer?

More than one language

First thing I think is that you do not need to learn only one language, but at least a few. The very good aspect of pogramming is that they have all common bases, so once you learn one language - try to choose one that has more "general aspects" in common with other languages - you are able to mostly understand any other language. Therefore, the only thing you have to do is to have a look at the specificities of the new language in order to understand them and quickly be able to use it.

However, there are languages more interesting than others. It will depend on what you do.

Here, is a list of some top languages that you should learn. 

Java

Java is an oriented language that offers APIs for different activities like Database connection, networking, XML parsing, utilities, etc

The idea is a that Java is a general-purpose programming language that is class-based, object-oriented, and designed to have as few implementation dependencies as possible. It is intended to let application developers write once, run anywhere (WORA), meaning that compiled code, can run on all platforms that support Java without need of recompilation.

So, it is a very very good language for beginners as it gives you a complete overview on programming,even with the problem of memory management (which is quite expensive) and the absence of templates that can limit you to create high-quality data structures. 

Python 

My complete opinion is here.

R

I have already said it, but R is very interesting for big amounts of data visualization. It s a comprehensive sataistical analysis language which encourages to develop ideas, very easy to code, open-source, good for GNU/Linux and Microsoft Windows. Furthermore it is a cross-platform which means it can seamlessl run on different operating systems.

Once again, the memory management is not the best. 

Javascript

When you learn Java, you almost always learn Javascript in the rush. It is often abreviated as JS. It is a high-level, often just-in-time compiled, and multi-paradigm. It has curly bracket syntax, dynamic typing, prototype-based object-orientation and first-class functions.

But the most important thing, is that alongside HTLM and CSS, Javascript is one of the core technologies of the WWB.

JavaScript enables interactive web pages and is an essential part of web applications. The vast majority of websites use it for client-side page behavior, and all major web browsers have a dedicated JavaScript engine to execute it.

SQL

Database management is important nowadays, and for that, I think that even if there are more languages, SQL can be very interesting for beginners. It is a powerful query language, that is optimised for large numbers of table rows, fast for searching and querying data, with a high availability. Finally, it is quick for retrieving data from multiple tables. 

Careful though, it is difficult to convert data from Objects into database tables and it can only run on a single server. 

My advice

I think that , indepently on the programming language, you should at least have ideas of databse management, web iplementation and a general language.

Level

I have not talked about it at the beginning of the artcile, but this might be  an important thing. I am assuming that whatever the level or if it is difficult or not to learn it, you will eventually do it. But maybe you will need to know it so you can better organize your time. 

So, I leave you here a hierarchy of the level of difficulty , extracted from this article.

https://careerkarma.com/blog/easiest-programming-languages-to-learn/As you can see here, most of the languages I talked about are between the easier ones. The more difficult ones are for very precise works. 

I let you also here a link to another article with the easier languages explained.