Quote:
|
For any of you stduents/engineers/bosses/supervisors, what would you recommend/like to see in terms of languages? I know not all fields use the same languages, and it can vary a lot depending on what you want to do. But I want to get into robotics/signal processing/ and or the biomedical engineering field.
|
If signal processing is your thing, then you'll be using MatLab. Personally, I despise MatLab, but it is the tool of the trade for EE's doing signal processing. Alternatively, you could use Python with the SciPy library.
For robotics, it really depends on your platform and area (i.e., AI, control architectures, multi-agent systems, etc.). C, C++, and Java have all been used successfully in this field. I have acquired a particular disdain for C++, due to the length of time involved in creating sophisticated software with it (I've been spoiled by Python and, to a lesser extent, Java). However, generally speaking, you should probably learn C and C++ if you think you'll be spending a significant amount of time working with robots.
In grad school, I was fortunate enough to be able to choose the platform for the mobile robot I worked on. I used a Systronix SaJe, which is powered by an Agile Systems AJ-100 processor. The AJ-100 natively executes Java bytecode, which eliminates the overhead of the JVM. The advantages of using Java is that it doesn't require as much time as C++, it is object oriented (C is not), and it has a built in threading model (neither C or C++ have any notion of threads). However, the majority of engineers in the field prefer C and C++, mainly because they already know it and it has traditionally been used for device control.