In reality, it is probably better to think of the description requirement as the core to patentability. If you can describe your idea with enough specificity you no longer have an idea, but rather have migrated past the idea-invention boundary, which means you have something that can be patented if it is unique. The crux of this so-called adequate description requirement is that once the first four patentability requirements are satisfied the applicant still must describe the invention with enough particularity such that those skilled in the relevant technology will be able to make, use and understand the invention that was made by the inventor. For the most part, and from a legal perspective, this requirement can be explained as consisting of three major parts. First is the enablement requirement, next is the best mode requirement and finally is the written description requirement.
Due to the laws of nature, and the reality that there are only a finite number of solutions to any particular problem, every generation invents, or re-invents, many of the same things. Thus, it is always wise to do a patent search to start the process. I guarantee a patent search will uncover inventions that you did not know were out there. With over 8.5 million utility patents having been granted in the U.S. and well over 1 million pending patent applications, and millions of other published but abandoned patent applications there is always something that can be found that at least relates in some ways. You are always better off knowing about those related inventions. This allows you to determine whether moving forward makes sense, and it also allows for a patent application to be written to accentuate the positive, and likely patentable, aspects of an invention.
Collecting the information necessary to prepare a patent application covering a computer related invention can be quite challenging. Typically, most computer related inventions today relate at least in some way to software, which is at the core of the challenge. This software challenge stems from the fact that the software code is not protected by patent law, but rather how the software operates is protected. This means that the description needs to be one that can be replicated by others regardless of how they choose to write code to accomplish the necessary tasks.