Advertisement

How to start educating yourself with programming from scratch

Started by February 18, 2015 04:08 PM
14 comments, last by jpetrie 9 years, 11 months ago


But C++ is a really bad choice for a first language.

I taught myself C++ as my first language. After that, every other language is a piece of cake! But it was very difficult. It would have been eiser to start with a language more forgiving to mistakes that beginners make. That gets me wondering: what is the best language to start with in 2015?

Javascript, python, Java, C/C++, C#, swift, something else? I'm not really sure.

I think, therefore I am. I think? - "George Carlin"
My Website: Indie Game Programming

My Twitter: https://twitter.com/indieprogram

My Book: http://amzn.com/1305076532

Wow Delite413 that's really inspiring and helpful thanks so much.

There are plenty of good resources available for free on the internet.

Would you give me links that helped you to learn?

Is C++ really going to be obsolete soon and not used anymore? Or are there games out there will still be built on it in the future? Because I know my favourite game is based on C++ and using an Unreal Engine... That's why I was thinking to start C++.

About that C# free course. It sounds interesting but it sounds like it's not as professional as C++ or Java. If one was to learn it and go through with it would it then greatly help to learn C++ after?

How do you rate the book "How to think like a programmer" ?

Is it good or are there better/easier books you can recommend that teaches from start to finish C++/Java or at least from a beginner to an advanced level?

Advertisement


About that C# free course. It sounds interesting but it sounds like it's not as professional as C++ or Java.

Thank you for a good lough in the morning :D All 3 languages are pretty on par with one exception that C++ allows for tighter low level control if you know what you are doing. At your level of knowledge it just means you will shot your foot easily without any warning.

At first I wanted to compare your statement to something like "the chainsaw is not as professional as handsaw", however it is not good one. Both C++ and Java are also chainsaws, just the C++ has all the safeguards removed :)


Is C++ really going to be obsolete soon and not used anymore? Or are there games out there will still be built on it in the future?

C++ has been "about to become obsolete" for the last thirty years. I really wouldn't worry about it. Not a good choice for a first language though.

I'm self taught. Don't see how you can do it any other way. College can get you started but unless you get bitten by the bug and start giving up serious chunks of your life to this, you won't get very good at it.

About that C# free course. It sounds interesting but it sounds like it's not as professional as C++ or Java. If one was to learn it and go through with it would it then greatly help to learn C++ after?

There isn't any level of "professionalism" when it comes to programming language. It's more about what you ultimately want to create with the language, target platforms, system constraints and so on. As you are just starting out, you're not going to have a basis for that yet so it's not something I would worry about. The important thing is to pick a language, pick your learning materials, and start writing and compiling code.

I've only just started learning C# myself (taking that very course I linked), but I have previously learned C++ and Java. I wouldn't recommend C++ as a first language; as others have mentioned you get a lot more control with it at a lower level, but it's also much easier to make mistakes. This is especially when it comes to memory management. When I learned Java after C++, not having to worry about all the usual memory management stuff was a breath of fresh air. And C# is more akin to Java in that way.

When you first start learning there are a couple things to keep in mind:

1) A lot of the basic programming knowledge isn't specifically to any given language. For example, learning how to structure a program, how to think in terms of programming logic, and good documentation habits are all things you need to learn but will apply to any programming language you use.

2) Just because you start out with one programming language doesn't mean you are forever locked in to using it. You could spend a few months or longer learning C#, then maybe move on to Java or C++. Or even try learning languages in parallel (although I would NOT recommend that if you are just starting out).

The key is to pick something and just start learning.

Would you give me links that helped you to learn?

I learned to program before the web was a thing.

Is C++ really going to be obsolete soon and not used anymore? Or are there games out there will still be built on it in the future? Because I know my favourite game is based on C++ and using an Unreal Engine... That's why I was thinking to start C++.

In some respects the language is obsolete now, from the theoretical perspective of modern language features and design. However, from a practical perspective it's nowhere near obsolete and will remain in heavy use for a long time to come.
That does not make it good first language, however. It's very complicated and very unforgiving - it's very much focused on the idea that you, as the programmer, know exactly what you are doing. You, as a neophyte programmer, don't know exactly what you are doing so you will find the language far more of a struggle. C++ will be much easier to pick up once you have learned another language first, and good programmers know many languages anyway.
What your favorite game was made in is about as relevant to your ability to make games as the color of my car. The developer makes the game, not the language.
About that C# free course. It sounds interesting but it sounds like it's not as professional as C++ or Java. If one was to learn it and go through with it would it then greatly help to learn C++ after?

This statement comes from a position of naivette. There is nothing "professional" (or not) about a language, only about the programmer. And a professional programmer does not scoff at a useful language.
If you learn C# (or Python, or whatever) first, then yes, C++ will be easier to learn because you will have already spent time learning lots of fundamental concepts that will transfer and make your life easier.

This topic is closed to new replies.

Advertisement