A surprising number of people have asked me the question:
'Why did you give up the @XQuery twitter account ?'
So many that I should reiterate the reasons why here.
Time and space
Admittedly, it takes very little time to maintain any twitter account. Even so every year I do a 'spring cleaning' (sic: in January) and reallocate my time commitments. However big or small I make a list of my commitments then decide where I would like to spend my open source time as contrasted to everything else I do (Life, Work, etc). I did a similar reorg 5+ years ago when I moved from working solely in XSLT to XQuery; though in that instance I stopped trying to teach others of the wonders of XSLT - much easier for programmers to grok XQuery (though I use XSLT often and very much enjoy it).
Last year I wanted to invest some time refreshing myself in c/cplusplus11/14 which makes c/cplusplus interesting again (CLANG, llvm, fp). Breaking off this 'rust' lets me efficiently apply some ideas to some new open source projects as well as learn from other genius works (XQilla, etc).
This year my focus is on:
and whatever else may distract me.
XQuery is my language of choice
At my day job I sling XQuery all day, every day - I feel very lucky to be able to work on something that also happens to be one of my passions and I hope that remains the same for many years to come.
Latest versions of the language (XQuery 3.1) make me even more excited for its future (maps/arrays, annotations and even the humble arrow operator).
For example, a few months ago when using docker I wondered why things were so fast in a certain situation; docker is written in Go and I learned that maps in Go are not thread safe (!) which was answer enough for this newbie but asking that question led me to the definition of goroutines which are interesting grist for the concurrency mill. This kind of 'thigh bone is connected to the leg bone' research is probably not the most efficient, but motivating nevertheless.
So while I think its important to avoid becoming a magpie developer that doesn’t mean we should avoid regular small investigations into other languages. Many of the good things that have happened to me in programming often were preceded by 'little investigations' though its important to learn how to timebox your efforts!
Lastly, learning idioms or better ways to do something in one language often help me become a better programmer in another.
Avoiding sentimentality in software
If you work long enough in the software industry eventually you will experience the thrill of your favourite language coming into favour as well as the despair when it falls out.
Doing a regular moral inventory of what open software projects I work on allows me to gauge sentimality - holding onto 'precious' only because of previous commitment sunk can be a sign that you are in an evolutionary 'dead end'.
I do not think XQuery is a waste of time, I do believe we are entering an era of 'boutique' languages and we all learn a lot more DSL’s to get work done. XQuery represents a sweet spot in terms of data model, functional programming and good fun.
We should embrace diversity in programming and shudder at a future which espouses a single paradigm for expression.