coding/programing- Where is a good place to start?

Recommended Videos

Drake the Dragonheart

The All-American Dragon.
Aug 14, 2008
4,607
0
0
I have been thinking about trying to learn a little more about computers, maybe they won't frustrate me so much if I do. Ok it might just be that my machine is really old (2005). ok in computer terms that is ancient.

But yeah where would be a good place to begin?

On a similar thread I created, a few mentioned find a game that is has a strong modding community. Torchlight is such, it has several mod making tools out there for it, and a modding community, might that be a place to start?
 

MammothBlade

It's not that I LIKE you b-baka!
Oct 12, 2011
5,246
0
0
In the same boat here, I'm starting self-taught programming myself.

Codecademy [http://www.codecademy.com] might be a good place to start. It has interactive tutorials and an introduction to several programming languages.

Modding is probably a good place to go once you've gotten the gist of what you need to do. I would find it too intimidating at this stage, having barely learned html I'm still just a power user. Though maybe it wouldn't be so hard with mod-making tools.
 

chukrum47

New member
Jun 10, 2011
52
0
0
As someone who taught myself programming when I was younger, and am now a Computer Science major in college, I might have a surprisingly pertinent view on the matter!

I had originally started with C# about 6 or 7 years ago, just for fun (I had wanted to use Microsoft's XNA Game Studio), but as part of my CS major the intro course taught Python, and as a result over the last year I've learned Python, C++, C, and Objective-C. Having learned all of these languages I can say, by far, the easiest language to pick up would by Python (and hardest, Objective-C).

Its syntax is extremely basic and pseudo-code like making writing and reading it very easy, especially for beginners.

If you'd like any more suggestions, such as the book we used in my intro CS class or anything like that, feel free to ask! Good luck!
 

MorphingDragon

New member
Apr 17, 2009
566
0
0
Learn Python and create video games.

http://inventwithpython.com/

You could start with Unity and C#, but how it wants you to work can be pretty confusing even for programmers to start out with.
 

Eclectic Dreck

New member
Sep 3, 2008
6,662
0
0
From my perspective, your best bet is to ignore just about everything you hear about one language or another. Some languages will make a type of computation trivial whereas another is better at something different but this isn't terribly important in the long run. Learning to program in the purest sense is about developing a set of mental tools wherein you can break down a task into a finite series of discreet steps - any language you choose will help you do this.

That said, syntax is a bit of a bear and since expressions change between languages your best bet for a starter language is going to be one that uses a widely copied format. My own personal preference for this task is Java. It is incredibly similar to C++ and, as a result, similar to many of the other languages out there. Better still, the tools you need to use are completely and totally free. Personally, I like <a href=http://www.eclipse.org/downloads/moreinfo/java.php>Eclipse as a development environment. It's been so long since I've done a fresh install of the thing that I no longer recall if JDK is included so it might take some digging.

Of course, there is no reason to jump right in head first with an IDE. A great place to start is a website called Coding Bat. Basically, it gives you a set of parameters and expected output and asks you to write a program that fulfills them. Better still, it has a show solution button that shows you a set of code that would solve the problem. Using that tool, you could reasonable gain all the knowledge you'd need to write an algorithm for just about any sort of problem and, in the process, would become intimately familiar with how the language works. It should also be noted that coding bat offers both a problem set for java as well as python so you're covered on the two most popular starter languages.

Lots of people who want to learn to program skip this step to their detriment and only learn how to use various prepackaged libraries but I've never cared for this approach as it leaves you with lots of mysterious black boxes.

The next step is to start building bigger programs and here I'd also start simple. Pick a set of simple tasks like simply making a window that does something when you click it. Build another one that accepts some kind of external input for processing and another that outputs the data into some sort of outside file. Once you can do those things, you have the skills to build just about anything provided you're willing to spend the effort.

And, one final note: programming will, from time to time, be a righteous pain in the ass. If some of those coding bat problems stump you, fear not: banging your head against a wall is a good thing. When you solve the problem (and you inevitably will, usually when you least expect it), you will never forget how to perform that task.

Good luck!
 

O maestre

New member
Nov 19, 2008
882
0
0
Start with C# or ++ it gives a great insight into basic syntax and C# is good intro for object based programming, which will come in handy for modding

believe it or not those C for dummies book is good running start, i used it more than the book supplied by my university.

Also download Code::Blocks which should come with the cygwin compiler pre installed but you can easily load something new, find a source code for some simple program, maybe some sort of book keeping, and play around with it, the best intuition comes from experimentation, a simple book keeping or ATM program will give you insight into the different functions of the C language family.
 

lacktheknack

Je suis joined jewels.
Jan 19, 2009
19,316
0
0
If you have cash, <link=http://www.ceebot.com/colobot/index-e.php>Colobot is actually worth grabbing a copy of. There's a bunch of training levels, which lets you program a bunch of robots to do the various story missions. The story missions try WAY too hard at times (the Amnesia level springs to mind) and occasionally don't even have a bot focus, which can feel a bit tacky, but it's still a good start. A slightly more in-depth version without an attached campaign is Ceebot (same site). Plus, it's fairly old now, and should work on your 2005 hunk-o-junk.

It's expensive, but it's an educational program.
 

MrMrAwesom

New member
Mar 19, 2011
112
0
0
I started on C++ on youtube but I dunno C++ is a bit too complex & forgetable to me.
Codeacademy's java seems simple enough, I learned to make little pop ups & chat with myself :p
A friend on IRC told me he learned here http://begg.us/learnproglang.html , then took a class & his teacher asked "Why are you even here?"
Can't say how good it is myself because I'm hesitant to forget what I've learned in Codeacademy's Java section. I do hear that Python is one of the easiest to learn so I may edit this if that's the case.
 

BreakfastMan

Scandinavian Jawbreaker
Jul 22, 2010
4,367
0
0
Python or Jave would probably be your best bet, starting-language wise. If you want to do shit right, get a beginners textbook and read through all of that, doing all of the exercises/assignments. Alternatively, you could probably take online tutorials, but official books generally seem better than most online tutorials.
 

Esotera

New member
May 5, 2011
3,400
0
0
Python, it's a great starting language for beginners and is powerful enough to make useful things. Check out python.org as they will have or link to all the resources you'll need.

Also don't neglect computer science, you need to understand how the computer executes your program and have a basic understanding of big O notation if you're doing anything complex.
 

mrhateful

True Gamer
Apr 8, 2010
428
0
0
speaking from experiance writing scripts in warcraft 3 using vjass is quite amusing, I can also suggest php scripting for webpages.

these two are if you know absolutely nothing about programming.
 

Blade1130

New member
Sep 25, 2011
175
0
0
Drake the Dragonheart said:
I started with Visual Basic and I do feel that it is good for beginners. It's wordy nature makes it fairly clear what it's doing, while other languages use so many other symbols they can be hard to pick up. I have heard good things about Python and Perl, but I haven't tried either so I can't really say anything about that.

As for how to learn it, if you go to university an Intro to Computer Science class would be a good way to start. If not, I'd try to pick up an introductory textbook. The internet is great if you have a programming error you can't figure out, but it's not so helpful for teaching the concepts to a beginner.

I would recommend against starting out with a mod. The tools are generally pretty specific for the game you're coding for (so the skills aren't very transferable). There's a lot of stuff you don't deal with going on in the background (making debugging tricky). And there's a significantly smaller community of developers (making it hard figuring out how to do something). Many games have poor code documentation, and what little is there wouldn't help a beginner get anywhere. I would wait until you generally know what you're doing before jumping into that.

Side Note: You might want to start with some HTML, it isn't really "programming" per se, but hear me out. It's surprisingly simple and there are a lot of great tutorials for getting started. You have a web browser and a text editor (I assume), so you've already got the tools. Also it's nice to be able to see at least some work pay off immediately. If you're worried you'll get frustrated and quit before you manage to do anything, HTML will at least allow you to keep making progress and feel like you're getting somewhere.

Helpful links:
Spent 3 hours debugging and still have no idea why your code isn't working? Ask these guys. - http://stackoverflow.com/
Want to try HTML or pretty much anything related to web development? Start here. - http://www.w3schools.com/
 

thePyro_13

New member
Sep 6, 2008
492
0
0
I started programming when I was 14, with the hopes of one day working in the games industry. I started with basic and quickly(around half a year later) moved onto C++. I'm currently in the last year of my comp science degree and feel pretty confident with my abilities and familiarity with quite a few languages. So here's my advice:

Ignore the language wars and ignore the discussions on which languages are good or bad for games etc., just pick one and start. Experiment with different learning materials, I couldn't learn from websites(alt tabbing between browsers and IDE slowed me down far too much; though this was before widescreens), so I invested in some books and ended up learning much quicker.

Concentrate on general programming concepts: statements, variables, operators, memory, conditionals, loop structures, common algorithms and so on. These exist in practically every language and are far more important upfront than the nooks and crannies of any individual language. The goal of your first year or two is to learn the basics that apply to all programming, this is why it doesn't matter if your starting language is used in your desired field or not.

When you pick a language, pick one with a syntax you like and one which a good IDE and debugger, they'll make your learning experience much better, and allow you to catch and understand your errors fairly quickly. The languages that work with visual studio are a safe bet(and the ide express editions are free). Learn to use your debugger fairly early on, as soon as your code starts taking up more than a page or two; It's an invaluable tool.

Scripting languages are just as good for this as compiled languages. You can learn a lot of the important concepts through scripting. When my little brother asked me to start teaching him programming I put him to work scripting Garry's Mod addons in Lua(since he loves Gmod). Any game that uses scripting can be a great learning tool.

Lastly, don't start a non-trivial project unless you're happy to see that project fail, it'll be years before you have the knowledge to make anything that will be particularly impressive to other people. Don't let this discourage you, just keep it in mind so you don't burn yourself out with problems that you're not ready to face.

I found it useful to keep the sourcecode for Homeworld laying around. I loved that game and was psyched to understand how it worked. When I first got the code I realised I barely understood anything(it was kind of off putting TBH), but as I revisited it over the years, I found it amazing to compare how much of it I could understand compared to when I first started reading it. Something like this can be useful to help remind you how far you've progressed, so you don't trick yourself into feeling like you're not getting anywhere.

I hope this turns out useful for you OP, of for anyone else for that matter. Feel free to PM me if you have any questions.