![]() | All Advertisers |
| | #1 |
| Gear addict Join Date: Nov 2006 Location: Oakland, Ca
Posts: 335
Thread Starter | I feel like I need to learn C++ I'm not sure how many people here actually know C++, as it's not really an audio thing per say, but I'm finding now that 80% of the jobs available at places I want to work require C++. Anyone have any insight? ![]() |
| | |
| | #2 |
| Lives for gear Join Date: Jun 2008 Location: New Jersey, USA
Posts: 623
| What's your current programming background? |
| | |
| | #3 |
| Gear addict | Not only just C++ programming language anymore, you have to understand Framework and some other fundamentals like ASP. |
| | |
| | #4 |
| Gear addict Join Date: Nov 2006 Location: Oakland, Ca
Posts: 335
Thread Starter | My programing background is minimal, unless you consider Max MSP or MIDI programing ![]() |
| | |
| | #5 |
| Lives for gear Join Date: May 2007 Location: australia
Posts: 1,116
| what sort of work do you want to do? I've only done a bit of C++, and found it easy to learn once I got my head around classes - but I'm an embedded systems engineer and I do a lot of C already... I reckon if you want to learn C++ and you have no programming experience, you really need to do a programming course. And by a course - I mean a proper one. university or college style thing. not a "teach yourself c++ in 21 days" book. There's a lot more to programming than syntax and system calls, and in my own experience dealing with the work of people who never learned how to program is HELL. |
| | |
| | #6 | |
| Lives for gear | Quote:
Programming is not easy. The people that are good at it tend to also be very good at high level math and logic. | |
| | |
| | #7 | |
| Lives for gear Join Date: Oct 2005 Location: West Jersey
Posts: 2,433
| Quote:
Also, what kind of jobs are you seeking that require C++? What domains?
__________________ | |
| | |
| | #8 | |
| Gear addict Join Date: May 2008 Location: Santa Cruz, CA
Posts: 390
| Quote:
I do agree though that it's not easy to learn, and Java would be a better language to 'ease' into programming. If you do want to learn from a book, I can highly recommend the book 'The C++ programming language', by the creator of c++ himself; Amazon.com: C++ Programming Language, The (3rd Edition): Bjarne Stroustrup: Books Once you're done with that book, check out 'Effective C++' and if you still haven't got enough 'More Effective C++' With those 3 books, you should be able to answer 95% of any c++ related interview question | |
| | |
| | #9 |
| Gear interested Join Date: Feb 2009 Location: TILLAMOOK, OR USA
Posts: 17
| I've been a software engineer for nearly 20 years and I've never had to learn C++. I think it depends on the application (embedded, mobile, database etc). I use C# now. Java is another language that is very popular. I think C++ is probably going to be a thing of the past. |
| | |
| | #10 | |
| Lives for gear Join Date: May 2007 Location: australia
Posts: 1,116
| Quote:
that's my point. sure - if you already know how to program computers or embedded systems, then go ahead and self learn C++ any way you want - that's what I did for the bit of C++ I've had to do. But for gods sake, if you're not already an experienced programmer with some basic idea of proper code development practice, don't just go jump in and learn how to hack C++. - learn how to program at college. | |
| | |
| | #11 |
| Gear maniac Join Date: May 2009 Location: NH
Posts: 221
| I agree, take a course at a local CC or something. I took a C course in college and learned the "learning process" for programming, and I taught C++ to myself with a lot of self motivation (trying to create VST plug ins is pretty daunting never having written any C++). Then I learned MATLAB code, and lost it all hahaha. It depends how you learn though, if you can really sit down and read a book and use the online info well, then try it. But if you get sidetracked easy or have too many distractions, a class will be better hands-down. I got a free book from the local dump's book exchange thing called "C++ for You++", and it was pretty good, and helped me when I was getting stuck. Again, motivation is a huge issue to be honest. ![]()
__________________ I need to start buying my china cymbals in bulk, they break like eggs lately. |
| | |
| | #12 |
| Gear nut Join Date: Jun 2009
Posts: 134
| > I think C++ is probably going to be a thing of the past. No way. C & C++ have no sustitute for systems programming. Java, C#, VisualBasic, etc, may become popular for web or applications (that can always be coded C++ too, of course), but AFAIK, only C & C++ are efficient and powerful enough for systems programming. To begin with, any other compiler is almost sure written in C or C++. If you don't know C or C++, you are not going to develop drivers, operating systems, time critical code, compilers, emulators, interpreters, debugger, etc. A C/C++ programmer like me can know the assembly code any sentence is going to generate, what's not so clear with any other language, except, of course, assembly. |
| | |
| | #13 | |
| Gear Head Join Date: Jun 2009
Posts: 68
| Quote:
Academic Earth - Computer Science I: Programming Methodology Videotaped Stanford course. Academic Earth - Introduction to Algorithms Actually this site is one of the coolest things on the internet. ![]() *edit* I'll throw these in there too: MIT OpenCourseWare | Mathematics | 18.304 Undergraduate Seminar in Discrete Mathematics, Spring 2006 | Home MIT OpenCourseWare | Electrical Engineering and Computer Science | 6.090 Building Programming Experience: A Lead-In to 6.001, January (IAP) 2005 | Home MIT OpenCourseWare | Electrical Engineering and Computer Science | 6.096 Introduction to C++, January (IAP) 2009 | Home | |
| | |
| | #14 |
| Gear addict | C++ is a great language, but it is very outdated and is being phased out by open source OOL languages like Java, Python, C#, etc. Having said this, it would be a good idea to LEARN it. I would recommend learning C or C++ (get a step by step book, it will help you), but honestly, as the years go on, expect to continue learning languages. Like 99% of languages are BASED on C (including C++), so I would emphasize learning that. However, like I mentioned before, I doubt any new programmer will be FORCED to use C++. It is a personal choice as to what language is the 'best', and clearly C++ is outdated. Having said this, it is still very popular. There are mounds of books on programming and computer software. Sometimes the best bet is to go to a college bookstore and search for used books. You can get em cheep! I am not a CS major, but I do know basic programming. It is fun and helpful. Good luck!! As a side note, VHDL is based on a C syntax, and VHDL is used to program hardware; now THAT is a good language to learn if you are into audio stuff. Look it up |
| | |
| | #15 |
| Gear nut Join Date: Jun 2009
Posts: 134
| > but it is very outdated and is being phased out by I couldn't disagree more. I repeat, there is no sustitute for C / C++. Other languages may apply to specific applications, but none of them has the flexibility required to write operating systems, drivers, etc. Nothing can be done in other languages that could not be done in C++. But we can do things in C++ that couldn't be done otherwise. If we take out the web and some speciality environments, EVERYTHING is written in C / C++. Phased out? How? Are you a programmer? |
| | |
| | #16 |
| Gear addict | I should rephrase. I don't think C++ is being 'replaced' in the world of programming NOW, but from a students perspective, it's definetly been put down in terms of priority. 99% of the high level programming at Purdue is Python. Is this good or bad? I don't know, but it's true. Currently Java is the most popular computer language in use. This is mostly because it is THE language of open source software. Virtually all popular langs are based on C. I would learn that. C++ is still widely used, but eventually it will be replaced. It was designed for a time when computer memory was very limited and functionality of GUIs was practically non-existant. To be specific, the garbage collection and 'pointer' system of C++ is completely obsolete and are very dangerous to system resources. Having said all this, I doubt C++ will ever completely be gone; I mean people are still using COBOL!! But will C++ be the standard in years to come? No way. As for me, C# is my personal favorite language. New languages use a ton of data hiding and encapsulation. No more worrying about stupid problems like memory leaks. Plus, the compilers help you write the code. Is this cheating? I dont think so. You're just using software to your advantage... However, getting back to the original post, it is definetly a good idea to learn C/C++. Even if you never use it, it will help you think in steps and help you solve complex problems. FWIW, look up C++0x. It is supposed to replace C++. The wikipedia article is rediculous (I helped write a lot of it), if you like reading this kinda stuff! Best of luck |
| | |
| | #17 | ||
| Lives for gear Join Date: Jan 2008 Location: Berlin, Germany
Posts: 593
| Quote:
Quote:
| ||
| | |
| | #18 |
| Lives for gear Join Date: Jan 2008 Location: Berlin, Germany
Posts: 593
| Just to nitpick, VHDL is not used to "program", it is used to "describe". It is a hardware description language. |
| | |
| | #19 |
| Lives for gear Join Date: Jan 2008 Location: Berlin, Germany
Posts: 593
| To answer the original poster's question: Start with a solid foundation. Start with learning C. C++'s strength lies in development and maintenance of large and complex modular systems, where code reusability is of paramount importance. Many people programming in C++ (I don't call them C++ programmers) either program "C with classes" or tend to abstract way too much, bloating the code and degrading readability. Finding the thin line in the middle of those two extremes is a matter of many years of experience. |
| | |
| | #20 |
| Gear addict | LOL. Well all I can say is, that is what I was taught, and it's true. Of course c++ is important. But I am 22 years old and that is certainly the old farts language in our younger eyes. Also dont tell me I don't know anything; i just graduated from Purdue University with a tripple major in Computer science, electrical engineering, and aviation technology, all with honors and a 3.9GPA. Use google. Jave is by FAR the most popular language today. I dont mean to offend anyone either. If you are good at a language, by all means, go for it. I am also going to be mature rnough to not argue about geeky things online. I am writing this from my blackberry and there is a naked girl sleeping next to me. Its friday night ! Peace!! |
| | |
| | #21 |
| Gear nut Join Date: Jun 2009
Posts: 134
| I don't enjoy pointless discussions, and this will be my last post here. Linux is written in C and C++. So is Windows. So is OSX. So is vxworks. So is RTOS. And so will be every OS in the next years. It is not possible to write an OS in Java, nor Pithon, nor Virtualbasic... Java is written in C or C++. And so is Pithon. And so is C#. And so is Visual Basic. You can think of C++ the language with all the features and no restrictions, without pre-imposed compromises, and known by the largest number of developers. Every other language is tailored to a specific application environment, and inside that environment, it may be popular, convenient, or whatever. But none of these can replace C/C++, because lack of fundamental general purpose fearures. Java and Pithon are the most popular in web contents programming, but nearly unused anywhere else. I have been in software development for 28 years. I know Java, C# and Pithon, and use them as appropiate for specific applications (web contents and certain portable devices). I know assembler too (it was the first language I learnt). But I could not consider myself a software engineer without mastering C and C++, what I use in more than 90% of my work. And when I hire a programmer, I ask for C++, not only because it is the most used language, but also because anyone that know C++ well can learn anything else pretty easy (like in a week or two), while the opposite is not true. I fully respect anyone that doesn't like C or does not use it because only programs in one of these aspecific application areas. But I have to fully disagree with those that say that C/C++ is obsolete and has been or is being sustituted, because it is plain wrong. |
| | |
| | #22 | |
| Gear addict | Quote:
| |
| | |
| | #23 |
| Gear addict | You are absolutely correct that these class of languages are 'description languages'. However stuff like Verilog and VHDL is generally considered to be a type of 'programming language' due to the use of the term 'programmable logic devices'. It doesnt really matter. who cares. |
| | |
| | #24 | |
| Lives for gear Join Date: Jun 2009
Posts: 799
| Quote:
If you are going to be developing hardware, they're not difficult to pick up (I used to be pretty sharp in verilog, but haven't had to do anything with it for a long time). | |
| | |
| | #25 |
| Lives for gear Join Date: May 2007 Location: australia
Posts: 1,116
| ...meanwhile the original poster has wandered off, never to be seen in this thread again.... :-) |
| | |
New Reply
Facebook
Twitter
LinkedIn
| Thread Tools | Search this Thread |
| Similar Threads | ||||
| Thread | Thread starter | Forum | Replies | Last Post |
| The Best Way To Learn | Storyville | Rap + Hip Hop engineering & production | 32 | 8th June 2009 11:14 PM |
| When the !@#$ am I going to learn... | krs | The Moan Zone | 11 | 31st December 2008 02:18 PM |
| Where could I learn?? | Hed | Low End Theory | 1 | 7th October 2005 01:46 PM |
| Only if you want to learn | nukmusic | Low End Theory | 0 | 19th August 2005 05:17 PM |
| |