• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
shadowstep00

C++ As First Language

72 posts in this topic

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.
-1

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.
0

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.
1

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
0

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.
0

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.
-2

Share this post


Link to post
Share on other sites
So you suppose engineers learn how to build a space ship first, because then, they will have an easier time learning how to weld a pipe in their drain?
0

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
1

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 .
0

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
0

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.
0

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.
0

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.
0

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
-1

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
0

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.
1

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...
0

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'.
2

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.
-1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0