<p>Hi everyone.
I already took required computer programming course for Mechanical Engineering.
But how often will I see c++ in non-computer mechanical engineering courses?</p>
<p>Not often enough, that’s how often.</p>
<p>Next to not at all</p>
<p>You’ll probably use MATLAB more than C++.</p>
<p>hardly ever, <em>unless</em> you seek out a specialty within ME that is heavily CS based. Computational fluid or solid mechanics comes to mind. </p>
<p>There are some areas within ME that are practically hybrid with CS nowadays</p>
<p>I think they teach C or C++ to freshman because they believe every engineering student should have some sort of background in beginner programming. These basics can then be applied to learning other programs such as Matlab, ect. Truth of the matter is that C++ and especially C are outdated and have been replaced with programs such as Java.</p>
<p>“Truth of the matter is that C++ and especially C are outdated and have been replaced with programs such as Java.”
- Uhhh… not sure I’m with you 100% on this one.</p>
<p>I didn’t think anyone would 100% agree with me. Don’t get me wrong, C is essentially for any beginner programmer to learn, but it is being replaced with more modern languages.</p>
<p>“C is essentially for any beginner programmer to learn”
- I don’t think this is true either. I think that C++ or Java is more appropriate for a beginner…</p>
<p>What makes you think C++ is outdated? When I think of outdated languages, I think of… Smalltalk, Fortran, etc. C++ supports OOP and is widely used…</p>
<p>Java is more modern, and it has its uses, but it’s no subsitute for C++. What other more modern languages are?</p>
<p>
</p>
<p>The linux kernel is written in C. A lot of systems software is written in C. Java isn’t a good language to use if that’s the type of software you want to write.</p>
<p>From what I hear (I’ve never programmed in C++ or Java), C++ offers pretty much the same abstractions as Java but with less of a performance penalty. I’ll bet it’s still useful for that reason.</p>
<p>Going back to the topic at hand, though, C++ is nearly useless for the average mechanical engineer except insofar as learning it teaches you the basic structure of most programming languages. Far more often you will deal with Matlab, Visual Basic, occasionally Perl and/or Python and then sometimes Fortran if you are dealing with legacy programs at a company. Java sometimes is used in place of Perl and Python for scripting for engineering programs as well, but it is far less common.</p>
<p>Honestly, you should be fine if you make sure you are proficient in Matlab.</p>
<p>I might also suggest gaining a basic understanding of LaTeX… at least enough to type out simple equations, as it can be useful to use within Matlab or in several other situations. A new one I have recently discovered is using it to put equations into Google Wave, which makes collaborating on work much more convenient when you can’t meet in person.</p>
<p>Is Mathematica useful for Mechanical Engineers? I was debating whether I should take a class on it.</p>
<p>I suppose Mathematica has its uses but probably 99.9% of stuff that can be done one either Mathematica or Matlab is done on Matlab by engineers based on my experience.</p>
<p>C++ is far from “outdated”. If C++ is “outdated”, I can only wonder what you’d call some of the other languages.</p>
<p>C++ is widely used in the defense industry, so it’s definitely not “outdated”.</p>
<p>I agree; C/C++ is not nearly as popular as it was 10-15 years ago and most application level software is now written in java,C#,etc. </p>
<p>on the other hand…systems level software still needs to be written in C, because no one wants to do any JIT compiling on a small microcontroller.</p>
<p>“Truth of the matter is that C++ and especially C are outdated and have been replaced with programs such as Java.”</p>
<p>No, no, just no. C++ is much more efficient than Java (though java is closing the gap). Java is very good at what it does, making ultra compatible code, but C++ is quicker.</p>
<p>Also, I don’t think you’ll see much C++ in most ME jobs, but its good to know in case you DO need it, if that makes sense. Plus, it will allow you to communicate with people in other fields.</p>
<p>C++ is a virtuoso’s language. Many people hate it because you can’t just jump in and expect to use it well. It’s certainly not for everybody. Java’s very limited, but easy to learn and use.</p>
<p>I’m an ME and I pretty much only use MATLAB. I took a C++ course in college but I’ve never used it outside that class. As an ME, we really only use MATLAB for things like writing functions to prevent us from having to do repetative calculations by hand and solving equations. For example, a cam profile is a mathematical function that is defined by differential equations and needs to be solved using boundary conditions. Also, if you take the time to write a few lines of code you can usually reuse it later with similar problems which makes life a lot easier.</p>
<p>vba and matlab for sure, c++ I dunno…depends</p>