# How to learn programming?



## frustrationstation (Feb 29, 2016)

How can I learn the following on my own?

Java
Javascript
JQuery
CSS
HTML
PHP
MySQL


----------



## millenniumman75 (Feb 4, 2005)

Interesting.....


----------



## Paper Samurai (Oct 1, 2009)

frustrationstation said:


> How can I learn the following on my own?
> 
> Java
> Javascript
> ...


 How old are you, how much time do you have and are you generally good at logic/basic math? If so this is all doable.

The time thing though is your biggest constraint.


----------



## Ominous Indeed (Sep 6, 2015)

Paper Samurai said:


> How old are you, how much time do you have and are you generally good at logic/basic math? If so this is all doable.
> 
> The time thing though is your biggest constraint.


What has logic and math to do with it?

I haven't really programmed any programs over 1000 lines of code yet, but you don't really need those things.

Unless you are going to program a game, with real physics at least I haven't come into a problem where I need to know a lot of math/logic.

But then again my standards for math/logic may be a little bit high since I have almost graduated as an engineer.


----------



## Paper Samurai (Oct 1, 2009)

Demon Soul said:


> What has logic and math to do with it?
> 
> I haven't really programmed any programs over 1000 lines of code yet, but you don't really need those things.
> 
> ...


 There tends to be a connection between people who are good at those particular areas and programming. I think you're confusing yourself by reading that line and as you said, assuming pretty high level stuff. I'm thinking more along the lines of a sudoku puzzle or something similar.


----------



## GeomTech (Sep 29, 2015)

frustrationstation said:


> How can I learn the following on my own?
> 
> Java
> Javascript
> ...


Ah, a fellow person interested in programming!!! Here's some resources I have used: Codeacademy is OKay-ish. It's not the best, but it gives you a jumpstart. Currently, Codeacademy has all of the tutorials in the languages you listed above. Another good site would be codingbat. Codingbat is specifically for Java, but should benefit your problem solving skills thus it should be beneficial to other programming languages you learn except HTML5/CSS3. There's a book called "Eloquent Javascript" for beginners in Javascript. I'd recommend reading that after you get the bare basics of Javascript. Practice-it is yet another resource for Java programming. There's tons of practice programming problems and review of programming concepts. There's also freeCodeCamp; a resource that offers free training in front-end development which is mainly HTML/CSS/Javascript, and a couple of Javascript libraries.

Here are the resources: 
Codingbat - http://codingbat.com/
Practice-it - http://practiceit.cs.washington.edu/
Codeacademy - https://www.codecademy.com/ja/learn
Eloquent Javascript - http://eloquentjavascript.net/
freeCodeCamp - http://www.freecodecamp.com/
Chortle - http://chortle.ccsu.edu/java5/index.html#14

Also, Notepad++ is a pretty good text editor for coding. 
Notepad++ - https://notepad-plus-plus.org/download/v6.9.html

BlueJ is a pretty good compiler for beginners in Java. 
BlueJ - http://www.bluej.org/

Have fun coding. This is good stuff.

Extra resources 
https://www.youtube.com/playlist?list=PLKQ5LYb497AZIZe9dBWy8GwLluVaMQVj0

http://blog.codinghorror.com/

And remember, the core of programming is logic, critical thinking, and problem solving. Abstract reasoning is also prevalent in programming as well. If you want to be a software engineer, you must become accustomed to problem solving. Also, coding may seem easy at first, but when it gets harder, don't even think about giving up. Persevere through the storm of confusion, stress, and frustration, and you will be rewarded handsomely.


----------



## HellCell (Jul 8, 2014)

frustrationstation said:


> How can I learn the following on my own?
> 
> Java
> Javascript
> ...


Those are primarily web developing languages. I'd start off researching on web development and go from there.


----------



## Paul (Sep 26, 2005)

I learned more (all of those except java) by just starting projects I wanted to do and researching what I needed as I went than I ever did by studying. You can start by applying some little mods/fixes to open source projects you'd like to use. The extreme buginess of OpenBB which forced me to find fixes on their support forums and manually apply the code changes was my very first introduction to PHP.


----------



## dune87 (Aug 10, 2015)

http://www.w3schools.com/ was quite helpful to me when i was a student. it's good for first contact since it allows you to try code on right then and there.


----------



## regimes (Aug 24, 2011)

GeomTech said:


> Ah, a fellow person interested in programming!!! Here's some resources I have used: Codeacademy is OKay-ish. It's not the best, but it gives you a jumpstart. Currently, Codeacademy has all of the tutorials in the languages you listed above. Another good site would be codingbat. Codingbat is specifically for Java, but should benefit your problem solving skills thus it should be beneficial to other programming languages you learn except HTML5/CSS3. There's a book called "Eloquent Javascript" for beginners in Javascript. I'd recommend reading that after you get the bare basics of Javascript. Practice-it is yet another resource for Java programming. There's tons of practice programming problems and review of programming concepts. There's also freeCodeCamp; a resource that offers free training in front-end development which is mainly HTML/CSS/Javascript, and a couple of Javascript libraries.
> 
> Here are the resources:
> Codingbat - http://codingbat.com/
> ...


oop i was going to offer up some resources but this hits the nail on the head!

also online college courses offer up courses in logic, problem solving, etc to get you on the right track.. they're mostly independent study and free too. 
Coursera 
AcademicEarth
edX
Standford Online

i also have a particular weakness for Murach programming books because he writes with accessibility in mind and everything is pretty simple to digest. you can buy from him or uh *cough* scour for some free copies online.

AND PRACTICE! practice is key. it's much easier to remember something if it's something that took you three hours to figure out lol.


----------



## regimes (Aug 24, 2011)

dune87 said:


> http://www.w3schools.com/ was quite helpful to me when i was a student. it's good for first contact since it allows you to try code on right then and there.


ooh ooh no try not to use this site, a lot of it is outdated and the actual W3C organization hates them for using their name. it's not bad for looking up code you already know and just have forgotten/can't think of in the moment though.


----------



## regimes (Aug 24, 2011)

HellCell said:


> Those are primarily web developing languages. I'd start off researching on web development and go from there.


also, it would be easier to learn HTML first, then CSS, then javascript, and go from there, because of how sites are built. except for mySQL, you can learn that pretty much independently/whenever.


----------



## sql (Mar 9, 2016)

Coding is just annoying, to be honest. I hate how I'm a science major but it is showed down my throat as part of the curiculum.


----------



## Nitrogen (Dec 24, 2012)

From your list, I'd recommend starting out with HTML, but for anyone.... hands down, I'd recommend learning *Python 3* first. It's the easiest language for beginners, I'd say. It's easy to get a lot of stuff going, even stuff that seems "complicated," like a web server. I was quite surprised, for example, it's possible to create a ****ing TLS-enabled TCP server in 50 lines or less. (In case that doesn't mean anything to you, it's a secure (meaning both encrypted and authenticated) server that processes requests over the internet.)

Python all the way.


----------



## Maslow (Dec 24, 2003)

For most languages, it's essential that you learn object oriented analysis and design (OOAD). For any back-end development, you need to learn SQL. Unless you're highly disciplined, it's best to take classes.


----------



## BAH (Feb 12, 2012)

Online resources


----------

