# I want to start coding - newbie



## the end of silence (Oct 21, 2017)

Hi, I should first say I have next to no experience with coding (other than being a gamemaker veteran back in my teen years). I'd like to find and learn a programming language that is relatively easy for beginners, with the end goal of programming my own physics-based game or physics simulations, as a little fun side-project of my academic studies.

I've downloaded Phaser with JavaScript as it looks promising, however I'm a bit confused about where to start. Can't find any tutorials or guides around for absolute beginners, so I'm thinking maybe it's not the best place to start.

Any advice would be much appreciated!


----------



## Maslow (Dec 24, 2003)

the end of silence said:


> Hi, I should first say I have next to no experience with coding (other than being a gamemaker veteran back in my teen years). I'd like to find and learn a programming language that is relatively easy for beginners, with the end goal of programming my own physics-based game or physics simulations, as a little fun side-project of my academic studies.
> 
> I've downloaded Phaser with JavaScript as it looks promising, however I'm a bit confused about where to start. Can't find any tutorials or guides around for absolute beginners, so I'm thinking maybe it's not the best place to start.
> 
> Any advice would be much appreciated!


You need to first learn JavaScript and then learn Phaser. Otherwise, you're just going to be lost.

You can learn some of the basics from online tutorials, but your best bet is to get a JavaScript book so you learn some of the more advanced concepts.


----------



## llodell88 (May 15, 2011)

https://www.amazon.com/JavaScript-J...TF8&qid=1520030461&sr=8-4&keywords=javascript

i have this and like it


----------



## discoveryother (Sep 18, 2016)

hate javascript. functional messiness. i wouldn't start out with any additional libraries like Phaser. just learn to code first... and if you're dead set on javascript then make sure you know your html and css. and make sure you learn modern javascript (ECMAScript) and not outdated things.

but then, i'd recommend learning c++. learn just using the console. don't have to learn html or css. its strongly typed so it makes more sense. object oriented can make things both harder and easier, but just stick to functional programming in the beginning. tutorials are everywhere. just use visual studio or codeblocks (the version that comes with a compiler). plus the console looks cool. make a matrix type character thing. make a branching novel. easy. the pathway for learning physics simulation not too much hassle - just choose an API like SFML or SDL and implement your physics in 2D, then move onto 3D.


----------



## the end of silence (Oct 21, 2017)

andy1984thesecond said:


> hate javascript. functional messiness. i wouldn't start out with any additional libraries like Phaser. just learn to code first... and if you're dead set on javascript then make sure you know your html and css. and make sure you learn modern javascript (ECMAScript) and not outdated things.
> 
> but then, i'd recommend learning c++. learn just using the console. don't have to learn html or css. its strongly typed so it makes more sense. object oriented can make things both harder and easier, but just stick to functional programming in the beginning. tutorials are everywhere. just use visual studio or codeblocks (the version that comes with a compiler). plus the console looks cool. make a matrix type character thing. make a branching novel. easy. the pathway for learning physics simulation not too much hassle - just choose an API like SFML or SDL and implement your physics in 2D, then move onto 3D.


Thanks, got visual studio, going to start learning through it.


----------



## Ominous Indeed (Sep 6, 2015)

the end of silence said:


> Thanks, got visual studio, going to start learning through it.


I'd recommend C++ to start with, and since most languages are pretty similar you can then jump into the other ones as you want to learn them. The basics of all of them are pretty similar.

Most of all, it depends on what you want to make though. I'd say most of them can be used to make a physics-based game or physics simulations.

It will be easier if you choose a language that is often used in game engines.

https://en.wikipedia.org/wiki/List_of_game_engines

C#, C++, C, Java and Python are common ones.

Download Unreal Engine(C++) or Unity(C#/Unityscript). They are free game engines, and start from there.


----------



## the end of silence (Oct 21, 2017)

Ominous Indeed said:


> I'd recommend C++ to start with, and since most languages are pretty similar you can then jump into the other ones as you want to learn them. The basics of all of them are pretty similar.
> 
> Most of all, it depends on what you want to make though. I'd say most of them can be used to make a physics-based game or physics simulations.
> 
> ...


Thanks, that helps!

Yeah C++ looks like a good starting point, I'll learn the basics then decide where to go from there.

If the game ever comes into fruition I'll let you all know!


----------



## christmascookie (Mar 31, 2018)

For game related stuff, I'd say try out Unity, it's free and on it's website offers free tutorials on different types of games for it, the programming languages used for the tutorials is C++ and/or Java, depending on what language you want to learn. I picked up on C++ quicker than Java.

Though if it's just coding in general, I have programming friends who say Python is easy to learn, though honestly, I wouldn't know. Haven't tried it out.


----------



## Paper Samurai (Oct 1, 2009)

the end of silence said:


> Thanks, that helps!
> 
> Yeah C++ looks like a good starting point, I'll learn the basics then decide where to go from there.
> 
> If the game ever comes into fruition I'll let you all know!


 Please do not start with C++, along side C it's one of the older languages still in use today. It's not easy and it's famous for being a right pain to learn (particularly for beginners)

I'm not saying to never pick it up btw, because it will help you learn about advanced topics like memory management which other languages hide away from you (which makes programs safer, but sacrifices performance) Cut your teeth on an easier language and then attempt one of the harder ones.

C# is a great middle ground to begin with, it's not too difficult to learn and has a lot of use cases (office programs, databases, game programming, productivity) and best of all C# allows you to integrate modules of C++ when you absolutely need performance so it's a nice first stepping stone with future options if you do learn said harder language.


----------



## Icestorm (Mar 17, 2012)

Paper Samurai said:


> Please do not start with C++, along side C it's one of the older languages still in use today. It's not easy and it's famous for being a right pain to learn (particularly for beginners)
> 
> I'm not saying to never pick it up btw, because it will help you learn about advanced topics like memory management which other languages hide away from you (which makes programs safer, but sacrifices performance) Cut your teeth on an easier language and then attempt one of the harder ones.
> 
> C# is a great middle ground to begin with, it's not too difficult to learn and has a lot of use cases (office programs, databases, game programming, productivity) and best of all C# allows you to integrate modules of C++ when you absolutely need performance so it's a nice first stepping stone with future options if you do learn said harder language.


Agreed, completely. C++ can be quite tricky at times, so I would not recommend that as a starting point.

C# was actually my starting point, and I found it to be a nice language to start me off with teaching me all the general concepts. Python I would think to be quite a good starting point too.


----------



## Chevy396 (Jul 10, 2017)

If you are trying to write your first game for fun, I would recommend Actionscript for Adobe Flash. It's a simple yet powerful language when it comes to working with animation/games.

Sent from my Pixel 2 XL using Tapatalk


----------



## Chevy396 (Jul 10, 2017)

https://www.youtube.com/playlist?list=PL533FDD79A546D638

You will never regret learning Actionscript and flash development. You will always know a great language for web development even if you don't finish the game. It is always in demand and pays well.

It was one of the first languages I learned back when it first came out. I am very proud of my first app, a home security app that set off an alarm through your laptop if someone opens the door. Connected to the doorknob with a hanger that was in contact with the laptop touchpad. That was pretty high tech back then, lol. All that in a flash movie embedded in a web page.

It was the most enjoyable language I learned. And it transfers over to writing phone apps/games that are in high demand. You can do that with C++ too, but it will take you a couple years longer to get good at it.

Sent from my Pixel 2 XL using Tapatalk


----------



## versikk (Nov 25, 2013)

The easiest language is AHK (AutoHotkey).

It is a macro programming utility but is essentially its own coding language as you can make entire applications in it (with GUI if you want).


----------



## GeomTech (Sep 29, 2015)

SolutionX said:


> If you are trying to write your first game for fun, I would recommend Actionscript for Adobe Flash. It's a simple yet powerful language when it comes to working with animation/games.
> 
> Sent from my Pixel 2 XL using Tapatalk


I need to look into this myself. Thanks for the suggestions.


----------



## GeomTech (Sep 29, 2015)

SolutionX said:


> https://www.youtube.com/playlist?list=PL533FDD79A546D638
> 
> You will never regret learning Actionscript and flash development. You will always know a great language for web development even if you don't finish the game. It is always in demand and pays well.
> 
> ...


Oh boy. Sounds uber-impressive. Way better than stuffs I have made (pure garbage). And I will take a peek at the tutorial playlist. Lots of good stuff here.


----------



## ElectricBanjo (Apr 4, 2018)

10 print "hello world";

20 goto 10


----------



## SofaKing (May 9, 2014)

ElectricBanjo said:


> 10 print "hello world";
> 
> 20 goto 10


Now that brings up fond memories of my Apple II+.


----------



## railcar82594 (Mar 1, 2016)

I'd agree C/C++ is more effective for where you want to go with game physics and there are far more palatable books and tutorials available today than earlier. However an easier language to start out with for beginners would be python or a similarly less syntax (special characters) intensive scripting language.


----------



## komorikun (Jan 11, 2009)

I don't know how people study things without taking a class. I just could never get motivated enough unless I had deadlines, exams, homework, etc.


----------



## Synaps3 (Jul 12, 2012)

komorikun said:


> I don't know how people study things without taking a class. I just could never get motivated enough unless I had deadlines, exams, homework, etc.


I learn better whenever I teach myself because I need to be interested in the subject matter fully in-order for it to stick mentally.

I started programming when I was 15 in QBASIC. I didn't really even intend to start learning how to program. I just found the qbasic on my mom's computer because it came pre-installed with Windows 98. The rest was history. I now know C, C#, VisualBasic, and a little C++ (but I don't like it). I would recommend starting with C#. The reason it caught on to me at such a young age, was the immediate feedback given by qbasic. The environment is a RAD (Rapid application development). You write code and run it and immediately see the results - there is no compilation process. Well, there can be, but that gets more complicated. The reason I say to learn C# now is because of unity. Learning C# in conjunction with Unity, should give you a very similar feel to what I got learning qbasic back in the day. Unity is used for game development, but the C# skills you learn there can be used for more practical things also.


----------



## Paper Samurai (Oct 1, 2009)

komorikun said:


> I don't know how people study things without taking a class. I just could never get motivated enough unless I had deadlines, exams, homework, etc.


 You need to be somewhat single minded and be a little obsessive - that's what I've found anyway... not even too sure if that's a good thing lol.


----------



## Chevy396 (Jul 10, 2017)

railcar82594 said:


> I'd agree C/C++ is more effective for where you want to go with game physics and there are far more palatable books and tutorials available today than earlier. However an easier language to start out with for beginners would be python or a similarly less syntax (special characters) intensive scripting language.


But you don't want to develop sloppy code writting, since it is pretty much a life long profession and you have to maximize efficiency.

Sent from my Pixel 2 XL using Tapatalk


----------



## railcar82594 (Mar 1, 2016)

SolutionX said:


> But you don't want to develop sloppy code writting, since it is pretty much a life long profession and you have to maximize efficiency.
> 
> Sent from my Pixel 2 XL using Tapatalk


I didn't mean to encourage sloppy code, but sure, I'd recommend the OP to be aware of learning material rigorous enough to good practices as well as material progressively understandable for whichever language he's learning.


----------



## Maslow (Dec 24, 2003)

If the OP really wants to be a programmer, he should at least get a two-year degree, since there's a HUGE demand for programmers. Even with just a two year degree, you can make $100k/year after a decade or so.


----------



## Paper Samurai (Oct 1, 2009)

railcar82594 said:


> I didn't mean to encourage sloppy code, but sure, I'd recommend the OP to be aware of learning material rigorous enough to good practices as well as material progressively understandable for whichever language he's learning.


 I agree with that approach. You have to work your way up to the harder stuff, programming is a subject that is very easy to get overwhelmed by (particularly in the beginning)


Maslow said:


> If the OP really wants to be a programmer, he should at least get a two-year degree, since there's a HUGE demand for programmers. Even with just a two year degree, you can make $100k/year after a decade or so.


 Around 5-6 years ago I would have agreed with this, but I've seen people get employed after going to coding boot camps and/or Github contributions. Getting a degree (as well as the debt that goes with it) is not the obvious path now I would say.


----------



## holos (Apr 18, 2018)

I think that i need to use a C++ for my work


----------



## Chevy396 (Jul 10, 2017)

holos said:


> I think that i need to use a C++ for my work


Visual Studio? Be sure to use the free open source version. The other versions are for production projects and cost a fortune.


----------



## the end of silence (Oct 21, 2017)

UPDATE:

After a bit of experimentation I decided to go with C#/Unity. Learnt all the basics and eventually made a simple ping pong game (although the complexity increased as I decided to make some intelligent A.I. to play against). 

Now deciding where to go next. Will probably choose a new language, and hopefully make something a little more useful in the real world (rather than another game). Just need some inspiration...


----------



## Chevy396 (Jul 10, 2017)

the end of silence said:


> UPDATE:
> 
> After a bit of experimentation I decided to go with C#/Unity. Learnt all the basics and eventually made a simple ping pong game (although the complexity increased as I decided to make some intelligent A.I. to play against).
> 
> Now deciding where to go next. Will probably choose a new language, and hopefully make something a little more useful in the real world (rather than another game). Just need some inspiration...


How about an AI Bitcoin miner that continually finds new ways to make more and more bitcoin. I would buy that from you.


----------



## Persephone The Dread (Aug 28, 2010)

the end of silence said:


> UPDATE:
> 
> After a bit of experimentation I decided to go with C#/Unity. Learnt all the basics and eventually made a simple ping pong game (although the complexity increased as I decided to make some intelligent A.I. to play against).
> 
> Now deciding where to go next. Will probably choose a new language, and hopefully make something a little more useful in the real world (rather than another game). Just need some inspiration...


Yeah that's what I started doing a few years ago (C# in Unity,) didn't stick with it though because I have chronic motivation issues and never stick with anything I'm self teaching. I did use visual basic before then but that was part of a sixth form (UK thing,) course.


----------



## Stewart Akinyemi (Jul 19, 2018)

codeacademy is good to start with


----------



## BackToThePast (Aug 31, 2012)

Since you mention game design, I would recommend an object oriented language first like Java (or Python, which is less verbose). JavaScript can easy and intuitive, but its variables aren't typed and it's easy to get too comfortable with that, which may come back to bite you when you move on to other languages.


----------



## naes (Nov 1, 2013)

the end of silence said:


> UPDATE:
> 
> After a bit of experimentation I decided to go with C#/Unity. Learnt all the basics and eventually made a simple ping pong game (although the complexity increased as I decided to make some intelligent A.I. to play against).
> 
> Now deciding where to go next. Will probably choose a new language, and hopefully make something a little more useful in the real world (rather than another game). Just need some inspiration...


Nice! I'm starting to learn to code also (brand new to it all atm). Hopefully in 4 months i will have developed something cool also!


----------



## GeomTech (Sep 29, 2015)

Well, creating browser extensions (knowledge of Javascript, JQuery, HTML/CSS are needed for the basics) for oneself is something I find _really_ useful. I made a couple, and indeed, they truly come in handy (for my uses at least).

I would also recommend android app development as well. Since you know C#, Java should be a breeze, and I think the other portion you need to know would be XML, I believe (haven't done this stuff in a while), and of course, one can tether other languages in as well (I think a popular one is C or C++).

Learning Powershell (windows) and Bash (for linux) would be nice as well. If you want to improve maneuverability around the OS of your choice, then I would recommend learning it (but I prefer bash; a lot simpler and has more reach). This stuff really comes in handy IMO.


----------



## Icestorm (Mar 17, 2012)

BackToThePast said:


> Since you mention game design, I would recommend an object oriented language first like Java (or Python, which is less verbose). JavaScript can easy and intuitive, but its variables aren't typed and it's easy to get too comfortable with that, which may come back to bite you when you move on to other languages.


Very true about JS. I use Typescript or Flow in all my apps when I'm required to use it; the static type checking has helped me catch so many errors that I would have otherwise missed. Plus, the codebase is much more maintainable. I'd highly recommend it for anyone using JS.


----------

