OCaml for Windows installation confusion

Yes. All of the main interpreted languages (node, python, ruby) are easily available in Windows. The result is that you can run them from the command prompt if you want, you can create full desktop applications with a GUI, run and debug from the IDE, etc. Of course, it’s easier with interpreted languages because you don’t need to make compilation work. Windows doesn’t even ship with an easily available C compiler, which compiled languages often require as part of their compilation process. But mingw can be thrown in there pretty easily.

git bash is actually the exception to the rule. Despite being an application (and therefore similar to interpreted languages), git is a mess of scripts often written in bash rather than a full application like mercurial. This is why a simple port to Windows was never possible. Regardless, it appears to me that most Windows users prefer to use a GUI such as Visual Studio Code to manage git (which is the smart way to go anyway since individual file management via the git command line is a pain).

Despite the fact that porting compiled languages to Windows takes more effort, it appears that Haskell now works natively on Windows, as does Rust, as mentioned above. Notice that they recommend installing through the best currently available Windows package manager, which is Chocolatey.

Cygwin is pretty awful. It’s very slow; it’s hard to track where it picks up dependencies; it’s completely foreign to Windows users; and when you want to install new packages, you need to shut it down and use the awful cygwin installer (I think there are some workarounds now, but it’s still not a great experience). The reality is that Windows users aren’t familiar with the world of sh and its countless utilities, and they don’t need to be – the Windows world works mostly via GUIs and IDEs that activate required functionalities. Few people in the Windows world want to worry about cygwin dlls and applications that require them, or which version of mingw to use to enable building fully-capable Windows apps on cygwin. This knowledge is usually reserved for a few technical people in the organization who set up the scripts for the GUIs to works, while other programmers just focus on coding.

3 Likes