Best language to start out

Hey all, what would be the best language to start out on? I've heard that Python is good and heard things about C, I mainly just want to be able to do things like mod games, and small things like that, so nothing like make a new game, maybe some plugins for things like TS3, but they'll come in the futiure.

As of now I know... pretty much nothing, VERY basic HTML, thats it really. 

If anyone can help can they also say whats the best way to learn E.G. videos, looking at examples, forums? I know it takes time and effort, but I would like a way that doesn't interfere with my regular life too much.

Anyway, thanks guys :) 

Hm. I'd say, work towards the goal that you've set - you want to mod games, that's good, that's already very specific. What games do you want to mod? Get into their forums, into the modding community discussions, see and ask what tools they use and in what language (and complexity) the code for mods is written. Some games have their own code languages (or even entirely internal scripting engines) that you'd have to learn anyway. Videos... Well, I don't really know, I find that written tuts are more handy as you can follow or not follow them at your own pace, instead of having to skip/pause videos all the time. Then again, some languages have good videotutorials, some don't.

I'd doubly suggest to go with the languages used in the games you want to mod because you mention you don't want to spend too much time on it (and that's undestandable) - that way, you'll just have to learn a single language.

Also, one final thing: modding is very often not just code. There's plain old textwriting for games that are lore&text heavy, there's asset creation (modelling, texturing, music/sound creation), there's balancing (in other words, spreadsheet monkeying + game design knowledge/feel), there's a lot of boring textfile editing to set up and adjust parameters.. and, of course, there's scripting/coding and in some cases, executable/shader reworking (might be out of your reach for now though). So define specifically what you want to achieve, and see what you need to learn to get there. Don't just pick up a coding language that's "popular" or "easy" or "leetc0re".

(just an opinion, take what you will ;) )

This is my plan, and what I suggest to other people. I'm a Web Developer so this is why I am listing the languages below.

HTML 5/CSS3 > JavaScript/JQuery, PHP/MySQL, Python(Or your choice in this area), JAVA(Or your choice of a Object Oriented language), C#, and what ever else you want.

ok, if you want to mod games, look into LUA. most games that allow scripting will use LUA. so its vital to know.

if the game doesnt use lua, it will most likelt just have plain text files with unit data and dialog. however most of the time they are named with a different extention or put into a zip file, with a different extention.

 

now, if you want to learn coding, i sugest starting with c++. it will make you want to shoot yourself, but it will teach you the correct way to think, and then every other language is a snap.

great place to learn programming ---->>> Khanacademy.org------>> http://www.khanacademy.org/cs

they have their own editor you can edit in realtime; abit simplistic, but when you're beginning its easier to learn.

for ease of use i recomend Vb.net and Python. most people frown on vb.net. even easier is html...you can do it in notepad and its a piece of cake. your first program in humble notepad:

 
  • ***save as [program name].html



C++ was the best choice for me. I started learning java a bit, but then I looked at C++ and it was ,in my opinion, so much simpler. So I started learning C++ and it's a great language and it's usefull. Pascal is also a good language that will make you think correctly, but it's not that usefull.

So I suggest C or C++

For what you want to do, I would suggest Python. It will allow you to understand the basics of programming such as basic logic, problem solving, and other methods of completeing general tasks. If you ever wish to get into larger applications, or any application that needs to work at the system's level, then I'd suggest learning C++. 

You could learn Java, but I've found that since Java's syntax is inherited form C/C++, I found it very easy to learn Java AFTER learning Object Oriented Design in C++.

 Hope that helps. :)

C++, its widly used accros multiple platforms and devices and more so now with surface coming out. Learning other languages after knowing it will be easier.

 

People say to start out with something simple. However, with programming I'd suggest launching straight into C++. Reasons being, a lot of other languages are similar to C++, once you know c++ you've got the potential to know them all. There's also a lot of reference material for C++, plenty of resources and people willing to help. It's one of the most powerful languages, as well a recognised industry standard.

I guess I'll be that "what about Ruby?" guy. It's easy to pick up the basics and can be used from web apps to games. It's easy enough that it won't put you off programming for life. Python is also a good choice.

Okay guys, thanks for all the help.

I think I'll start with C++ as it seems to be a fairly diverse language and I know someone people who can help if I get stuck on it.

Maybe HTML although I know the basics.

A little late, but I started with C# and found it useful when doing other languages. (But C++ is just as good for starting)

Tommy,

I too started off just like you. Wanting to mod games, etc.. (and I did for doom);  As people suggested that C/C++ is a good language to start, I would infact promote two language you should start with.  One a managed language and one a native language.  

 

Managed - Java

Native - C / C++ (technically two languages, but its important as you will run into C code when working with C++ eventually).  I suggest starting with the Qt & Boost frameworks.

 

I started by finding an old floppy that contained QBasic. So i started with it, basic. It is very easy to learn and it offers some nice graphic functions. Also you can abuse goto, and you don't have to start thinking about classes. I see basic as a good tool for just getting the idea how a programs are made in the frist place, what are variables, and what are loops.
After that i moved over to C, and Java. Since i learned Java i never saw the need to explore C++, so i just ignored it.

So lets say you start in basic, and move on to C. Please do learn how to use loops and function properly, because if you think about GOTO, that means that you still don't have a clear picture how a program should be written.
When moving to object oriented languages, like Java, it is important to figure out the idea of classes and objects, once that is clear to you, cou can immediatyl realize how code can be splitted in clases, and made modular, and make it look much better than writing in pure C.
Once i tryed to teach a guy Java from 0, but he had issues whit grasping the object oriented paradigm. So if you are a starter please don't start with object oriented languages, you will probably just get confused...

I would suggest starting out with C#. It's a .NET language, so that can be a fallback, but it is very easy and has a syntax that is VERY similar to C/C++ and Java. Also I know for a fact that many great mods, aimbots, and hacks are made using C#.

Also if you're interested you can try signing up for CS50x at edx.org. It is a free computer science course that teaches the fundamentals of C and other languages. There's no fallback or commitment if you fail, so you can stop any time, but if you pass it they say they will send out a certificate upon completion (which probably won't amount to much in all honesty)

 

Recomended reading:

Head First C#, 2nd editionBy Andrew Stellman, Jennifer Greene

C# 5.0 in a Nutshell, 5th Edition By Joseph Albahari, Ben Albahari

I would say start with C++, but that's mostly because that's what I started with and I don't count that as a valid explanation. 

However, whatever language you start with, make sure you learn the basics first. Don't go into it thinking, "I'm going to make this awesome mod in a few months." Make sure you learn the basics, that way you understand the foundation of the language and then you'll be more interested when you can figure things out on your own and solve your own problems that you run across when coding. It's also going to take some time, so make sure you're dedicated to it; but it sounds like you already are, so that's a good start. 

yup... go with C++. As far as tutorials go check out the Youtube Channel "thenewboston". It's not very in depth, but it'll give you a fairly good overview. It definitly helps having watched all the videos before you get yourself some beefy literature, because you already know what the author is talking about.