As Nim is a general-purpose language it can be used in various places but has been filling a real niche in the area of Game development and Systems Programming including Embedded systems.
Nim gives you a lot of the convenience you find in Python and other languages, like easy to read syntax, a package management system for using new libraries in your projects, and user-friendly tracebacks for debugging errors.
Nim gives you the speed and portability of C, but with a high-performance garbage-collector and elegant syntax that makes the language very approachable to new people. Nim also gives you control, letting you change the garbage-collector or turn it off completely giving you the option to manage memory yourself. You have a variety of programming paradigms and abstraction layers with Nim.Join the Nim track
proc helloWorld*(name="World"): string = "Hello, " & name & "!" let greeting = helloWorld("Exercism") echo greeting
Exercism is fantastic in learning new languages but that is not the extent of it. If you are a "more experienced" programmer you may have encountered impostor syndrome: the idea you don't really know what you think you know. Exercism lets you solve problems and put them in the space of open feedback which is a tremendous learning opportunity to explore the depth of your own knowledge. Even if you have been programming in a language for awhile it is worth checking into Exercism to see where you stand with current implementation practices.
Once you join the Nim language track, you will receive support and feedback from our team of mentors. Here are the bios of a few of the mentors of this track.
These are a few of the 31 exercises on the Nim track. You can see all the exercises here.