<p>ForalmostayearnowI've been working on the <a href="https://notabug.org/bkeys/DMUX" target="_blank" >DMUX</a> project along with some other people. The leader of the project, <a href="http://www.bkeys.org" target="_blank" >Brigham Keys</a>, since the beginning has put in place a strict compiler in order to assure the highest code quality for us to work on avoiding bugs since step one. This means the compiler bitches about <b>everything</b>. Any small issue that there might be this compiler will whine to you. However, I have come to see this as a superior way of writing code, by doing this we are avoiding having to deal with many bugs (along with avoiding heap allocation whenever possible it avoid us having any major problems) and I would greatly encourage people to use strict compilers in order to avoid these things, much more if you'reworkinginagroupandespeciallyifyou'reteachingpeoplehowtoprogram.</p>
<p>Lookingback,astrictcompilerwouldfixalotofthingsthathavefrustratedmeinthepast.Forexample,whenIwasinhighschoolIwasateacher's assistant for the technology teacher and he had me and my friend correct exams of the programming students. What I found painful was when students would create variables <b>and never use them!!!</b> Basically, the definition of inefficiency, you'retakingupresources,holdingmemory,thatyoudon't need to have. I understand if maybe you don'tunderstandhowtouseinlinefunctions,orhowtooptimizeyourcodeingeneral,evenIhaveissueswiththat,butcreatingavariableandneverusingitisanobviouscasewherethereshouldbeacompilererror,you'retakingupmemorywithoutusingit.Sothisfrustratedmealotbackthen,butifthesekidswereusingastrictcompilerfromthestart(theywerelearningJava,butevenJavacanbestrictifyoupasstherightflags)thenitwouldhelpthemtobreakthesehabits.</p>
<p>Iwilladmitthatit's a pain, especially when I'mdevelopingforUbuntuandsomethinggoeswrong,mostlybecausethecodeworksonmycomputer(DebianTesting),Brigham's computer (Fedora), and our other comrade'scomputer(Arch),yetitfailsonUbuntu.Idon't know what Ubuntu is doing, but they need to cut this crap out. If it weren'tforthefactthatbetweennormiesthey're the most used distribution we would simply just stop supporting it (because I don'twanttohavetodealwiththeirnonsense),butunfortunatelythebetterqualitydoesn'talwayswinmajoritysupportevenforthesameprice(which,inthiscase,isfreeasingratis).</p>