I was not able to watch many (most) of the talks of Nim Conf live and so might have you (hey we had a double track it would be really hard to follow all of them live). It might be useful to have async forum thread to discuss the talks while we (re)watch them (part of the discussions live is available on YouTube chat replay, part went on in NimConf channel on discord).
I know for sure I will have questions about The Virtues of Values by @Nerve even if I am halfway through (great talk! Q1: Are slides available?).
Happy also to answer any questions about nimib given the recent talk by @hugogranstrom about it (whom I guess will be also happy to take questions and share stuff - like slides).
When watching the videos I couldn't help noticing how similarly the presenters feel about Nim.
I mean, none of us knew about the content of the other videos, they were all created independently. And yet, the subjects of fun and ergonomics that are associated with Nim programming pop up in most talks in form or another. Seems like this is a universal constant in this community: being at the same time excited and highly pragmatic about programming.
Maybe we should market Nim more as "exciting and ergonomic like no other language" and less as "Python syntax with C performance." Nim is probably mature enough to not compare itself with other languages (and if anything, Nim is a lot more similar to Ruby or Perl than Python 😁).
Nim is a lot more similar to Ruby or Perl than Python
Not sure why you feel this way, I consciously copied the parts of Python that I considered well-done while consciously avoiding whatever it is that Perl does. And I hardly knew any Ruby. 😁
I suggest we collect all the relevant links in this thread. I.e.m links to the projects mentioned in the talks.
I'll start.
Not sure why you feel this way, I consciously copied the parts of Python that I considered well-done while consciously avoiding whatever it is that Perl does. And I hardly knew any Ruby. 😁
@Araq Ruby (and Perl IIRC) has this "there's more than one way to do it" vibe which is contrary to Python's "there should be one way to do it."
In Nim, you can use echo len(x), echo(len(x)), echo x.len, echo x.len(), or x.len.echo which all do the same thing. To me, this is closer to Ruby's vibes than Python's .
And not only with the syntax. In Nim, you can usually choose between several solutions while solving a problem. Not in the sense of "there are so many options, I don't know what to do" but in the sense of "I'm a good restaurant with a great selection of food and I'm picking the one I'm most in the mood for and which matches my occasion best."
Anyway, all this talk about language similarity is pretty subjective. Nim is similar to Nim. Of course it has its influences (I'm sure Pascal is not the last of them too), but at the end of the day it's just itself.
I would like to continue discussion on the "The Virtues of Values" talk also. I see opting-in to a functional paradigm in select situations as another valuable selling point for promoting the use of Nim at work (for me that means embedded systems).
I've been watching the Rich Hickey videos over the last two years and I'm learning the value of the functional approach. I've fiddled with some small Python scripts that I converted to a functional style. Now I want to see what functional Nim looks like; more than just the func keyword. Can I keep those extra allocations small enough for an embedded system? Can I avoid Clojure's append-only data structures which sound overly complex for embedded (or would they be valuable for flash-based storage)?