• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

Starting to Learn Coding

Joined
Feb 6, 2006
Messages
813
So, I started learning visual basic back in high-school, my Sophomore year (i'm 24 now, so it was about 7yrs ago) and i wanna start getting back into coding, and since its been so long, i wanted to see what people recommend for a good compiler program for beginners and any other software that would be helpful. So any recommendations ? I wanna mostly focus on Visual Basic and Java Script...Also I was wondering about something, I wasn't the best math student, but when I graduated High School I was in Algebra 2 (aka intermediate Algebra) would that give me enough base math knowledge to learning more Coding ?
 
Last edited:
Well, to start with, Microsoft has an Integrated Development Environment for Visual Basic. (Look HERE) Also, JavaScript does not require a compiler, as it is an interpreted language, which means that the code is run in real time as it is executed. JavaScript is mostly designed for use on the Web (though you can build some desktop applications with it).

If you really want to use JavaScript for useful things, learn HTML/CSS first, then move on the JavaScript, and continue through PHP/MySQL. Those 5 technologies/languages work together to build pretty impressive web applications (or desktop apps, if you use Titanium Developer).

Also, VisualBasic is really only useful for Windows Applications Scripting and simple apps, so I would recommend looking into a language like C (or C++/C#), Java, or Ruby and Python.

In reality, what you learn really depends on what you want to do. Web apps, focus on HTML/CSS/JavaScript/PHP/SQL. Desktop Apps? C and variants, or Java. Scripting and Web Ruby / Python. (Ruby and python would replace PHP in the Web Apps set of languages.)
 
Give us an example of what you'd like to do first, then we could help guide you to the proper choice of language(s).

As for the math skills, again, it depends. I do web development, which does not require advanced math, at most I'm measuring the height/width of something, calculating sales totals or setting date/time triggers, basically Algebra I type stuff. However, if you're talking about programming satellite control systems, then I'd imagine you'll need a lot more math.
 
This won't teach you an specific language or kit, but it will provide a strong foundation; "Code: The Hidden Language of Computer Hardware and Software".

If you want to start right away, I think python is widely used in all areas (web, scripts, software) and good starting all around language.

http://learnpythonthehardway.org/index
 
These threads start here about once each week. The OP doesn't really know what they want to do, but is sure they want to get started. Someone recommends one language, someone recommends another language, and then a war about which language is "best" starts out.

The OP never returns.

AnAngelsDeath, what is going to make your thread going different?
 
These threads start here about once each week. The OP doesn't really know what they want to do, but is sure they want to get started. Someone recommends one language, someone recommends another language, and then a war about which language is "best" starts out.

So what you're really saying is you don't like PHP, aren't you? :D
 
If you want to learn C/C++ I recommend running a linux distro like ubuntu in a virtual machine (I use virtualbox and it is really easy to use). From there open up bash and use g++ to compile. Honestly if you are writing snippets to learn this is the best way. You won't have to learn an IDE or anything that will complicate things. Of course if you want to learn a different language then you can follow the suggestions already posted.
 
Sorry for the thread hijack, but i have a similar question and i don't want to start a new thread..

What programming language you need to learn for writing small apps (for android or iOS), esp small games? For someone with almost zero coding experience, what's the best way to start coding apps for iOS or Android, and later, for XBLA and Windows?
 
I recommend learning C/C++

it's the easiest to learn, and it will greatly help you learn other languages very quickly.
 
Sorry for the thread hijack, but i have a similar question and i don't want to start a new thread..

What programming language you need to learn for writing small apps (for android or iOS), esp small games? For someone with almost zero coding experience, what's the best way to start coding apps for iOS or Android, and later, for XBLA and Windows?

Android: Java
iOS: Objective C

I recommend learning C/C++

it's the easiest to learn, and it will greatly help you learn other languages very quickly.

C and C++ are definitely not the easiest languages to learn. They're among the hardest. They give you a fantastic base learning them first however.
 
AnAngelsDeath: Just learn whatever language you want. Use a basic text editor at first, not an IDE. It doesn't matter what compiler you use. If you want an easy introduction to programming, look at python. There are many books and courses that use the language to teach programming (my university's intro to programming class is taught using python). You don't need anything more than basic algebra until much later (if ever).

DG25: If you want to write native code, then it's objective-c for iOS and java for android. For small games, you might look into something like Corona, which allows you to use lua, which many seem to find easier to learn than something like objective-c. It also relieves you of developing the game's engine, which would otherwise require a significant amount of work.
 
C and C++ are definitely not the easiest languages to learn. They're among the hardest.
Learning a language isn't hard; learning how -- ah, screw it. I'm not getting trolled into this again.
 
I guess I can only speak from personal experience but I taught myself c++ when I was about 14 and it was super easy for me :\ and I'm pretty stupid compared to most programming nerds
 
I wanna do a couple things, first off, the reason i wanna learn JavaScript is cause thats what Android is written in from what I'm told, and I wanna make some Apps, and I also wanna make some Custom ROMs for it. and I also would like to learn some programming for Game Development, I already know 3D modelling and Animation so i wanted to complete the trifecta by learning Game Coding. and I heard that C++ was the common language for that (If i'm wrong please correct me, but I did hear no matter what, that C++ was a good language to start out with since its used alot). I just installed MS VisualStudio Ultimate 2010, I know i can use visual basic coding with that app, but cant you write C\C++ with it as well. one of the Tutorial Videos I got from my buddy whos in college for coding/compute science, which its kind of an old video, but the guy is using MS Visual C++, so i wanted to use that just ot make it easier to follow the series of video tutorials i have. I'm also planning to learn Python since from research I've done, its a important one to learn. as well as Alice. But obviously since it wouldn't be smart to try to learn multiple languages at once, i was just gonna start with C\C++

EDIT - looked up VisualStudio Ultimate on the MS Development site, and it does indeed say you can either use that program or Visual C++ Express, so I guess that answers my question.
 
mikeblas has a stickied post of recommended books to read. Android might use a lot of java, not javascript. javascript generally is a browser scripting language used to build web pages. Math skills probably do not matter much (except for math based applications). Logic skills are imperative though. Never heard of "alice". Do you mean "lisp"?
 
]I wanna do a couple things, first off, the reason i wanna learn JavaScript is cause thats what Android is written in from what I'm told, and I wanna make some Apps

Actually the easiest way is to write the app in Java. I suggest you use Eclipse IDE with the android emulator. I have personally used 2 emulators, not sure if more are out there. Most apps you will be using Java and XML. I don't really see how you would be writing any javascript unless you were connecting to a server but of course then most likely you would be using a webview in Java. Once you have eclipse and the emulator up look here:

http://developer.android.com/resources/browser.html?tag=tutorial

and I also would like to learn some programming for Game Development, I already know 3D modelling and Animation so i wanted to complete the trifecta by learning Game Coding.

Honestly this is a huge subject. Don't expect to learn to program writing a game. If you want to get into game development look into the UDK. Download the Unreal Editor and start playing around. Get involved in a project -- if you know how to 3d model there is a demand for that. You will be able to pick up unrealscript (its like javascript) as you go. The UDK is free, but if you want to do some serious coding in it you will need Visual Studio and nfringe.

and I heard that C++ was the common language for that (If i'm wrong please correct me, but I did hear no matter what, that C++ was a good language to start out with since its used alot)

Yes C++ will give you a solid foundation. Learning other languages are easier if you know C/C++.
 
Actually the easiest way is to write the app in Java. I suggest you use Eclipse IDE with the android emulator. I have personally used 2 emulators, not sure if more are out there. Most apps you will be using Java and XML. I don't really see how you would be writing any javascript unless you were connecting to a server but of course then most likely you would be using a webview in Java. Once you have eclipse and the emulator up look here:

http://developer.android.com/resources/browser.html?tag=tutorial



Honestly this is a huge subject. Don't expect to learn to program writing a game. If you want to get into game development look into the UDK. Download the Unreal Editor and start playing around. Get involved in a project -- if you know how to 3d model there is a demand for that. You will be able to pick up unrealscript (its like javascript) as you go. The UDK is free, but if you want to do some serious coding in it you will need Visual Studio and nfringe.



Yes C++ will give you a solid foundation. Learning other languages are easier if you know C/C++.

I already have MS Visual Studio Ultimate 2010 and MS Visual Studio C++ Express 2010, and i did some reasearch on nFringe, but i wasn't sure if its a standalone module or if its like a plug-in for VisualStudio ? oh and thanks for all the info too. Also, whats an Emulator, in the context of programming

EDIT - i'm stupid, i already think i know what an Emulator is, it emulates the environment for which your app, game, program, etc etc, is meant to run in, i.e an Emulator for Android development, is a Virtual Mobile Device, that allows you to test your apps and custom ROMs, instead of using an actual physical device.
 
Last edited:
nFringe is an extension for VisualStudio.

For Android Development, I believe Java is required, unless your building Web Apps.

And you would be correct on what an emulator is.

For iOS Development, Objective-C / Cocoa is required. Unless of course your building Web Apps for it.

Good path to Learn for mobile development... C->C++->Objective-C and Java->Cocoa (if you want advanced iOS apps.
 
I wanna do a couple things, first off, the reason i wanna learn JavaScript is cause thats what Android is written in from what I'm told, and I wanna make some Apps, and I also wanna make some Custom ROMs for it. and I also would like to learn some programming for Game Development, I already know 3D modelling and Animation so i wanted to complete the trifecta by learning Game Coding. and I heard that C++ was the common language for that (If i'm wrong please correct me, but I did hear no matter what, that C++ was a good language to start out with since its used alot). I just installed MS VisualStudio Ultimate 2010, I know i can use visual basic coding with that app, but cant you write C\C++ with it as well. one of the Tutorial Videos I got from my buddy whos in college for coding/compute science, which its kind of an old video, but the guy is using MS Visual C++, so i wanted to use that just ot make it easier to follow the series of video tutorials i have. I'm also planning to learn Python since from research I've done, its a important one to learn. as well as Alice. But obviously since it wouldn't be smart to try to learn multiple languages at once, i was just gonna start with C\C++

EDIT - looked up VisualStudio Ultimate on the MS Development site, and it does indeed say you can either use that program or Visual C++ Express, so I guess that answers my question.
So you want to make Android apps and 3d games? I'll be honest and say this is a very large order. If this is just to fool around as a hobby just be prepared for some very intensive work or you may find the fun sucked away quickly. If this is for an attempt to release an indie product that you want taken seriously, it will take an incredible amount of time just to get your development skills and experience at a level to make it feasible. You wont be able to just follow some tutorial and play it by ear to develop stuff like that. And even if you are an experienced programmer, the man hours needed to make something like this could range from massive to borderline impractical.
 
I think you're trying to bite off more than you can chew (or just have unrealistic expectations). It's one thing to know what you want to do and to go do it. It's totally another when you want to do something and you set your goal is learning everything... Making a game is so ridiculously difficult, I don't think anyone can really describe how difficult making a game is. There's a game development club at my university, and every single year, at our very first meeting, we're packed. There's gotta be at least like 60 students, mostly freshmen, who come in going like "YEAH! I want to make games!". We ask them about what kind of game they want to make and they always say something like "My game idea is going to be the next best [MMO, FPS, RPG, MMORPG, RTS]+!". Those of us who have been in the club or made a few games already basically drop the truth bombs and every year, the attendance quickly drops from ~60 people per meeting to about 10. Part of it is because the meetings aren't what people expect, and the other is because people realize that making a game isn't trivial.

You need realistic goals that are achievable, but not goals that are so easy that it isn't challenging. Your first goal shouldn't be to make a game that you want to "show off". If your first goal is to make a game, I would honestly only recommend going as far as making a tic-tac-toe game. That will be enough for you to learn basic programming constructs, but it surely won't be enough to build a "real" game.

If you want to take programming and games seriously, you need to see yourself as a serious software engineer which will require a lot of fundamental theoretical computer science knowledge and solid practical experience. I go to a school that many people will consider a "top" CS school, but honestly, I don't feel like I know that much, because there's SO much you have to know if you want to make a AAA game. At bare minimum, you should know:

1. Discrete math
2. Computer architecture
3. Algorithms
4. Calculus
5. Solid software engineering skills (this is not language specific, but can be heavily influenced by the language choice).
6. Linear algebra (probably).

If you want to just learn to "code", then you don't really need anybody's help. Just go find some book that claims to teach you how to code in language X in Y number of days/hours/minutes and follow its instructions.

Otherwise, if you're one that will want to take software engineering seriously and apply it to games, you'll have to spend a lot of time learning just about all of what I listed above at a minimum, and write lots and lots of code (most of which won't be written explicitly for a game).
 
4. Calculus
Schools tend to give a lot of room to calculus, but in the past ten years or so as a developer (mainly in industrial automation and measurement) I've never had much use for it, and I can't say I know very many other programmers who have.
 
I think you're trying to bite off more than you can chew (or just have unrealistic expectations). It's one thing to know what you want to do and to go do it. It's totally another when you want to do something and you set your goal is learning everything... Making a game is so ridiculously difficult, I don't think anyone can really describe how difficult making a game is. There's a game development club at my university, and every single year, at our very first meeting, we're packed. There's gotta be at least like 60 students, mostly freshmen, who come in going like "YEAH! I want to make games!". We ask them about what kind of game they want to make and they always say something like "My game idea is going to be the next best [MMO, FPS, RPG, MMORPG, RTS]+!". Those of us who have been in the club or made a few games already basically drop the truth bombs and every year, the attendance quickly drops from ~60 people per meeting to about 10. Part of it is because the meetings aren't what people expect, and the other is because people realize that making a game isn't trivial.

You need realistic goals that are achievable, but not goals that are so easy that it isn't challenging. Your first goal shouldn't be to make a game that you want to "show off". If your first goal is to make a game, I would honestly only recommend going as far as making a tic-tac-toe game. That will be enough for you to learn basic programming constructs, but it surely won't be enough to build a "real" game.

If you want to take programming and games seriously, you need to see yourself as a serious software engineer which will require a lot of fundamental theoretical computer science knowledge and solid practical experience. I go to a school that many people will consider a "top" CS school, but honestly, I don't feel like I know that much, because there's SO much you have to know if you want to make a AAA game. At bare minimum, you should know:

1. Discrete math
2. Computer architecture
3. Algorithms
4. Calculus
5. Solid software engineering skills (this is not language specific, but can be heavily influenced by the language choice).
6. Linear algebra (probably).

If you want to just learn to "code", then you don't really need anybody's help. Just go find some book that claims to teach you how to code in language X in Y number of days/hours/minutes and follow its instructions.

Otherwise, if you're one that will want to take software engineering seriously and apply it to games, you'll have to spend a lot of time learning just about all of what I listed above at a minimum, and write lots and lots of code (most of which won't be written explicitly for a game).

I'm not unrealistic, i dont expect to learn all that in the next 6months or something lol, i know its something that you have to take time with and cultivate the knowledge, i'm just saying those are my overall goals. right now, my first goal is to just learn C/C++ and once i got that down i will move on accordingly. Trust me, i dont plan on doing all those things at once. Just sayin those are the reasons why I wanna learn program, and would like to be my end result after i put in the work. I'm currently in school for Audio Engineering/Music Theory, but as my course load winds down, I plan on taking Computer Science/Programming, and the Math preresiquites, but I figure I can still start learning on my own, and like i said in my OG post, i already know a lil bit of Visual Basic that i learned in Highschool, its just been awhile since i've done any programming (graduated in 2004, and haven't really done any programming since) I've been a musician all my life (been playing guitar for about 14yrs, alto saxophone before that as well as choir), and thats my main passion, but I've always been a computer geek as well, been building PC's since i was 15, and after i highschool i mostly focused on that, and 3D modelling and Animation (as far a computers go), but since i'm pretty savvy in that now, i wanna get back to learning programming. So yea, thats pretty much my resaon for wanting to learn, and like i said, i dont except to make some hit game and get a million downloads of an android app i make, I've just always been creative, whether it be with music, or building PC's, hell I'm 24 and i still play with legos hahaha, i love to create and build, and write, But i'm gonna take it one thing at time, and first off, i wanna learn C++
 
Last edited:
Schools tend to give a lot of room to calculus, but in the past ten years or so as a developer (mainly in industrial automation and measurement) I've never had much use for it, and I can't say I know very many other programmers who have.

Yeah I can't say that I've ever had to touch anything more complex than grade 8 math. That's the point of computers, they do the math for you. :D You just need to know enough to know what to tell the computer to do.
 
Yeah I can't say that I've ever had to touch anything more complex than grade 8 math. That's the point of computers, they do the math for you. :D You just need to know enough to know what to tell the computer to do.
Oh, I do Fourier transforms, linear algebra, permutations, etc. all the time, just no calculus.
 
Oh, I do Fourier transforms, linear algebra, permutations, etc. all the time, just no calculus.

It depends on what exactly you're doing, but you should definitely be aware of it. If you do any graphics or physics work, I can guarantee you, you'll need to know it. If you spend most of your time working on game logic, kernels, database applications, or anything not in the realm of scientific computing, you'll probably not touch it.

Yeah I can't say that I've ever had to touch anything more complex than grade 8 math. That's the point of computers, they do the math for you. :D You just need to know enough to know what to tell the computer to do.

Unless your 8th grade math involves discrete math, graph theory, and algorithms design, I think your claim shortsells yourself and software engineering as a whole. This is part of the problem: programming is very easy to get into, and many people have different ideas about what skills are necessary to be good at programming.

To me, "You just need to know enough to know what to tell the computer to do" is a very broad statement and for newcomers, it might invite the idea that programming is very easy and doesn't require a lot of math (or whatever subject someone dreads or isn't too hot on). This is just wrong on so many levels... finding efficient, robust, and easy to implement solutions to problems isn't trivial, and this is the entire core of software engineering.

AnAngelsDeath: If you're absolutely serious and dead set on your goals, then you'll find your way to your goals eventually. It's just that I know too many people nowadays who are totally just jumping on the computer science/programming/software engineering bandwagon because of the novelty of consumer applications and services and confuse it with the development of those applications and those services. My department is absolutely full of those kinds of people.

If you're looking for some C++ resources, I'd suggest taking a look at some of the books mentioned in the recommended books thread somewhere on here. Also, http://www.cplusplus.com/doc/tutorial/ is a decent tutorial showing you the basic mechanics of the language and syntax. C++ can be an unforgiving first language; it is very much a language for experts, but it was my first language, and it isn't that bad.
 
And in many of your threads you have continually failed to recognize mathematical tools available to you, such as bit shifting and modulus, exponents and logarithms.

Math is enormously important to programming. That includes calculus. It is enormously important because learning the math trains you to think. Mathematical induction, and proofs are enormously challenging, and most untrained programmers don't know they are missing them.

Yeah I can't say that I've ever had to touch anything more complex than grade 8 math. That's the point of computers, they do the math for you. :D You just need to know enough to know what to tell the computer to do.
 
I took algebra 2, which is the equivalent of "intermediate" algebra, as well a Geometry, and i learned some calculous from helping my GF with her Math homework in college, just cause I was curious to learn it. the only thing I'm not familiar with is Algorithms, oh and I've never heard of Discrete Math, i will have to look that up and see what it is. I'm Lucky in the fact that not only do i pick things up faster then most, i have whats called a Eidetic memory (photographic memory) so as soon as I see something i dont forget it, and I'm also good at remembering things I hear. so thats what helped me do good in math, I just get really bored with it so I never took it any farther then Algebra and Geometry, mostly just wanted to learn geometry to help with 3D modelling, I suck at drawing, but if you know geometry and have a good imagination, then you can be great at 3D modelling, it was actually my 2nd Favorite class in highschool (my 2nd being Roman/Greek/Egyptian History and Mythology), AutoCAD. my teacher was great...

xSnowmaNx - I am completely serious, i dont bother taking the time to do anything if I am not. I was raised to not half ass anything. I'm a very dedicated person, especially to my art, which I Consider Music and Computers my art and passions, and I am in this just to learn, and create, cause thats what I love to do. Anyways, thanks for all the help guys, i got a lot good advice, and found a lot of good sites, and i now have about 100GB of Books and Videos on programming in C/C++, Java, JavaScript, Python, XML, Visual Basic, and like I said, i'm gonna start taking some Computer Programming classes next Quarter, since I'm almost done with my Associates in Music Theory and Audio Engineering and my course load is lightening up. as well as Math, since math is a prerequisites for any computer science classes. So i'm ready to start on C\C++. thanks for all the help guys.
 
You have much to learn.

Algorithms materials from my school: http://compgeom.cs.uiuc.edu/~jeffe/teaching/algorithms/
Some discrete math and probability stuff: http://www.cs.princeton.edu/courses/archive/spring10/cos433/mathcs.pdf

These are the bread and butter of computer science. It shall prove most useful to you should you make software engineering your profession.

And in case you haven't seen this yet, mikeblas' thread on recommended books: http://hardforum.com/showthread.php?t=1587889

Edit: I would highly recommend you start with learning discrete mathematics if you're looking to understand the theoretical computer science material. You should know set theory, basic counting, proof methods (especially induction) and graph theory before attempting to go through the algorithms material. Some algorithms textbooks are set up in a way that they'll ease you into all of these things without prior knowledge, but I feel that hinders understanding.
 
Last edited:
Programming is really something worth taking a few classes at a local college for. It's hard starting new projects and writing them from scratch without sampling code from everywhere and never understanding the underlying reasoning.
 
Back
Top