should i learn programming as a future chemE major? If so which language?

<p>Hi there, I will be posting more on this forum as I ask questions on returning to school full time. I am a 30 y.o. Navy veteran that wants to go back to school in socal to eventually do research.</p>

<p>I plan on going back to c.c. to re-learn my major courses (chem, calc, physics...took them over 10 years ago and passed w/ good grades at my first university after h.s. but dropped out) and really leaning to get into UC Santa Barbara. I want to major in chemE and get a masters in materialsE with an emphasis in biomaterials. </p>

<p>I signed up for school at c.c. for the fall semester, but cant take any more credits. I have 15 now with calc, bio, and chem and the labs. I want to take physics also but it will put it over the credit limit. So I thought i would try to fit in a programming class (never learned before). All my G.E's are done.</p>

<p>I was thinking C, but since I don't want to mess with computer chips too much... I won't have too. I started to learn Java which wasn't that bad, but dropped the class because of a stupid professor (moved locations of class on a day i missed class, and it was never posted on where the damn new classroom was) But as a chemical engineer... should I learn programming at all? I am thinking of just taking my great course load (know how to do the work already) and learning C++ on my own. Another thing I was thinking was how beneficial will it be to learn programming since I want to learn how to use mathcad proficiently. </p>

<p>sorry for the long post...gawd I can't wait to work on math and science again... dropped out of engineering when i was 20 because I couldn't decide on what to do.</p>

<p>Chances are, somewhere along the way you will have to take a programming course to graduate. What language should you take? There is no easy answer for this question. Lots of programming languages are being used at the moment and you have no way of knowing which one, if any, will be useful for you in the future. I would find out what language you will have to learn for your degree and go with that. What’s important is that you learn one language relatively well. Once you know one language it’s much easier to learn subsequent ones because the core concepts carry over.</p>

<p>^ Yes exactly what he said.</p>

<p>And no, if your school do not ask you to learn C, don’t learn C. It’s a headache, a total disaster for a beginner.</p>

<p>C++, Java, Python are all good. Depending on the program and the professor, you might get “nothing” out of the class, or you get a lot from the class. In other words, it could be really simple programming, or really CS-type programming (like writing a game), My introduction to computing didn’t even bother to write classes in C++. The last thing we did was link-list which will be covered in data structure (I am a computer engineereing, so it’s fine). Other students from another school did a lot with C++, and not just running it via command line. They actually did more than that. </p>

<p>So don’t get too excited yet. </p>

<p>If you happen to do C++, [cplusplus.com</a> - The C++ Resources Network](<a href=“404 Page Not Found”>http://cplusplus.com/) is the best place to start. Just learn everything until function. It’s good enough.</p>

<p>To really use programming proficiently and efficiently you have to know the basic, and beyond the basic, which is not always done right in the introductory level. </p>

<p>I can’t speak for other majors, but I knew my friend from civil engineering who did Java have to learn it on his own, writing an application that a software engineer could do.</p>

<p>But how often does it occurs to a non-computer engineers? Not that often.</p>

<p>Once you have the basic, it’s very easy to expand your knowledge.</p>

<p>i have asked this same question of my professors and my advisors. I have been told that C++ is a good general language to learn. You won’t really use Java as a ChemE but if you are getting into research, MATLAB is a good program to know because it is used a lot in data analysis and math modeling.</p>

<p>I’d say go with C++ and once you learn this it shouldn’t be too hard to learn the syntax of other languages you may need for other jobs/projects</p>

<p>^+1 on MatLab…</p>

<p>Matlab, fo’ sho’.</p>

<p>Downloaded some ebooks, one a very popular book on c++ programming. I am just gonna do it myself in my spare time until i remember enough out of my classes to start using matlab. </p>

<p>I hate not knowing how to do something when I run across a problem I encounter. This way I will have an extended skill set to tackle diff functions and ideas.</p>

<p>Just be prepared to make a large commitment to learning C++. There is a lot of stuff to the language and it takes a while to learn… and even then you won’t have learned it all. It’s a good language and teaches you a lot about programming but is kind of “slow starting” in the sense that you won’t be able to make GUI based programs very easily, unlike C#.</p>

<p>yea i realize this. its going slow as it is just getting the right compiler and what not ( i use a mac). I want to learn the basics to be able to organize code and be able to read code. </p>

<p>I dont want to learn command line, although I know a lot of research places have unix workstations. I will stick with netbeans and xcode for now. </p>

<p>Its funny cause i already know alot about computers, I just have never learned any programs or databases.</p>

<p>You will be running all basic applications from a command line on all platforms. There’s no other easy way to do data I/O for a beginner. Eventually you could do away with it and make GUIs but at that point you’ll probably come to appreciate the ease of use of the command line.</p>

<p>When you start learning C++, you are really writing C style, or in other words, you are not using the C++ features. Don’t hesitate to go around to look for an answer. It’s always hard to start.</p>

<p>When you get beyond class, you can start playing around with standard library template like vectors, algorithm. You will be shocked how efficient it is to write an link list using vector about 3 times less codes.</p>

<p>Matlab is a brain killer IMO. Don’t dive into it until you really need it :)</p>

<p>

</p>

<p>

</p>

<p>C and MATLAB are fine for what they do. In some areas they are better than C++. I don’t understand why people need to slam programming languages in these threads.</p>

<p>OP, my guess is that as a chem. engineering student, you probably won’t have to write a lot of C++ or C codes. MATLAB is a useful language to learn in order to do math calculations for classes and research easily without having to worry too much about managing memory and other programming details.</p>

<p>It is quite humorous how many people here are saying that he ought to learn C for chemical engineering. The only engineers that will ever really need C or C++ are EE’s and CompE’s. It is only a small subset of everyone else who actually will ever use it. I haven’t used or even seen C or C++ since my freshman year of undergrad when I had to learn it as half of my required CS class. The other half of that class: MATLAB. I have used MATLAB extensively (as have most other engineers that I know in pretty much every field) ever since then.</p>

<p>The only people who really look down on MATLAB are CS, EE and CompE guys, becuase let’s be honest, it just doesn’t suit their needs. For the rest of us, it is an incredibly useful tool to learn and know how to use.</p>

<p>To the OP: If you want something fundamental, do C/C++. If you want something that is actually useful, do MATLAB.</p>

<p>@ silence</p>

<p>It is not about slamming one language because I am in favor of the others. But the nature of C is not easy for beginner. C is use widely in many areas. It is a very powerful language indeed. Literally people will tell you learn C if you want to write operating system, or something with operating system.</p>

<p>Self-learning MATLAB can be hard because of the reference and there is little help (if you count Mathwork Reader as the only one). Beside, you have to purchase it (unless you are talking about you-know-what-to-do-with-google). </p>

<p>MATLAB, Mathematica, Maple they are all good one.</p>

<p>@ boneh3ad
Why MATLAB doesn’t suit the CpE and EE guys?</p>

<p>Matlab isn’t as useful to those majors because they are more likely to need to do real programming. Matlab is great for scripting of small things as it can do a relatively huge number of things with fairly minimal effort. However, if you are doing major programming, it isn’t that useful because it is very slow and not optimized for such tasks. That is only an issue for EEs, CompEs, and CS guys usually.</p>

<p>I agree with BoneH3ad.</p>

<p>Matlab and ASPEN. I haven’t touched C while in school. Odd are as a chemE the programming that you will be doing is simulations. I just took a course in that and we just used MatLAB. So MatLAB is your choice.</p>

<p>

</p>

<p>Disclaimer: I have not written a line of C++, but at the end of my intro. programming class in C, the lecturer talked about the basic C++ abstractions and how they are implemented. I might be totally wrong about what I am about to post . . .</p>

<p>C is a simpler language than C++. I’d think that C would be better for a beginner than C++. True, C++ offers abstractions that are convienent and hide you a little bit from the machine, but they aren’t perfect abstractions–C++ still deals with pointers and requires you to manage your own memory. You still need to know the C stuff.</p>