| Electronics > Beginners |
| what is the most relevant programming language for ee? |
| (1/21) > >> |
| hatokay:
hello guys. iam currently studying electronic engineering and entering my second year. as of right now they only thought us a little bit of C language. my question is, what programming language is best for ee. i heard pyton and c++ are what i need to know, but what do you guys think. |
| rstofer:
One language war coming up! I am going to talk about EMBEDDED programming, not some application that tries to cure world hunger! From my point of view, embedded programming is done in C. Personally, I don't want objects created and destroyed along with the requisite memory allocation and deallocation on a device with limited resources - so, C++ is out (in my view). There is a tiny Python for embedded programming but, in general, Python is an interpreted language so of very little use in an embedded application. Possibly Ada but I just haven't gotten involved with that. The .gov likes it, the rest of the world, not so much. Now, looking at the broader 'engineering' world, Fortran is my choice for numeric programming. I have been using it for nearly 50 years so, yes, I kind of like it. OTOH, MATLAB is my favorite solver and wxMaxima is right there as well. Octave is supposed to be useful but I haven't used it. These selections are for the working engineer who wants to solve something. I LIKE Pascal but it's been superseded by Modula 2 and Oberon, neither of which I have used. I play with Pascal from time to time. I like using it for recursive descent compilers (like the original P4 compiler by N. Wirth). If you want to change from EE to CS, I suppose C++ and Java are at the top of the heap (particularly Java) and Python is coming along. Definitely, learn C++ and Java unless you are going to work strictly in the embedded world. |
| Crazy_Pete:
Well everyone is biased but i would say C++. It is standard on some platforms anyway (For example much of the Arduino Libs are in C++ and the Arduino IDE links it in for you if needed.) Generally C and C++ are the most commonly used although i am seeing some python here and there. If you are new to programming i would learn C++ first. It is very hard to make the jump from C to C++ since the 2 languages are so close, C++ programmers who started in C tend to "think in C" and lose some of the benefits of C++. A little known fact is that C++ was originally invented to do large network simulations and is ideally suited for engineering work. In any case i find it also helpful to learn the assembly language for the MCU in question, if for no other reason than to see what the C++ compiler is actually doing! Thanks Crazy Pete |
| langwadt:
--- Quote from: rstofer on November 04, 2018, 12:08:18 am ---One language war coming up! I am going to talk about EMBEDDED programming, not some application that tries to cure world hunger! From my point of view, embedded programming is done in C. Personally, I don't want objects created and destroyed along with the requisite memory allocation and deallocation on a device with limited resources - so, C++ is out (in my view). There is a tiny Python for embedded programming but, in general, Python is an interpreted language so of very little use in an embedded application. Possibly Ada but I just haven't gotten involved with that. The .gov likes it, the rest of the world, not so much. Now, looking at the broader 'engineering' world, Fortran is my choice for numeric programming. I have been using it for nearly 50 years so, yes, I kind of like it. OTOH, MATLAB is my favorite solver and wxMaxima is right there as well. Octave is supposed to be useful but I haven't used it. These selections for the working engineer that wants to solve something. I LIKE Pascal but it's been superseded by Modula 2 and Oberon, neither of which I have used. I play with Pascal from time to time. I like using it for recursive descent compilers (like the original P4 compiler by N. Wirth). If you want to change from EE to CS, I suppose C++ and Java are at the top of the heap (particularly Java) and Python is coming along. Definitely, learn C++ and Java unless you are going to work strictly in the embedded world. --- End quote --- just because C++ has lots of bells and whistles doesn't mean you have to use them, Arduino is basically C++ using only the stuff that makes sense in a (small) embedded world I haven't use much python but I'd think it can do what you would else do in Matlab etc. or if you need to do a simple gui or test system for some embedded do-that |
| coppice:
Somewhere in the broad EE domain pretty much every computer language has relevance. Which particular area are you interested in? Embedded programming? Modelling? I think you need to be more specific to get meaningful answers. |
| Navigation |
| Message Index |
| Next page |