INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Jobs

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?

vktsn0303

RE: What programming languages should an aerospace engineer know?

It really depends on what that engineer is doing, i.e., would you use a hammer on a screw?

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?

We use any language to get the job done. The most valuable language is the one used to communicate your ideas and results to another person.

RE: What programming languages should an aerospace engineer know?

(OP)
I'm sorry GregLocock, I am uable to recollect the Where, When and Who. It was nearly a month ago that I had come across the article somewhere on the internet.
But I have been having this doubt for a long time.

vktsn0303

RE: What programming languages should an aerospace engineer know?

This is just my personal opinion - and not intended to be contrary to those who have rightly pointed out there are many good options - but, Pyton is probably the easiest to learn and understand while extremely versatile. There are extensive publically available packages that allow it to do everything that can be done with Matlab, VBA, R, etc. Further, it is very easy to get data from the internet, etc. If you want to write code for compiled programs, then C/C++.

RE: What programming languages should an aerospace engineer know?

Here's the online MIT course in Python, it is in week 4 but I think you should be able to join, although you won't get graded because there is a quiz this weekend which accounts for zerious marks . https://courses.edx.org/courses/MITx/6.00.1x_5/1T2...

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?

I've taken the MIT (EDx.org) and Duke (coursera.org) MOOCs in the past. Both are very good. They usually run a couple times a year.

RE: What programming languages should an aerospace engineer know?

(OP)
From the discussion so far I take it that Python is equally powerful and helpful as matlab is but the latter being able to offer easier access to versatile tools readily.

vktsn0303

RE: What programming languages should an aerospace engineer know?

vktsn0303,

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?

Has anyone come across Python "packages" that would be suitable for engineers?

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?

Ensight canopy is a free (cut down) front end for python and it does at least allow me to use matplotlib, and it does have a package utility.

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?

Enthought Canopy Express looks like what I was asking for.
I'll give it a try tonight.
Thanks!

STF

RE: What programming languages should an aerospace engineer know?

Hello There

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

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources


Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close