I have looked around and came to realise that many people are trying to get around a problem with hacks and black magic coding. They should ask and push for something to be implemented in the right places.
I am talking about the world of preprocessors languages, a prime example is harp.js, as wonderful as their preprocessor handling is, it is most certainly done on the wrong place, a server should not be handling the conversion of these files, it is the job and duty of a Text Editor.
I have seen many other modules on (npm) and other places and really unnecessary grunt task runners etc… this will disrupt the development workflow by asking a developer to manage a simple thing, translating a preprocessor language to its corresponding language, or remember how to set up a grunt task, or copy and paste and many other daunting tasks which are not what a developer’s job is, just as much as a plumber should not change the designs plans of the architect.
Take CoffeeScript, Stylus and Jade and many more they all are there to help speed up development workflow, make the code a bit friendly and it’s better all round (I am not saying they are flawless), but my point is that their job is to translate and make our lives a little easier.
I strongly feel that it’s an editor’s JOB and RESPONSIBILITY to do so, otherwise the problem will be shifted elsewhere and you will get nothing but hacks, unnecessary packages at the wrong place, a clutter of modules, confusion and we end up trying to manage these hacks at an exponential rate, that we eventually never know or remember where the problem started to begin with, therefore we never bother to try to resolve it or find it too time consuming to deal with it right now! Admit it you have said this at one point or another “when I get some time” or “when I finish this train of thought first”
So this is my call to editors like Sublime Text Editor and Atom Editor and many others, in trying to persuade them to see that it is their responsibility to handle all preprocessor languages upon save as well as good linting system to enforce “good standards and practices”.
Good standards and practices
This bring me to my second thought, I don’t mean to sound like a dictator when I say enforce, but the collective knowledge of “good practices” if not enforce, will be lost. Reason being is that many good developers out there have spent time and energy to filter out and argue, agreeing and disagreeing on many topics of what’s good and what’s bad, so if they are not enforced by lints, to capture and share some of that knowledge, all that time and energy will go to waste or at least it requires a lot of research (more time and energy) to understand its history.
The definition of linters, perhaps should explain their intentions clearly and a wiki to state that “a linter is the result of the knowledge base which recommends good practices, led by its community“.
If you disagree with me please comment below, if you agree with me please do share this post to help others and get our message across sooner.