Don’t try to reinvent the wheel. Just learn from those who have already done it well.
Design patterns are general, reusable solutions to common software engineering bugs. They are good practices developed by trial and error, labor, and countless hours of debugging by programmers in the past, so that developing can be easier, faster, cleaner, bug-free for us today. In short software design patterns are all about not reinventing the wheel.
Design patterns gained popularity after the publishing of the book Design Patterns: Elements of Reusable Object-Oriented Software was published in 1994 by the so-called “Gang of Four”…
Requirements for this guide:
if (beginner_programmer || want_detailed_tutorial):
We can think of natural sciences, as sciences that reverse engineer the system of the natural world. For instance, neuroscientists study the human brain, collect and analyze its data, and attempt to understand the way it operates.
On the other hand, we can think of computer science, as the science that develops a system — a technological world (instead of reverse engineering it). For example an artificial intelligence engineer, uses data and statistical methods in order to create a “virtual brain”, one could say.
In this context, computer science and natural sciences progress towards the same direction, but begin from…