Learning To Program.


-Matt-94

Still Fresh
Joined
Sep 30, 2008
Messages
4
Hi,

This is my first post on this forum, although I have been visiting it for awhile now. (Guess I was to lazy to register!) Anyways, I have been following the Pandora everyday, and before that, I would look up stuff about the GP2X like crazy. I have a real interest in programming, namely for the Pandora. Unfortunately, I am a complete noob at it, but I am beginning to understand the basic concepts. I was before trying to learn C++, but decided to learn Python first. I heard it was a great beginner language, and that it should be easier to learn other languages later. Is that true, and if not, what language would you all recommend? Also, I have some stuff to read, but is there something you personally learned off from, and if so, please let me know. I realize that "doing" programming helps you learn more than reading tutorials, but I first have to learn the functions and syntax. I own a PSP and thought I could try to make something simple for that while I wait for money for the Pandora. Is Pygame a necessity? Sorry for the wall of text, but I needed to ask the devs out there a bunch of questions I have. :D Thanks for reading!
 
No. Pygame is not necessary you just need to understand programming as a whole with python then move on to w/e. You have to have a lot of god dam patience though. It is pretty boring and repetitive at first, so try to screw with things with a friend.
 
PoisonedV said:
M&D Cheese said:
on what language, C? C++? or something like C#?
to get started in programming, reccomend learning python. easy, widely used in scripting in 3rd party applications, extendability, and it will be on pandora for sure.

http://www.python.org/

to learn, livewires at http://www.livewires.org.uk/python/home was intended for people 12-15 but it works for anyone new to programming.

if thats not your style, you can start on this:
http://hkn.eecs.berkeley.edu/~dyoo/python/...ntro/index.html
then move onto this: http://en.wikibooks.org/wiki/Non-Programme...rial_for_Python
 
Last edited by a moderator:
PoisonedV said:
PoisonedV said:
M&D Cheese said:
on what language, C? C++? or something like C#?
to get started in programming, reccomend learning python. easy, widely used in scripting in 3rd party applications, extendability, and it will be on pandora for sure.

http://www.python.org/

to learn, livewires at http://www.livewires.org.uk/python/home was intended for people 12-15 but it works for anyone new to programming.

if thats not your style, you can start on this:
http://hkn.eecs.berkeley.edu/~dyoo/python/...ntro/index.html
then move onto this: http://en.wikibooks.org/wiki/Non-Programme...rial_for_Python



I already copied all those. :D I was so far reading the Non-Programmers Tutorial. I also downloaded the live wire lessons, but didn't start on them. Thanks though!
 
Last edited by a moderator:
i learned python first then c++ last year
and looking back i don't see python really helping much except using it for small scripts
i would recommend just going to c++ and taking your time on that rather than getting a basis of programming through python
c++ is not really that bad and learning it as a first language will only be slightly harder than using python
 
hey

I actually learnt to program using Macromedia Director (Lingo) back in a Multimedia course I done, but I kinda got hooked and started programming in my spare time. Hmm, it would be better known as for making the online Shockwave programs, you can see a few Shockwave progs I've made on my old website (web section). The next year we learnt PHP and ASP and I went on to teach myself C/C++. But yea, I think Macromedia Director (Lingo) was a nice language to learn the concepts of programming.

The problem with Macromedia/Adobe Director is that it's darn expensive and ya programs won't run on the Pandora or Linux.

Umm, I guess you should just use what ya find easiest. I've used python before for programming a model/skeleton/animation exporter for Blender and think it's okay.

Anyhows C/C++ is my language of choice now days :).

edit
Anyone remember the Wild Tangent engine? It ran within ya web browser (maybe just Internet Explorer) and was based on Genesis3D. It was pretty cool cause it supported many languages (including Javascript) and had a pretty nice API, so it was easy to get some graphics on screen.

cyas
 
Whether or not Pygame is a necessity depends on whether or not any other graphics libraries for Python end up on the Pandora. I would guess Pygame would happen soonest since it is the most popular, but it is not the only SDL binding for Python.

Python's worth looking at. You can get up and running with it in minutes, partially because it's interpreted. Anything you learn in Python you can bring with you to another language. How to think like a Computer Scientist (linked above) is a good book for beginners, teaches things in what I feel is a logical order, and has a good mix of exercises.

Ashwin has a point in that if your final goal is to do C++ then you may as well not waste time. But my feeling is that looking at other languages at worst will improve your programming chops, and at best will provide you with alternate ways to approach problems in your 'old' language. I am learning some Python as I have time, because last time I tried with C and got a little discouraged. Plus it seems like Python is just awesome for processing text, which I could use for work.

As far as learning strategy: just absorb as much material as you come across, and try everything out. I had a lot of fun doing pythonchallenges.com (some of them, anyway). After you get through a beginner's tutorial or two, check out http://docs.python.org/tut. Then look at the Pygame stuff. Pygame will frustrate you if you don't have a solid grounding in Python. That said, it never hurts to try. My general strategy has been to read until I'm bored, then code until I'm stuck, then repeat.
 
I think python is a great way to learn programming. It familiarizes novices with program structure, flow control (such as loops), data structures, classes and all the other basics without straining them too much with complex syntaxes or obscure libraries. Pygame is a great tool for experimenting with game mechanics without too much overhead. After learning those swithcing C++ & SDL should be a lot easier, because of the basic understanding of programming.

For the record, I started with Basic, then went Pascal, C, Visual Basic, C++, Java, (a bunch of languages like ada), Python. I think python is the best language for quick prototyping, even if the final software is done with another language. And AFAIK the industry seems to agree (by python homepage and personal experiences with software companies).

Edit: Also, you can do wonders with small python scripts to ease your life ;)
 
start with java / C++
Eclipse (from IBM) and Netbeans (from Sun) are two totally free&downloadable IDEs you can do everything from your first helloworld string to a full enterprise application. The first is more professional but a little bit less user friendly, the second is easier to start for beginners, and afaik both netbeans 6+ and Eclipse Ganymede have C++ plugin already installed, this means you can do java, or you can do C++ as you wish.

Once you get one of these, just google for "java tutorial" or "c++ tutorial" :)
 
Python is a fantastic language for 80% of what casual programmers need to do, if not more, and it allows you to interface neatly with C and other languages if you really need that extra speed.

I would say: learn Python to understand basics of programming and to have a "swiss army chainsaw" tool. Once you have a pretty good idea of how to push the computer around, learn C or C++ to get a better idea of how a computer works (understand pointers, linked lists, array access, blah blah).

C++ is a terrible language with so many traps that I really hesitate to recommend it to new programmers. And I say this having released a (crappy) game with it and using it now for scientific simulation. There is great practical value in knowing C++, but it's a pretty lousy first language. I'd recommend C before C++ in that case.

And stay away from Java. Just because something is popular doesn't mean it's good.
 
vputz said:
And stay away from Java. Just because something is popular doesn't mean it's good.
haha funny one. you should have written "just because something is popular doesn't mean I did learn it yet"
java, xcept for pointers and other things not newbie-related is 95% similar to c, c++, delphi, php, even clipper if you wish to. For this and for the reason is very popular someone who wants to start coding can begin having a massive amount of good documentation. And won't stop there, once he becomes more professional and meet mr.jboss or similar can get to ultraprofessional documentation sources like the redhat forums.
This does not mean I want to say you are bad because I prefer Java and you your script.. I code C++ on my psp as well and I like it very much, but for a newbie on my opinion the autocompletion feature of netbeans/eclipse is just so unbeatable that coding is like stealing. VisualC one is not that good.
 
Last edited by a moderator:
hey

The thing with JAVA is that you must learn to program in an object oriented manner from the get go. I would imagine it would be alot easier to start by just programming basic functions and not worry about that stuff until later.

cyas
 
Python is a fantastic language, it makes easy to read, self-documenting code, and since the coding style is semi-enforced, code from one developer can normally be easily understood by another.

I Started coding in QBASIC > VB3 > Pascal > VB6 > C > C++ > PHP > Java > Ruby > Python, and Python is definitely my favorite language for computing tasks.

Admittedly its not perfect for everything, i still use C for low-level stuff (programming 8mhz AVR parts, low-level linux stuff, daemons etc), but where i can, i use python!
 
yosh64 said:
The thing with JAVA is that you must learn to program in an object oriented manner from the get go.

No you don't. You can easily stick everything in one class and program procedurally. Java does try to enforce/encourage OOP but you can choose not to program that way.
 
Last edited by a moderator:
Back
Top