Wed May 20 11:58:27 CEST 2015
On 05/20/2015 12:21 PM, José Valim wrote:
> Now there's three ways Erlang could be more friendly to Windows
> Actually, if we really want to make Erlang more friendly to Windows
> developers, the best way is to NOT finish the e-mail where we discuss
> Windows support with "I know "real" developers use Unix". Even if "real"
> and "fake" are in quotes. How do you expect all Windows users to join
> the discussion if you have just called them "fake" developers?
Well I'm not calling them that, hence the quotes. I was actually trying
to avoid debates on that, but I guess that was premature optimization.
> In my experience, Cygwin makes things easier if you are a Unix developer
> and you have to use Windows OR if you are a Unix developer and you don't
> care much about Windows, so telling people to use Cygwin is the easiest
> option for *you*. However, most Windows developers prefer to not use Cygwin.
It's the easiest option for developers who are targetting Linux servers,
as it is an environment on Windows that mirrors best the server.
Everyone I have come in contact with that stayed on Windows just ended
up installing a Linux VM. Cygwin is a lightweight alternative compared
> I said "in my experience" because we ran two polls via Google Forms in
> the Elixir mailing list targeted for Windows developers asking about
> their tool chain, how they installed erlang/elixir, what could be
> improved, etc.
> Since your mileage may vary, I recommend doing the same here. Open up a
> form, ask questions and collect feedback. It is going to yield a much
> better result than having a bunch of Unix folks deciding what is best
> for Windows.
My goal is to improve the lives of Windows developers who then deploy on
Linux servers. This is something I can do.
I can't improve the lives of Windows developers who then deploy on
Windows servers (or clients). I can't fix and maintain all the projects
that don't work on Windows. That's something Windows developers should
do if they want to.
As an added benefit of having Erlang work on Cygwin, you can just give a
5 steps automated Cygwin installation instructions to people coming to
your tutorial and then you don't have to worry about people using
Windows machines having issues.
> Some may not like the answer though. My biggest complaint about
> erlang.mk <http://erlang.mk>, for example, has been exactly it is Unix
It is also mine, and at some point in time it won't be Unix centric
anymore. GNU make 4 gives me everything I need to not require a Unix
environment. But it's probably still a little early to require make 4 so
I am waiting for now.
However this wouldn't fix all the third party projects. Nor should it.
There will always be the problem of projects depending on libs not
easily available on Windows. So the Windows/Windows developers have to
step up at some point if they want nice things.
However this is not true for the Windows/Linux developers, as those libs
are on Cygwin and so they can work in a Cygwin environment and then
deploy to Linux.
> In Windows, if you want to provide good experience, you may
> need to provide a Makefile.win. In most cases though, Rebar works fine
> or with little adjustment. Here is one example of each case:
> * https://github.com/devinus/markdown
> * https://github.com/synrc/fs
Try to make this one work:
It's nowhere near close to compile with no or little adjustment. The
same is true of the C library it uses, leveldb.
It's also one of the most used dependency in the nearly 380 packages in
the erlang.mk package index. (Come to think of it, I will make some
stats the next time I do a full run.)
> On the other hand, we could do a poll and conclude Cygwin support is the
> biggest problem, then that should be our focus. But without asking
> around and gathering information, it is all just shots in the dark.
It's not so much about what the biggest problem is, but more about
what's the biggest problem I can fix. One step at a time...
More information about the erlang-questions