@__edorian rants in his latest Blogentry that re-creating tools in PHP that are out there in other languages already is kind of useless.
He has got a point there. Don’t write half assed re-implementations of Stuff in PHP that is already out there in . I do not agree totally with him. So why write the stuff anyway?
If I may use Richard Sennett’s Book the craftsman and cite the smart man directly:
“In the act of making it work, nothing else matters”
People creating things seem to be hooked up in the process, totally immersed by the task at hand. People speak of being “in the tunnel” or in “flow-state”. This state of mind is scientifically researched and enables the person do extraordinary things, way more accurate and creative than in a normal “get shit done” situation. It’s not so much about the concrete result, it’s about the process of creating the things. This is a good thing: Focussing totally on the small steps required to get something (like for example a SASS compiler implemented in PHP) alive. Make each of these steps as good as you can. I understand this can lead to very bad results, especially if you don’t take moral implications into account, but why not let people invest time and mind in things that matter for them, just to sharpen the blade of skills.
“People who make things usually don’t understand what they are doing”
Sometimes you have to create a thing in order to find out about the small details that make it so cool, hard to create and the implications of the result itself being in existence. Sometimes it is pure curiosity that drives us to create something and find out what we can use it for afterwards.
A Example: The creator of the glue, used on post-its, had to create a glue-fluid that was not adhesive enough to be used in a product. But for the sticky-note, that had to be removable, the thing was just right.
We need to create something and then use it in order to find out what it is and how it can be used.
“There is a distinct loop in between problem finding and problem solving”
This is a very important thing. Learning a craft is done in phases of doing and thinking. One could say you find the classic PDCA (Plan-Do-Check-Act) circle there, but this is way older than this. This Feedback loop, the metaphor Sennett uses “”in between hand and mind””, is there as long as humanity started to create stuff like the first stone wedges. First you find a problem, you try to solve it, then you look at the result and discover a new problem from it. The new “problem” might be an improvement to the solution you came up with or a new challenge resulting from your creation. Or even an absolute new solution.
2 Years ago I would have commented the post with a FULLACK. Today I am opposing this kind of behavior because it suggests that everything that is out there is already perfect and done. It isn’t and I am happy about everyone to tackle a problem from a new angle. In the End PHPFI was the same thing: We already had Perl and Perl had most of the things (and much more) when PHPFI started. Nowadays the situation is a bit different.