+ 30

Which programming language for an engineer?

I have read many things about that question on websites, but everyone says different things. I'm a mechanical engineering student and they teach us C++. But at the same time, some teachers like Python, some like Matlab. Each one says that their chosen language is better than others. So, I'm confused. What's your opinion? Already I will not design any web pages, or create any game. I need a thing that is suitable for engineering stuff. Thanks for answers.

27th Mar 2017, 12:48 PM
Volkan Dumlu
Volkan Dumlu - avatar
79 Answers
+ 59
The best choice is to master all the tools. If you need to make "A or B or C..." decision - Python is better. Why I would choose Python as a primary language: 1) It is a scripting language. You can use it as an overwhelming scientific calculator. 2) Python has many usefull libraries for the field. And the language is simple to use. 3) Acquisition of a universal skill, which you'll use in the future (100% guarantee). 4) Ability to share your code with everyone you need. With NO issues. 5) Guarantee that your tool will continue to develop. 6) Larger community. As a result - better support. 7) There is very (VERY) high possibility, that you'll be able to automate your tasks in other special software using Python. For example, search "python ansys workbench". And there are many other examples... 8) Independance from proprietary technology and its owner decisions. One more thing is: "...wait a minute...oh my...": https://www.mathworks.com/help/matlab/matlab-engine-for-python.html )))) You can still use MatLab engine while coding in Python... Second - MatLab. It is widely used in engineering. It is faster than pure Python (if that matters). Means of MatLab are close to the needs of engineers. Why not C++ - the language is more scriptic, it is not close to the engineering needs. You will have to spend a lot of time to make your code. Yes, it will work fast. But you have to count all the time spent for getting working code. C/C++ lets you learn algorythms and gain fundamental knowledge. If you want to know "How all the stuff works?" - dive into C/C++. P.S. I have master degree in mechanical engineering. I taught theoretical mechanics to students in the university. My wife is a stress mechanics engineer at one of the top aircraft companies. She makes stress mechanics calculations for turbojet engines.
27th Mar 2017, 9:15 PM
Denis Genov
+ 36
For an engineer, I would surely prefer python as it is quite simple to use. Infact nowadays most of the colleges are prefering python over the C. Good thing about python is, you dont have to worry about the syntax.
27th Mar 2017, 2:15 PM
shubham khandelwal
shubham khandelwal - avatar
+ 15
As far as I know, most mechanical engineers use MATLAB. Java also helps due to its vast areas of applications​.
27th Mar 2017, 2:30 PM
Krishna Teja Yeluripati
Krishna Teja Yeluripati - avatar
+ 11
I don't know much but I would say Java , because of the reason it is platform independent , it can be used not only on computers but devices like fridge , oven , coffee maker ,etc... The scope for Java and its features is very broad and it can be very useful for making robots, devices,etc. - It's the most popular languages for a reason .
27th Mar 2017, 1:58 PM
Utkαrsh - avatar
+ 10
c++, Java, Python
27th Mar 2017, 12:56 PM
Wisdom Abioye
Wisdom Abioye - avatar
+ 8
Not one language can be used to complete all the tasks you would like to as an engineer. each language has its strong points and weak points. that being said. Learn one language first. When you become good at it, learning other languages will be easy.
27th Mar 2017, 6:30 PM
Avic Ndugu
Avic Ndugu - avatar
+ 8
I heard matlab is so good for engineers
29th Mar 2017, 10:01 AM
kassaye Tracy
kassaye Tracy - avatar
+ 5
If anyone knows the names of most tending and popular compilers/interpreters(for any os) out in the market, then please share the name @ the given forum! Open this link using sololearn app : https://www.sololearn.com/Discuss/277391/?ref=app There's information already available out there, So you MUST Check it Out Now! >>
27th Mar 2017, 5:36 PM
Harshit Gupta
Harshit Gupta - avatar
+ 5
Of course you might also want to know a little about assembly language, and your risc, cisc processor instruction sets, etc. But if you're programming for devices, you might need atleast a crash course of alot of different nit picky things like MIPS, or SPIM, or SPICE,I think it is.
28th Mar 2017, 4:15 AM
David Hutto
David Hutto - avatar
+ 5
depends c++ is for robots, mechatronics, control, deep systems matlab for things of math python is for research and scripting my opinion and experience I am mechatronics engineer and actually im studing software enginering
28th Mar 2017, 8:39 AM
Angel Olvera
Angel Olvera - avatar
+ 5
Depends on requirement. But if u r familiar with any one programming language, u may grasp other languages very easily as only syntax changes. For instance if u r familiar with C++, u can learn MATLAB, Java quickly. I would recommend C++. Unknowingly, I learnt C++ first, and it was very easy for me to learn Java and MATLAB.
28th Mar 2017, 12:02 PM
Sakib SKS
Sakib SKS - avatar
+ 4
python because i am doing Ece . and i like working with Raspberry pie over Arduino , so python anyday because python and raspberry pie do wonders together .
27th Mar 2017, 5:57 PM
Shru - avatar
+ 4
sorry for my english some programm separate of GUI and back-end (business logical). GUI in engineering programm, imho, it's function graph or 3D vision process. Back end - calculation or meassuring. for GUI - any graphic framework, for calculation - only native language (for speed + equipment requirements), imho. best regards
27th Mar 2017, 6:43 PM
Konstantin - avatar
+ 4
Depends on the job title or the field you are planning to move into. Web developer - Html , c# , php, drupal, javascript, css. software developer - c/c++, java , phyton, embedded programming. Languages can be interchangable in some cases depending on fields. These are the basic differences from my point of view.
28th Mar 2017, 5:45 AM
Naief Qureshi
Naief Qureshi - avatar
+ 4
use the languages which are only used for website development i.e. Html,css,jvascript,php. I am also computer engineear in collage i am learn c,c++ and java. but for website development learn html,css,javascript and php.
28th Mar 2017, 7:17 AM
Mayur Chaudhari
Mayur Chaudhari - avatar
+ 4
If this comes under knowledge-gaining, then learn as many languages as possible! Don't overload, just know the ones that you're comfortable with! Some of the names of coding languages I've heard of are (not in order) : COBOL, Lua, C/C++, C#, Clojure, CSS, CoffeeScript, GitHub Flavored Markdown, Go, Git, HTML, JavaScript, Java, JSON, Julia, Less, Make, Mustache, Objective-C, PHP, Perl, Property List (Apple), Python, Ruby on Rails, Ruby, Sass, Shell script, SQL, TOML, XML, YAML, F#, php, jquery, ...
2nd Apr 2017, 10:37 AM
Harshit Gupta
Harshit Gupta - avatar
+ 3
python or java are good but python is better
28th Mar 2017, 5:19 PM
Karam Boubou
Karam Boubou - avatar
+ 3
I think Python is easiest language for engineers, that's why it's preferred more than other languages in machine learning and Data science. but still languages like C++ are the best.
28th Mar 2017, 6:11 PM
Michael Adane
Michael Adane - avatar
+ 2
That language which you love....
28th Mar 2017, 7:28 PM
shuvokr - avatar
+ 2
Well I guess this depends on what kind of engineering you're taking
29th Mar 2017, 10:59 AM
RoyEugene - avatar