RANT : KISS (Keep It Simple Silly) : Zerro Below

All opinions on this site are those of the author alone.
No warranty of any kind is provided.   All information herein is provided as is without any warranty of any kind.


KISS (Keep It Simple Silly):

So many things we use on our computers today are huge complex applications that cause more trouble than they are really worth. Often times the extra functionality either does not provide any real benefit or the benefit that it provides is not appropriate for what it is supposed to do. It seems that many have forgotten the benefits of Keeping It Simple Silly, to the point of allowing for bugs that were considered show stoppers 20 years ago, and reasonable still should be.

One well known example is the Web Browsers of today, and the HTML5 standard they attempt to support. HTML5 has very few things that are of benefit over HTML 4.x, those things that are of benefit are recommending correct formatting in HTML documents, standardizing video formats, and specifying what the standard graphics formats should be.

The other additions in HTML5 do not provide any benefit for Web Documents and those things needed thereby in order to provide good content. Things like WebGL do not fit Hypertext Document sharing, same with Web-Assembly, and most of the other things. These things are for applications, not documents, and the web is not the place for Applications (nor is any part of the Internet in all reality). The internet is about sharing information, providing means of communication, sharing software, and with care can be used to make transactions (like purchases). The Internet is not a place for applications that are better suited to run locally on a computer, or on a high end system on the LOCAL network. Remember the Web is one small (though important) part of the internet.

If we were to keep it simple, and only have the additions that make sense in HTML5 as improvements on HTML 4.x, then we would be able to improve our Web Browsers, figuring out ways to simplify the code base while still providing the needed functionality. We would be rid of memory leaks, poor implementations, etc by now. Though instead we have Web Browser that leak memory worse than a mesh screen leaks water, and have other equally bad show stopping bugs.

Another example is with modern compilers, that spend most of there time doing optimizations that are only helpful if the programmer does not understand how to implement there algorithms in a reasonable way. More than 99% of what a modern optimizing compiler is doing to the code it is fed is completely useless, and the job of the programmer not the compiler. Allowing compilers to get big also increases the opportunity for someone involved in maintaining or porting the compiler to take advantage of our trust and insert code to create backdoors (like was done in early Unix when Ken Thompson inserted code into the C Compiler to create a way to login with a universal account without it being visible, and to create that code in the C Compiler without it being in the source). Remember that every program, Deamon, module, etc on your system is compiled at some point in time.

Then there is the fact that the simpler a program is the easier it is to formally verify its function, and reduce the opertunity for bugs. It also reduces the opportunity for back-doors, hidden features, etc.

So when you write any software in any programming language on any computer for any purpose, please remember to Keep It Simple Silly.



This site hosted by NEOCITIES
© 2022 David Cagle