(hoping this doesn't come across ranty, because it's not)
I don't moan about good standards, I moan about shit standards, because they're shit.
Good standards, I happily praise. HTML5 is an obvious example of a standard which I am actively praising - both the stuff in this thread, plus the more code-oriented semantic tags, the stricter definitions of how things should be handled, and so on.
There are still things about HTML5 I would do differently, but on the whole it's good.
CFML is another thing - the language is currently undergoing standardisation, and as part of that they're fully defining the non-tag script-based syntax, which is an evil horrible syntax which I rarely use, and yet I'm not moaning about them putting it on equal footing with the tag-based syntax, because it makes sense.
Those are just two examples - there's plenty of others that I'll praise for being good.
Unfortunately there is a lot of bad standards and bad software, and - when these impede me - of course I'm going to complain about what is wrong with them. Generally, in the (mostly vain) hope that someone says "what about X, it doesn't do that annoying thing".
Example here: SVN - it's terrible software. Incredibly slow, due to the really dumb way it is structured (every directory contains a ".svn" directory, which contains several other directories which contain copies of the files plus assorted other things). SVN sucks, and had I not complained about it, I might not have been directed towards Git.
Git is has a sensible simple structure, is super fast, easy to expand, and thus is becoming very popular. It's not perfect, but I enjoy using Git.
I wish it was always the case that there was good software already written - I don't want to re-invent wheels all the time; I want to do new and interesting stuff that hasn't already been done.
But when there isn't something good enough, rather than just moaning, I'll sometimes do it myself.
And if I do do something myself, I look for how I can reduce my workload by extending existing stuff, rather than starting from scratch.
Another example for this bit: ColdFusion's Regular Expression support is pretty average - with most of the more advanced (useful) syntax not being implemented. Since nobody else had bothered, I decided to fix this myself.
However, instead of going and creating an entire regex engine from scratch (which could be a lot of fun), I have simply created a wrapper around the Java regex engine, so that it is as easy to use as CFML functions, but has all of Java's advanced features. More putting a tire around a wheel, I guess.
And, perhaps most importantly, every time I do create my own software I release it as GPL Free Software (or sometimes BSD license), so that other developers can easily use it, and extend upon it themselves if they want to.
If more developers released software as GPL (or similar), it would gradually make all software better, and we could start moving software into more interesting directions, rather than having to constantly re-write the same thing over and over.
As for the moon on a stick...
It's not actually that often I ask for things that are unreasonable or difficult.
Within the software field, I know pretty much what computers and programmers are (or should be) capable of, and it is frustrating to be using software, only to suddenly have a natural action not occur for no good reason.
It might not seem a natural action to those I complain about it not working right, but that is just a lack of perspective; I rarely try to 'trick' software into doing things!
When I know that (in well-designed Open software) the change would be a fairly simple bit of code, that annoys me all the more, since a few bad decisions by others render me powerless to fix whatever might be broken.
So yeah, I might complain a lot about software and standards, but only when there are things wrong with them in the first place, and I am annoyingly prevented from resolving those problems myself. |