Developer Resources
How many times have you been working on a bit of code, feel good about completing it, cleared up a few errors, then get hit with something like:
It’s the most obscurely written error with very specific numbers that mean almost nothing to you. You’ve never even heard of the file it’s accessing! How do you even begin debugging? What if you can’t even get to the point where you can get errors?
Whether it’s your absentmindedness forgetting to do some crucial element or being unfamiliar with an API you just downloaded, errors happen all the time and you often have no idea what they mean. Worse yet, what if you know what you have to do, but have no idea how to go about it? If all you need to do is get the current email address from Microsoft Outlook, but have no idea how to ask it for data, your project won’t be moving far. Don’t panic, there are numerous great resources to help you get unstuck from programming mud.
The Internet is Wonderful
For specific errors, especially ones that make no sense to you, Google will be your best friend. Generally if you’re seeing the error now, someone’s seen it before you and asked for help. In our example above, I’d search for “COMException 8004004” to see what would come up, adding more specific details until I found something that applied to me. This technique, though certainly not new, is one that I feel many beginning programmers don’t exercise because they’re trying to figure it out themselves. Though it’s certainly important to solve problems for yourself, you have to learn to accept that sometimes, you’re too inexperienced to solve problems on your own. Not only will it be much faster to see if someone’s already been where you are and solved the problem, you’ll usually find more than one solution quicker than you’ll stumble upon it by trial and error.
If you’re having problems figuring out how to execute a task, again, Googling it is a great place to start. The answers you find on Q&A sites, however, tend to be skewed more toward fixing specific issues or answering exact questions whereas blogs contain general information or less specific tasks. You’re more likely to find “Android alarm clock example code” on something like bobsmith.wordpress.com than you will on a Q&A site. Blogs are also a great resource in that most of them try to teach rather than inform. The one major downside of Q&A sites is that the answer is almost too easy to come by and without background investigation, you won’t have any idea why the solutions work, but bloggers are generally more proud of their knowledge and process and are willing to share it.
Books are Pretty Great Too!
Another great resource on general guidance that you may not have thought of is programming books. In the age of ebooks, it’s not terribly hard to find a book written about your specific niche. Whether it’s Android game programming, iOS business applications, or Windows Phone media apps, you can generally find a book that will cover it, and if you can’t, you’ll likely find guidance in general purpose introductory programming books for your platform.
Programming books are also not shy about showing off source code snippets, and generally have detailed appendices to skip to sections you’re interested in. Being able to quickly look up how to animate static images or quickly code an audio player is nice, especially when it comes with a well-written section on how to do it and why.
Though they’re not the most interesting reads, taking the time to curl up with an intro book for your platform can help you understand what you’re doing better, forming a stronger foundation for the future. If you spend most of your time finding random code snippets and smashing them together, your app quality will suffer and the time it will take to debug issues or add new features will be exponentially higher.
Go Debug!
Whether it be through blind searching, cross referencing texts, or asking the code warrior elders for advice, many avenues exist to solve your programming issues, obscure or common. Over time, you’ll get better at solving your own issues and will be able to help others, but until that time comes, it never hurts to have a few resources to lean on.
Specific resources:
My favorite websites to look up code are:
- Android’s documentation
- iOS’s documentation
- Microsoft’s documentation
- Stack Overflow
- Stack Exchange (the mother site of Stack Overflow containing tons of other Q&A sites in more specific areas)
- Quora (more for guidance, coding philosophy, and interesting tidbits)
And if you’re interested in learning about the books I’ve used in my app studies , here are all the books I’ve looked at in the past few years. It’s pretty obvious I was focused on gaming, but the principles taught in these books are great. If you’re interested in more general purpose books, or have a book you’d like to suggest, let me know at colby (at) gettingstartedwithapps (dot) com.
Leave a Reply