• 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
Rhinotones

Want to learn programming...again

33 posts in this topic

You can't go wrong with either C++ or Java as a primary language. C++ is the darling of the games industry whilst Java can be used for Android games.
 
However, if you are learning from scratch then its wise to leave alone OOP languages until you have the basics of structured programming nailed. Both C or JavaScript are ideal beginner languages and share almost identical basic syntax with both C++ and Java. Well, C and C++ are considered the same language but there are some differences beside the obvious use of OOP in C++...

This is bad advice, IMO. Firstly, because OOP is a good thing to learn early, so you should start with an OOP language. Secondly, because when learning C as a precursor to C++ there are a number of things that are common practice in c, that are bad practice in C++.

C and C++ are different languages, and not just because of OOP. Two big differences are how to write constants, and how to write generic code.

Sigh...please read my post properly before replying...

 

"Well, C and C++ are considered the same language but there are some differences beside the obvious use of OOP in C++..."

 

Anyway, I think learning OOP straight off the bat is going to leave many beginners feeling lost. I've seen it on the courses I have taken where some have withdrawn because they jumped the gun with procedural programming.  One has enough on their plate with loops, control statements, data types, opening and closing files without throwing OOP in to the mix.  Yes, its an important concept, but one thing at a time, no?

0

Share this post


Link to post
Share on other sites

I've decided to go with C# as many people have pointed out here that for a beginner it's easier than c++. Someone also mentioned that C# goes hand in hand with unity and I am looking at learning that also. As my long term goal is to program for games this seems to be the logical choice.

 

Thanks once for for your invaluable suggestions and information.

 

Cheers,

Rhino.

 

ya, good but without learning c++ you need to go with using engines to power up your games and your game will be based on the engine, not in you own skill of programming :(

-3

Share this post


Link to post
Share on other sites

I've decided to go with C# as many people have pointed out here that for a beginner it's easier than c++. Someone also mentioned that C# goes hand in hand with unity and I am looking at learning that also. As my long term goal is to program for games this seems to be the logical choice.

 

Thanks once for for your invaluable suggestions and information.

 

Cheers,

Rhino.

 

ya, good but without learning c++ you need to go with using engines to power up your games and your game will be based on the engine, not in you own skill of programming sad.png

Baby steps. Gotta walk before I can run :)

1

Share this post


Link to post
Share on other sites

 

I've decided to go with C# as many people have pointed out here that for a beginner it's easier than c++. Someone also mentioned that C# goes hand in hand with unity and I am looking at learning that also. As my long term goal is to program for games this seems to be the logical choice.

 

Thanks once for for your invaluable suggestions and information.

 

Cheers,

Rhino.

 

ya, good but without learning c++ you need to go with using engines to power up your games and your game will be based on the engine, not in you own skill of programming sad.png

Baby steps. Gotta walk before I can run smile.png

True :)

0

Share this post


Link to post
Share on other sites

Sigh...please read my post properly before replying...



"Well, C and C++ are considered the same language but there are some differences beside the obvious use of OOP in C++..."


That statement is still incorrect, no matter how you emphasize it. They are nowhere near considered the same language, and there are many differences. Their standards move at different paces, and disregarding even OOP, there are a surprisingly large amount of things that C supports and allows that C++ does not, and vice versa. Not to mention, a wealth of different keywords (and meanings for them), with new types that are exclusive to C or C++. C++ started out before the first ANSI C standard; it is in many ways not a superset of the language, because it wasn't wholly built upon it. In many ways, it was influenced by the success of C as a programming language, and borrowed its syntax, but it was developed alongside it, and separately.

To keep saying that they are almost the same is just not true. There are many code samples that will compile differently (or not at all) in either language. Perhaps try to elaborate on your point so that you don't confuse newcomers? That's the reason people are calling you on it.

Anyway, I think learning OOP straight off the bat is going to leave many beginners feeling lost. I've seen it on the courses I have taken where some have withdrawn because they jumped the gun with procedural programming. One has enough on their plate with loops, control statements, data types, opening and closing files without throwing OOP in to the mix. Yes, its an important concept, but one thing at a time, no?


I agree with this, but it might depend on the teacher. My teacher for C++ was terrible. She didn't know what she was doing, and was teaching C with Classes. Everything went in a class, even things that held no state; they should have been free functions in a namespace, but she didn't teach namespaces. We had char arrays for everything, because she didn't teach the standard templates. We got ripped off in our education. As a result, my code was absolutely horrible, and it took me many years of finally swearing off classes because I didn't need them, before I could learn how important they were.

Often, going without a feature and doing things the hard way is the best way to learn to appreciate a feature.
2

Share this post


Link to post
Share on other sites

Sigh...please read my post properly before replying...



"Well, C and C++ are considered the same language but there are some differences beside the obvious use of OOP in C++..."


That statement is still incorrect, no matter how you emphasize it. They are nowhere near considered the same language, and there are many differences. Their standards move at different paces, and disregarding even OOP, there are a surprisingly large amount of things that C supports and allows that C++ does not, and vice versa. Not to mention, a wealth of different keywords (and meanings for them), with new types that are exclusive to C or C++. C++ started out before the first ANSI C standard; it is in many ways not a superset of the language, because it wasn't wholly built upon it. In many ways, it was influenced by the success of C as a programming language, and borrowed its syntax, but it was developed alongside it, and separately.

To keep saying that they are almost the same is just not true. There are many code samples that will compile differently (or not at all) in either language. Perhaps try to elaborate on your point so that you don't confuse newcomers? That's the reason people are calling you on it.

>Anyway, I think learning OOP straight off the bat is going to leave many beginners feeling lost. I've seen it on the courses I have taken where some have withdrawn because they jumped the gun with procedural programming. One has enough on their plate with loops, control statements, data types, opening and closing files without throwing OOP in to the mix. Yes, its an important concept, but one thing at a time, no?


I agree with this, but it might depend on the teacher. My teacher for C++ was terrible. She didn't know what she was doing, and was teaching C with Classes. Everything went in a class, even things that held no state; they should have been free functions in a namespace, but she didn't teach namespaces. We had char arrays for everything, because she didn't teach the standard templates. We got ripped off in our education. As a result, my code was absolutely horrible, and it took me many years of finally swearing off classes because I didn't need them, before I could learn how important they were.

Often, going without a feature and doing things the hard way is the best way to learn to appreciate a feature.

 

On the point of C++,  I still don't agree with you and like wise, so we shall have to leave it there.  Moving on from that, I do agree with you on the differences between C and C++.  When I tried learning C++ back in the day(about 2000), there was a lot of "if you know C then you already know C++".  I fell into that trap and it took some rather harsh peers to point out that mistake after so many years of bloody awful code.  One piece of advice was to get a copy of Herbert Schildt's C++ Reference book, in which Schildt covers the differences. The other was learn software development and maths, but thats for another time, perhaps.

 

Concerning teaching of programming...yes, it can be frustrating when being led by bad advice. I remember an article in PC Format, a few years ago, when they ran a guide to XNA and C#.  Some of their advice was along the lines of "People who read programming books and go on courses are idiots. Save time by just cutting'n'pasting other peoples code. If it doesn't work then you haven't lost anything!".  Some poor sod most probably took that advice and after so much wasted time of poncing other people's code which only served to generate loads of IDE error reports which they had no idea what they meant, decided to go back and learn C# properly.  On the other hand, I had some good tutoring with the Open University here in England. There was a course in Java, and considering quite a few students were new to programming, they actually enjoyed the introduction to OOP - even without prior knowledge.  In a nutshell, they used the idea of frogs, toads & lilypads and considering I was rebellious to formal education, I was won over by how they taught OOP to complete beginners. They've got an improved presentation of that course(M250) and I do recommend it to those either trying to learn Java or even just OOP.

0

Share this post


Link to post
Share on other sites

C++ is a super set of C... circa 1983.

 

That's the relationship between those two languages.  Since then there have been 20 years of separate evolution between those two languages.

 

So no, the are not the same, not even close.

0

Share this post


Link to post
Share on other sites

C++ is a super set of C... circa 1983.

 

That's the relationship between those two languages.  Since then there have been 20 years of separate evolution between those two languages.

 

So no, the are not the same, not even close.

 

Serapth, myself and the above posters actually agree that C and C++ are separate languages.  That is not what is the debate here. The disagreement is that they believe I have not been clear about that in how I've worded it that C and C++ are separate languages, whereas I feel I have been clear about it. 

 

Okay, if I had wrote "C and C++ are the same language.", then I could understand the objection.  But that is not what is not what I wrote - I wrote "Are considered the same language" because like Ectara's Teacher whom they mention, there are far too many people who do consider C and C++ the same language when they clearly are not.  C++ is not merely C with OOP tacked on - which is rather clear with my further correction of that misconception with  "but there are some differences beside the obvious use of OOP in C++...", which is in the same sentence.

 

Alright, on that point I hope that clears up any misunderstanding that has gone on here.  I will even go one further and be kind by saying that if I've upset anyone here over this misunderstanding then I apologise, for that certainly was not my intention.

0

Share this post


Link to post
Share on other sites

C++ is a super set of C... circa 1983.


Not a strict superset; this term implies that it has things that C had plus more, and that all valid C programs are valid C++ programs. Even something like:
 
function(){
return 0;
}

will act completely different in the two languages.

0

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