Question
Asked 22 November 2018

If someone intends to learn a new programming language, specifically for Electrical Engineering applications, which one do you suggest and why?

Considering the recent trends in electrical engineering and new emerging topics in electrical engineering and considering the multidisciplinary areas of research (esp. smart grid), all electrical engineers must have a good command of programming. In this respect, taking into consideration both the academic and industrial requirements, which programming language would be the best choice and why?

Most recent answer

Abdelghani Rouini
Ziane Achour University of Djelfa
THE BEST PROGRAMMING LANGUAGES FOR ELECTRICAL ENGINEERS Read more at :https://www.freelancinggig.com/blog/2017/08/09/best-programming-languages-electrical-engineers/
regards
2 Recommendations

Popular answers (1)

Abdelghani Rouini
Ziane Achour University of Djelfa
For a new programming language, specifically for Electrical Engineering applications, I you suggest : The Python.
4 Recommendations

All Answers (61)

MATLAB may be essential. A public-domain tool that comes close to MATLAB is "octave."
In addition, you may need some other packages.
General-purpose languages such as C, Python are always useful.
Often, a single programming language may not be sufficient.
Sorokhaibam Nilakanta Meitei
Manipur Institute of Technology, Manipur
For modeling and simulation you can COMSOL Multiphysics software. It is very useful for electrical designing and modeling.
Kianoush Naraghipour
University of Strathclyde
MATLAB, PSCAD
Ali Esmaeel Nezhad
University of Bologna
Thank you all for your kind responses. I already have a good command of GAMS, MATLAB, and DIgSILENT Powerfactory and relatively C.
What is your opinion about Python and its applicability?
Brian Kirby
Brunel University London
All the answers so far are valid in the sense that learning a programming language helps to break the problem down to the component steps required to achieve an objective. It depends on what you want to do.
For algorithm development the MATLAB script approach works. For system studies then PSCAD / DigSilent etc are useful.
For some applications a logic based ( e.g. prologue) or stack based (forth) language may suit better.
Tobias Deß
Friedrich-Alexander-University Erlangen-Nürnberg
Python helped me a lot until now. It is relatively easy to learn, has an awesome community around it and you can prototype things quickly.
Althought you trade execution speed for development-speed, by using Python. There are methodes to speed up the few comutational intensive lines of your program in order to reach almost-C-speed.
Since you work with PowerFactory, you can automate every routine in Python without using the kind-of-oldshool dpl language.
Especially for the automatic analysis of large structured data (pandas-package), python would be my nr.1 choice.
Python is also a good "glue"-language to build a toolchain from existing code.
One of the best ways to start python ist www.learnpython.org there you can interactively try and learn the basic syntax and concepts without any installation-hurdle.
Hope it helped :)
1 Recommendation
Ali Esmaeel Nezhad
University of Bologna
Thank you Brian and Tobias for your detailed answers.
Werbeston Oliveira
Federal University of Amapá
I'm thinking of migrating to Python. There are already several mathematical libraries tested.
Joseph Shitote
Strathmore University
Python would indeed be the best to start with. Most electronics such as the Raspberry pi mini computer is based on python scripts and you can do numerous automation projects with it.
For smaller micro controllers though such as the Arduino, venturing into C and C++ languages would be the best way to start.
Brian Kirby
Brunel University London
Python is good in the creation of functions and scheduling activities, it ties into other languages well. However, it won't do the detailed engineering work - it will automate the activities but will still require something else to do the number crunching.
Rajendra Ramnarine
University of the West Indies, St. Augustine
I would say C++ programming is an invaluable skill to have.
Akeem Olalekan
Federal University of Technology Minna
I will recommend C especially if you are considering programming microcontroller or for more advance industrial application you can learn embedded linux. Though python also work with some microcontrollers like rapsberry pi.
Tanya Srivastava
University of Missouri
Mr. Nezhad,
It completely depends on the field of application. MATLAB is one of the very broadly use software and is transferable to various field of applications.
However, if you would want to work with computer aided design application- COMSOL or SOLIDWORKS
Embedded Systems: RTOS, embedded linux etc., Rapsberry Pi is anytime one of the powerful micro controllers.
Considering programming- python is used in various domain these days.
It will depend on what is the field of application.
Innocent Kamwa
Université Laval
Python
1 Recommendation
Khezr Sanjani
Stony Brook University
Python
1 Recommendation
Manas Jena
Indian Institute of Technology Palakkad
The software products we have for WAMS applications( GE e-terraphasorpoint, e-terra phasoranalytics) use c# and c++.
Our EMS products also use C++.
For UI related applications, Java is used.
Karim Sebaa
University Yahia Fares of Medea
I say Python !
1 Recommendation
Mohammad Abuashour
Hashemite University
MATLAB for sure hence it's Avery powerful tool especially simulink
1 Recommendation
Ali Mohammadi
Shahid Bahonar University of Kerman
hello
it depends on your project, for example, power electronic engineers could use "c" because they need to build an experimental plan and almost microcontrollers support c language.
Ali Esmaeel Nezhad
University of Bologna
Thank you all for your useful answers.
Best regards,
Ali Esmaeelnezhad
Shady M Sadek
International Academy for Engineering and Media Science
For optimization problems, I think Matlab,Python, Julia and GAMS may be used .
For embedded systems and micro-controllers, matlab as well as "c" can be used.
Kopano Malombo
University of the Witwatersrand
I would recommend MATLAB or C++. Every other language can easily be learnt from the basics of those two.
It will suggest MATLAB ,Python
and Eurostag.
V. Ashok
National Institute of Technology Raipur
MATLAB & C++
Li Zhang
University of Birmingham
VHDL, YOU WILL FIND THE LOGIC GATES ARE ALL YOURS.
Yang Gaobendan
Shanghai Jiao Tong University
MATLAB ,C++ ,Java,GAMS
1 Recommendation
Muhammad Yousif
Shanghai Jiao Tong University
MATLAB, one short answer!
Ogbonnaya Bassey
Texas A&M University
I would recommend python. It's readable, free, and arguably the fastest growing programming language
It is quite large field of applications and it depends on the purpose of doing it. For example, for electrical power, MATLAB and PSCAD is user friendly and MATLAB can be interfaced with python for another purpose of applications. However, other software may not have this opportunity for doing this sort of simulations.
Abduselam Hamid Beshir
Aalborg University
I highly recommend you MATLAB and basic C or C++
I suggest Python, because this is a powerful language and you can use to develop programs for data analysis, IoT and others, the biggest companies use this and you should also. MATLAB is essentials for you academic formation.
2 Recommendations
Majid Al-Taee
University of Liverpool
MATLAB and C/C++ combination would be a good start for learning new programing languages for EE and beyond.
2 Recommendations
Mohammed Kemal
Independent researcher
I would go with Phyton, R and React.
3 Recommendations
Vineeta Chauhan
Indus University
MATLAB is good .
1 Recommendation
Maximiliano Bueno López
University of Cauca
I would recommend python and you can also try with Scilab
2 Recommendations
Wirote Bua
Provincial Electricity Authority
I would also recommend python and C++.
1 Recommendation
I think C and MATLAB... These two are very helpful programming languages for electrical engineering
1 Recommendation
Venkataraman Chayapathy
R.V. College of Engineering
MATLAB ...very easy tool to conduct simulation studies...after successful results hard ware can be implemented.....chances of desired output of hard ware is bright
Mani Ashouri
Aalborg University
I suggest python 3.x, which is free, very good for automation and linking different programs, nad has lots of free packages. Try to instal anaconda at first.
Behrooz Taheri
Qazvin Islamic Azad University
I suggest python, MATLAB and C++ .
Ammar A. Hajjar
Tishreen University
MATLAB is a good choice .
1 Recommendation
V. Ashok
National Institute of Technology Raipur
I suggest python, MATLAB and C++ and you can also try MATLAB/live script instead of python.
1 Recommendation
Younes Soleimani
Shahid Beheshti University
MATLAB
1 Recommendation
For foundation, C
For getting actual work done, MATLAB and Python
1 Recommendation
Shahadat Hussain Parvez
North East University
In my opinion you have to start with fundamental programming with any programming language. C used to be very popular for this but python is rising as the go to language for starting programming.
Additionally MATLAB is very important for an electrical engineer. For advanced task MATLAB is very important. Python can also be used for advanced real works.
2 Recommendations
Alper Nabi Akpolat
Marmara University
As known, there are useful lots of software for a specific area in Electrical Engineering.
Mainly, in order to comprehend the algorithm concept, I think that at first it should be begun C++ based language. Maybe later MATLAB which is a high-performance software for technical and scientific calculations, mainly involving numerical calculation, graphical data representation, and programming. It is being preferred by industrial companies to solve their problems.
Also, the python language is being gained popularity and taught in the faculties of the Universities more commonly anymore with C based languages.
-- For power system analysis can be used ETAP, for utility transmission protection Aspen is the most used, for transmission planning, Siemens PTI and PSS or General Electic PSLF are both widely used in the industry.
-- For power system simulation software, RSCAD is designed specifically for interfacing to the RTDS Simulator hardware.
-- For power electronics, MATLAB and PLECS are highly recommended.
-- For electrical machines, Maxwell and ANSYS engineering simulation and 3D design software, preferred mostly in industry.
-- For renewables, there are lots of specific program such as EneryPLAN, NREL, HOMER, PVsyst, PV*Sol, RETScreen, or packaged software, etc. to simulate solar or hybrid power systems.
-- For measurement, processing, and instrumentation, NI based LABVIEW software can be preferred.
I think the needs in the industry and in the academy cannot be split up completely, because the hearth of the industry beats at Universities.
2 Recommendations
Mohamed EL-Shimy
Ain Shams University
MATLAB and Python are good choices for their widespread applications in the electrical engineering.
Martin Slabbert
Transpower NZ
I would recommend Python as another language to consider. There are many add on libraries, simple to learn and it is open source.
1 Recommendation
Chris O'Halloran
Tesla Consultants
Python using Anaconda and Jupyter notebooks. Cython if you encounter bottlenecks in your Python code.
Atul Kumar Dwivedi
Bundelkhand Institute of Engineering and Technology
I would recommend MATLAB programming because there are many toolboxes to support electrical applications of drives and power-systems. In addition to this one may learn D-Space, DSP and FPGA programming for advanced controllers.
Hooman Firoozi
Novia University of Applied Sciences
Dear Ali Esmaeel Nezhad this is my question too.
I think MATLAB is the main and first language each electrical engineer should learn, which I am sure you do.
Then, in my opinion, Python would be great.
Other priorities would be: R, GAMS, Java, C++
Good luck
1 Recommendation
Venkataraman Chayapathy
R.V. College of Engineering
With respect to programming languages C program is good as it will handle mathematical expressions effectively. But writing programs is not a good option as it takes lot of time and effort.Instead many good packages are available like MATLAB for block diagram implementation specially in the domain of control engineering and MI POWER for simulations on electrical power systems. We have quiet a number of software packages to simulate solar energy systems.
Md. Arif Istiek Neloy
BGC Trust University Bangladesh
To get started I will always suggest C to start with. Because it really helps to understand the memory management. And later it will be helpful to switch in Python.
Abdelghani Rouini
Ziane Achour University of Djelfa
For a new programming language, specifically for Electrical Engineering applications, I you suggest : The Python.
4 Recommendations
Abdelghani Rouini
Ziane Achour University of Djelfa
Along with C/C++, knowledge of Python can help a practicing engineer round out their skills from circuit design to playing a part in the complete product lifecycle
2 Recommendations
Abdelghani Rouini
Ziane Achour University of Djelfa
THE BEST PROGRAMMING LANGUAGES FOR ELECTRICAL ENGINEERS Read more at :https://www.freelancinggig.com/blog/2017/08/09/best-programming-languages-electrical-engineers/
regards
2 Recommendations

Similar questions and discussions

Related Publications

Article
Full-text available
With the rapid development of technology, smart grid technology has gradually become a crucial innovation in the field of electrical engineering. This paper aims to explore the current application status, innovative aspects, and future development trends of smart grid technology in electrical engineering, with the hope of providing valuable referen...
Article
The steptorial is a new form of help system designed to assist new users in learning complex applications. Steptorials provide examples of high level user goals within applications using a hierarchical instruction set by breaking this goal into smaller goals, down to the level of individual interface interactions. Steptorials are unique in that the...
Got a technical question?
Get high-quality answers from experts.