In my research life I often use VBA to automate Microsoft Excel, Access, PowerPoint, and some times Word. In modern scientific software, they required Python or Java.
In your opinion which language you advice a researcher to learn and master?
It depends on your field of research. In the area of machine learning Python and R are very popular. Specially there are very good packages available for those languages.
In my opinion available packages are very important to consider, specially for scripting languages. If your community uses different tools, you have to reinvent the wheel very often.
In some areas (eg mechanical engineering) Matlab/Simulink is a popular combination. But it is not free.
Java is popular when it comes to deployment.
If speed and memory efficiency counts C/C++ is king.
My personal preference is C/C++ when I am running numerical models on big datasets. I try to use optimized libraries like BLAS and offload work to the GPU. In the case I want to visualize results or quickly try out something I prefer Python.
Sorry, buit in my opinion there is no silver bullet: which is the "best" language depends on your current context, namely the expertise, legacy code and best practices of the research group/community in which you are working or aiming to work.
Personally, in my field Java is, as far as I know, the most widespread language, however in the last few years more and more people turned to Python which might become the "gold standard" in a short time (since it allows fast prototyping). Moreover, recently I started a collaboration with a research group that works in a completely different field form mine and guess what? about 99% of their code is written in Visual Basic, so I'll have to learn it.
However, if you are bent on learning just one language, I'd recommend you Python because it's very good for prototyping (which is what you do 99% of the times as a researcher), there are lots of libraries developed by other researchers, and "batteries are included" which means that almost anything you need is included in the base packages so you won't have to load truckloads of dependencies to run your code (which is the case of Java).
It depends on your field of research. In the area of machine learning Python and R are very popular. Specially there are very good packages available for those languages.
In my opinion available packages are very important to consider, specially for scripting languages. If your community uses different tools, you have to reinvent the wheel very often.
In some areas (eg mechanical engineering) Matlab/Simulink is a popular combination. But it is not free.
Java is popular when it comes to deployment.
If speed and memory efficiency counts C/C++ is king.
My personal preference is C/C++ when I am running numerical models on big datasets. I try to use optimized libraries like BLAS and offload work to the GPU. In the case I want to visualize results or quickly try out something I prefer Python.
As someone who is undergoing a similar exercise I would probably recommend Python though as others have said there is no one right answer. I would pick Python because I feel that it is an easier language to learn, particularly for a newcomer to the field. Python also has many additional libraries that suit more specific purposes, ideal for research. As a potential learning resource I would recommend a six-course Coursera specialization which teaches Python in a challenging and enjoyable manner. I have included a link below. Good luck!
مايكروسوفت إكسل، بيثون، روبي، JAVA، C، C ++، MATLAB، الرياضيات، القيقب، البرنامج Mathcad، فيجوال بيسك، فورتران، ABAQUS، ANSYS، وغيرها العديد من لغات البرمجة كل خير،
Moim ulubionym językiem jest MATLAB - bezproblemowa integracja z prawie każdy inny język i uniwersalność skrzynek narzędziowych czyni go uniwersalnym wyborem dla studentów w nauce, inżynierii, technologii i medycyny.
Thank you Dario for your valuable answer, I agree with you that the main advantage of Python is the ease of coding and the large libraries, and the main advantage of VB is the usage in Microsoft office automation, while Java is the most spread language for other purposes.
Actually I am new to programming and just started using MATLAB and Python. ya Python has large libraries and easy to coding. Thank you Dario and Muhammath for your insights
In my opinion the best language is that can help you to fix some specific problems. I usually use C/C++ and Java for some applications. I've been using Python for some applications, but not in general.
I believe that if you can solve a problem just for yourself you also can join more than two or more languages, as well as software.
For sure, the VBA has advantages, but it has its limitations too. I agree with some colleagues above, that some times R or other specific language can be more useful than other, because it has some packages or libraries, that has been tested and approved in other researches.
In conclusion, the best language is that you know deeply and you can get the best from it.
It depends on your field. I should say that when you know how to program, it doesn't matter which programming language, then you can be flexible and work with any.
But in science R or python are effectively very useful.