Hacker News new | past | comments | ask | show | jobs | submit login
How I Start: Nim (howistart.org)
234 points by kungfooguru on Feb 9, 2015 | hide | past | favorite | 15 comments

What I really like about this post (that's somewhat different from others that I've seen about Nim) is that it goes beyond the syntax of the language and macros to dive into tooling (nimble, editor plugins) and popular libraries (docopt.nim). When I'm trying to get up to speed with a new language, it makes it a lot easier to focus on the language if I'm not fighting with my tools.

I wrote the 'init' feature for nimble - it's so awesome to see it being used!

BTW check out other howistart articles:


You'll find a sampling of Go, Erlang, Haskell and a few others.

Here is the repo: https://github.com/howistart

And of course many thanks for Tristan for curating it!

Some might think it unnecessary to include the line about how to install git with apt-get, but I really like it. It shows that he's going to actually walk the user through start-up. In a world of frustrating install processes and tutorials that need two more rounds of polish, that is comforting.

That's one of the things that draws me to Nim in general: it works as advertised, and the documentation, while sometimes terse, is clear and complete.

I found it a bit frustrating.

They talk about C interopt, but I didn't find any nice explanation about how to create something like a struct, that C APIs often require as their data input.

Usually you don't create a struct yourself, but use c2nim to wrap it, like I did here: http://hookrace.net/blog/what-makes-nim-practical/#wrapping-...

When you look at the resulting Nim wrapper, here's what a C struct got turned into: https://github.com/def-/nim-bpg/blob/master/src/bpg.nim#L61-...

This is an exceptional post, good enough that I'm going to follow along later even though I'm not super interested in Nim per se. At first brush it was interesting enough to pique my interest in the language.

An excellent article, well written and incredibly easy to follow along and understand what's going on. We need projects to start doing documentation like this.

Law of Marketing for Successful Programming Languages: the basic examples should teach sockets, websockets or http servers.

There are still tons of problems that need solving that don't involve these things.

Sure, but they don't sell programming languages in these Node/Go times...

If all you do is web development, all programming languages look like tools to build web sites with I guess. I don't think the author was trying to sell anything, it seemed like more of a gift to like-minded individuals.

It is incredibly obvious that Nim is being sold as hard as it can be sold

My Haskell article for HowIStart was CSV data processing. shrug

HowIStart isn't something that I'd considering "marketing" for the language, personally. It does what it says on the tin: teach you how to get started from scratch with the language.

However, you are correct somewhat; this is why on Nim's homepage[0] there is an example of Jester (a web server/routing DSL)!

[0] http://nim-lang.org/

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact