On the download page, it says that the Windows installers "have some known issues and so will unlikely to be provided further in the future" - and that "We now encourage you to install via the provided zipfiles", so I wanted to do that.

So I decided to start fresh and removed my previous installation.

There's a link to mingw-w64.org somewhere else on the page, but I could find no real instructions or recommendations on how or where to get a working GCC installation - especially not on their website, which lists dozens of distributions with different versions etc. and still no recommendation on which one to get.

Somewhere else on the page, it says "GCC is recommended on Linux and Clang on Mac. The Windows installers above already includes a C compiler" - but the Windows installers aren't recommended, so that's not very helpful.

I finally decided on MSYS2, and found instructions on stackoverflow for installation:


I've never used MSYS2 - to be honest, I'm not completely sure I even understand what it is, or why I had to install it. It's like Bash for Windows, kind of like Git Bash?

I also had to figure out where it actually installs the GCC binary, because it doesn't add the folder to the system path, so the GCC command could not be run from a normal Windows shell.

Well, I finally have it working, I think - at least, typing "gcc -v" outputs "gcc version 6.2.0 (Rev2, Built by MSYS2 project)", so far so good, right?

Unzipped nim and ran "finish.exe", and this is where I'm stuck - it says "No compatible MingW candidates found in the standard locations".

However, if I try to compile something, it seems to work?? I type "nim c koch.nim" for example, it compiles, and emits a "koch.exe".

Both "install_tools.nims" and "install_nimble.nims" seemed to fully compile and execute with the "nim e" command, so I'm not sure what the error-message from "finish.exe" is even about.

Do I need to do anything else, or do I have a working setup now?

If you want more Windows users to try nim, I really think you need to provide more complete installation instructions - it took me hours to get a working setup. You seem to assume that most users have a working C compiler setup already, which most Windows users likely do not.

In fact, most Windows users will give up if you don't provide a working "setup.exe", because that's what we're used to. Most of us don't have or use (or want) command-line package managers - it's not really "a thing" on Windows.

And yes, we're pampered that way - but most successful languages do ship with a "setup.exe" for Windows users, so that's just what we're used to.

Either way, if you want us to install not only nim but it's dependencies manually, please do try to provide complete instructions.

2017-01-08 12:14:50
It seems too that tdm-gcc is the most convienent way in windows to get a compiler but it does not seem to like vulkan libs (trouble linking). And you have to deal with winpthreads licence, but you get a working compiler easier it still works for opengl for instance. but i switched too linux mint to play with vulkan and nim. 2017-01-08 20:15:37

The new 0.16.0 release has a better finish.exe, please try it and report problems here.

In fact, most Windows users will give up if you don't provide a working "setup.exe", because that's what we're used to.

I have yet to find a single programmer on Windows that acts this way. You're surely not the first who claims this though. IMHO this only applies to Windows end users. Many programmers do not even want a setup.exe, they want a zip because that's guaranteed to work from USB sticks etc.

I mean, ok, installation should be made easier, but that doesn't mean we need a traditional "setup.exe".

2017-01-08 23:41:04

I have yet to find a single programmer on Windows that acts this way

Ouch, thanks.

For the record, I have been programming for 30 years, professionally since the mid-80s - I can program in around a dozen languages, and have built some fairly big and complex systems over the years, so I do consider myself a programmer.

But I grew up on languages like Pascal, Delphi, Modula-2, JavaScript, ActionScript and various Basic variants, and consequently learned from the start to count on languages and development-tools that work "out of the box", where you can focus on solving problems, rather than getting distracted by a lot of environment issues and manual setup.

Growing up on said languages, I also never had any love or interest for languages like C or C++, where you have to get distracted by things like memory management and other low-level cruft.

I think Nim holds a lot of promise for programmers like me - it appears to be a language with multiple "levels", kind of like Scala or Rust, where you can choose to program like I would program in Java or C#, where I don't have to get distracted by things like memory-management or threading issue, but where someone else who needs or wants to can go to more low-level features and manage memory etc. if they need to.

Anyhow, whether it's a "setup.exe" or step-by-step instructions, for "idiots" like me who just want to try out the language and use it to solve problems, things surely could be improved. It shouldn't take hours for someone like me to get a working language and editor installation set up.

Nim surely appeals to more "hardcore" programmers because of it's depth, but I think you have potentially a much larger audience among people who use more "humble" languages like PHP, JavaScript, Ruby, Go, etc. - all languages that even lazy Windows users can more or less click to install and dive in. I think Nim has the potential to compete with all of those. If we can figure out how to install it, haha

2017-01-09 21:58:15

I've always considered Nim's windows support to be the best out there. One of the reasons for this was the setup wizard. Over time this wizard has become more and more complex, NSIS and Inno setup are simply too much of a PITA to maintain properly so I'm not surprised that Araq wants to get rid of it.

@Araq I think you're wrong, setup.exe is an expectation for all software on Windows. A standalone archive is a nice bonus, not a replacement! I also can't imagine what could be easier than setup.exe.

I would really love to write a custom setup generator for Windows in Nim. This may even be a killer feature for Nim because the current solutions are just plain crap.

2017-01-09 22:12:46

@mindplay I suspect the main reason for araq's vehemence is not malicious, but maintenance fatigue.

The old installer used NSIS, which is a headache to deal with (the installer is built using the NSIS language, which closely resembles assembly and a declarative language)

2017-01-10 02:14:53

I have yet to find a single programmer on Windows that acts this way

Ouch, thanks.

Sorry, but you yourself did not act this way (!), you tried multiple things (and even reported your findings back), so there was no offense implied. Should have stated this more clearly, sorry.

2017-01-10 06:49:34
Anyway, does anyone know some alternative that we might try out? I know that we've tried WiX (too much XML), NSIS (too much assembly), and Inno (way, way too much programming needed). Any others? 2017-01-10 18:13:20

there was no offense implied

There was no offence taken really, I took it in good humor. I should have clarified "Ouch, thanks" with a

Any others?

Why not a Nim script? Tools etc. are installed with Nim scripts. Seems "at hand"?

2017-01-10 21:44:59
A Nim script to install Nim on a machine which doesn't have Nim on it? I'd love to see how that worked ... 2017-01-12 22:40:21