Тёмный

Nim in 100 Seconds 

Fireship
Подписаться 3,1 млн
Просмотров 441 тыс.
50% 1

Nim is a general-purpose programming language known for its python-like syntax and ability to compile to multiple languages like C, C++, and JavaScript. Learn the fundamentals of Nim in this quick tutorial.
#programming #code #100SecondsOfCode
💬 Chat with Me on Discord
/ discord
🔗 Resources
Nim Docs nim-lang.org/
C in 100 Seconds • C in 100 Seconds
Python in 100 Seconds • Python in 100 Seconds
Lisp in 100 Seconds • Lisp in 100 Seconds
🔥 Get More Content - Upgrade to PRO
Upgrade at fireship.io/pro
Use code YT25 for 25% off PRO access
🎨 My Editor Settings
- Atom One Dark
- vscode-icons
- Fira Code Font
🔖 Topics Covered
- What is the Nim language?
- Who created Nim?
- What is Nim used for?
- Nim basics tutorial
- Nim vs Rust
- Nim vs C

Наука

Опубликовано:

 

2 ноя 2022

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 872   
@huskyhacks
@huskyhacks Год назад
One fun little fact about this language is that it's grown a ton in popularity in the ethical hacking/red teaming community due to its simplicity, cross-compilation capabilities, and ease of access to the Windows API with the winim library. It's one of my favorite programming languages for rapid prototyping red teaming tools.
@dariusduesentrieb
@dariusduesentrieb Год назад
And also in the less ethical hacking space ... Some virus scanners even blocked many Nim programs just because they looked like they've been written in Nim.
@shapelessed
@shapelessed Год назад
@@dariusduesentrieb Don't blame hackers, blame the antivirus mob using it to squeeze money from you. Many of these are excuses to force developers into paying for whitelisting their products...
@RoyRope
@RoyRope Год назад
Cool, never even heard of it before.
@zulcode1196
@zulcode1196 Год назад
and vlang too
@Peter-yd2ok
@Peter-yd2ok Год назад
I wanna learn ethical hacking. Can someone plz give recommendations on how to get started? Thanks in advance
@giraudl
@giraudl Год назад
I use Nim as the main programming language in my company here in Paris. Team size is 6 devs, junior and mid-level. Our productivity is now insane. I have to confess I had to write some tooling and utilities for them to use Nim easily. That said, we use Nim now for everything, from Really Big Data to Web Development & ORM, low-level RPC stuffs, to fine-grained AI/GPU computing (thanks to Arraymancer)
@holthuizenoemoet591
@holthuizenoemoet591 Год назад
Love it when small companies are not afraid of using something unique. What do you guys do?
@Djolewatchtastife
@Djolewatchtastife Год назад
Was just gonna ask what’s the startup called?
@knkp513
@knkp513 Год назад
Some of that tooling you're referring to might be another market. Wouldn't mind seeing what that's about.
@alexandredaubricourt5741
@alexandredaubricourt5741 Год назад
Embauche moi j'en ai marre de typescript tout notre backend tourne sur node c'est un toaster géant 😭
@Djolewatchtastife
@Djolewatchtastife Год назад
@@alexandredaubricourt5741 ça devient toujours le même quand les projets avancent
@vioxa8645
@vioxa8645 Год назад
Honestly this has been my favourite programming language for a while, and it’s so great it’s getting more light shed on it. Goes to show the major reason languages become popular is simply marketing and endorsement, which lets gems like Nim get buried.
@nicocesar
@nicocesar Год назад
Looks awesome but the complexity can be overwhelming, is it a good Solo-Only programing language or do you have a good experience with tenths of programmers working in the same code base?
@theLowestPointInMyLife
@theLowestPointInMyLife Год назад
I wish Nim had the backing and man power of Rust, then it could be something great.
@PrimeToolbox
@PrimeToolbox Год назад
When I'm investigating which programming languages big companies are using, I always found some unpopular languages on the code base. There's a reason why seniors decided to use them.
@jp46614
@jp46614 Год назад
It's completely useless
@giraudl
@giraudl Год назад
​@@nicocesar I use Nim as the main programming language in my company here in Paris. Team size is 6 devs, junior and mid-level. Our productivity is now insane. I have to confess I had to write some tooling and utilities for them to use Nim easily. That said, we use Nim now for everything, from Really Big Data to Web Development & ORM, low-level RPC stuffs, to fine-grained AI/GPU computing (thanks to Arraymancer)
@c_nerd9149
@c_nerd9149 Год назад
Finally Edit : `let` and `const` create immutable variables but `const` variables are evaluated at compile time while `let` variables are evaluated at runtime
@1conscience0dimension
@1conscience0dimension Год назад
ah ok. clumsy to have chose let...
@nemeziz_prime
@nemeziz_prime Год назад
Finally someone shed light on Nim 😍 Rightly deserved a video by fireship
@philiphanhurst2655
@philiphanhurst2655 Год назад
Nim is easily my favorite language. Performance of C, syntax of python, compile-time evaluation of zig, (optional) move semantics of rust, metaprogramming of lisp, and a great compiler that balances it all so you don't have to worry about it. It's honestly so much fun to play around with.
@astroid-ws4py
@astroid-ws4py Год назад
And types declarations of Pascal / Oberon / Modula
@happyjohn1656
@happyjohn1656 Год назад
There's also Julia
@joeymea
@joeymea Год назад
@@happyjohn1656 Julia is terrible for most purposes. Sure, may have c-like speeds, but it also has c-like compile times that slow you down every single time you run your program
@RD-fb6ei
@RD-fb6ei Год назад
@@joeymea julia gets nowhere close to C except for their cherry picked array benchmarks
@astroid-ws4py
@astroid-ws4py Год назад
@@joeymea Fixed that for you: Not C-Like compile times but C++-Like compile times.
@marcelo_360
@marcelo_360 Год назад
0-index comment
@goodguydynamitegaming387
@goodguydynamitegaming387 Год назад
This has the be the best "first" comment I've ever seen. bravo
@vaisakhkm783
@vaisakhkm783 Год назад
Okk you got the -first- 0-th price 🏆
@JustPyroYT
@JustPyroYT Год назад
Congrats
@rranon8489
@rranon8489 Год назад
Phew! This made me think that this programming language is not 0-indexed!
@cosmicspice9477
@cosmicspice9477 Год назад
RU-vid commenters are evolving lmao
@playea123
@playea123 Год назад
Would definitely be interested in a beyond video on nim! The syntax being so similar to Python will entice Py developers that want to delve into systems engineering
@isofruitfruit9357
@isofruitfruit9357 Год назад
The nice thing is that the python interop, if needed, is pretty easy. Want to do something computationally expensive but there isn't already a lib out there that wraps c-code for you? Simply write it in nim, compile it and with pretty low amounts of effort you can use it in python through a package called nimpy.
@playea123
@playea123 Год назад
@@isofruitfruit9357 oh wow that’s awesome!!
@crackwitz
@crackwitz Год назад
I'd want the opposite, using popular python packages in Nim. Getting that part of the ecosystem would be extremely valuable
@jww0007
@jww0007 Год назад
you can read the docs
@playea123
@playea123 Год назад
@@crackwitz that would be fantastic as well
@wanderingthewastes6159
@wanderingthewastes6159 Год назад
1:36 I don’t use Nim but I’m pretty sure that procedures are explicit impure functions, while functions declared with ‘func’ are explicitly pure.
@gfrewqpoiu
@gfrewqpoiu Год назад
That's right and Nim uses both with precisely this distinction and it's enforced by the compiler.
@henriquefinger935
@henriquefinger935 Год назад
Beautiful
@imelbertkim
@imelbertkim Год назад
I don’t understand this well but I want to. What’s the difference between an impure function vs a pure function in the context of async/sync?
@henriquefinger935
@henriquefinger935 Год назад
@@imelbertkim pure functions are, by definition, functions that have no side effects and whose output depends only on their input. This has many advantages, as you are guaranteed to get the same output given the same input every single time. Therefore, parallelizing the calls of pure functions is trivial, as you don't have to worry about deadlocks, race conditions or similar issues.
@imelbertkim
@imelbertkim Год назад
@@henriquefinger935 thanks for your explanation!
@sp.n7401
@sp.n7401 Год назад
happy to see this, i absolutely love nim and it deserves much more attention, everything is so efficient and simple
@dirac7233
@dirac7233 Год назад
Nim comes with many tools out of the box: JSON XML and CSV manipulation, openssl (wrapper), advanced string utils, http, CGI, SMTP, mime types list, base64 encoding, html manipulation (compiles to JS for the browser), several easy to use approches for concurrency and parallelism (async/await, single threads, thread pools, etc..) and much more ! ❤️❤️❤️
@MichaelMilord
@MichaelMilord Год назад
I discovered Nim a couple years ago, and fell in love with it. Thank you soooo much for making this! Hopefully it will attract more people and interest towards the language!
@notanenglishperson9865
@notanenglishperson9865 Год назад
I can't believe that's the first time I hear about this magnificent language.
@Aphova
@Aphova Год назад
Usually I watch these videos for entertainment but you've just introduced me to a very cool language I hadn't heard of. Awesome.
@Bruhfinally
@Bruhfinally Год назад
Honestly didn’t think you’d cover this. Thank you for the exposure.
@_sevelin
@_sevelin Год назад
This seems like a great mixture of C and Python Like superb control and efficiency of C and indentation and no semicolons from Python
@maxwellwellman
@maxwellwellman Год назад
people like python's indentation?
@SkyyySi
@SkyyySi Год назад
@@maxwellwellman Yes?
@eeriemyxi
@eeriemyxi Год назад
@@maxwellwellman Yes.
@eeriemyxi
@eeriemyxi Год назад
I'm not a fan of their styling conventions though.
@astroid-ws4py
@astroid-ws4py Год назад
And macros from Lisp
@evanhowlett9873
@evanhowlett9873 Год назад
I'm glad you're getting into more esoteric languages. Nim was probably my first foray into the lesser known languages.
@matthiasschuster9505
@matthiasschuster9505 Год назад
Wanna try a couple of new ones? Gleam, Pony, F#
@evanhowlett9873
@evanhowlett9873 Год назад
@@matthiasschuster9505 I use F# pretty regularly at work. I've looked at Pony but it's essentially dead. Last I checked all the maintainers are working on Verona or something like that. Gleam runs on the BEAM, right? I've done a small phoenix app in elixir and hated it... which sucks because I wanted to like elixir. It may have just been phoenix that I didn't like, though. I love the idea of actors and that approach to concurrency and would like to build out the idea more in F#. Agents are cool but nowhere near as robust as what Erlang/Elixir, and I assume, Gleam have.
@roteschwert
@roteschwert Год назад
Nim is actually older than I thought & actually has a far superior feature set to Golang. I wonder why it didn't take off.
@dorianhill2480
@dorianhill2480 Год назад
It's about to !
@ViaConDias
@ViaConDias Год назад
Go and Rust has billion $ companies pushing them. All NIM has is a community and the fact that it's an amazing language. But NIM is literally SO good that it will become mainstream even against these odds. Personally, I switched and now only use NIM in all situations where I'm not locked to a language because of a platform. Even my beloved Python 3 has been retired 🏖 Projects already written in Python, I slowly rewrite in NIM as I continue development.
@danvilela
@danvilela Год назад
@@ViaConDias What about the lib ecosystem? Is it good? Like dumping python you also dump all of that right?
@drygordspellweaver8761
@drygordspellweaver8761 Год назад
Nim will take off because I am looking into it and the masses always follow my thoughtform!
@janAkaliKilo
@janAkaliKilo 11 месяцев назад
@@danvilela there're plenty of Nim libraries, many of them native. And many are wrappers of existing C libraries, if you can't find a library that suits your needs Nim has excellent FFI with C, and it's even possible to call Python libraries with `nimpy`.
@MrEnder0001
@MrEnder0001 Год назад
Nim is a amazing language I have been using it for over 4 months now and it is amazing I started using this language after python and its amazing.
@africa_explained_tv
@africa_explained_tv Год назад
The syntax alone has me excited af! Can't wait to run through it over the weekend
@daifee9174
@daifee9174 Год назад
This is awesome, I was just thinking about how cool it would be to have a C++ with python syntax and then BOOM this video comes out!
@XoloJay
@XoloJay Год назад
I_did_not_see_underscores
@vaisakhkm783
@vaisakhkm783 Год назад
Fk... this guy reads our mind (or probability to blame?)
@DreadKyller
@DreadKyller Год назад
@@vaisakhkm783 Frankly it's happened too many times to be probability at this point. There was one point where he put out 4 videos in a row that I had been looking into the days prior...
@JeremyKolassa
@JeremyKolassa Год назад
Nah, Jeff is clearly psionic with telepathic and precognitive abilities
@themasterofdisastr1226
@themasterofdisastr1226 Год назад
@@vaisakhkm783 Nim was definitly on his TO-DO list. At least bc he mentioned it in his Iceberg Vid.
@geckwwo
@geckwwo Год назад
Started programming on Nim after this video, I absolutely love it
@EdgeGaming
@EdgeGaming Год назад
Definitely deserves a course from you Jeff! Such a great little language.
@vinayaksingh524
@vinayaksingh524 Год назад
I started learning nim a few weeks ago , and i dropped in to see what's fireship upto in the last few weeks but I'm so happy to see nim here . Please do one on V-Lang too
@unknownd3v
@unknownd3v Год назад
It's incredible how you know all these low-level languages and give us a really short tutorial teaching us an overview, explaining it so naturally!! That's really amazing, thank you for your videos!
@dylhack
@dylhack Год назад
You can also, during compile time, determine if a function is async or not.
@isofruitfruit9357
@isofruitfruit9357 Год назад
You can do so much insane stuff during compile-time. In webdev I used it literally to evaluate in an ORM whether the Models you gave me for a many-to-one query were correct (so if the "Many" side had a Foreign-key field to the "One" side of the relationship), allowing me to give users compile-time guarantees. If their code compiles, their query for the many-to-one and many-to-many relationships will be correct and work, no runtime errors in that regard.
@saeedbaig4249
@saeedbaig4249 Год назад
@@isofruitfruit9357 Fascinating; compile-time guarantees on correctness sounds like a really powerful capability - the only other language I heard could do something like that was Haskell.
@pmj_studio4065
@pmj_studio4065 Год назад
In Rust, the sqlx crate does something similar with macros - you write SQL queries as strings, sqlx calls the database at compile time and checks the returned type. Haven't used it much though ^^
@isofruitfruit9357
@isofruitfruit9357 Год назад
@@saeedbaig4249 You can basically force anything to be used at compile time with the {.compileTime.} pragma. I often enough do this to do some arbitrary logic checks here and there, SQL is the most prominent example I can come up with since in an ORM you're rebuilding a schema with inherent logic connections that aren't going to be otherwise represented in the code. Nim has another feature called `Concepts` which are a bit complicated to use imo but are essentially interfaces that allow you to check types at compile-time for certain properties or behaviour, such as whether a method with a specific signature is defined, whether a method returns a specific value for them or similar.
@snailedlt
@snailedlt Год назад
Love these videos about little known languages! Please consider covering julelang next, looks pretty neat.
@JeremyKolassa
@JeremyKolassa Год назад
Thank you! This is one of the two more obscure languages I really wanted to know more about (the other being Zig), so I really appreciate it! The customizing the AST with macros is super interesting, especially since right now I'm working on a TypeScript project where I need to return certain functions based on user config, and I'm starting to get stumped on how to account for all possible options, maybe this would help me?
@avithedev
@avithedev Год назад
Wish more people used Nim, such a good language
@xnoreq
@xnoreq Год назад
Good idea but bad design and bad implementation. Good for throw away prototypes though.
@isofruitfruit9357
@isofruitfruit9357 Год назад
@@xnoreq Hard disagree here. The implementation perfectly useable in general. Sure could be better, but claiming it's unuseable for production is not correct.
@xnoreq
@xnoreq Год назад
@@isofruitfruit9357 Disagree all you like, it's still correct. When a simple hello world turns into 300 kB of JS and you turn to the main developer of the language and he says "it doesn't matter" plus all the other issues the language/transpiler has, good luck using it in production. I'd fire any of my devs for grave negligence for using it in production.
@antonisgeralis5266
@antonisgeralis5266 Год назад
@@xnoreq Again I find you here, spreading lies, I have a web app with karax Nim's frontend I am developing with 2 out of 10 pages already implemented and its 500kB. Yes when it's done it would be a lot bigger. Now I just compiled a hello world and its 137B!! here is the code: proc kout*[T](x: T) {.importc: "console.log", varargs.} kout cstring"Hello World!" Get a life!
@antonisgeralis5266
@antonisgeralis5266 Год назад
Generated code: /* Generated by the Nim Compiler v1.9.1 */ var framePtr = null; var excHandler = 0; var lastJSError = null; console.log("Hello World!");
@rakeshchowdhury202
@rakeshchowdhury202 Год назад
Finally, as someone who learnt nim in 2020, I can say "just watch the nim fireship video"
@dorianhill2480
@dorianhill2480 Год назад
Amen
@plurisdesign3210
@plurisdesign3210 Год назад
Hello Jeff: your videos have helped the best to allocate my mind into this extense word, confusing and always evolving, that is development of any kind, just wanted to say that. Thanks
@Exilum
@Exilum Год назад
Nim seems great. I'm not a fan of the python syntax in general, but I like how flexible it seems to be.
@ViaConDias
@ViaConDias Год назад
The power NIM gives you is second to none so you'll learn to live with the syntax
@omarjimenezromero3463
@omarjimenezromero3463 Год назад
it is pretty beginner friendly and optimized to write software pretty fast, i do not know why that has not been a deal before, the verbose languages like java are a hell to me to write something that does something without spend my live on it, i like python and lua syntax because i can write a lot and do a lot of things without have to worry if i have a syntax error, i can focus on logical errors more than if a symbol got out my way at writting. Well at least that is my opinion after programing in java and in C/C++, python and lua.
@drygordspellweaver8761
@drygordspellweaver8761 Год назад
Java is indeed hell
@raphaelprinz9944
@raphaelprinz9944 Год назад
I started playing with Nim since the Rust-Conference fiasco. Really like it so far, definitely a good compromise between usability, speed and c compability
@ryanlipscombe6701
@ryanlipscombe6701 Год назад
Here's the NimConf 2022 playlist showcasing some libraries and future Nim developments: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-aDi50K_Id_k.html
@gonik9071
@gonik9071 Год назад
Nice Video, I love your 100 seconds of series. Would it be possible for you to add tutorial/book recommendations?
@revoltage8448
@revoltage8448 Год назад
Neat! Definitely going to try it today
@lowkeygaming4716
@lowkeygaming4716 Год назад
Thanks for sharing. This language seems to be really nice. I'll give it a try.
@zb9458
@zb9458 Год назад
Performance of C, syntax of Python, and Lisp-like metaprogramming? I would LOVE to see a beyond video on Nim!
@writingpanda
@writingpanda Год назад
I want to learn more about this language. It sounds amazing.
@dariusduesentrieb
@dariusduesentrieb Год назад
Nim is great! I wrote code that is as performant as the C++ version of it, but it's so nice to read and write.
@LeonLibertario
@LeonLibertario Год назад
hello world...
@dariusduesentrieb
@dariusduesentrieb Год назад
@@LeonLibertario A chess engine
@LeonLibertario
@LeonLibertario Год назад
@@dariusduesentrieb oh really okay bro nice
@c5cha7
@c5cha7 Год назад
Love your videos, could you do a video on how you keep up to date with current trends and topics? Staying relevant in the programming world is hard haha
@krishnaayyalasomayajula5661
He makes 'codereports'
@IvanRandomDude
@IvanRandomDude Год назад
Making 100 sec video that requires 5 mins of research on wikipedia is not "keeping up to date" with anything
@YuriG03042
@YuriG03042 Год назад
Finally the guy who asks for this in every video can live a peaceful life.
@_daniel.w
@_daniel.w Год назад
Thanks for this video, definitely going to check it out
@GagePeterson
@GagePeterson Год назад
Well, I really want to learn Nim now. Thanks!
@vbkfivn
@vbkfivn Год назад
I fucking love Nim. It's my favorite language. As many have said, its super useful for ethical hacking, and quick cross platform projects.
@mohanaggarwal4058
@mohanaggarwal4058 Год назад
Do u know, u can even compile ur nim code to target node js, nim can also use existing c/c++/obj-c/js code in it we just need to write wappers that is just like function prototypes it can also be done automatically using some 3rd party library, i also saw that they were calling python functions from nim and vice versa, and even macros in nim can also help u to write beautiful DSLs that can be used to automate things that results in writing English like code, while some people might hate UFCS but it is actually very powerful concept that is implemented in nim, and there r many things that i like about nim which i cannot find in any other language.
@isofruitfruit9357
@isofruitfruit9357 Год назад
Note it can also use existing python code trivially via nimpy and vice versa can trivially used to build libraries for python via the same nimpy
@EasyGTheTechGuy
@EasyGTheTechGuy Год назад
Wow. Thanks to fireship for bringing this language to my knowledge. Never head of it b4 😶. And it looks interesting Would love to see a beyond 100 secs on this 🙂
@alishxn
@alishxn Год назад
Love your videos ❤️ literally i learn i lot from you
@offensivearch
@offensivearch Год назад
I'm new to nim but afaik proc is used for procedures (aka "functions" with side effects) and func is used for true/pure functions.
@Nox3x3
@Nox3x3 Год назад
Nim is fantastic!
@zyrenth
@zyrenth Год назад
Really cool, I love it ❤!
@ThomPorter74
@ThomPorter74 Год назад
This looks beautiful, and from the comments here I can see that it is! I will be checking it out for sure!
@evanbarnes9984
@evanbarnes9984 Год назад
Awesome! I really wanted you to make a video about Nim! I'm really intrigued by it, and would love to see it make its way onto hardware like the ESP32
@antonisgeralis5266
@antonisgeralis5266 Год назад
It has! Better ask question in the #embedded channel in discord.
@isofruitfruit9357
@isofruitfruit9357 Год назад
On that note you may want to look into the nim-based Ratel package for microcontrollers that can produce some absurdly small binaries. The author of said package is active on said discord from time to time.
@evanbarnes9984
@evanbarnes9984 Год назад
@@antonisgeralis5266 oh cool! Is that a Fireship discord? Or just a generic embedded discord?
@antonisgeralis5266
@antonisgeralis5266 Год назад
@@evanbarnes9984 nim's discord (sorry can't post links in youtube)
@Im_Ninooo
@Im_Ninooo Год назад
100 seconds of gRPC please! there's no short explanation video anywhere :(
@Yeasiin
@Yeasiin Год назад
+=1
@looc1612
@looc1612 Год назад
you finally introduce this language
@maop
@maop Год назад
i got to know about this language when i discovered nitter, is such a good software was impressed for how light and quick it was, i went to the source and discovered it was written with Nim
@alegian7934
@alegian7934 Год назад
love the informative type of videos
@leonlysak4927
@leonlysak4927 Год назад
In 2020 I was looking for something like Python but with better performance, found Nim, never looked back. It's used in literally every software my company has today
@WineZ22
@WineZ22 Год назад
The fact that this video is longer than 100 seconds makes my brain throw a runtime exception 😅 But as always thanks for the great content
@vaisakhkm783
@vaisakhkm783 Год назад
Uncautch error: #####
@gokudomatic
@gokudomatic Год назад
Nim is so beautiful. I wish I could get a small project to work with it.
@Code_Machine
@Code_Machine Год назад
Never heard of it before, but I'm glad I did now
@TileBitan
@TileBitan Год назад
this is the best looking systems programming language ive ever seen
@keyboard_g
@keyboard_g Год назад
Nice. .Net just got source generators recently as well and it opens up a lot of avenues. For example, most cases for reflection can be turned into generated and compiled code and run at the speed of normal memory access.
@mohanaggarwal4058
@mohanaggarwal4058 Год назад
Jeff, many many thanks for creating this video🙌, u did a perfect job👌👌, 💯/10, but i feel like many things r still missing, and nim is actually more than just a system programming language.
@isofruitfruit9357
@isofruitfruit9357 Год назад
However, tbf there is just a lot of features that he could use here and he was already running over 100 seconds. Stuff like easy use of templates, easy compile-time evaluations, the ability to have style-insensitivity (so if a package in your dependencies uses camelCase you're not forced through their package to have camelCase in your codebase), how you can modify all that behaviour with the compiler, concepts and more Just a lot to cover and not a lot of time
@clarkdnro
@clarkdnro Год назад
You got a lot of programming knowledge, You're awesome
@nickskywalker2568
@nickskywalker2568 Год назад
Looks really cool!
@Master_Ed
@Master_Ed Год назад
sounds really useful, can't believe I've never heard of it
@tulsatrash
@tulsatrash Год назад
This looks so cool!
@emeraldboy7979
@emeraldboy7979 Год назад
we surely need more videos on nim, also what are your thoughs if this language could become popular or something?
@dokick2746
@dokick2746 Год назад
I was always interested in other programming languages, but I was never motivated to use them in my everyday life. I always used Python for my simple tasks, but I have to admit that Nim looks like a programming language, that I will probably use in the future.
@isofruitfruit9357
@isofruitfruit9357 Год назад
Similarly for you, the appeal could lie in nimpy. Sometimes you might run into scenarios where the implementation in python has a particularly expensive step where there is no wrapped c-lib for. You could write that part in nim, compile it with nimpy as a python library and then use that code from python without issue for a nice speed bump.
@dokick2746
@dokick2746 Год назад
@@isofruitfruit9357 That sounds really nice. I will definitely look into that. Thanks
@kobi2187
@kobi2187 Год назад
You can create stand alone executables with Nim. Tools that friends need, just send them one compiled file. It is different from python entire environment.
@destroyer2973
@destroyer2973 10 месяцев назад
Nim 2.0 has dropped. Major changes incoming. I would like to hear your opinion on it.
@TRXxAnANaS
@TRXxAnANaS Год назад
I'm gonna learn this one I'm a huge fan of python (so elegant and concise) but I would like to learn a compiled programming language. Especially one I can use for microcontroller that is faster than micropython. I followed a class on golang after your video and it looks amazing too but it's not really compatible with the esp32 which is kind of a deal breaker rn... Thanks a lot for this video 😁
@ChavdarIvanov4
@ChavdarIvanov4 Год назад
Synchronicity... Just this morning I subscribed to Fireship and then checked all the video library for a Nim video, not finding any; just came home and saw this one...
@SchonKonnie
@SchonKonnie Год назад
Looks pretty neat
@chrs-wltrs
@chrs-wltrs Год назад
It looks cool! I imagine that the compilation times are slower but runtime performance would be similar to C? Since it's first transpiled and then compiled to machine code.
@antonisgeralis5266
@antonisgeralis5266 Год назад
In general compilation is pretty fast. Think faster than C++/Rust and without any multithreading, or other optimization. The nim compiler compiles pretty fast (12s) in a decent machine and uses about 600mb. However huge projects suffer from slow compile times and there's work done towards incremental compilation in order to fix these issues.
@isofruitfruit9357
@isofruitfruit9357 Год назад
I do not use C so I have no basis for comparison, but basically for debug builds with around 11k loc on an intel 11th gen i7 I take less than 10 seconds (and that is with the compiler copying a bunch of generic code around a lot), so I'd say in general the compiler is fast enough.
@chrs-wltrs
@chrs-wltrs Год назад
@@antonisgeralis5266 wait, nim transpiles to c++ and then to machine code, and it does all of that faster than c++ to machine code??
@noah5592
@noah5592 Год назад
seems fun to write code in it. might have to try lol!
@fizzcochito
@fizzcochito Год назад
well damn, I might actually give this a try
@jayantchoudhary1495
@jayantchoudhary1495 Год назад
I always brushed it of but it seems very fun
@IzUrBoiKK
@IzUrBoiKK Год назад
Thanks guys for these cool vids, btw from were do you find these unique topics?
@YuriG03042
@YuriG03042 Год назад
this one specifically was begged for over the last 12 or so videos posted in this channel
@eduardabramovich1216
@eduardabramovich1216 9 месяцев назад
you really need to make more content about it
@wlockuz4467
@wlockuz4467 Год назад
This looks amazing.
@fr3ddyfr3sh
@fr3ddyfr3sh Год назад
Nice, finally we get a general purpose system programming language. Next to the numerous competitors. This is the end of rust, c, c++, D, assembler, swift, objectivec!!!1!
@nosferatunoir2740
@nosferatunoir2740 Год назад
I've been hopping from language to language recently in my search for a new fun language to try and I think I might just have to try Nim. My current fave is Julia and this reminds me a lot of it, except much safer and faster.
@serkandevel7828
@serkandevel7828 Год назад
With Nim 2.0, the default ORC-memory manager should be competitive to what Rust has while not dropping target platforms
@dgames218
@dgames218 Год назад
but if the official page says that it goes for version 1.6.8
@serkandevel7828
@serkandevel7828 Год назад
@@dgames218 yes but the default memory manager is confirmed to change to ORC for the 2.0 version. The same mm can already be used in current (and a few older) Nim versions
@jj-big-slay-yo
@jj-big-slay-yo Год назад
I was looking for a twitter frontend that requires no login. So I stumbled upon nitter. Then I checked what it's written in -- that's how I found nim. After reading its docs for half an hour I figured it's just great. Like python but with 2 spaces instead of 4. Very short, minimalistic syntax, python strange behaviours corrected, low memory requirements, some similarities to golang as well. ... and I was spending some time to learn java (and spring boot), java's syntax is godawful compared to even python or nim. Now I want to write something in nim :) I won;t but will keep it in my mind for sure. It will probably go on my fav' langs list (next to python, go and js).
@aryanmn1569
@aryanmn1569 Год назад
WOWWWW, IT FEELS LIKE THE LANG I ALWAYS WANTED TO SEE
@jrhwood_
@jrhwood_ Год назад
This is language looks sick. Oneday a function PL will be on top... Oneday!
@RD-fb6ei
@RD-fb6ei Год назад
Best part is if you check the benchmarks, it really does perform close to C. Many languages (ex. Julia) claim that but don’t actually come anywhere close to achieving it, but Nim is usually within a factor of 2 of C/C++ and easily beats Java, go, etc. The only real competitor I’d say is crystal, in that it is also very fast for such an easily language. But Nim has many more features.
@isofruitfruit9357
@isofruitfruit9357 Год назад
Obligatory note though to keep in mind that any kind of synthetic benchmark in general is pretty much meaningless. Like, the most prominent HTTP server in the nim space, httpbeast, does perform well in the http-server benchmarks I've seen (as do servers behind Artix, Rocket and boy will the performance of some of the JS-based servers surprise you), but the benchmarks themselves are fairly far off from real life scenarios. And It's been often enough discovered that benchmarks keep comparing wildly different implementations across languages, such as the implementation in one language being multi-threaded while the other is single-threaded for a highly parallelizable workload. The key thing to keep in mind is that you have low-level memory control and *can* tweak stuff as needed to get to the performance you need. How much time you end up investing for that depends on the individual usecase, but generally I've stopped looking at performance comparisons between languages that give low-level control. Once you have that it only depends on your knowledge on how to optimize your memory layouts, copy behaviour and the like.
@12nites
@12nites Год назад
Plainly false, you can see Julia at the top of the benchmarks games, along with C, C++ and rust.
@RD-fb6ei
@RD-fb6ei Год назад
@@12nites those benchmarks and Julia’s own micro benchmarks are the only ones to show that.
@miguel_bogota
@miguel_bogota Год назад
Amazing video! You should make a video about the new eslint config, it changes everything to a Next 13 level! :v Keep up the good work!
@khana.713
@khana.713 Год назад
Would be interesting to see a video from you on Apache NiFi.
@matroqueta6825
@matroqueta6825 Год назад
I'm primarily a Julia programmer, and Nim reminds me a lot of Julia but oriented towards systems programming rather than numerical computing. For a long time I've known that Nim is the language I'll learn the day I need to write lower level code, and of course I'll recommend Julia to any Nim programmers that see this comment if you have a use case for a higher level language.
@ViaConDias
@ViaConDias Год назад
I never spend any real time with Julia so I can't comment, but the thing about NIM is, that it's so simple and beautiful that I never need a higher-level language, and it's so powerful I never need a lower-level language.
@offensivearch
@offensivearch Год назад
Nim has multiple dispatch too
@matroqueta6825
@matroqueta6825 Год назад
@@offensivearch Thanks, I started using Nim about 2 months ago and I loved it but I also missed multiple dispatch and couldn't find info about it in the docs. Now thanks to this comment I looked deeper into it and learnt that in Nim it is called dynamic dispatch, and the diference between `proc` and `method`.
@blaisepascal3905
@blaisepascal3905 22 дня назад
Personally I use both Julia and Nim depending on the project and I love them so much!
@geller2202
@geller2202 Год назад
One of my favourite PF’s songs
@onejdc
@onejdc Год назад
New to Nim but it actually looks pretty incredible. Drawbacks? Compile time? Memory Leaks? Mem/Thread safety?
@kobi2187
@kobi2187 Год назад
Nope. Just tooling, debug story, and lack of libraries. Takes a while to understand errors. The language itself is perfect, of course from a totally objective view ;-)
@briannormant3622
@briannormant3622 Год назад
@@kobi2187 Because building wrappers around C headers is so easy, don't you technicaly have all off the C libraries
@thetrolley
@thetrolley Год назад
When I want to program without tooling, Nim is the FIRST CHOICE!
@AvgNerd
@AvgNerd Год назад
Love u fireship
@NimThree
@NimThree Год назад
My full name is Nimrod which usually makes my nickname "Nim" so I highly enjoyed this video
@dariusduesentrieb
@dariusduesentrieb Год назад
Nim was actually called Nimrod until 2014.
@1_PieceOfCode
@1_PieceOfCode Год назад
Love your videos they help a lot, can you can a video about how to store images in databases or best way to store images for a small project. i am in my final year and i wanted to make some project but i don't have idea how to work with images when it comes to storing them
@thatcosmokramer
@thatcosmokramer Год назад
Dev Daddy has blessed us with another video
@mahendrasuthar7354
@mahendrasuthar7354 Год назад
Wow great code that can generate more code at compile time
@tjgdddfcn
@tjgdddfcn Год назад
you mean compile time?
@TheMR-777
@TheMR-777 Год назад
Runtime? really?
@mahendrasuthar7354
@mahendrasuthar7354 Год назад
@@TheMR-777 my bad compile time it is
@mahendrasuthar7354
@mahendrasuthar7354 Год назад
@@tjgdddfcn compile time
@alanreal2341
@alanreal2341 Год назад
finally some light for nim
Далее
Supabase in 100 Seconds
2:37
Просмотров 458 тыс.
10 regrets of experienced programmers
8:16
Просмотров 1 млн
Super gymnastics 😍🫣
00:15
Просмотров 54 млн
Is This the Next Python?
6:00
Просмотров 20 тыс.
God-Tier Developer Roadmap
16:42
Просмотров 6 млн
how Google writes gorgeous C++
7:40
Просмотров 777 тыс.
Why I Like Programming in C.
3:16
Просмотров 18 тыс.
C++ Game Programmer Tries ZIG for the first time.
5:28
10 Programmer Stereotypes
5:08
Просмотров 3 млн
Nim 2.0 Release! | Prime News
20:03
Просмотров 59 тыс.
Mojo Lang… a fast futuristic Python alternative
4:14
China’s Electricity Problem
20:23
Просмотров 3,2 млн
don't throw your faulty fan
0:24
Просмотров 1,6 млн
don't throw your faulty fan
0:24
Просмотров 1,6 млн
Странный чехол из Technodeus ⚡️
0:44