I was in the middle of making a thread about needing help, and I just figured it out just by typing out my problem and explaining it. That's crazy right? But what I've been meaning to ask is, I'm just a high school student who does lua as a hobby, and got into it because I wanted to get into the whole psp home-brew scene, but now that that's pretty much dead, I'm looking to do something else programming related, so I'm basically asking for any advice or places to start reading up on c++ or a language you think are fundamental to learn to program. And not just games, but program in general, I don't know why but creating things no matter how small with code is really satisfying for me. I was thinking about going out and buying a few books also, but I don't have any experience other than luaplayer and love so yea, completely clueless.
TLDR: need basic places to start learning important languages like C
Help learning other Languages
- BulbaMander
- Citizen
- Posts: 65
- Joined: Sat Dec 15, 2012 7:00 pm
Help learning other Languages
It takes an idiot to do cool things. Thats why they're cool.
Re: Help learning other Languages
It's a paid course: http://epgy.stanford.edu/ , but it's from standford and you get a neat certificate in the end. (I finshed this course, you can ask for help from me if you need to.)
PM me on here or elsewhere if you'd like to discuss porting your game to Nintendo Switch via mazette!
personal page and a raycaster
personal page and a raycaster
-
- Party member
- Posts: 235
- Joined: Sat Dec 15, 2012 6:54 am
Re: Help learning other Languages
Just a side note: if you are mostly interested in C++ and not C, then just skip to learning C++. A lot of people think they should start with C (since it's "easier", supposedly) so that C++ will be easier to learn...but that's not a good idea imho. Chances are fairly high that, by learning C solely as a gateway to C++, you'll find yourself having to relearn things (and possibly confused), or you'll just end up programming C in C++.
Now, this is NOT to say that you shouldn't learn C. I just want to stress that you don't need, and probably shouldn't, learn C only because you want to learn C++. Learn C because you want to learn and use C.
As far as learning C++ from the beginning, look no farther than: http://www.amazon.com/Accelerated-C-Pra ... ed+c%2B%2B
It's a great book that teaches C++ "the right way" - not as C with OOP, but as C++. There are of course other great books on C++, though this is probably the best introduction (both in how it teaches you, and by the good habits that it encourages), especially for non-programmers.
If you'd like to learn C, then the book by the creators themselves is one of the best options out there: http://www.amazon.com/Programming-Langu ... rogramming
Some other languages to look into would be Java, C#, and Objective-C. I have a feeling that C# is going to start waning in popularity, especially now that XNA is dead/dying (though there's still MonoGame, the open source alternative), or at least that it won't be as popular among game developers as it has been the last 6 or 7 years. Java is always popular, and seems to be fairly popular on the job market (though I don't have much experience with it). Android is very Java-oriented, for what that's worth (potentially a lot, especially if OUYA doesn't completely fail). Objective-C (like C++, it's another object-oriented subset of C...though they are pretty different from each other) is currently pretty popular and probably will be for a while, because of its use in iOS app and Mac software development.
In reality, it's useful to know as many languages as you can. If you were just starting out in programming, I'd suggest that you start with C# or with something like Lua or Python (NOT JavaScript! haha). If, through your experiences with Lua (and possibly other languages), you're fairly comfortable with programming concepts, and you're serious about this, then learning C++ will be pretty useful to you. C# would still be a good option in that case though.
Also, while very opinionated, this article might be useful to you: http://www.gamefromscratch.com/post/201 ... loper.aspx
Oh, and you mentioned that the PSP home brew scene is dead. Well, that may be true, but the Playstation Mobile (Vita + Sony and Sony-certified Android devices + HTC Android devices) dev scene definitely isn't:
http://blog.us.playstation.com/2012/11/ ... obile-sdk/
http://www.gamefromscratch.com/page/Pla ... ntent.aspx
I believe that the PS Mobile SDK is all in/for C#. Might be worth checking out!
EDIT:
And don't get me wrong, courses and such are really good ways to learn for most people. I didn't post anything like that though, as I tend to learn better from books and articles and such. If you are the type of person where a fixed curriculum or (in the case of a IRL course) a classroom setting helps you learn, then go for that.
Now, this is NOT to say that you shouldn't learn C. I just want to stress that you don't need, and probably shouldn't, learn C only because you want to learn C++. Learn C because you want to learn and use C.
As far as learning C++ from the beginning, look no farther than: http://www.amazon.com/Accelerated-C-Pra ... ed+c%2B%2B
It's a great book that teaches C++ "the right way" - not as C with OOP, but as C++. There are of course other great books on C++, though this is probably the best introduction (both in how it teaches you, and by the good habits that it encourages), especially for non-programmers.
If you'd like to learn C, then the book by the creators themselves is one of the best options out there: http://www.amazon.com/Programming-Langu ... rogramming
Some other languages to look into would be Java, C#, and Objective-C. I have a feeling that C# is going to start waning in popularity, especially now that XNA is dead/dying (though there's still MonoGame, the open source alternative), or at least that it won't be as popular among game developers as it has been the last 6 or 7 years. Java is always popular, and seems to be fairly popular on the job market (though I don't have much experience with it). Android is very Java-oriented, for what that's worth (potentially a lot, especially if OUYA doesn't completely fail). Objective-C (like C++, it's another object-oriented subset of C...though they are pretty different from each other) is currently pretty popular and probably will be for a while, because of its use in iOS app and Mac software development.
In reality, it's useful to know as many languages as you can. If you were just starting out in programming, I'd suggest that you start with C# or with something like Lua or Python (NOT JavaScript! haha). If, through your experiences with Lua (and possibly other languages), you're fairly comfortable with programming concepts, and you're serious about this, then learning C++ will be pretty useful to you. C# would still be a good option in that case though.
Also, while very opinionated, this article might be useful to you: http://www.gamefromscratch.com/post/201 ... loper.aspx
Oh, and you mentioned that the PSP home brew scene is dead. Well, that may be true, but the Playstation Mobile (Vita + Sony and Sony-certified Android devices + HTC Android devices) dev scene definitely isn't:
http://blog.us.playstation.com/2012/11/ ... obile-sdk/
http://www.gamefromscratch.com/page/Pla ... ntent.aspx
I believe that the PS Mobile SDK is all in/for C#. Might be worth checking out!
EDIT:
And don't get me wrong, courses and such are really good ways to learn for most people. I didn't post anything like that though, as I tend to learn better from books and articles and such. If you are the type of person where a fixed curriculum or (in the case of a IRL course) a classroom setting helps you learn, then go for that.
- BulbaMander
- Citizen
- Posts: 65
- Joined: Sat Dec 15, 2012 7:00 pm
Re: Help learning other Languages
Wow thanks a lot for all the information. I've clicked a few links and I'm very interested in the accelerated c++ book, and I'm probably going to at least try to learn c#, andscutheotaku wrote:Just a side note: if you are mostly interested in C++ and not C, then just skip to learning C++. A lot of people think they should start with C (since it's "easier", supposedly) so that C++ will be easier to learn...but that's not a good idea imho. Chances are fairly high that, by learning C solely as a gateway to C++, you'll find yourself having to relearn things (and possibly confused), or you'll just end up programming C in C++.
Now, this is NOT to say that you shouldn't learn C. I just want to stress that you don't need, and probably shouldn't, learn C only because you want to learn C++. Learn C because you want to learn and use C.
As far as learning C++ from the beginning, look no farther than: http://www.amazon.com/Accelerated-C-Pra ... ed+c%2B%2B
It's a great book that teaches C++ "the right way" - not as C with OOP, but as C++. There are of course other great books on C++, though this is probably the best introduction (both in how it teaches you, and by the good habits that it encourages), especially for non-programmers.
If you'd like to learn C, then the book by the creators themselves is one of the best options out there: http://www.amazon.com/Programming-Langu ... rogramming
Some other languages to look into would be Java, C#, and Objective-C. I have a feeling that C# is going to start waning in popularity, especially now that XNA is dead/dying (though there's still MonoGame, the open source alternative), or at least that it won't be as popular among game developers as it has been the last 6 or 7 years. Java is always popular, and seems to be fairly popular on the job market (though I don't have much experience with it). Android is very Java-oriented, for what that's worth (potentially a lot, especially if OUYA doesn't completely fail). Objective-C (like C++, it's another object-oriented subset of C...though they are pretty different from each other) is currently pretty popular and probably will be for a while, because of its use in iOS app and Mac software development.
In reality, it's useful to know as many languages as you can. If you were just starting out in programming, I'd suggest that you start with C# or with something like Lua or Python (NOT JavaScript! haha). If, through your experiences with Lua (and possibly other languages), you're fairly comfortable with programming concepts, and you're serious about this, then learning C++ will be pretty useful to you. C# would still be a good option in that case though.
Also, while very opinionated, this article might be useful to you: http://www.gamefromscratch.com/post/201 ... loper.aspx
Oh, and you mentioned that the PSP home brew scene is dead. Well, that may be true, but the Playstation Mobile (Vita + Sony and Sony-certified Android devices + HTC Android devices) dev scene definitely isn't:
http://blog.us.playstation.com/2012/11/ ... obile-sdk/
http://www.gamefromscratch.com/page/Pla ... ntent.aspx
I believe that the PS Mobile SDK is all in/for C#. Might be worth checking out!
EDIT:
And don't get me wrong, courses and such are really good ways to learn for most people. I didn't post anything like that though, as I tend to learn better from books and articles and such. If you are the type of person where a fixed curriculum or (in the case of a IRL course) a classroom setting helps you learn, then go for that.
is something I'm going to try and look into too. Thanks for all the help guys.Davidobot wrote:It's a paid course: http://epgy.stanford.edu/ , but it's from standford and you get a neat certificate in the end. (I finshed this course, you can ask for help from me if you need to.)
It takes an idiot to do cool things. Thats why they're cool.
Re: Help learning other Languages
Disclaimer: I don't know anything about anything.
There are a lot of free courses which look pretty good, like Udacity's Introduction to Computer Science, Coursera's Learn to Program: The Fundamentals, An Introduction to Interactive Programming in Python, Introduction to Systematic Program Design, Introduction to Programming for Digital Artists, Computer Science 101, and edX's CS50x: Introduction to Computer Science I and 6.00x: Introduction to Computer Science and Programming.
There are a lot of free courses which look pretty good, like Udacity's Introduction to Computer Science, Coursera's Learn to Program: The Fundamentals, An Introduction to Interactive Programming in Python, Introduction to Systematic Program Design, Introduction to Programming for Digital Artists, Computer Science 101, and edX's CS50x: Introduction to Computer Science I and 6.00x: Introduction to Computer Science and Programming.
- BulbaMander
- Citizen
- Posts: 65
- Joined: Sat Dec 15, 2012 7:00 pm
Re: Help learning other Languages
YES! more delicious links to follow, thanks manSantos wrote:Disclaimer: I don't know anything about anything.
There are a lot of free courses which look pretty good, like Udacity's Introduction to Computer Science, Coursera's Learn to Program: The Fundamentals, An Introduction to Interactive Programming in Python, Introduction to Systematic Program Design, Introduction to Programming for Digital Artists, Computer Science 101, and edX's CS50x: Introduction to Computer Science I and 6.00x: Introduction to Computer Science and Programming.
It takes an idiot to do cool things. Thats why they're cool.
- substitute541
- Party member
- Posts: 484
- Joined: Fri Aug 24, 2012 9:04 am
- Location: Southern Leyte, Visayas, Philippines
- Contact:
Re: Help learning other Languages
Hehehe... I took Computer Science 50(Introduction to computer science 1) in edX. I'm in Pset7. That course is due April 15 though.
I'm known as icrawler in edX
Edit: As a side note, on the first half of the course, you learn the basics of C. Problem set's difficulty somewhat exponentially increases, as the second (pset1) is just creating a mario half pyramid and the greedy algorithm (both are actually quite easy), and then the sixth (pset5) is about spell-checking (it gets a lot harder when you do the "hacker edition").
I'm known as icrawler in edX
Edit: As a side note, on the first half of the course, you learn the basics of C. Problem set's difficulty somewhat exponentially increases, as the second (pset1) is just creating a mario half pyramid and the greedy algorithm (both are actually quite easy), and then the sixth (pset5) is about spell-checking (it gets a lot harder when you do the "hacker edition").
Currently designing themes for WordPress.
Sometimes lurks around the forum.
Sometimes lurks around the forum.
Re: Help learning other Languages
Some people like the book method, but what others haven't talked about is the "diving in" method. About a month ago, I wanted to give Erlang a shot. I knew Haskell a bit from a course I took last semester, and some of the ideas that a functional programming mindset bring are fairly applicable in imperative languages.
So, what did I do to learn? Check out /r/dailyprogrammer. I'd go through the easy challenges first, write out the answer in a language I know, then look for examples of the answer written in the language I want to learn. By completing the challenge myself first, I knew a lot more about the problem and what to look for in the other languages, so when I would go through the sometimes confusing syntax of Erlang, I'd have a better idea of what is going on. Then, I'd re-implement the solution in the language I wanted to learn. Just reading up some answer isn't enough for me to absorb the information; I need to actively type it out, and thus have to pull out stored knowledge about the library functions and other minutia of the language.
So, what did I do to learn? Check out /r/dailyprogrammer. I'd go through the easy challenges first, write out the answer in a language I know, then look for examples of the answer written in the language I want to learn. By completing the challenge myself first, I knew a lot more about the problem and what to look for in the other languages, so when I would go through the sometimes confusing syntax of Erlang, I'd have a better idea of what is going on. Then, I'd re-implement the solution in the language I wanted to learn. Just reading up some answer isn't enough for me to absorb the information; I need to actively type it out, and thus have to pull out stored knowledge about the library functions and other minutia of the language.
Re: Help learning other Languages
Reminds me of Rosetta Code.
The idea is to present solutions to the same task in as many different languages as possible, to demonstrate how languages are similar and different, and to aid a person with a grounding in one approach to a problem in learning another.
Who is online
Users browsing this forum: Google [Bot] and 3 guests