Advertising (This ad goes away for registered users. You can Login or Register)

Read This First: Learning How to Program

Forum rules
Forum rule Nº 15 is strictly enforced in this subforum.
Locked
m0skit0
Guru
Posts: 3817
Joined: Mon Sep 27, 2010 6:01 pm

Re: Read This First: Learning How to Program

Post by m0skit0 »

Took you almost one year to notice my post... :lol:
Advertising
I wanna lots of mov al,0xb
Image
"just not into this RA stuffz"
noname120
Developer
Posts: 777
Joined: Thu Oct 07, 2010 4:29 pm

Re: Read This First: Learning How to Program

Post by noname120 »

Yea, I never needed to read "How to program" ^^
Advertising
Funny stuff
<yifanlu> I enjoy being loud and obnoxious
<yifanlu> rooting an android is like getting a hooker pregnant
<xerpi> I sometimes think I should leave all this stressing **** and be a farmer instead
joevar
Posts: 9
Joined: Wed Feb 01, 2012 11:37 pm
Contact:

Re: Read This First: Learning How to Program

Post by joevar »

VoidRealms on youtube has awesome C++ tutorials. I'm nearly done with his Qt C++ tutorials.
Xian Nox
Retired Mod
Posts: 2744
Joined: Fri Nov 05, 2010 5:27 pm
Location: Over the hills and far away

Re: Read This First: Learning How to Program

Post by Xian Nox »

joevar wrote:VoidRealms on youtube has awesome C++ tutorials. I'm nearly done with his Qt C++ tutorials.
I have found out for myself that jumping into Qt and using just the provided documentation is easy enough when you have general knowledge of how PC programming works.
FrEdDy
HBL Collaborator
Posts: 243
Joined: Mon Sep 27, 2010 7:08 pm
Contact:

Re: Read This First: Learning How to Program

Post by FrEdDy »

joevar wrote:VoidRealms on youtube has awesome C++ tutorials. I'm nearly done with his Qt C++ tutorials.
I just don't understand how people can learn something from a video. I can barely concentrate when reading PDFs.
https://github.com/freddy-156
<@n00b81> FREDDY CUTTIES
Davee
Guru
Posts: 278
Joined: Mon Jan 10, 2011 1:24 am

Re: Read This First: Learning How to Program

Post by Davee »

Xian Nox wrote:
joevar wrote:VoidRealms on youtube has awesome C++ tutorials. I'm nearly done with his Qt C++ tutorials.
I have found out for myself that jumping into Qt and using just the provided documentation is easy enough when you have general knowledge of how PC programming works.
Qt is niiiiiice
Follow me on twitter: @DaveeFTW
wth
HBL Developer
Posts: 834
Joined: Wed Aug 31, 2011 4:44 pm
Contact:

Re: Read This First: Learning How to Program

Post by wth »

Davee wrote:
Xian Nox wrote:
joevar wrote:VoidRealms on youtube has awesome C++ tutorials. I'm nearly done with his Qt C++ tutorials.
I have found out for myself that jumping into Qt and using just the provided documentation is easy enough when you have general knowledge of how PC programming works.
Qt is niiiiiice
+1
joevar
Posts: 9
Joined: Wed Feb 01, 2012 11:37 pm
Contact:

Re: Read This First: Learning How to Program

Post by joevar »

Xian Nox wrote:
joevar wrote:VoidRealms on youtube has awesome C++ tutorials. I'm nearly done with his Qt C++ tutorials.
I have found out for myself that jumping into Qt and using just the provided documentation is easy enough when you have general knowledge of how PC programming works.
Sure, I used Qt a couple years ago before I found these videos. Although, I think skipped over quite a bit this way. Maybe someone will find them useful like I did. :)
FrEdDy wrote:
joevar wrote:VoidRealms on youtube has awesome C++ tutorials. I'm nearly done with his Qt C++ tutorials.
I just don't understand how people can learn something from a video. I can barely concentrate when reading PDFs.
Videos are a great way to get your feet wet quickly without the jargon. The real learning is in the practice whether referencing the docs and/or reading a few books.
asgard20032
Posts: 186
Joined: Thu Jan 20, 2011 1:16 pm
Location: Milky Way, Solar system, Earth, North America, Canada, Québec..... In front of my computer

Re: Read This First: Learning How to Program

Post by asgard20032 »

ultimakillz wrote:please note that many of these statements are opinions of the author(s).

one of the questions that seems to come up on these forums over and over is something like this: "how can i get into programming on the psp?" i am writing this to (hopefully) answer those questions in general, plus give you a few resources that i hope will help.

you should learn to program on the pc before learning how to program on the psp.

for those of you who are just getting into programming this is very important. learning to program on the psp is like learning math and starting with calculus - it will make things much more complicated than they need to be. a major part of learning how to program is developing so-called "good programming practices". these things must be learned if you plan on being any kind of decent programmer. developing good programming practices is one of the most (if not the most) important aspects of learning programming, and their development will be greatly hindered if you attempt to learn on the psp versus pc.

so before you get started cracking away at psp programming, why not take the time to develop your skills as a programmer on the pc first. trust us, you will be glad that you did in the end ;)

while you can write programs in many languages for the psp, real psp programming is done in c.

if you are just learning how to program in general, or if you are interested in programming for the psp, you should definitely study the c language. c is a great language to learn programming with. its a general purpose language, the compilers and development environments are relatively easy to setup, and many aspects of the language carry over into other languages. its also completely free. there are also tons of books and online resources for learning c. overall its great for beginning programmers.

sure, you can code psp programs in other languages, but c is at the heart of the psp. on top of that, its the only language "officially" supported by the pspsdk or "psp software development kit". but as we said before, it is very important to develop good programming practices on pc before attempting to program for the psp.

you can learn to program in windows, but experienced individuals usually suggest linux.

while we all have our preferences when it comes to operating systems, many experienced programmers will suggest you learn to program in linux. while this is not 100% necessary, there are definite advantages to linux.

windows has a bad habit of teaching things that can only be done in windows. for example, there are certain libraries available in windows that will cause the program to become incompatible with any other operating system besides windows. these libraries are not present in linux. everything you encounter in linux will carry over to all other operating systems. that being said you can learn proper programming in windows, just make sure that your teaching resource covers "pure" programming and is not operating system specific.

when it comes to psp programming, linux is king. nearly all tools for psp programming were developed in linux, therefore they work best in linux. of course its not impossible to program for psp in windows, but working in linux definitely helps ;)

all these things aside, the most important thing when it comes to learning is that you are comfortable with your enviroment. if you are comfortable with windows then feel free to stick with windows, the same goes for linux. if you would like an interesting challenge you could attempt to tackle both at the same time. again its all up to you ;)

tl;dr:
  • learn to program well on pc first before even considering programming on the psp
  • the c programming language is a great language for beginner programmers, especially those interested in psp programming
  • learning to program in windows is fine, but many people suggest linux
useful links

Intro to Programming Using C - a wonderful tutorial written by m0skit0

C Programming Tutorials - from http://www.cprogramming.com

Distro Watch - a comparison of the 10 most popular linux distros

Linux Distro Chooser - a quiz to help you choose the right linux distro for you

MinGW - Minimalist GNU for Windows - a wonderful compiler for c & c++ (among other languages)

GCC - the best compiler collection for linux

Eclipse IDE - a great development environment for windows & linux

Installing the PSPSDK (Linux or Windows) - a tutorial written by yours truly
Since its an official post, important post here, it would need a major rework on capital... I didn't saw a single capital letter (Now its the time that someone will spot 1-2 capital letter just to contradict me, oh wait, I found some, when he gave link at the end...). Anyway, I am surprised no one noticed that before. Even on internet we should try to write correctly.

Also, I agree with FrEdDy, video is so bad to learn... But its a good way to show what are the feature and possibility without getting into it. We can see if it look native or not, in the case of a GUI library.

So long I didn't read that thread. Was so funny to reread again the m0skit0 VS Yosh...

m0skit0: Wow, you must be some kind of genius then.

But still, I think we can learn C in few day, but C, not programming itself. C only mean how to do loop, declare variable, use pointer, make structure, make function, reserved word, switch, passing argument... But not how to use them to achieve what we want. Its not because someone know all those thing he can make something basic like a sorting algorithm, we still need some programming skill to do that, we need to think like a programmer. So yeah, we can master C in few week or day, without being able to do basic thing like a sorting algorithm. My devise is that anyone can learn C and master it in a short time, but not programming, programming skill only come with time.

But I think its more important to develop some programming skill before mastering the language itself. For example, its more important to be able to make a bubble sorting algorithm, do Fibonacci in both, recursive and in iterative, than know every feature like union. But we still have to learn those feature one day. But I just wanted to say that there are some feature not essential to learning programming itself. In programming, the most important is the logic itself, not the mastering the language. Programming logic can be translated to any language. We can't say the same for language. Yeah, we can easily learn every C like language once we know C or one of its descendant, but learning non-C like language... Programming logic, C-like language or not, machine language or not... When learning programming, like I said, we should focus on programming itself, not the language. I mean by that that when we learn C, for example, every time we learn something new, we should try to practice it, trying to achieve something. For example, when we learn loop, we should right now start to do a bubble sorting algorithm. When we learn function, we should right now start to do a Factorial function. Know both, loop and function, then do factorial in iterative and recursive, and put your sorting algorithm in a function. Learn pointer, alright do.... We shouldn't rush and learn every feature without making some programming skill, it will just be totally useless. But once we learned C, we don't need to do the same with other C like language. (Except when learning a new paradigms, we need to adapt our knowledge to that new paradigms. But once we got Object paradigms, we can learn JAVA, C++, C# very very easily.)

A programming language is fast to learn, especially if its a imperative language like C. But programming skill is slow to acquire. Also, its easier to learn a language when we got some programming skill in background, or we already know another programming language.

Mastering a language like C, few day, ok, but mastering programming, it take a full life, and even with a full life, there always thing to learn, from our error we always learn new lesson. Mastering a programming language without any programming skill, totally useless.

Its one of the major cause that people fail their programming exam... They just learned the language itself, they didn't practice, so they got no skill. At the exam, they just don't have developed the required logic. And most of the time, exam aren't so hard, but they are hard for those that didn't prepare well.
Image
Xian Nox
Retired Mod
Posts: 2744
Joined: Fri Nov 05, 2010 5:27 pm
Location: Over the hills and far away

Re: Read This First: Learning How to Program

Post by Xian Nox »

asgard20032 wrote:Since its an official post, important post here, it would need a major rework on capital... I didn't saw a single capital letter (Now its the time that someone will spot 1-2 capital letter just to contradict me, oh wait, I found some, when he gave link at the end...). Anyway, I am surprised no one noticed that before. Even on internet we should try to write correctly.
Says the person who can't use English grammar properly. :roll: Yes, you're right that ultimakillz doesn't use capital letters, but you neither write properly, nor do you do anything about fixing the first post.
Edit: hope you're happy now...
asgard20032 wrote:Also, I agree with FrEdDy, video is so bad to learn... But its a good way to show what are the feature and possibility without getting into it. We can see if it look native or not, in the case of a GUI library.
So is documentation for example, screenshots and things like samples and demos.
asgard20032 wrote:But I think its more important to develop some programming skill before mastering the language itself. For example, its more important to be able to make a bubble sorting algorithm, do Fibonacci in both, recursive and in iterative, than know every feature like union. But we still have to learn those feature one day. But I just wanted to say that there are some feature not essential to learning programming itself. In programming, the most important is the logic itself, not the mastering the language. Programming logic can be translated to any language. We can't say the same for language. Yeah, we can easily learn every C like language once we know C or one of its descendant, but learning non-C like language... Programming logic, C-like language or not, machine language or not... When learning programming, like I said, we should focus on programming itself, not the language. I mean by that that when we learn C, for example, every time we learn something new, we should try to practice it, trying to achieve something. For example, when we learn loop, we should right now start to do a bubble sorting algorithm. When we learn function, we should right now start to do a Factorial function. Know both, loop and function, then do factorial in iterative and recursive, and put your sorting algorithm in a function. Learn pointer, alright do.... We shouldn't rush and learn every feature without making some programming skill, it will just be totally useless. But once we learned C, we don't need to do the same with other C like language. (Except when learning a new paradigms, we need to adapt our knowledge to that new paradigms. But once we got Object paradigms, we can learn JAVA, C++, C# very very easily.)
I agree with it all, except for the exercises. I'm not much of a fan of forced exercises like the ones you described because most of all, they have nothing to do with actual problems you have at hand. Studying other programs (examining the source code, modifying it, adding new features, removing bugs, reversing) is what I personally found more interesting than doing exercises like the ones you described, because I could see what my progress is, and there is a sense of achievement as well.
Locked

Return to “Programming and Security”