Meeting the Nim programming language

Nim is a programming language that has been with us for some time. Although not so popular, it is a great alternative to other known languages. So, in this post, I will explain some things about Nim programming Language.

What is Nim?

Taking as reference the project website:

Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula.

From the above we can deduce that it is object-oriented and has a syntax similar to Python with concepts taken from C++ or Rust.

An example of the above is that memory management is deterministic and customizable with destructors and move semantics, inspired by C++ and Rust. This makes Nim suitable for use in applications and systems with high workloads.

Nim is also adaptable to many workflows since it has binaries available for Windows, macOS and of course Linux.

Relevant features of Nim

Nim is quite flexible and some of its features are:

  • Self-contained: the compiler and the standard library are implemented in Nim
  • Support for various backends: it compiles to C, C++ or JavaScript so that Nim can be used for all backend and frontend needs.
  • Open Source: It is a language that everyone can access its source code.
  • Flexible: You can use it in applications, scripts, configurations, and even system components. So, the possibilities are very high.

Of course, these are some main features of Nim, but there are many others that you will discover little by little as you use it.

Install Nim programming Language on Linux

In some Linux distributions, such as Debian 11, the language is in the official repositories. However, this is not the case for everyone, so there is a bash script that makes the whole process easier.

First, install the basic package building packages (Debian, Ubuntu and derivatives)

sudo apt install build-essential

Or for RHEL-based distributions

sudo dnf group install "Development Tools".

For OpenSUSE you just need to run:

sudo zypper install -t pattern devel_basis

Now download and run the installation script:

curl https://nim-lang.org/choosenim/init.sh -sSf | sh
Install Nim programming language on Linux
Install Nim programming language on Linux

Of course, you have to install the curl package on your distribution to download it.

If you want to contribute to the project, then answer Y when asked about sending statistics to the developers.

The process will continue normally. On the output screen, you will see part of the process and what the script did.

To complete the configuration, we have to add the Nim installation directory to the PATH, so we can use it without problems.

nano ~/.profile

And at the end of the file, add the following

export PATH=/home/user/.nimble/bin:$PATH

Replace user with the name of your user. Save the changes and close the editor.

To apply the changes, you have to run

source ~/.profile

Finally, check the installed version:

nim -v

Sample Output:

Nim Compiler Version 1.6.6 [Linux: amd64]
Compiled at 2022-05-05
Copyright (c) 2006-2021 by Andreas Rumpf

git hash: 0565a70eab02122ce278b98181c7d1170870865c
active boot switches: -d:release

Testing Nim installation

To test the Nim installation, the most sensible thing to do is to create a new program and run it. A “Hello World” will suffice.

Create the file

nano hello.nim

And inside it, add some content. A greeting, for example:

echo "Hi, welcome to unixcop.com"

Save the changes and compile the program

nim c hello.nim
Compiling a Nim program to test the installation
Compiling a Nim program to test the installation

Finally, run it

./hello

Output:

Hi, welcome to unixcop.com

As you can see, the program works properly and without issues.

Uninstall Nim programming language on Linux

you would rather not to use Nim anymore, the best thing to do is to remove it from the system. To achieve this, delete the installation folder.

rm -r ~/.nimble

And delete the line you have added in the profile file:

~/.profile

When you do this, apply the changes

source ~/.profile

Then there will be no trace of Nim on the system.

Conclusion

Nim is a solid alternative supported by many companies for all kinds of tasks on various systems. Linux is no exception, and it is possible to install it without too many issues.

I hope you liked this post and help to share it.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top