Any chance you were successful at building it from source in the Ubuntu subsystem? I got some weird errors related to maybe shared memory or something and gave up.
No, i just did sudo apt-get install emacs24-nox. I haven't had great luck with build tools. I broke the whole thing two or three times trying to install ghci.
Depends, if you need OS interaction you'll need a posix-like subsystem indeed[1]. But first I write mostly lisp (ml, js and python) and I just can't live without paredit and second emacs extensibility is a drug to me now. Everytime I have to use anything else I feel crippled.
[1] I installed msys2 which is less crufty than cygwin.
Msys2 by design restricts the available packages to those useful for compiling software for Windows. The emacs package is in their separate mingw repository, which means the produced binary is a Windows program and does not understand the posix environment at all (i.e. no /proc/, /dev/ etc).
Cygwin is an OS that runs on top of windows - all cygwin programs are windows programs but not all windows programs are cygwin programs. The emacs package for cygwin can fopen() /proc/ and /dev/, use the linux socket API, and in general follow the linux makefile more closely.
I'd say you are correct in thinking you need a few UNIX tools to make Emacs on Windows comfortable. But maybe it's fewer than you think. I just had to get grep, find, diff and now use Emacs on both Linux and Windows and feels almost the same.
In fact, that's part of what I love about Emacs: for the most part I don't have to worry about learning how to do stuff on Windows, I just do it in Emacs.
Do you know the difference between emacs-w64-25.1-Og.7z and emacs-w64-25.1-O2.7z. I'm guessing maybe one is a debug version and the other was build with -O2.
gcc has a -Og option that performs all optimizations that don't interfere with debugging, so I'd guess that emacs..-Og is built using gcc's -Og option and emacs..-O2 is built using gcc with the -O2 option.
Or does Emacs require a Cygwin / Ubuntu Subsystem?