c++ and computer engineering

<p>im currently a freshman. and im taking engineering 101 which is all c++ and matlab programming. and as the class goes, i have NO idea how to do anything on c++. my intended major was computer engineering. will this actually be hurtful in the future? or should i stick with it and try it out? or would it be better to swtich majors?</p>

<p>If the class is about C++ and Matlab shouldn't they be teaching you those things? If you are struggling with a freshman level programming class you might have a rough time down the road in computer engineering. Do you have any previous programming experience? </p>

<p>Then again a lot of engineering professors make introductory courses a lot harder than they should be. C++ is crucial in computer engineering and you should really make sure you learn it well. </p>

<p>Also how hard are you actually studying for this class? If you are truly putting forth an effort outside of class and you still struggle with C++ and Matlab I would suggest getting out of CompE now and move into something else. An introductory course in programming should be pretty easy for a CompE student, especially if you are actually studying as much as you should.</p>

<p>Make an effort, or CompE is not for you.</p>

<p>Probably a weeder, relax...</p>

<p>C++ is probably the hardest useful language you'll ever learn.</p>

<p>"C++ runs on the tears of new users." - a CS major friend of mine</p>

<p>While you should know how to program for CompE, it's more than just programming.</p>

<p>should i try to learn more c++ over the summer?</p>

<p>You should go and ask your advisor, historically, how well other students did in the class. As other people mentioned, it could be used as a weeder class. If that is the case, dont worry about it, just study hard and pass the class. However, if that's not the case, yeah, you bet its going to help you to learn the stuff over the summer, because come fall they are going to expect you to know it.</p>

<p>Just a side note, I stated out in ECE and had a similar experience with C. I ran to ME which turned out great for me...</p>

<p>carnelian I have friends who switched from CompE to EE because they couldn't handle the programming. I know one person in particular who switched because he couldn't pass Data Structures.</p>

<p>bump. i need more advice</p>

<p>Well, I think it all depends on the level of difficulty of the course and how much you're putting into it.</p>

<p>If it's a hard, weeder course and you're putting in < 50% of what you could be doing, then I'd say try a little harder and pass, put it behind you and move on.</p>

<p>If it's a basic, general introduction course and you're putting in 110% of yourself, then maybe it's not for you. Best to jump ship now and never look back.</p>

<p>What school are we talking about? Describe a programming project you were given.</p>

<p>I find it baffling that somebody could have a problem with C++, and not Matlab... Matlab is like the great Satan to me. It's like a group of experts gathered around a table and an ISO standards reference for C++, and tore everything out of the language that made it any good. Literally, I could see the mission statement for the task force being "How crappy can we make this language?"</p>

<p>Thus Matlab was born.</p>

<p>krnxjalopeno,</p>

<p>May I ask what types of problems you are having with c++? </p>

<p>Usually c++ or in some cases Java are the intro classes in CompE. Depending on your school and how your CompE program is setup, c++ is perhaps the most important programming language. </p>

<p>If it makes you feel any better I was originally in the CS program at one of the UC's and failed intro to programming (c++) twice, along with everyone in my dorm. Afterward, I decided that the UC and CS were not for me so I decided to switch majors and do CompE at Cal Poly Pomona. I took the intro to programming (c++) there and excelled in it. The biggest difference for myself was that the classes were smaller and the professor actually explained the subjects better. </p>

<p>Through my experience I learned that learning any programming language was basically the same as learning any foreign language. You must understand the fundamentals first. Learning what functions, parameters, variables, etc. are in the same regards as his/her singular/plural pronouns, etc. as in Spanish and French. Once you understand the fundamentals of programming it becomes that much easier to learn additional languages. </p>

<p>I would strongly recommend to start doing searches for "c++ tutorial," "c++ introduction," etc. on the Internet. There are a ton of resources out there to help you understand programming.</p>

<p>All of the saying in this thread on how C++ is crucial, hard to learn and that it is a incredibly important are all truly false. It is actually the opposite of all of those things. Its quite easy to lean, not crucial and not that important in CEN.</p>

<p>C on the other hand is by far the most crucial language and is by far the absolute most important language ever created in computing, it also much more important in CEN and every other field then C++. </p>

<p>I personally think C++ is a horrible language and hate the way Bjorne set it up. Whenever I use it, I just program in C and run it as C++.</p>

<p>The fact is C is to hard to teach as a first language, but if you can learn this then C++ looks like a toy. There is nothing a good programmer can do in C++ that also couldn't be done faster and more efficiently in C. </p>

<p>Now if you go to a respectful school, wait until they ask you to start using functional and logic based languages. Oh boy, thats when things get fun.</p>

<p>keep pushing and you will be fine.</p>

<p>Perhaps in Comp. Eng. it's true that C is better, and perhaps for specific software and low-level hardware interfacing things this is true, but C++ is by far the superior general purpose programming language.</p>

<p>Efficiency isn't everything. That's why CS majors stick with C++, for the most part. Not only does it support OO features, but it also regresses features not needed for the majority of modern-day programming. In fact, C++ is more efficient in many respects as compared with C++. The most expensive and inefficient part of a software system's life cycle is the maintenance, and except for incredibly low-level or trivial programs, C++ is infinitely better in this respect. It's about being better in the worst case, not better in the best case.</p>

<p>Java is going a little too far, if you ask me. C++ is amenable to good software engineering practices and is very efficient (if not quite as efficient as C).</p>

<p>And if you want to talk about functional and logic programming languages, I'm surprised you bring up the issue of efficiency at all.</p>

<p>Is C++ important to learn? Yes, if you want to write large-scale applications or modern systems software. No, if you want to write operating systems and low-level device drivers. Is C++ more efficient? No, if you're building toy applications or doing low-level programming. Yes, if you're trying to implement a complex software system. Should you learn how to do it? Probably. Will it be easy? No. Easier than C? Probably.</p>

<p>
[quote]
Efficiency isn't everything.

[/quote]
</p>

<p>And this is where a Computer Engineering major will tell you differently! Because effiency IS everything. This is why a CompE can tell you why a decrementing while loop is better than a for loop. </p>

<p>Anyways I agree Java goes a little far. It attempts to create endless libraries of objects and functions in which the programmer ends up spending more time searching to see if this function already exists in the Java library than if they actually knew how to implement it themselves. </p>

<p>And to Dr. Horse I agree that C is the language of the embedded systems programmer. That and a firm understanding of assembly language because that is where true optimization lies. Though many CompE majors end up programming enterprise software (yuck) in which they will end up using C++ for back end software and Java for front end software.</p>

<p>Personally, I believe writing applications software is more interesting than writing systems software / hardware support software. And for general application programming, C++ beats C hands down. Now I'm all for writing a few low-level libraries in C where efficiency is absolutely crucial, and using these libraries in more complex software systems.</p>

<p>I guess that's why I'm CS and not CE...</p>

<p>Yep and I agree C++ is more appropriate for enterprise software.</p>

<p>seems TIOBE disagrees with you guys, TIOBE</a> Software: The Coding Standards Company</p>

<p>I have so many friends in industry and to be quite honest with you, they rarely use c++. I have friends who work in companies from Atto to Lockheed to Lycos and either you are doing critical real time systems with functional paradigms or using C or Java or other .net products(and while Visual C++ is used its not used frequently). C#, Java and C is huge. thogh there are still many many people who use C++, but is been going dwindling over the years.</p>

<p>I don't mean to sound too pompous, but many people only use C because they don't know any better. I bet you money that half the people who said they prefer C use a C++ compiler anyway. For instance, many physicists, mathematicians, etc. who are only casually into using programming in their research are aware of any difference at all, and have probably decided to write C code for C++ compilers because of CEs running around saying it's better.</p>

<p>[/rant]</p>

<p>
[quote]

[quote]
Efficiency isn't everything.

[/quote]
</p>

<p>And this is where a Computer Engineering major will tell you differently! Because effiency IS everything. This is why a CompE can tell you why a decrementing while loop is better than a for loop.

[/quote]
</p>

<p>Five</a> Worlds - Joel on Software</p>

<p>Build and use tools appropriate to the problem you're trying to solve.</p>

<p>A very interesting article, yagottabelieve. Very informed. Thanks... ;D</p>