Production ready definition

Summary

  1. Building a web app with functional programming series :bookmark:
  2. Definition of production ready :bookmark:
  3. Elm - part I :bookmark:
  4. Elm - part II :bookmark:
  5. Haskell - part I :bookmark:
  6. Haskell - part II :bookmark:
  7. Nixos :bookmark:

This post’s purpose is only to define what I will later refer to be “production ready” regarding a programming language/framework/library… Please note that this is my definition.
There are many definitions for a system to be production ready. It can, for example, be any combinations of:

In my case, I’ll consider a system S to be production ready when given any S’s feature, they can be achieved, understood and tested by a non experimented developer thanks to S’s documentation/guide/HOWTOs/…

Whatever your programming level, if you have to search for code samples on github, constantly browse and read S’s source code and experiment on your own to understand better how S works, then I will not consider it to be production ready. On the other hand, if there are many materials that helps you understand without digging deep into the code source, then, I’ll consider it ready.

That being said, not being production ready isn’t a deal breaker when picking a technology. Depending on factors like the team experience, the time and resource allocated to the project, the project goal or its complexity, picking a non-production ready technology can make a lot of sense.