4257 – Inside Saint Laurence Church XIV


How do I choose?

Are there even clear criteria? Do I even know what properties to expect of a “best” tool for solving my problem? Do I even know exactly what my problem is?

Unfortunately the answers to all those questions are somewhere between a clear “no” and vague undecidedness. That’s ok. That’s what I face in my job on a daily basis.

On the bright side: I already know a lot about the problem domain, I know the proper terms, I have found a cache of options and it seems to be fairly complete.

Of those 224 options I will ignore everything that clearly is a documentation generator or that is exclusively or primarily targeting the production of books. I can also ignore tools for producing JavaScript applications in one of the popular frameworks (Angular, React, Vue, etc). It’s fine to know these exist, I may need them at one time, but not for creating a blog.

I also can’t expect to find a tool that perfectly solves everything I need. Fine if I do, but I might need to tweak it. If so, familiarity with and trust into the programming language will come handy.

This means, I will prefer JavaScript, Python, Java or C# over Ruby, Lisp and Haskell. I might also consider a language that I’m interested in learning anyway. Examples of those are Go and Rust.

The other important point is popularity of the framework. I wouldn’t want to develop the tool myself, and if I use one from the rich menu of choices, I’d hate to find myself being the last remaining user at one time.

Popularity does not always mean the absolute best quality, but a combination of popularity and decent quality makes it very likely that someone has already solved your problem.

Thus my strategy will be to start from top of the list and look at the first popular solution in one of my preferred languages. If the tool already comes with a converter from WordPress (some tools do), then this is a big bonus.

Jekyll is the most popular tool, comes with a converter, but it is written in Ruby, a language that I’ve never bothered to learn.

Hugo is #2, claims to be the fastest, does not have a converter and is written in Go. Go is a young and wildly popular programming language, but so far I never had the opportunity to learn and use it.

Next, the #3, is JavaScript, but it is for applications, and it even uses React as a framework. I’m an Angular guy, and although I wouldn’t mind acquiring some React know how, a blog is not an app.

This leaves us with #4, Hexo, a blog-aware JavaScript tool with even a converter. Cool! The route is clear, I start with Hexo, see if I like it, and if so, I just use it and look no further.


There are 2 comments