For many beginners, perhaps the biggest hurdle to be cleared in order to get into the 6502 hobby is learning the 6502 assembly language. In a way, it's not unlike emigrating to a country whose dominant language is one you don't know and also uses an alphabet with which you are not familiar. How do you learn to converse with your new friends and acquaintances?
There are a number of fine books that will introduce you to the 6502 assembly language and guide you in your quest for fluency. One such publication is
6502 Assembly Language Programming by Lance Leventhal, first edition published in 1979. While an excellent reference, Dr. Leventhal's is not a book I would classify as a first choice for someone with no prior assembly language experience whatsoever. Copies of this book are available (used) from various sources. The second edition also covers the 65C02, the more technically advanced CMOS version of the original NMOS 6502.
A better choice for the beginner, and one Garth Wilson and I recommend above all others, is
Programming the 65816—Including the 6502, 65C02 and 65802, by David Eyes and Ron Lichty. What makes this tome particularly attractive to a beginner is it doesn't assume too much on the part of the reader. If you have some basic knowledge about computers you should have no trouble understanding the concepts presented therein. Originally published in the 1980s, an original paper copy of the book was recently scanned and OCRed so it could be republished as a searchable PDF, as well as in hardcopy form.
See here for more details.
As you read the Eyes and Lichty manual and work your way through the various exercises they present, you will need something on which to test your code. For that, I recommend the Kowalski Editor/Assembler/Simulator, which may be
downloaded from here (Windows only, extract both files into a convenient directory and run the
.exe program—no installation is needed). The Kowalski simulator has everything needed to create 6502-based "computer," which may be operated as an original 6502 (NMOS) or a modern 65C02 (CMOS, recommended) machine. The editor and assembler are excellent (I use them all the time) and the simulator accurately depicts the operation of a real 65(C)02, and includes a basic terminal window for testing interactive programs.
If your programming experience has not included assembly language of any type, welcome to a new world of software creation, one in which even a slow computer will seem to be lightning-fast. Assembly language is different than what you may have experienced in high level languages, but the differences are definitely not insurmountable. Countless others have developed fluency in 6502 assembly language, and so can you. Don't hesitate to ask questions if you get stuck on something. We're more than willing to help if you are willing to put a modicum of effort into learning.