Does it matter if your school teaches C++ or Java

<p>Is it important which programming language your school's CS curriculum is based on? Will it matter for grad school? e.g, Do CS departments based on C++ prefer to admit students from schools with C++ courses over schools with Java courses?</p>

<p>No it does not matter, once you learn one OOP language every other will be a piece of cake so no need to worry.</p>

<p>Don’t get caught up in languages. Learning how to program is the more important thing here. You’ll probably learn both of them before the end of the degree anyways. They’re both popular and important.</p>

<p>In general, it doesn’t matter, BUT…</p>

<p>If your school has one of those “Java for C++ programmers” or “C++ for Java programmers” courses, take that so that you won’t have to use too much of your personal time to make the transition and you can get credit for the course.</p>

<p>Some CS departments will use whatever computer language is the best fit for the given course material, rather than force-fitting everything into the C++ or Java programming model.</p>

<p>Indeed, CS departments where all or almost all CS courses use the same programming language may be disadvantageous.</p>

<p>[The</a> Perils of JavaSchools - Joel on Software](<a href=“http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html]The”>The Perils of JavaSchools – Joel on Software)</p>

<p>The point and use of a programming language is to describe computations to the computer. There exist many programming languages, just like there are many natural languages.</p>

<p>The point of programming languages in college is to teach programming language paradigms and how we tell the computer to do certain things. Because there are many languages, it doesn’t matter which one we use (although they express things slightly differently), therefore “Java vs C++” is an irrelevant question, those are just two popular programming languages (out of many). And contrary to natural languages, the computer understands all programming languages, so any programming language can be used.</p>

<p>Besides, Java or C++ (mostly Java) is usually the one that gets introduced in the introductory classes. When those classes have been cleared, people that were learning their first programming language are prepared to adopt to other programming languages, so any programming language that’s “taught” definitely doesn’t stick, it’s just used for demonstration.</p>

<p>Either one is fine, no preference. In introductory courses you’ll learn a subset of both that’s basically interchangeable between them, and you’ll use both during your career. No worries.</p>

<p>Just keep in mind if you want to do low level hardware, get some time with C/C++ or learn it on your own. That way you can get exposed to pointers and how they work.</p>

<p>After experiencing BlueJ (AP Comp Sci in some schools) vs my beloved Eclipse at work, I would say the development environment is far more important than the language. C++ on Visual Studio is about as idiot proof as it gets (and Dr. Java is not that bad either - what DD2 uses in AP CS). Trying to get GCC to work under Eclipse is not quite as straightforward for debugging etc as Visual Studio. Eclipse is good but not THAT good…</p>

<p>If you aren’t good on pointers you’re no better than a seahorse.</p>

<p>Pointers are also relevant in languages that don’t use them explicitly (e.g. Java); knowing how they work will help one understand how passing objects by reference works.</p>

<p>I have no problems with pointers. I just need to be reminded to free them once in a while…</p>

<p>Conventional wisdom tells us that if you play with fire and/or pointers you will get burned.</p>

<p>If you don’t understand how to use them, you’re no better than a script kiddie though.</p>

<p>turbo93: It’s okay, the OS can deal with that after your program terminates.</p>

<p>Turbo’s fizzbuzz takes 4 GB RAM then crashes.</p>

<p>Absolutely;what kind of hardware can’t handle malloc(sizeof(MAX_INT)) :)???</p>

<p>In reality, real time programming makes one think twice about too many malloc’s, free’s, new’s, and the like. Not only because of possibility of nasty memory leaks, but because our stuff has to ‘not fail’ in the general sense. So, we really have to code review every malloc/new to make sure it gets free’d and so on. </p>

<p>Also, pointer operations and the like are generally frowned upon, even for strings and such, because of the possibility of ever crashing due to a blown pointer. Lots of beloved library functions are verboten and we have our own versions… </p>

<p>Writing software for consumer devices sometimes gets to be a pain…</p>

<p>Dang it Turbo you don’t need the sizeof( ) above. No wonder you’ve been in script kiddie purgatory the last two years (python, Lua, PHP, HTML5, Javascript, C#) :D</p>

<p>If you are not good at studying things by yourself, and programming is important to you, then you’d better find a school that teaches programming.</p>

<p>“teaching programming” may not be in a lot of top schools’ priorities in CS. They’re too busy teaching theory, umpteen math and science classes, software engineering, design, testing, more theory, etc.</p>

<p>My experience from 30 years ago suggested out directional state gave assignments in CS that outright dwarfed those from several top schools where we had friends studying or teaching. It was not uncommon to write 7-8k LOC for a single semester class in operating systems, even more so in compiler class etc. I don’t think it did us any good rankings wise :slight_smile: but the majority of people who got out were darned good coders, </p>

<p>Did they teach us how to be good coders? No, not really. They at least taught us to manage our time and go slow and steady… And not freak out. I would rephrase it to find schools where they assign serious programming assignments. You can find out by looking at class syllabi and see how much a project counts towards final grade. If its 10-20% there is a good chance they don’t care as much as a school where the same project counts for twice that. If you have a relative or friend who has gone thru CS he can do an eyeball comparison of syllabi and assignments. Do this for a few classes and you can get a feel for what the school cares about.</p>

<p>Times change, and by the time I got out the same monster projects were assigned in my school but done in teams of 3-4 kids versus 1. Do your homework…</p>