It’s amazing how much mileage people get out of being able to search for things. All the best laid plans in the world and it comes down to a search box.
It goes a little further than a search box, at least for me. My tagged journaling system uses search to drive a lot of features, like summary pages, assigning notes to different queues, and so on. I will have to prepare a demonstration of it at some point, because it’s been surprisingly flexible.
Now, granted, that’s mostly because I can afford to be a bit naive about how I approach it, at least for now, since a single personal journal doesn’t hold a great deal of data.
It may be a rather maximalist statement, but I think if external motivation is needed to maintain interest, the technology is simply uninteresting, and possibly not even worth learning. Go and bash are, in my opinion, at the very best uninteresting. I will not go far against maintstream if I say bash is a harmful legacy. Learning bash scripting is learning how to navigate a minefield.
I’m not against setting specific goals, and there are sure things you may never learn until about a technology until you use it for a real life, practical project, but if it doesn’t give toy problems a new perspective, there should be a strong external motivation to learn it (very popular, pays really well, a project you really want to contribute to uses it etc.).
As someone who’s investigated a lot of technologies, I’ve yet to run across one where external motivation is not need to maintain my interest. I’ve looked into Ocaml, F#, Factor, Erlang, Chicken Scheme, PicoLisp, TCL, Rust and so on. I’d argue that most of those give toy problems a new perspective. The thing is, I’ve reached a point in my life where my motivation to work in toy problems isn’t super high, and Go happens to be the language I’ve made it the furthest with in my side-work, so, for now, Go, and Lua embedded in Go, is what I’m using to chase my current set of projects outside of work.
For now, at any rate, I’m at a point where the non-programming parts of my life are involved enough that I’m not looking to twist my brain when I am trying to get something done. I plan on staying curious, but I’ve reached a point where, for now, anyway, the problems I’m looking to solve aren’t ones that learning a new language is going to do much.
One day I’d like to write some things like a Prolog program for scheduling part-time work shifts, or sit down and actually deploy F# via .NET core, or write my own meta-programming layer over Go. But for now, those ideas would just get in the way of the things I want to do in the medium term.
Bash, as far as I’m concerned, is mostly useful for it’s ubiquity. When it comes to shells, I believe in using what’s commonly available to me, and making it livable.
I should have said this the first time around, but I fully believe there are many different motivations for why people program.
Also, @dmbarturin, what technologies do you find inherently interesting?