19

Pros and Cons of Nim

 4 years ago
source link: https://onlinetechinfo.com/pros-and-cons-of-nim/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

6 Reasons to Use Nim

Nim is a programming language that has a syntax similar to Python but is compiled to binary code.

See also: Nim Books

1. Friendly Syntax

Nim has a syntax that is similar to Python.

2. High Performance

Nim is much faster than Python (not when comparing C libraries wrapped for Python of course). Nim code compiles first to C then to binaries, with C-like performance always a possibility.

3. Strong Typing

Nim has a strong type system, unlike Python where types can only be specified optionally. A typed language gives better information to the compiler for better optimizations.

4. Managed Memory

Memory leaks are not a concern as Nim uses one of several available garbage collectors. The new ARC option works with reference counting instead of a GC.

5. Package Manager

Nimble is a package manager which makes installing Nim libraries easy.

6. Version 1.0 Milestone

Nim has seen low levels of adoption, but this may be due to version 1.0 taking a long time to be released. Now released in September 2019 Nim has a good foundation for applications and libraries to build on.

Nim has good reasons to use it , but also has some disadvantages. These are likely to improve over the next few years.

See also: Nim Books

4 Disadvantages of using Nim

1. Small Community

Nim has a small following, which means few jobs are available, and the libraries and frameworks for Nim are lacking. C, C++ and Python libraries can be utilized, however, helping to bridge the gap.

2. Better concurrency/parallelism support needed

Nim supports threads, channels and async. However in general concurrency/parallelism needs more work.

Related article: an overview of the current state of Nim’s concurrency/parallelism features .

3. Unhelpful error messages

The Nim compiler often gives unhelpful error messages.

4. Web Frameworks are Lacking

Many languages became popular due to well developed web frameworks (e.g. Ruby has Rails, Elixir has Phoenix and Crystal has Amber, Lucky and others). Nim has Jester which still needs further development and documentation. There is also Karax which is a SPA web framework.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK