C++ or Java?

<p>I have heard that computer programming tools like C++ and Java are used often in any math/engineering department. I am currently self-studying Java.</p>

<li><p>When and why are these programming languages used? </p></li>
<li><p>How are C++ and Java different? Which is more useful/used often?</p></li>
<li><p>Is it a good idea to take Intro to Programming to familiarize myself with them?</p></li>
</ol>

<p>take an intro to programming course. This will teach you the basics, and the idea/goal of programming (what is OOP, coding standard, etc.). You will also learn commonly used methods of handling certain situations. These will be invaluable tools in the future.</p>

<p>C++ is faster, but JAVA is used much more.</p>

<p>Both C++ and Java are object oriented languages. C++ is an older language, evolving in the early to mid 1980s and Java in the mid 1990s. </p>

<p>Java is an interpreted language. In other words, Java programs are not compiled into the machine language of a native architecture. They are compiled into “Byte code” which then is executed by the Java virtual machine (an interpreter) that is specific to an architecture (e.g., intel, motorola etc). Java was designed this way so that these byte codes can be downloaded over the internet and executed anywhere. In other words, Java is platform-independent. So Java is mainly used for programming related to the Internet. C++ is on the other hand compiled. You compile your C++ programs to generate machine language code of the native architecture. If you want to use the same program on a different platform, you have to compile it on that platform. So, C++ executables are not portable. C++ is mainly used for applications where performance is a major issue. Java, being interpreted, is much slower. For example, a major part of the Microsoft Windows operating system is written in C++.</p>

<p>In a sense both languages are useful. Initially it was thought that Java will take over the world :), but it never really worked that way. Even now, C++ is perhaps a much preferred language for large scale software development. So I would say C++ is used more often in that sense. </p>

<p>I think it is a good idea to take a course on Introduction to Programming. If you know one of them, you can learn the other without too much difficulty.</p>

<p>Knowing how to program will allow you to write programs to process and analyze data, which is a common part of problem sets in many engineering fields. I was a BME major and the vast majority of our homework assignments in our quantitative physiology class (“Systems Bioengineering” aka “Physiological Foundations of BME” aka “Physfound”) were based on programming in Matlab.</p>

<p>Once you’ve learned to program in one language, it’s normally not to hard to pick up another one. The key is learning how to turn a abstract problem into a series of simple commands. Intro to Programming at Hopkins teaches Java, but there is also a course in the General Engineering department (offered once a year or so) that teaches Matlab.</p>

<p>Thanks for the responses.</p>

<p>I want to know more about programming’s usefulness within the context of Hopkins’ math or engineering department. Is programming used often in class (for homework, for example)? Which language would be more worth learning?</p>

<p>Hi, Tanman. As a BME major, what language do you think would be most helpful to my son, who is interested in majoring in BME? </p>

<p>If the college he attends teaches Java, would it be worth his while to try to pick up a C++ course at another college during the summer? Son will have no computer coursework when finishing hs, other than a computer literacy course taught in prefreshman year. </p>

<p>And what is matlab? We have a friend who goes to Auburn now, and he kept talking about his matlab class. I thought it was a lab, like chemistry.</p>

<p>As you can probably tell, I’m a mom, and the most contact I had with computers in college was entering chem lab results on a punch card. Yes, I’m that old. Back in the late 80s, early 90s. </p>

<p>FWIW, son plans to become a biomedical engineer, not attend medical school. So looking for job skills when he gets out into the real world. So are there three languages being taught/used out there, Java, C++, and Matlab? I’m sure there’s a lot more, but are those the most prevalent in the engineering world, especially BME?</p>

<p>BTW, congratulations on your graduation from Hopkins and acceptance into Duke Med School. That’s awesome!</p>

<p>Montegut, in general, I think most engineers/math-y people/tech-savy people are able to pick up other languages after they’ve learned one. Based on my time at Hopkins, and on what I’ve heard from other BME’s at other schools around the country, Matlab is what is most often used in teaching BME courses because it’s really good for dealing with lots of data. Matlab isn’t a traditional computer programming language in the sense that you can’t write executable computer programs (like Word, Internet Explorer etc) - instead, Matlab is a program within with you write commands to manipulate data. (here’s a not-so-great analogy: it’s kind of like how a program like Excel allows you to manipulate data, but not really write your own software… only Matlab is a lot more powerful - Excel is nowhere near being considered a programming language)</p>

<p>I personally look C++ in high school (back then AP Computer Science was taught with C++, not Java), and I feel like I was able to pick up Matlab very easily. At Hopkins, the programming class that most BMEs take is Java. While I’ve had friends take classes in Matlab (since technically the requirement is any programming class), I would personally recommend taking a class in Java or C++ or another such language. These languages have a lot of features (primarily object oriented programming, for anyone who knows what that is) that Matlab doesn’t, so if your son were to get a job that used a similar language, he would be far better equipped to pick it up with training in Java or C++ than in Matlab. On the other hand, the very basic programming techniques and concepts are the same in Matlab as in Java, etc, so once your son has learned Java, he shouldn’t have a problem adapting his knowledge to Matlab. Taking a class in Matlab might make BME courses a bit easier, but taking Java and picking up Matlab seems more beneficial in the long run</p>

<p>Hope that helps!</p>

<p>Thank you so much for your reply, Tanman! You have been very helpful.</p>

<p>Best of luck to you in medical school!</p>