PDA

View Full Version : Where to start with programming?




mraila
Nov 10, 2005, 06:13 PM
I'm fairly bright (I think) and would like to start teaching myself some coding. I did some BASIC and Pascal (I know, don't laugh) in high school, which was about 15 years ago.

I do Web stuff (HTML, BB, and Dreamweaver mostly), and am fairly computer literate. Which language should I start with? (do they still call them languages?!?) Can you recommend any good books/sites?

While my employer (a *large* university) offers classes I can take for free, I no longer have the attention span to sit through a whole semester of anything...



peterparker
Nov 10, 2005, 06:43 PM
I'm fairly bright (I think) and would like to start teaching myself some coding. I did some BASIC and Pascal (I know, don't laugh) in high school, which was about 15 years ago.

I do Web stuff (HTML, BB, and Dreamweaver mostly), and am fairly computer literate. Which language should I start with? (do they still call them languages?!?) Can you recommend any good books/sites?

While my employer (a *large* university) offers classes I can take for free, I no longer have the attention span to sit through a whole semester of anything...

What is it you want to learn for, to get work programming, or just for fun? Do you want to start with programming in the web environment or stand-alone applications?

mraila
Nov 10, 2005, 06:57 PM
Not really interested in programming for the Web.

I would say the ideal and/or long-term plan would be game development.

hopejr
Nov 10, 2005, 07:21 PM
Java is a good one to start with to get used to Object-Orientation (none of the languages you've done really have that), but if you want to do *real* programming on the Mac, you should learn Objective-C. It's a nice OO language, and you can do OpenGL stuff with it for gaming.

superbovine
Nov 10, 2005, 07:42 PM
I would first recommend you learn both windows and apple programming. there is a lot more windows jobs out there than apple jobs. the current state of the industry it wouldn't be a bad choice.

that being said if you want to do game programming, you should look into opengl programming and directx.

i've never done directx work before but a google and reading a book on game dev with direct x wouldn't be hard to find.

opengl on the other hand I have worked with. the first book you need to read this book on opengl. http://www.opengl.org/documentation/red_book_1.0/
basically, you need to have this by you side when you learn. a lot of tutortials and documentation out there refer to the "red book". the other thing you should look into is glut which is a nice library for opengl and a must have for newbies. (This goes for all plateforms). After that I suggest you google for sample code and tutorials. there will a lot more windows code than apple, that is why i suggest you do some windows dev as well.

mms
Nov 10, 2005, 08:04 PM
I've never tried OpenGL but it doesn't sound like too great of a choice for a first language. From my experience the first language to learn should probably be either Java or Python. Java isn't too difficult to learn and is good if you want to jump into programming quickly but Python is also a good choice. It's easier to learn, easier to use, and still quite powerful and advanced.

mraila
Nov 10, 2005, 08:15 PM
Thanks for the replies - keep 'em coming!

However, if possible, please explain all terms. I have no idea what "direct x" is, or "openGL." I guess they're programming languages? What are "objects" and "object oriented?"

Thanks again!

mms
Nov 10, 2005, 08:23 PM
http://en.wikipedia.org/wiki/OpenGL
OpenGL is a specification for writing applications that deal with 3D graphics. I'm assuming that somebody suggested it because you mentioned games. While I don't know much about OpenGL, I don't think it's a language in itself and definitely not something that you want to start out with.

DirectX is a game programming API mainly for Windows game programming so you're probably not going to want to deal with that.

Object-Oriented Programming is a way of looking at the writing of applications. It basically organizes code into a collection of individual units and makes it easier to write, maintain, and learn.
http://en.wikipedia.org/wiki/Object_oriented

superbovine
Nov 10, 2005, 08:47 PM
http://en.wikipedia.org/wiki/OpenGL
OpenGL is a specification for writing applications that deal with 3D graphics. I'm assuming that somebody suggested it because you mentioned games. While I don't know much about OpenGL, I don't think it's a language in itself and definitely not something that you want to start out with.

DirectX is a game programming API mainly for Windows game programming so you're probably not going to want to deal with that.

Object-Oriented Programming is a way of looking at the writing of applications. It basically organizes code into a collection of individual units and makes it easier to write, maintain, and learn.
http://en.wikipedia.org/wiki/Object_oriented

opengl is an api...

Selivanov
Nov 11, 2005, 12:56 AM
Thanks for the replies - keep 'em coming!
Java is good for Web and stand-alone applications. But i would recommend to you not to learn particular programming language. I recomend become a project manager. Rather to learn new technologies or languages you ned to know about them and have a good viewpoint on them.
(sorry, my eng is so bad :-( )

balamw
Nov 11, 2005, 01:41 AM
From my experience the first language to learn should probably be either Java or Python.
I'll second (or third) this. Java is a good place to start if you really want to learn programming. Python is also a good choice, but remains less common. I will bring up a third option and will probably get run out of town for it. C# is a decent alternative to java, despite it's Microsoft origins, it has become quite cross-platform thanks to the mono project.

None of these languages are ideal for programming fast action, graphically intensive games, you will have to shift over to C++ or Objective-C and make use of graphics APIs (applications programming interfaces) to make something fast enough to be playable. The general concepts will carry over well from java, C# or python.

B

mms
Nov 11, 2005, 07:10 PM
Once you choose what to learn it's a good idea to look for a good book to get you along. I personally recommend O'Reilly's series since they tend to be pretty solid.

Soulstorm
Nov 12, 2005, 01:31 AM
None of these languages are ideal for programming fast action, graphically intensive games, you will have to shift over to C++ or Objective-C and make use of graphics APIs (applications programming interfaces) to make something fast enough to be playable. The general concepts will carry over well from java, C# or python.

For that reason alone, I would recommend nothing less that C++ for you. C++ basics are easy to learn (although in later situations pointers will give you headaches) and after that, you can easily go to Objective-C. Those 2 languages are good for games.