The Fern programming language is a statically typed, data-oriented, immutable by default, systems programming language giving the user low-level access to a systems underlying hardware. While some languages like Go force you to use a garbage-collector ours is fully optional, this allows Fern to be used in a wide array of fields, from operating systems to even backend development.