- Intro text:
- Hello and welcome, this is the first and introductionary video of my Nim for Beginners tutorials series in which i will teach you how to make your own programs in Nim.
- What is Nim ?
- Nim is a programming language, it was created by Andreas Rumpf in 2006 and made public as free and open-source under the MIT license in 2008. The language's moto is Efficient(speed chart example), expressive(Standard library tour and metaprogramming example), elegant(show a simple program and how very much english and easy it looks) in that order, which means that the language was designed from ground up to be as efficient/performant as possible, whilst also being very powerful with it's metaprogramming features as well as easy to use and readable.
Which makes it a perfect candidate for people new to programming as it is one of the easiest to learn out there whilst being very powerful and flexible.
- Why Nim when there are so many other far more popular and mature programming languages out there ?
- That is because there isn't any that combines the beginner friendliness with high performance.
- Currently people use Python as their goto first programming language to learn and teach as it is very easy to understand and write code in, BUT it is very slow in comparison to the most used high performance programming language C which is used to write Operating Systems like Windows, Linux and MacOs, drivers because of said performance, BUT on the other hand is very hard, and not very readable and understandable, unless you have lots of experience with it already.
- Nim does both, Nim writes and looks very much like Python with some additions to make it nicer and more readable of it's own, whilst actually compiling/translating into highly efficient C code. Yes it compiles/translates to C and from there using any of the mature C compilers/translators that C programmers use, into binary/machine code, and it doesn't end there, it can also compile to C++ another highly popular programming language, known for being used in Game Engines and Desktop Apps, Objective-C for the MacOS and iOS your Mac computers and Iphones, and JavaScript for the Web. You can also easily bind/wrap/use existing C/C++/Objective-C/JavaScript libraries into Nim, giving you access to their enormous collections of existing mature code.
- So Nim is like Python that performs like C and can run on almost anything right ?
Yes and much more, it also has powerful Metaprogramming features, which allow you to do just about anything, you can create whole new programming languages, customize Nim to your liking like implementing functional programming, writting HTML code used to make Websites right into Nim's compiler/translator, or to overcome challenges other programming languages would really struggle with, etc.
- In short Nim is both a beginner's language and a more advanced one's, as unlike so many truly beginner's programming languages, even more for beginners than Python already is, have so far mostly been just for that, learning how to program and not much more.
- So if you have found Nim to be appealing to you and want to learn more about it, starting with the next video i will be teaching Nim for absolute beginners to programming onwards. If you wish to jump right into it and you already know some programming or are still debating whether it's actually worth your time, i have put some useful links into the description for you to start with and read more in depth about Nim(Nim's front page, features page, Learn Page, etc). With this i conclude this video, starting with the next video i will be teaching you how to write your own code, good luck and have fun.
- Links
- Also show and compare C, Python and Nim Hello world examples. Then show under all the side by side performance and file size of each, and that dependancies, which Nim doesn't need at all.
- Do this entire page, with language comparison images, put a button to skip to Nim Setup and your first program Hello World (both videos into one).