Gearslutz.com
All Advertisers

Go Back   Gearslutz.com > The Forums > Geekslutz forum

Notices

Reply
 
Thread Tools Search this Thread Rate Thread Display Modes
Old 22nd June 2009, 08:49 PM   #1
PELicanWord
Gear addict
 
PELicanWord's Avatar
 
Join Date: Nov 2006
Location: Oakland, Ca
Posts: 322
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?

PELicanWord is offline   Reply With Quote
Old 22nd June 2009, 10:00 PM   #2
ark
Gear maniac
 
Join Date: Jun 2008
Location: New Jersey, USA
Posts: 226
What's your current programming background?
ark is online now   Reply With Quote
Old 22nd June 2009, 11:32 PM   #3
tlennon
Gear maniac
 
tlennon's Avatar
 
Join Date: Mar 2009
Location: New Jersey
Posts: 293
Send a message via AIM to tlennon Send a message via MSN to tlennon Send a message via Yahoo to tlennon
Not only just C++ programming language anymore, you have to understand Framework and some other fundamentals like ASP.
__________________
Terrence Lennon
Ivory Key Productions
tlennon is offline   Reply With Quote
Old 23rd June 2009, 01:41 AM   #4
PELicanWord
Gear addict
 
PELicanWord's Avatar
 
Join Date: Nov 2006
Location: Oakland, Ca
Posts: 322
My programing background is minimal, unless you consider Max MSP or MIDI programing
PELicanWord is offline   Reply With Quote
Old 23rd June 2009, 09:54 AM   #5
nofi
Lives for gear
 
nofi's Avatar
 
Join Date: May 2007
Location: australia
Posts: 789
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.
nofi is offline   Reply With Quote
Old 23rd June 2009, 01:15 PM   #6
soundsundergroun
Lives for gear
 
Join Date: Jun 2008
Location: Ohio
Posts: 622
Send a message via AIM to soundsundergroun
Quote:
Originally Posted by nofi View Post
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.
I second this. Taking a course on this level will help you determine if programming is right for you. Even then, it may take an additional course or 2 to really determine if you can handle it. Although I was decent at it, it took me 3 1/2 years of majoring in this to figure out it wasn't for me.

Programming is not easy. The people that are good at it tend to also be very good at high level math and logic.
soundsundergroun is offline   Reply With Quote
Old 26th June 2009, 03:57 PM   #7
Jimbo
Lives for gear
 
Jimbo's Avatar
 
Join Date: Oct 2005
Location: West Jersey
Posts: 1,727
Quote:
Originally Posted by PELicanWord View Post
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?
I'm not quite sure what you're asking for here. Are you asking why 80% of the jobs require C++?

Also, what kind of jobs are you seeking that require C++? What domains?
__________________
J. Allen
Jimbo is offline   Reply With Quote
Old 30th June 2009, 10:49 PM   #8
peteblues
Gear maniac
 
peteblues's Avatar
 
Join Date: May 2008
Location: Santa Cruz, CA
Posts: 169
Quote:
Originally Posted by nofi View Post
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.
I have to respectfully disagree. While to some people a class might be the way to go, others (myself included) learn better by the book. I majored in computer engineering in college, didn't learn any C++ there back then, and taught it myself.
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
peteblues is offline   Reply With Quote
Old 2nd July 2009, 11:09 PM   #9
pfeifferpedals
Gear interested
 
pfeifferpedals's Avatar
 
Join Date: Feb 2009
Location: TILLAMOOK, OR USA
Posts: 15
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.
__________________
Musician / Pedal Builder
www.pfeifferelectronics.com
pfeifferpedals is offline   Reply With Quote
Old 3rd July 2009, 05:16 AM   #10
nofi
Lives for gear
 
nofi's Avatar
 
Join Date: May 2007
Location: australia
Posts: 789
Quote:
Originally Posted by peteblues View Post
I majored in computer engineering in college, didn't learn any C++ there back then, and taught it myself.
I do agree though that it's not easy to learn, and Java would be a better language to 'ease' into programming.
yes.... but you learned how to program in college.

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.
nofi is offline   Reply With Quote
Old 7th July 2009, 06:42 PM   #11
dosilegecko
Gear nut
 
Join Date: May 2009
Location: NH
Posts: 77
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.
dosilegecko is offline   Reply With Quote
Old 7th July 2009, 10:35 PM   #12
jcatena
Gear nut
 
Join Date: Jun 2009
Posts: 112
> 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.
jcatena is offline   Reply With Quote
Old 8th July 2009, 10:48 AM   #13
Raketen
Gear Head
 
Join Date: Jun 2009
Posts: 68
Quote:
Originally Posted by nofi View Post
yes.... but you learned how to program in college.

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.

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
Raketen is offline   Reply With Quote
Old 8th July 2009, 02:12 PM   #14
CuminGingerSpice
Gear addict
 
CuminGingerSpice's Avatar
 
Join Date: Dec 2007
Location: Purdue University
Posts: 351
Send a message via AIM to CuminGingerSpice
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
CuminGingerSpice is offline   Reply With Quote
Old 8th July 2009, 02:45 PM   #15
jcatena
Gear nut
 
Join Date: Jun 2009
Posts: 112
> 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?
jcatena is offline   Reply With Quote
Old 8th July 2009, 03:09 PM   #16
CuminGingerSpice
Gear addict
 
CuminGingerSpice's Avatar
 
Join Date: Dec 2007
Location: Purdue University
Posts: 351
Send a message via AIM to CuminGingerSpice
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
CuminGingerSpice is offline   Reply With Quote
Old 11th July 2009, 04:19 AM   #17
_rd
Lives for gear
 
_rd's Avatar
 
Join Date: Jan 2008
Location: Berlin, Germany
Posts: 504
Quote:
Originally Posted by CuminGingerSpice View Post
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.
It is not a Good Thing if the courses at university do not teach what is used in the real world. University should prepare the student for being a professional in the real world.

Quote:
Currently Java is the most popular computer language in use. This is mostly because it is THE language of open source software.
You obviously have no clue what you are talking about.
__________________
--
Looking for:
Cabling: Digisnakes: DB25/TRS, DB25/XLR-F, DB25/XLR-M
Outboard: API 2500, Neve 33609J/D, Neve 2254/R, Manley Vari-Mu (r. 4a), X-Rack case / X-Rack modules
_rd is offline   Reply With Quote
Old 11th July 2009, 04:21 AM   #18
_rd
Lives for gear
 
_rd's Avatar
 
Join Date: Jan 2008
Location: Berlin, Germany
Posts: 504
Quote:
Originally Posted by CuminGingerSpice View Post
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
Just to nitpick, VHDL is not used to "program", it is used to "describe". It is a hardware description language.
__________________
--
Looking for:
Cabling: Digisnakes: DB25/TRS, DB25/XLR-F, DB25/XLR-M
Outboard: API 2500, Neve 33609J/D, Neve 2254/R, Manley Vari-Mu (r. 4a), X-Rack case / X-Rack modules
_rd is offline   Reply With Quote
Old 11th July 2009, 04:32 AM   #19
_rd
Lives for gear
 
_rd's Avatar
 
Join Date: Jan 2008
Location: Berlin, Germany
Posts: 504
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.
__________________
--
Looking for:
Cabling: Digisnakes: DB25/TRS, DB25/XLR-F, DB25/XLR-M
Outboard: API 2500, Neve 33609J/D, Neve 2254/R, Manley Vari-Mu (r. 4a), X-Rack case / X-Rack modules
_rd is offline   Reply With Quote
Old 11th July 2009, 05:57 AM   #20
CuminGingerSpice
Gear addict
 
CuminGingerSpice's Avatar
 
Join Date: Dec 2007
Location: Purdue University
Posts: 351
Send a message via AIM to CuminGingerSpice
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!!
CuminGingerSpice is offline   Reply With Quote
Old 11th July 2009, 06:55 AM   #21
jcatena
Gear nut
 
Join Date: Jun 2009
Posts: 112
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.
jcatena is offline   Reply With Quote
Old 11th July 2009, 02:44 PM   #22
CuminGingerSpice
Gear addict
 
CuminGingerSpice's Avatar
 
Join Date: Dec 2007
Location: Purdue University
Posts: 351
Send a message via AIM to CuminGingerSpice
Quote:
Originally Posted by jcatena View Post
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.
I totally agree w/ you. C/C++ is the foundational language. There is no denying that. I learned in my freshmen year (and of course, still continue to learn!!). However the original poster wanted to know if it was worth knowing? I don't know. Your point about the forward compatibility with C++ is 150% true; anyone who knows C++ can learn nearly any other language very quickly. That's the debate though, do you NEED to know C/C++?? I personally think you don't NEED to know C++ in order to program kick ass apps and programs these days. Granted you are also right about Java and C# environments, which I do believe run in a virtual machine setting, which is different than C++. You can program stuff fairly easily with these languages. However, like I said before, It is a very VERY good idea to learn it. That's all!
CuminGingerSpice is offline   Reply With Quote
Old 11th July 2009, 02:47 PM   #23
CuminGingerSpice
Gear addict
 
CuminGingerSpice's Avatar
 
Join Date: Dec 2007
Location: Purdue University
Posts: 351
Send a message via AIM to CuminGingerSpice
Quote:
Originally Posted by _rd View Post
Just to nitpick, VHDL is not used to "program", it is used to "describe". It is a hardware description language.
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.
CuminGingerSpice is offline   Reply With Quote
Old 11th July 2009, 03:13 PM   #24
Jon Hodgson
Gear maniac
 
Join Date: Jun 2009
Posts: 238
Quote:
Originally Posted by CuminGingerSpice View Post
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
Actually, unless you're going to be programming FPGAs or designing full custom chips (which is cool stuff but the VAST majority of people working in DSP will never do it), VHDL and Verilog are basically useless.

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).
Jon Hodgson is offline   Reply With Quote
Old 13th July 2009, 11:55 AM   #25
nofi
Lives for gear
 
nofi's Avatar
 
Join Date: May 2007
Location: australia
Posts: 789
...meanwhile the original poster has wandered off, never to be seen in this thread again....
:-)
nofi is offline   Reply With Quote
Reply

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
thread Thread Starter Forum Replies Last Post
The Best Way To Learn Storyville Rap + Hip Hop engineering & production 32 8th June 2009 10: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 12:46 PM
Only if you want to learn nukmusic Low End Theory 0 19th August 2005 04:17 PM


All times are GMT +1. The time now is 11:25 PM.

 
 
Powered by vBulletin®
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.0.0