What programming languages should an aerospace engineer know?
What programming languages should an aerospace engineer know?
(OP)
I thought aerospace engineers used only MATLAB extensively. But on the internet I have come across articles that suggest learning JAVA and VBA to be helpful.
Is it true that even aerospace engineers use languages like JAVA, C++ and VBA extensively?
Is it true that even aerospace engineers use languages like JAVA, C++ and VBA extensively?
vktsn0303





RE: What programming languages should an aerospace engineer know?
As a general tool, Matlab is pretty much the king of the hill. Unless you are planning on talking to hardware, Matlab is all that's needed. VBA might be useful in the context of manipulating Excel, which, by the way, is a quick tool for some analyses, since it doesn't require much programming. Python might be more useful that Java, since Python is a scientific and mathematical programming language
TTFN

FAQ731-376: Eng-Tips.com Forum Policies
Need help writing a question or understanding a reply? forum1529: Translation Assistance for Engineers
Of course I can. I can do anything. I can do absolutely anything. I'm an expert!
RE: What programming languages should an aerospace engineer know?
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: What programming languages should an aerospace engineer know?
RE: What programming languages should an aerospace engineer know?
But I have been having this doubt for a long time.
vktsn0303
RE: What programming languages should an aerospace engineer know?
.
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: What programming languages should an aerospace engineer know?
RE: What programming languages should an aerospace engineer know?
As usual I skipped the lectures and just do the exercises.
Having said that you'd be nuts to write in python if you have matlab available with the toolboxes you need. People are developing entire control and analysis systems for cars and then cross compiling them for other processors, without touching another language, for example. However Python to C compilers are becoming available, so cross compiling doesn't sound impossible. There certainly seems to be a critical mass of python users and developers.
Of course if you need Simulink then you are stuck with Matlab, there is nothing else quite like it, although Scilab does have a systems modelling environment, but I've never seen it used in anger (there is a free book on it and one day i will read it).
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: What programming languages should an aerospace engineer know?
RE: What programming languages should an aerospace engineer know?
vktsn0303
RE: What programming languages should an aerospace engineer know?
that you have to pay a pretty penny for...
TTFN

FAQ731-376: Eng-Tips.com Forum Policies
Need help writing a question or understanding a reply? forum1529: Translation Assistance for Engineers
Of course I can. I can do anything. I can do absolutely anything. I'm an expert!
RE: What programming languages should an aerospace engineer know?
IRstuff, if you are using python this may interest you
http://ipython.org/ mathcad style documants in pythion
http://numba.pydata.org/ JIT compiler.
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: What programming languages should an aerospace engineer know?
TTFN

FAQ731-376: Eng-Tips.com Forum Policies
Need help writing a question or understanding a reply? forum1529: Translation Assistance for Engineers
Of course I can. I can do anything. I can do absolutely anything. I'm an expert!
RE: What programming languages should an aerospace engineer know?
Java and C++ are object oriented languages. Object oriented languages allow you to manage massive, multi-programmer software projects. Given that C and C++ do not do exponents, they are not convenient for calculations. The object oriented stuff creates all sorts of overhead that you not need when you are working on your own. Modern computers are way faster than old ones. Probably, you do not need a compiler. Matlab and Octave are very good for calculations.
--
JHG
RE: What programming languages should an aerospace engineer know?
TTFN

FAQ731-376: Eng-Tips.com Forum Policies
Need help writing a question or understanding a reply? forum1529: Translation Assistance for Engineers
Of course I can. I can do anything. I can do absolutely anything. I'm an expert!
RE: What programming languages should an aerospace engineer know?
I've been trying to pick up Python, but every time I try to do something I need to install a new module. There are many sources of example programs that won't run unless I have "X" installed. When I started with Python I went through the basics easily enough, but now that I want to use it for "real" work I have to get matplotlib, but that needs six because I'm using Python 2.7, and dateutil, and a host of others, and they were all clumsy to set up until I found out about ez_setup... and I'm still going around in circles. I'd like to get the visual modules, too, but I don't DARE to try!
Wouldn't there be a demand for big fat ZIP files with appropriate modules installed, each a tailored recipe for engineers, scientists, game developers, web developers, etc.? Does that already exist?
I know, I know, that's the "Microsoft" approach - call it bloated if you must. But I've wasted days downloading tiny bits and pieces and coaxing them to run.
STF
RE: What programming languages should an aerospace engineer know?
However I am just getting my toes wet, so haven't done much in that regards.
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: What programming languages should an aerospace engineer know?
I'll give it a try tonight.
Thanks!
STF
RE: What programming languages should an aerospace engineer know?
I think the question of what language is 1) a matter of what you want to use the language for and 2) who you would be sharing your code with. I think it is too simplistic to say one is the best, they all have their niches. Forgive me but since I have a extensive experience using all these languages I feel compelled to give an essay! I hope it is helpful and not too boring.
IMHO the popularity of matlab is due to the wide availability in universities and all the built in math/plotting/debug tools make it really easy to get something working quickly... but it has a very expensive licence. Python is an excellent alternative there are many plug-ins that provide many of the same tools you find in matlab. Both of these languages are scripting languages so are not really suitable for heavy number crunching. (scripting languages are generally slower because the computer needs to interpret the text before executing the instructions). So there is a limit to what you can practically achieve with these languages.
For heavy number crunching (i.e. CFD, FEM), languages like Fortran, C and C++ are most practical. Fortran is an old language (some may say obsolete) that was developed specifically for engineering calculation so there are a lot of legacy codes in this language. With good code practices you can achieve the same or better efficiency with C and C++. C is considered a "close to the metal" language where you have a lot of control to optimize your code. While C++ is basically C with additional features to define high-level abstractions which makes large projects easier to maintain, yet these abstractions do make the language very complicated. (There is a joke that the only person that understands all of C++ is Bjarne Stroustroup the creator of C++, then in a talk he admitted that he even he does not understand it all!). The problem with these languages is they need to be compiled so for that reason they are not as flexible.
A common practice though is to use these scripting languages to glue together compiled code so the real work happens efficiently. Yet one still maintains the flexibility of the scripting languages.
Languages like Java and C# are a hybrid of compiled and scripting languages. They get compiled to "byte code" but still need to get transformed to machine code. They are a compromise of the two extremes, faster than scripting more flexible than Fortran/C/C++ but not the best in either case. Both have extensive built-in/libraries for math/visualization/debugging etc.
IMHO VBA is a niche language. It would not exist if it wasn't the macro language for many MS products. So it is like an awkward alternative to matlab in that you have a scripting language that has access to many built-in features (provided by excel). Yet on a platform that really isn't for programming. Again due to the legacy of wide MS Excel availability there are many useful excel/VBA based programs out there.
The 'who' is a really important aspect. To get far with programming you want to be sharing and re-using code. So you want to learn the languages that have a large community. In our group we lean towards C++/matlab but do not mix the languages much, we do have some Fortran VBA and Python but only minor at this point. There is a lot of talk about dropping matlab and saving the money by using Python instead. The problem is the learning curve, the legacy of wide availability of matlab is many of the new people that join our group already know it and can get started quickly. Some of my colleagues in other groups heavily use C++/Python or Fortran/Python so there is value in learning any of these core languages.
So from a general point of view I think all the languages are good to learn. I myself have used them all at one time or another. If you need to pick one to learn then you need to think about what you want to accomplish with that one language and go from there.
Take Care
Mike