How do I start right now to become an programmer?
I a sophomore in high school, and i am interested in learning as much as programming language as i can specially Java, and python. i tried many youtube course, and i get the basics of all of them, what would be my next move in becoming fluent with all the languages. #computers #java #python
Short Answer: Don't Overthink It and Just Start Programming
Slightly longer answer: You're not going to benefit from just learning syntax, nor are you going to benefit from programming anything without a purpose. Computer Science is incredibly important, but the computer is just a tool so studying CS is kind of like studying "Screwdriver Science."
Pick something else that you love, besides computers, and look there for something to build. Then, use building that as the impetus for you learning how to program. Then program, and program a lot.
Here's one of my favorite links: http://norvig.com/21-days.html
I'm personally always an advocate of the approach where you just jump in, try something, and see what happens. To that end: think about things you want to program. In my case, because I do a lot of word puzzles, I started out by writing Python programs that would help keep track of the letters in a cryptogram, and one that would help me find words in a word search. If you've got other hobbies, think about ways in which a program could make things easier--even something silly, like "I play a lot of computer games and want something that will help me plan out upgrades/purchases/etc. in one of the games", will give you a chance to write something.
Another way to go about it, if you can't think of anything that you're dying to have a program for, is to look for various "programming challenges" online. http://projecteuler.net" can be a good starting point--after a while the problems require a lot of mathematical knowledge, but the starting ones like "Find the sum of all the multiples of 3 or 5 below 1000" are straightforward programming tasks--many of them ill-suited to brute force, that make you think about the right way to track information--that have clear answers, and whose answers you can then confirm. (I enjoyed http://adventofcode.com/ for this as well; the "competition" is over, but there are still 50 decent problems that can make for decent exercises in writing small programs.)
In addition to all the good suggestions here already, I would take the time now to make sure you pay attention to other useful skills besides just rote programming:
1) keep taking as much math as you can in HS, it'll make some stuff easier later. This is especially true if you can get some proof based or graph theory courses under your belt (maybe in Uni though). Math will help with logical thinking.
2) take writing courses (like English writing, not programming writing). While it will not be directly helpful to programming at all, if you end up working as a programmer later, you will need to communicate with other people by writing a LOT, so the more comfortable you are with writing, the more effective you'll be. This will include just trying to convince people with short emails, but also detailing larger plans in many-many-long-pages of design documents. Depending on how good (or not) you are at writing already, this may be painful now, but it'll be very useful later.
At the very end of the day when you're programming a lot, writing new program code isn't the hardest thing you'll be doing. The hardest stuff will be
- reading other people's code to figure out what it does
- reading your own and other people's code to find bugs
- figuring out at a larger system scale what needs to get written
- convincing other people that your ideas are correct
That is to say though... they're harder AFTER you get really good at programming, so that's definitely step #1 (or step #2 if you wanna just focus on math first, which would be fine).
I'd suggest finding some open source projects that you find interesting which are written in the languages you are practicing. They should have a bug list associated with them. You might ask someone from a project for help in finding a good starter bug for you to get your feet wet in their code base. If you give a bit more information on what you'd like to work on (web apps, mobile apps, tools, games, etc), maybe others could recommend some specific projects...?