Popular just now

ad1

Why not Erlang? The answer in three words...

When I first moved to live and work in Sweden in 1995 I had two ambitions. The first was to get a job working at Ericsson. My mobile phone was an Ericsson model that I was absolutely in love with and was much better than my previous Blaupunkt and Motorola phones. I just had to work for the company that made my new teddy bear. Unfortunately things did not work out. I found myself living in cold north of Sweden where there were no Ericsson offices or factories.



Later in 2006 while looking for an embedded web server, I stumbled upon a programming language called Erlang. It seemed to have what I needed. There was a webserver built into the VM (inets) and it was super light weight. I started reading everything I could about Erlang. I never found out enough to become a good enough Erlang programmer to use inets like I would have liked. But I did find out about the YAWS webserver which suited my purposes exactly. Well not exactly. I still had one hurdle to jump, the project called for full windows support.

Microsoft Windows was and is the most popular OS in Sweden. So popular that Microsoft started a training program in the very north of Sweden where only reindeer play. The project was not going to work without windows support. This is where all my ideas fell apart. When I asked on the mailing list about Windows in any context, I got nothin'. There was no help, no encouragement ( aside from helping me learn to program with a functional language ) and no empathy. After a time I dropped Erlang and went back to PERL and the Indigo web server. The problem with Erlang was not that it was not a good language, the problem was that nothing worked in Windows. The functionality that I needed seemed to work only sometimes, if at all. Not one of the Ericsson developers or any of the students on the mailing list even wanted to try and work with the Windows operative system.

So my journey with Erlang started with three words "I love you" and ended tragically with "No windows support".

When I take a look at how Erlang products like CouchDB have come into the light recently and then slowly been overtaken by C/C++ language implementations of the same ideas like MongoDB. I know the reason is because those new players strive for Windows support. They use C/C++ because it give them more in the way of supporting flexibility and changes across the greatest number of platforms. Hence growth and popularity something which is the greatest weak point of products created with Erlang.

Today I would like to change this Erlang weakness into a strength. I want to use some social media akido on the Erlang community to try and rid it of another three words "No community support" of windows. What I want is for those that use Windows and develop websites and applications, no matter how large or small, to join ErlangCentral.org. Start asking questions about Windows platforms even if they are not answered or go ignored. After sometime I am sure that Ericsson and Erlang developers will get the idea and start moving towards Windows support in the VM, the language and in their minds.

4 comments:

  1. Having to learn linux + emacs/vim/whatever is a huge learning curve for someone who has only used windows before. Its probably the main reason for slow adoption.

    ReplyDelete
  2. You can perfectly use Erlang with Eclipse IDE on Windows, and it works in Windows console, you could also adopt using FAR file manager as easy transition from Midnight Commander, but yes there are some rough edges which are never fixed.

    ReplyDelete
  3. Terrible article, IMO.

    1) Erlang runs on Windows just fine. http://www.erlang.org/download.html

    2) People don't use Erlang on Windows as much because
    a) Windows makes for a terrible server to deploy on; most Erlang programs are not heavy UI programs and the targets don't line up.
    b) Windows, lacking a native Un*x/BSD shell, is a complete PITA for anyone with a command-line clue, and the Windows service-model is terrible compared to Apple BSD stuff, and far worse than the linux stuff.

    3) With not many (relative term) using Windows to develop on, there is not community support because, well, there is not much community to start with. Note the number of people developing on OSX or Ubuntu/CentOS boxes at your next gathering, or start paying attention to the videos. This is due to #2.

    4) The issues of places like CouchDB switching out to C/C++ are not due to cross-platform. They're pushing the language out of it's niche area (scaling, distribution) into its weakest area ... raw blazing speed. So, yes, they're rewriting those speed-critical parts in a tool more appropriate for the job.

    So you're talking about a niche language which excels on server platforms (which is generally not Windows) being developed on a Windows platform which is an inferior development environment (I run all three, and, really, Windows is the clunkiest) and then misunderstanding why certain places are moving parts of their application away from Erlang.

    Until your "fix" the Windows development environment (and no, PowerShell is not anything resembling a fix) you're going to have a very (very) hard time getting Erlang developers to leave the OSX/Linux platforms. The tooling AROUND Erlang (not just Erlang itself) is far superior on OSX/Linux just due to the nature of the environment.

    There are some that do development on Windows, sure. I've been doing development on Windows for about, oh, 20 years, mostly in C/C++. Windows (now, with 7) is good, and stable. But it's still a horrible (seriously, terrible) environment to develop in once you get out of the excellent Visual Studio microcosm. Eclipse tries to the same thing, just poorly/slowly. Yes, you can get work done, but it's painful.

    Developers like command lines. They're just far more efficient. And if you want to your platform to succeed, you need to have developers love you.

    Why don't Windows-phonse take off? The OS is good, stable, and the UI isn't bad on mobile devices. But, they can't get developers to buy in. Without devs you have no apps, and thus, no draw.

    Until MS focuses on getting developer buy-in, you're not going to have the same developer (and thus, community, support.)

    My suggestion; develop on on OSX/Linux and just do the deployment on Windows. VirtualBox it, and avoid Cygwin.


    There are other, more interesting ways to get your daily dose of annoyances than trying to do "non-Windows development" on Windows.


    ReplyDelete
    Replies
    1. Just because something is difficult or unusual does not mean it should be ignored. Also this article is not about Windows. It's about Erlang.

      Like it or not the need has to be fullfilled if Erlang is going to be attractive to the mainstream. If Ericsson wants this happen, and they do. To be the language for what ails the internet when it comes to creating applications, that have scalability built-in, Erlang has to have full cross platform support. Not just for the OS's that are used by the languages creators.

      Delete