Computer scienceFundamentalsEssentialsProgramming conceptsIntro to programming

External information resources

3 minutes read

You have learned how to write some lines of code. But chances are that eventually you’ll run into a problem that every developer faces from time to time: what should I do if my code doesn’t work at all, works too slowly, is badly written, or I just don’t know what to do next?

The first thing that comes to mind is Google. Don’t be afraid to use it! Some people think that developers must know all about the tools they use, but in reality, no one can know and remember everything. Even the most skilled developers often google things they don’t know. Also, putting the problem into words usually helps you find a solution.

Now that you know googling is helpful, let us introduce you to some more specific resources that have saved many coders from nervous breakdowns and confusion. Note them down: you are sure to find them useful.

Documentation

Let’s face it: programming is complicated. Every programming language, framework, or technology has a lot of its own nuances. Moreover, technologies are always changing, with new versions replacing the old. So the first thing to do if you have chosen a specific language or technology is to look at the documentation. Technical documentation is a complete description of the technology which explains its functionality and how to use it. Programming language documentation usually also contains a description of syntax and language elements and even includes a simple tutorial.

No matter which language you are working with, documentation is easily available. Here is where you can find documentation for a few basic languages:

It is considered a good practice to write complete and readable documentation, so most of the programming tools’ docs are pretty comprehensive, with each function or method described, syntax nuances noted and examples included. Always look at the docs of the tool you are using, especially when you are not familiar with it: it will save you a lot of time.

However, reading the documentation can turn out to be hard. That is because documentation, albeit a very useful resource which contains everything about the technology, is written in dry technical language and is loaded with information. It’s like reading texts in a language you’re trying to learn: at first, it’s hard, but when you get used to it, it seems much easier. Moreover, finding the information you need in the documentation is a separate skill and takes practice and patience.


Don’t be afraid if you are finding it hard to read the documentation — it’s a challenge all of us face. But what if your question is so abstract or complicated that reading the docs won’t help? Here comes another powerful resource!

Stack Overflow

stackoverflow.com is the Bible of every developer, the largest question-and-answer site for programmers. Stack Overflow contains almost every question about programming ever asked. If you google some programming-related questions, it’s very likely that the first link will lead to this site. In fact, some programming environments even have the option “Search Stack Overflow” that pops every time you get an error!

You can improve your search query by using Google advanced search operators.

Here's an example from Google Colaboratory, a powerful programming environment:

google colaboratory

(of course, the site contains questions and answers about almost every programming language, not only Python)

So, Stack Overflow is the first resource you can turn to if your code doesn’t work and reading the docs isn’t helping, after Google and your own brilliant mind, of course. If you haven’t found the answer to your problem, you can go ahead and ask a question, maybe you’ll be the first person who ever asked that! Community and peer help are a very important part of learning, so don’t be afraid to ask.

Artificial Intelligence

AI has been at the forefront of technological development in recent times. It can be a great tool for people of all backgrounds whether they are beginners or professionals and especially so for programmers. We've crafted an entire topic to introduce AI in software development which you can read at Introduction to AI in Software Development.

Conclusion

As you see, you don’t have to be alone with your code that won’t work for whatever reason: there are many great sources out there that can help. If you wonder how to handle exceptions in Java, try StackOverflow, but “how do I reverse a linked list” is a good question to search in Google. The last fundamental advice is this: use your brain and don’t panic. Finding and correcting your errors might be frustrating, but once you get the hang of it, it becomes easier and starts seeming more like a routine than a catastrophe.

Remember: there is no such thing as a “stupid question”, as any question brings you a bit closer to your goal. Learn, improve and benefit from the existing resources: it’s a smart move.

1255 learners liked this piece of theory. 17 didn't like it. What about you?
Report a typo