By using this site, you agree to our Privacy Policy and our Terms of Use. Close

Forums - General - How difficult is C++???

Woo hoo....just did another project with 70 lines of code....Does anyone know where I can get Microsoft Visual Studios for free???? I'm using Dev C++ right now, and I think MVS might be better...



 

Around the Network

I hate c and c++.

My favorite is C# or Java.



billsalias said:
Words Of Wisdom said:
Lingyis said:
yeah, agreed. C++ without OOP is not C++. it's a big reason why C became C++.

indeed, on resumes, i've been told to explicitly say OOP next to C/C++ because apparently a lot of people put down C++ when what they really know is just C.

OOP is a programming paradigm akin to Functional or Procedural.

It is currently the most popular one (much akin to how relational row-based databases are the most popular), however that doesn't make it necessarily the best one for every situation.

Languages as well as techniques/paradigms are simply tools in a good developer's toolbox. Approaching any single tool as the silver bullet solution to all problems will fail.


I agree completely that OOP is just another tool. But C++ was designed from the ground up to be used for OOP. Not knowing OOP and claiming to be an expert at C++ is akin to not knowing how to read blueprints and claiming to be a master architect. Both are possible if you use other means to plan your work and communicate it to others, but it would be the exception and not the rule.


C++ does indeed add much of the necessary OOP functionality to C such as polymorphism and multiple inheritence however it is in no way a requirement. The transition from C to C++ is much akin to PHP 4 to PHP 5 (for a more modern comparison); it adds functionality and makes many more tools available to the developer without requiring them.

If you want to see languages really designed with OOP from the ground up, look to Ruby or Smalltalk.



NJ5 said:

That is very good advice.

I started to learn programming with lower level languages such as Pascal and C, so that's the route I'd take. Starting with Python is probably also OK, although I fear for the new generation of programmers who can go years without knowing what's actually happening behind the scenes (which is important no matter what language you use, unless you just want to whip out a couple of simple scripts).


I'm with you on that.  That's why I think starting with C++ is the best way to go (obviously get all the basics of procedural programming down before introducing classes and inheritance and all that jazz).  If you begin with a lower level language like C, you will learn to "speak computer", and once you can do that, you can learn any language you want for whatever purpose you want.



superchunk said:
I hate c and c++.

My favorite is C# or Java.

Pray tell, what do you hate about them?

I've been teaching myself C# recently, since all the jobs around here are for Java and .NET developers and I'm not ready to move.  I like C# a lot, but C++ is still a more powerful language for performance-critical applications.



Around the Network

I haven't tried java yet, but most people tell me C++ is better in most aspects... I'm gonna go make me a tictactoe game =-) (if I can) =-)



 

supermariogalaxy said:
Woo hoo....just did another project with 70 lines of code....Does anyone know where I can get Microsoft Visual Studios for free???? I'm using Dev C++ right now, and I think MVS might be better...

 Illegally.  I wouldn't recommend it though.  It is a nice tool, but it is  *VERY* hand-hold-y.  I would stick with Dev-C++ just because honestly, the fewer features you have right away, the better your learning will be. At least, in my opinion it was.  The problem with advanced IDEs like that is that they make coding for work or whatever very efficient and easy - however, if you are learning, the things they abstract away are the things that help you learn what is going on underneath the program. 

If you don't have to manage memory, for example, you won't know when to use the stack and when to use the heap (basically, whether to use an Object* or an Object).  If you don't have to deal with c-style strings, you won't know why there is a possible security problem when using memcopy, etc.

So, while you should feel free to use Visual Studio (although its expensive), keep in mind that if you just want to learn there are better tools out there. 



Please, PLEASE do NOT feed the trolls.
fksumot tag: "Sheik had to become a man to be useful. Or less useful. Might depend if you're bi."

--Predictions--
1) WiiFit will outsell the pokemans.
  Current Status: 2009.01.10 70k till PKMN Yellow (Passed: Emerald, Crystal, FR/LG)

It is hard to say how hard it will be for you. In comparison to other languages I know, it was one of the less complicated. Visual BASIC on thee other hand...



01000110 01101111 01110010 00100000 01001001 01111001 01101111 01101100 01100001 01101000 00100001 00100000 01000110 01101111 01110010 00100000 01000101 01110100 01100101 01110010 01101110 01101001 01110100 01111001 00100001 00100000

^ Thanks....OK by next year or so, I should have a hang of things and be able to do tougher tasks.....I WANNA MAKA AME SOME GAMEZ!!!111one111!!!



 

Words Of Wisdom said:
billsalias said:
Words Of Wisdom said:
Lingyis said:
yeah, agreed. C++ without OOP is not C++. it's a big reason why C became C++.

indeed, on resumes, i've been told to explicitly say OOP next to C/C++ because apparently a lot of people put down C++ when what they really know is just C.

OOP is a programming paradigm akin to Functional or Procedural.

It is currently the most popular one (much akin to how relational row-based databases are the most popular), however that doesn't make it necessarily the best one for every situation.

Languages as well as techniques/paradigms are simply tools in a good developer's toolbox. Approaching any single tool as the silver bullet solution to all problems will fail.


I agree completely that OOP is just another tool. But C++ was designed from the ground up to be used for OOP. Not knowing OOP and claiming to be an expert at C++ is akin to not knowing how to read blueprints and claiming to be a master architect. Both are possible if you use other means to plan your work and communicate it to others, but it would be the exception and not the rule.


C++ does indeed add much of the necessary OOP functionality to C such as polymorphism and multiple inheritence however it is in no way a requirement. The transition from C to C++ is much akin to PHP 4 to PHP 5 (for a more modern comparison); it adds functionality and makes many more tools available to the developer without requiring them.

If you want to see languages really designed with OOP from the ground up, look to Ruby or Smalltalk.


 look, we're responding to your "To be good at C++, you need to should know about OOP - Object Oriented Programming".

of course we know C++ is not designed from ground up--it's still based on C, and the fact that you could in fact NOT know OOP and still code in C++ is testament to that.

 however, if you tell somebody you know C++ and you don't know the OOP aspects of C++, i'd call you a C programmer, not C++. 

 



the Wii is an epidemic.