<hr/><p><ahref="../../">sf.cu</a> > <astyle="color:#bd93f9"href="../">Blog</a> > <astyle="color:#bd93f9"href=".">Keep It Minimal</a></p>
<h1><iclass="fa fa-adjust"aria-hidden="true"></i>Keep It Minimal</h1>
<pstyle="font-size:110%"><strong>Posted on 27 June 2023</strong></p><p><strong>Categories: </strong><astyle="color:#ff79c6"href="../software/"><iclass="fa fa-laptop"aria-hidden="true"></i>Software</a></p>
<p>In technology, you should keep it simple as much as possible. The KISS philosophy and the <ahref="../../unix-philosophy/" style="color:#50fa7b">UNIX philosophy</a> especially must be followed if you want quality software. Most pieces of famous software nowadays do not follow this guideline and it is costing millions of people dearly.</p>
<p>In technology, you should keep it simple as much as possible. The KISS philosophy and the <ahref="../../definitions/unix-philosophy/" style="color:#50fa7b">UNIX philosophy</a> especially must be followed if you want quality software. Most pieces of famous software nowadays do not follow this guideline and it is costing millions of people dearly.</p>
<p>Let's expand on the first and second points. Why is minimal software so easy to maintain? Why do developers hate being developers when they are working with bloated pieces of software? Keeping software minimal gives developers the opportunity to easily find code that is slowing down the whole program or is inefficient. It also helps developers find bugs easy. This is because a smaller codebase means that it takes less time to review the code. A group of 10 people can easily perfect a program whose codebase is less than 1500 lines. After that, it is just a work of maintaining the program and making sure that any requests that users have are answered.</p>
<p>Minimal software runs fast on all devices. It is simply no contest. A 1000-line Python program is going to be much faster than a 100K-line C program even though C is much faster than Python. Inefficiencies and lackluster execution of functions in a program can be spotted much more easily in a smaller program. There is a huge disregard for old computers. People simply cannot use old computers anymore because the software that they use is so inefficient that their computer struggles to do basic things. For example, they use Adobe Reader to open PDFs which is one of the worst things to do. Adobe Reader takes an incredibly long time to open considering the fact that they are the ones that invented PDFs. Another example is Word. Why does Word take long to open and write on? It's code is bloated. Think of Zathura. It is a PDF viewer that follows the <ahref="../../unix-philosophy/" style="color:#50fa7b">UNIX philosophy</a> of doing one thing well. Even on the slowest of computers, Zathura takes milliseconds to open a PDF. Think about LaTeX. You do the writing then you compile the document into a PDF. It does everything from linking, referencing, bibliographies much better than Word. In fact, it is so good that many universities require its use for proper formatting and referencing.</p>
<p>Minimal software can be extensible as per the <ahref="../../unix-philosophy/" style="color:#50fa7b">UNIX philosophy</a>. Instead of creating a massive program that tries to do everything, minimalist programs create modules for certain functions. This makes troubleshooting a piece of cake as the initial confusion of finding out what exactly causes the error is practically eliminated. For example, if you are making a login page and the authentication does not work, you know that you should look in the authentication module. However, if you make it all in a single program, it is difficult to root out whether an issue is due to an incorrect variable type or a redundant function.</p>
<p>Minimal software runs fast on all devices. It is simply no contest. A 1000-line Python program is going to be much faster than a 100K-line C program even though C is much faster than Python. Inefficiencies and lackluster execution of functions in a program can be spotted much more easily in a smaller program. There is a huge disregard for old computers. People simply cannot use old computers anymore because the software that they use is so inefficient that their computer struggles to do basic things. For example, they use Adobe Reader to open PDFs which is one of the worst things to do. Adobe Reader takes an incredibly long time to open considering the fact that they are the ones that invented PDFs. Another example is Word. Why does Word take long to open and write on? It's code is bloated. Think of Zathura. It is a PDF viewer that follows the <ahref="../../definitions/unix-philosophy/" style="color:#50fa7b">UNIX philosophy</a> of doing one thing well. Even on the slowest of computers, Zathura takes milliseconds to open a PDF. Think about LaTeX. You do the writing then you compile the document into a PDF. It does everything from linking, referencing, bibliographies much better than Word. In fact, it is so good that many universities require its use for proper formatting and referencing.</p>
<p>Minimal software can be extensible as per the <ahref="../../definitions/unix-philosophy/" style="color:#50fa7b">UNIX philosophy</a>. Instead of creating a massive program that tries to do everything, minimalist programs create modules for certain functions. This makes troubleshooting a piece of cake as the initial confusion of finding out what exactly causes the error is practically eliminated. For example, if you are making a login page and the authentication does not work, you know that you should look in the authentication module. However, if you make it all in a single program, it is difficult to root out whether an issue is due to an incorrect variable type or a redundant function.</p>
<p>All of this helps developers to avoid complications. No team wants another error or speed complaint in the middle of another issue. All of the advantages listed thus far help developers have peace of mind.</p>
<p>Finally, minimal pieces of software can be liberated and made into <ahref="../../free-software/" style="color:#50fa7b">free software</a> to contribute to the world. Once the initial stages of bug-fixing and optimization is over, it is just a matter of letting the world find ways to make the program better. An inefficiency that no one would spot otherwise can be ironed out by a top-tier programmer who worked in a plethora of huge companies with decades of experience. It also helps budding developers learn about development.</p>
<p>Finally, minimal pieces of software can be liberated and made into <ahref="../../definitions/free-software/" style="color:#50fa7b">free software</a> to contribute to the world. Once the initial stages of bug-fixing and optimization is over, it is just a matter of letting the world find ways to make the program better. An inefficiency that no one would spot otherwise can be ironed out by a top-tier programmer who worked in a plethora of huge companies with decades of experience. It also helps budding developers learn about development.</p>
<h2><iclass="fa fa-code"aria-hidden="true"></i>Closing The Program</h2>
<p>To sum it up, everyone should use and develop minimal software if possible. This is because minimal software is easier to maintain, debug and optimize due to its smaller codebase. It also runs fast on all devices and avoids complications during development time. Minimal software can also be liberated into <ahref="../../free-software/" style="color:#50fa7b">free software</a> which will allow talented developers to review the program and contribute to the world.</p>
<p>To sum it up, everyone should use and develop minimal software if possible. This is because minimal software is easier to maintain, debug and optimize due to its smaller codebase. It also runs fast on all devices and avoids complications during development time. Minimal software can also be liberated into <ahref="../../definitions/free-software/" style="color:#50fa7b">free software</a> which will allow talented developers to review the program and contribute to the world.</p>
<p><ahref="mailto:sufyaan@counterhawks.com?subject=Keep%20It%20Minimal">>>> Reply To Me</a></p>