- INTRO TEXT:
- Hello and welcome to this introductionary video series of Nim. Nim is a MIT Open Source statically typed compiled systems programming language that looks and works very similary to the very easy to learn and read Python but performs on par with C, with no dependancies, small file size and runs almost anywhere.
- Nim is a rather new programming language created in 2008 by Andreas Rumpf and later joined to grow by other experienced programmers. It's community is rather small but very knowledgeable as the language is quite young, 11 years to this day is young for a language. Nim also doesn't have a big company behind it like most other new languages which makes it quite unknown and unpopular to most people, but don't let that fool you from it's capabilities.
- Nim's capabilities and features:
- With Nim ,ou can develop with Nim on any major platform such as Windows, Linux, macOS and BSD.
- Nim's performance is on par with the very popular compiled programming language C, to which it compiles to, and from there to binary, instead of compiling directly to binary like most other compiled programming languages. This gives it huge flexibility, as you can write your code in a very readable language like Python, that runs at much greater speeds. It can also compile to C++, Objective - C and JavaScript, thus being able to run on almost anywhere, and be used for just about anything, from operating systems, desktop apps, games, mobile apps to websites etc. Which many other programming languages just cannot do. Nim is though not a perfect language, it has it's drawbacks, weaknesses like any other language. !!!!!!!!!!???!!!
- In Nim you don't need to worry about memory managment as it provides multiple garbage collector options as well as a soft-real time garbage collector as default, you can even turn it off all together if you want to do memory managment yourself for efficiency reasons.
- Nim also provides memory safety so you will not be accidentally accessing memory that is not your application's, and thus preventing such problems.
- Nim's syntax is intuitive and clean, indentation significant like Python.
- Has powerful metaprogramming features
- This allows Nim to be extended with support for various programming paradigms and allows developers to avoid boilerplate.
- Nim is self-contained, it's compiler and it's rich standard library is written in Nim itself, which allows you to write a vast majority of programs without having to go look for existing libraries online.
- Is operator overloaded.
- It's compiler is very user friendly. When an error occurs during compilation it will give you a traceback with all the necessary information to resolve that problem. You can also custom define tracebacks for your own programs, so that the program will terminate if something wen't horribly wrong and display your supplied information for easy debugging.
- Nim like any other programming languages also has it's own weaknesses, currently it has a rather small but knowledgeable community and it's not yet version 1.0, but it's just around the corner, and you can help grow the community by learning Nim here on this channel with me starting with the next video where i will teach you how to write your very own programs in Nim from scratch, whether you are a complete beginner or an experienced one.
- Background for the video: Use Nim's front page and features page whilst talking about corresponding features of Nim, possibly with extra examples of our own ?.