Navigation
Latest: adam_27feb2007.plan
Well this is less of a progress update on Black Engine and more of some mindless ramblings and thoughts.
Since I presented Black Engine at the end of my Independent Study it has grown by over 3,000 lines of code. So what is diffident you might ask? Nothing. At least thats what the casual observer would see. It still looks exactly the same.
Under the hood though there have been a TON of changes. From the asynchronous logger to the configuration class to the centralized texture manager. Even smaller things like a much tighter and cleaner build environment and finally a working Linux build target, the kinetic resource system was greatly improved in concept and design. More recently outward appearances have finally started to change with the GUI classes coming along. These are fairly close to completion too.
But I just read something I've been mulling over. "Perfect is the enemy of good". I've been wondering if I have been guilty of this. Obviously very little work has gotten done this month, but I have been researching the dark corners of C++ learning the language more and more intimately. And tonight when I began coding I started applying that knowledge. Going through the class hierarchy altering every class with explicit constructors and removing their default constructor I never wanted in the first place.
See, sure this is better, and in fact this is what I had wanted from the beginning but hadn't known about the explicit key word. And my code is now cleaner and tighter. But what if I had spent that time finishing the last of the GUI classes. What if all the time and love I've put into pre-existing code since the tech demo was spent on new code. Would I have my next public release done already? Probably, but who knows. Really at heart I am a perfectionist. And I try to practice a strongly iterative development approach so I actually get project finished. But I ALWAYS find my self going back and tweaking every little thing, these projects become my babies, my works of art. So maybe perfect is the enemy of good, maybe it does kill many promising projects. But I need to find a way to use my perfectionist tendencies to create exceptional projects that still actually get finished. Because, whether I like it or not. I am a perfectionist.
Since I presented Black Engine at the end of my Independent Study it has grown by over 3,000 lines of code. So what is diffident you might ask? Nothing. At least thats what the casual observer would see. It still looks exactly the same.
Under the hood though there have been a TON of changes. From the asynchronous logger to the configuration class to the centralized texture manager. Even smaller things like a much tighter and cleaner build environment and finally a working Linux build target, the kinetic resource system was greatly improved in concept and design. More recently outward appearances have finally started to change with the GUI classes coming along. These are fairly close to completion too.
But I just read something I've been mulling over. "Perfect is the enemy of good". I've been wondering if I have been guilty of this. Obviously very little work has gotten done this month, but I have been researching the dark corners of C++ learning the language more and more intimately. And tonight when I began coding I started applying that knowledge. Going through the class hierarchy altering every class with explicit constructors and removing their default constructor I never wanted in the first place.
See, sure this is better, and in fact this is what I had wanted from the beginning but hadn't known about the explicit key word. And my code is now cleaner and tighter. But what if I had spent that time finishing the last of the GUI classes. What if all the time and love I've put into pre-existing code since the tech demo was spent on new code. Would I have my next public release done already? Probably, but who knows. Really at heart I am a perfectionist. And I try to practice a strongly iterative development approach so I actually get project finished. But I ALWAYS find my self going back and tweaking every little thing, these projects become my babies, my works of art. So maybe perfect is the enemy of good, maybe it does kill many promising projects. But I need to find a way to use my perfectionist tendencies to create exceptional projects that still actually get finished. Because, whether I like it or not. I am a perfectionist.
Comment: Anonymous - 2007-03-02 23:28:10
become a rejectionist.
Comment: Adam - 2007-03-04 02:59:14
haha, and what exactly is a rejectionist in terms of a programmer?
Post a Comment
Journal Archive
.plan Archive
.plan rss
adam_23feb2010.plan
adam_25sep2009.plan
adam_03may2009.plan
adam_07may2008.plan
adam_20nov2007.plan
adam_02nov2007.plan
adam_12oct2007.plan
adam_03oct2007.plan
adam_26sep2007.plan
adam_31jul2007.plan
adam_17jul2007.plan
adam_05jul2007.plan
adam_31may2007.plan
adam_16may2007.plan
adam_01may2007.plan
adam_28apr2007.plan
adam_11apr2007.plan
adam_08apr2007.plan
adam_03apr2007.plan
adam_31mar2007.plan
adam_29mar2007.plan
adam_29mar2007.plan
adam_26mar2007.plan
adam_04mar2007.plan
adam_27feb2007.plan
adam_08feb2007.plan
adam_02feb2007.plan
adam_01feb2007.plan
adam_28jan2007.plan
adam_27jan2007.plan
adam_26jan2007.plan
adam_22jan2007.plan
adam_18jan2007.plan
adam_06jan2007.plan
adam_28dec2006.plan
adam_22dec2006.plan
adam_17dec2006.plan
adam_14dec2006.plan
adam_28nov2006.plan
adam_26nov2006.plan
adam_24nov2006.plan
adam_11nov2006.plan
adam_02nov2006.plan
adam_31oct2006.plan
adam_25oct2006.plan
adam_19oct2006.plan
adam_16oct2006.plan
adam_09oct2006.plan
adam_28sep2006.plan
adam_24sep2006.plan
adam_21sep2006.plan
adam_23feb2010.plan
adam_25sep2009.plan
adam_03may2009.plan
adam_07may2008.plan
adam_20nov2007.plan
adam_02nov2007.plan
adam_12oct2007.plan
adam_03oct2007.plan
adam_26sep2007.plan
adam_31jul2007.plan
adam_17jul2007.plan
adam_05jul2007.plan
adam_31may2007.plan
adam_16may2007.plan
adam_01may2007.plan
adam_28apr2007.plan
adam_11apr2007.plan
adam_08apr2007.plan
adam_03apr2007.plan
adam_31mar2007.plan
adam_29mar2007.plan
adam_29mar2007.plan
adam_26mar2007.plan
adam_04mar2007.plan
adam_27feb2007.plan
adam_08feb2007.plan
adam_02feb2007.plan
adam_01feb2007.plan
adam_28jan2007.plan
adam_27jan2007.plan
adam_26jan2007.plan
adam_22jan2007.plan
adam_18jan2007.plan
adam_06jan2007.plan
adam_28dec2006.plan
adam_22dec2006.plan
adam_17dec2006.plan
adam_14dec2006.plan
adam_28nov2006.plan
adam_26nov2006.plan
adam_24nov2006.plan
adam_11nov2006.plan
adam_02nov2006.plan
adam_31oct2006.plan
adam_25oct2006.plan
adam_19oct2006.plan
adam_16oct2006.plan
adam_09oct2006.plan
adam_28sep2006.plan
adam_24sep2006.plan
adam_21sep2006.plan