< Return to Blog

Starter code-bases - Are they worth it? Not everyone thinks so.

Starters are popular on Github. Try googling for "Node starter" or "Python starter" (which you don't need really). But this concept makes more sense say for a Node Webpack and Typescript starter. I asked about a C++ (Cpp) starter on Reddit and got a bit of flame - which is fair. This is because I partially recalled the ModernCppStarter, which I had used ages ago.
I also used the terminology FFI and they hate this as they are used to "extern C". You can see some of the comments here.
This is less of a "thing" in specific languages such as C++ / Rust etc as we don't use starters, just the language and curate the best dependencies for the task at hand.
The "Starter" concept is more prevalent on the the fronted side of things. Why? It's because there are many frameworks and these tend to involve opinionated choices, such as Rails including certain aspects you may not need (which can be disabled). But really it's more like do you want to start a frontend project with React, or Vue, or "yet-another-silly-JS-framework", then do you want Gulp, or Webpack, or "another build processor", then do you want vanilla CSS or SASS, etc etc. This gets SOOOOO long that newcomers are typically overwhelmed with these choices at the start.
We haven't even started to talk about databases. MySQL, Postgress, MongoDB or do you want a NoSQL DB like Redis? ElasticSearch or something else?
Do you want to wrap this all nicely into a LXC/Docker container?
Advantages of a starter:
  1. Quick to clone and get started (yeast not included..)
  2. Typically has a great README on Github
  3. You dev setup is running in seconds, least pain to get something working.
  4. You also get some code organisation out of the box, including testing, test frameworks and some dummy tests
  5. You have a fully working dev/test suite ready to go
  6. The starter can be used as a starting point for your next production grade project
If your starter fails, you need to prepare your poolish from scratch. Your pizza has to be soft and CRAUNCHY!! (Checkout that pizza guy on YouTube).
Thanks if you made it this far, be sure to share your comments and thoughts!!