• Advertisement
Sign in to follow this  

C++ As First Language

This topic is 2011 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Advertisement
I'm going to make a suggestion totally out of the blue. If you are totally new to programming try learning PHP first. It's not useful for games since it's a web scripting language but it's dirt easy and if you never programmed before then games aren't the first thing you should focus on in the first place. With PHP you will at least learn something you will encounter in most other languages such as a while loop, a for loop, switch/case, if/else etc. You will use arrays, hash tables and never have to worry about forward declarations, header files or translation units. That's for when you feel ready for the next step which is when you'd switch to C++. And PHP has the additional benefit that you will need it for your websites where you wouldn't use C++. Another language that you would learn just because it seems easier at first but overlaps with C++ might be abandoned later once you upgrade. Just my 2 cents.

Share this post


Link to post
Share on other sites
[quote name='Fredericvo' timestamp='1342313548' post='4959162']
..if you never programmed before then games aren't the first thing you should focus on in the first place.
[/quote]

Sorry, I disagree here. Games is exactly why I learned programming. It was my focus 20 years ago, and it still is my focus today. Don't underestimate passion.

Share this post


Link to post
Share on other sites
Ok guys I start with C# with this book that a guy with p.m. recommended me http://www.amazon.com/gp/product/0735626707/ref=s9_simh_gw_p14_d0_g14_i1?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-2&pf_rd_r=1SKB3DWJV8R3ZZ5R9XSZ&pf_rd_t=101&pf_rd_p=470938631&pf_rd_i=507846

Thank you all for helping me.

Share this post


Link to post
Share on other sites
Whatever you do, do not learn programming using PHP. This language is broken by design, encourages you to learn the worst possible programming style and will make it hard for you to learn any good coding practices.

Do. Not. Use. PHP.

Share this post


Link to post
Share on other sites
C++ is great language for beginner. Hard - yes but not impossible.

You should learn something more complicated, that give you more control over your actions and ther move to something easier with that knowledge. If C++ is hard for you then you should think about change of resources. I read ~5 books before i find the right one for me beacuse i prefer books with exercises and examples, like in "C++ Programming: Program Design Including Data Structures" which is my book of choice.

If you want to learn C++, you will learn C++ - it's matter of time. After learning some basics you can move to something different, like C# for example. Edited by meliegreeFPM

Share this post


Link to post
Share on other sites
I was under the impression that if you want to learn something, you should always start simple and then build on top of your knowledge. The notion of first learning a hard language and then moving on to an easier one is counter-productive.

The idea of starting with some other language because it gives you more control is, to me, a baffling one. With that reasoning, we could say that, since Assembly gives you the most control you can possibly squeeze out of your computer, you should start with that. Yet it is common among people to not recommend it because it is very difficult to work with. It's like giving your teenage kid a bugatti because it's more responsive. There's a chance of course he will learn to drive it safely but there is also a massive chance that he'll try to make the corner at 50 mph and hurt himself.

Share this post


Link to post
Share on other sites
I don't think so.

If i once learn something hard i will learn something easy in no time. But if i start from something easy then i must learn much more things in new language. There is also way of thinking "that is to hard for me." when we see to many differences.

When you can repair car we can repair, let say, bicycle in seconds. But that doesnt work another way.

Yeah, but there is also chance that after that bugatti he wil be more responsible than other drivers in his age.

Share this post


Link to post
Share on other sites
Again, I completely have a different mindset about this. Never have I seen anyone start off with something hard so he or she can learn something easier later. Schools follow the simple-to-hard rule like a religion. You don't learn Calculus so you can learn Algebra, and you certainly don't learn how to repair cars so you can repair a bicycle. If you ask a University to give you Differential Equations before you learn Calculus they'll look at you like you're crazy :D

Share this post


Link to post
Share on other sites
Guys like I said earlier I have already started learning C# with be book I mentioned above... there's no point discussing this thread further..... except IF you have a better book to recommend me ...... But if you really want to continue discuss this thread by any means do it .

Share this post


Link to post
Share on other sites
[quote]So my final question is.. Is really C++ that hard for a begginer? is it impossible to learn C++ as first language? or it just requires some more dedication than other languages? or maybe i just havent got to the difficult things yet....[/quote]

I dont think so but I also have a decent background in C# right now im re learning the syntax of C++ i have not yet used the language for anything demanding I'm reading the boox beginning C++ game programming... just keep moving forward, good luck

Share this post


Link to post
Share on other sites
Hmm... we talking about language or about building machines? If i want to learn Japanese i must start from English? Also i say - that is my opionion, so why to start holy war about that?

Programming language is something little different than calculus, algebra etc. beacuse you can start learning whatever language you want, with no need of knowing rest of it. It depend on you, how fast you will learn this. That's why is better to learn hard language first, when you don't know hard hard it is.

Share this post


Link to post
Share on other sites
Even though I don't know much about programming cause I am still begginer I think I get your point.

So here is my example. Let's say that we have two programming languages.

The A language in order to learn it has 2+4+54-34+3= ???
While B is 4+5+2-2= ????

If you learn A you will have no problem learning B cause its more easy....

But if you try to learn A and get the wrong result you may end up confuced and start all over again.

Meaning that it's safer and more natural to go from easy to hard. That's my thought I think it's accurate enough for everyone to understand my point.

Share this post


Link to post
Share on other sites
Recently i started to learn programming myself. As far as i understand it, you need to learn a programming language and how to program. Just by knowing a programming language doesn't mean that you can write good programs. Without having some programming experience i think its not a good way to start with C++. Start with something more simple like python or java. There are some really good videos on youtube that you can watch. For example you can find the StanfordUniversity channel on youtube and there is a course called Programming Methodology. There are 28 videos 50min long, recorded directly from the Stanford University. It is a course for students that don't need to have any prior experience in programming and they use java as their first language. You can download the books and everything you need from their homepage. There are also good videos from the MIT university and i think they start with python. When you master one or both of them you can jump to something else.

Share this post


Link to post
Share on other sites
[quote name='rnlf' timestamp='1342005453' post='4957985']If you *really* want to learn C++ as your first language, try to avoid the C parts of it as long as possible.[/quote]

Just to jump in (imagine that! Joining a discussion on a forum; madness) but this is a terrible, terrible idea. Learning C either alongside or before or after is a great idea. C++ articles and books tend focus a lot on treating everything as a class. Everything everywhere (at least in my experience).

Stuff that uses C tends to have a tighter focus on small programs and I learnt a lot about memory through it.

It's just important to note that C++ doesn't simply extend C.

[quote name='luki' timestamp='1342543367' post='4960053']As far as i understand it, you need to learn a programming language and how to program.[/quote]

This is also a very, very good point. Don't forget to study outside the language you're learning. Edited by BinaryPhysics

Share this post


Link to post
Share on other sites
[quote name='BinaryPhysics' timestamp='1342552758' post='4960132']
Just to jump in (imagine that! Joining a discussion on a forum; madness) but this is a terrible, terrible idea. Learning C either alongside or before or after is a great idea. C++ articles and books tend focus a lot on treating everything as a class. Everything everywhere (at least in my experience).
[/quote]

No.
C and C++ are different languages.
Idiomatic Modern C++ looks nothing like C.

By trying to learn both C++ and C you are just making life hard for yourself. Learn one language or the other but trying to learn both at the same time when its your first language is dumb.

To be honest learning C++ as a first language is dumb but that doesn't stop many many people making that mistake...

Share this post


Link to post
Share on other sites
I don't believe learning any language is a bad idea. Hard or not c++ has some of the best support and documentation to help you out. Provided you know how to distinguish good and bad advice. I remembered whatever c++ knowledge I had helped me make my java courses stupid easy lol

Just be persistent and dedicated to whatever you choose

Share this post


Link to post
Share on other sites
[quote name='brickets' timestamp='1342573611' post='4960281']
I don't believe learning any language is a bad idea.
[/quote]

Generally true.

Now, learning certain languages *FIRST*, that is a much different comment.

Share this post


Link to post
Share on other sites
I don't think it is so hard to learn C++ programming..
But it is sure that you should learn more about Computer before C++ programming .
You should know how the memory and cpu work together and understand what the memory address really means ....this is the key to understand pointers in C++ (notice the function pointers)

Then any trouble else with C++ programming?

If any it'll be how to design a project...

Share this post


Link to post
Share on other sites
[quote name='brickets' timestamp='1342573611' post='4960281']
Provided you know how to distinguish good and bad advice. [/quote]

And as a [b]first language[/b] there in lies the crux of the matter.

As a beginner in programming you are, by definition, [b]not[/b] good enough to tell the difference between good and bad advice. You simply don't have the knowledge to back it up and when it comes to a language like C++ outside of a few books the advice lurking on random internet sites tends towards 'bad'.

Share this post


Link to post
Share on other sites
[quote name='FireInDark' timestamp='1342592799' post='4960348']
I don't think it is so hard to learn C++ programming..
But it is sure that you should learn more about Computer before C++ programming .
You should know how the memory and cpu work together and understand what the memory address really means ....this is the key to understand pointers in C++ (notice the function pointers)

Then any trouble else with C++ programming?

If any it'll be how to design a project...
[/quote]
That's why I think assembler could actually be an excellent first language. After all many old programmers had nothing else and so it was their first language. I myself, though am moderately old, knew assembler before C and C++ and whenever I wasn't sure what a feature did I'd often peek at the assembler output to get it.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement