Hi Jan,<br><br>Few thoughts here.<br><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">You are hearing things in my email that were not there when I wrote it.<br>
</blockquote><div><br></div><div>Sorry about that, but stating that "Erlang is just too damn difficult to do the easy stuff" is what I read in your message, not inventing it. And you said that just because of some applications (cowboy and rebar). Use erl with -detach and -noshell options and you have a perfect executable without breaking any sweat to learn how to make an application. All you need is to read "man erl" (you can even google it if you don't have Linux). Of course that's for beginners. Later on, you will learn to make applications with everything you need, so, you will most of the time forget about those options. :) Is that complex? Difficult? I don't suppose it's more difficult than reading about the options of any given compiler.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
I was reporting my experience, not blaming Erlang for anything. My experience is that the learning curve for the Erlang tools (coupled unfortunately with learning the Linux environment) was extremely steep - and ended up with me getting stuck because the tools failed to do what they claimed (in multiple ways) before I had the skills or knowledge to fix them.<br>
</blockquote><div><br></div><div>Well, every tool may have the same doom. Those are called bugs and therefore there are versions for each of them. One cannot think of every possibility, can he/she? That doesn't mean the tool is stopping you in learning about what is applied to. Moreover, in the Linux world, until one tool is accepted as satisfactory (so, further tools are no more developed in that field), there are a lot of alternative ones. You don't need to get stubborn in having one and only that tool, especially when you are new in that field.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Erlang the language is not the problem. The language is never the problem. Once the tool chain is working......<br></blockquote><div><br></div><div>Search for the tool which suites your needs or ask if it is possible to get new features which may support your needs in a given time. I tell you that from my own experience because not once it happened to get the wrong tool for my needs and after I managed to learn about that, I discovered it doesn't do what others were thinking it may do. One example is SpiderMonkey for CouchDB. CouchDB and SpiderMonkey are both great tools, but, in the past, CouchDB had quite few problems in getting it work because of SpiderMonkey. So, I googled it and I found a repository where I could find a version of SpiderMonkey which was compatible with that version of CouchDB. Now, CouchDB has no longer that problem anymore. But the conclusion remains: search for the correct version of what you need.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
But consider this. Rebar can't be installed in a standard Ubuntu install of Erlang!!! WTF?<br></blockquote><div><br></div><div>As far as I know (I am not using rebar because I am creating my own installation scripts which is much faster than thinking how to do it using rebar), rebar doesn't need any installation. I usually take it from the same repository as the source I need to compile. Strangely enough, those projects which do not provide rebar, they work with the latest version of rebar. Never met your problem, but there are many problems I haven't met, so, I don't deny your's. Indeed, bad experience for a newbie.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Would you agree that that means at least one of those installs is inadequate for my needs? Its inadequate for anyone who wishes to use rebar and Erlang on Ubuntu/Debian.<br></blockquote><div><br></div><div>I work under Ubuntu most of the time. It's my favorite Linux flavor (CentOS is becoming the second, but I wouldn't recommend it at starting point). Few times I had problems with it, but I do tend to install my own versions instead of those from repos. They old and providing many crashes in the new versions of applications which require them. Fedora may cope with this problem, but you may have some other surprises there which may be more troublesome if you don't know about Linux.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Would you agree that giving newbies tools that are inadequate for their needs, does not help them scale their learning curve?<br></blockquote><div><br></div><div>I do not understand your point. A software is not for a newbie or for a veteran. A software is created to fill an empty spot in a certain field. There are many other tools which you can start with and I don't suppose somebody gave you the tool, but you picked it. All you can do is to ask specific questions about the tool until you learn how to use it properly for your needs. In this community (and quite a lot of others) there will be no answer like RTFM or learn by yourself. There are many persons here who can answer questions in a wide range of knowledge (from where can I find any documentation about Erlang? to, I don't know, "why not using frames in Erlang?" just to give an example which covers a subject way over my head).</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
This is not meant as a criticism of the work people have done. Its a very hard problem, and I don't think there is an easy solution.<br></blockquote><div><br></div><div>In my opinion, there are no easy or difficult solutions. There are only smart solutions or using the brute force. :) When I am not smart enough, I use brute force (it seems quite a natural choice at the beginning and I am still using it in Erlang ;) ).</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
PHP isn't there yet. PEAR is not widely used. The comments added to the manual are very helpful. PHP the language is astonishingly inconsistent.<br></blockquote><div><br></div><div>I wouldn't know that. I know that PHP has an insanely large documentation which I will never be able to know it by heart. :)</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Python boasts "batteries included". Whatever you want to do in Python, there are usually 6 modules that claim to do it - all poorly documented, some buggy. So do you spend your time investigating them, or writing a 7th that you know will do what you want?<br>
</blockquote><div><br></div><div>Yeah, agree. I usually opt for the last solution as well if I feel smart enough to do that. :)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Experienced people have forgotten the misunderstandings they had as newbies - or they had an experienced person to guide them - so they are genuinely puzzled by the problems newbies face. The newbies can't help: they don't know what they don't know. Few technical people can write well, and all are busy with their projects. The result is a distinct lack of excellent, current documentation of the tools that can help newbies start to use Erlang.<br>
</blockquote><div><br></div><div>Therefore there are a lot of others writing some beginner's guides. I remember one of my starting documentations for Erlang was "Learn You Some Erlang" (yes, Fred, I haven't had the opportunity to thank you for that, but I do it now). Just try few of them. And if you want some code, I would recommend to start with trapexit.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
It comes, slowly, with maturity and stability. Erlang the language is well documented. Its the docs for the supporting cast that is spotty. Which is a shame.</blockquote><div><br></div><div>Just don't get discouraged. You still have the chance to criticize and hate Erlang. :D</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
You blame Erlang for an application written in it which doesn't support MS Windows... Well, that reminds me of a case of saying noSQL databases are not good just because that person/team misunderstood the usage of a particular noSQL database. Interesting how people try to generalize their impressions to a category from a wrongly chosen example. Don't get me wrong, I am not that good in Erlang to mock you, but I think you should ask someone more knowledgeable before you to say something like "Erlang is just too damn difficult to do the easy stuff." I do easy stuff in Erlang. It would probably be more difficult to write a proper C code to do those simple things (like proper threading, distributed applications and so on).<br>
<br>
Now, the problem is what do you need cowboy for? If you need an webserver for MS Windows which is written in Erlang, you can try Yaws (you have installers here: <a href="http://yaws.hyber.org/download/" target="_blank">http://yaws.hyber.org/<u></u>download/</a>). If you need a Erlang-based webserver which you can integrate it in your application, you will need either a Linux or Cygwin (for most of the open source projects, but you can do it without if you use, for example, lhttpc - <a href="https://bitbucket.org/etc/lhttpc/src" target="_blank">https://bitbucket.org/etc/<u></u>lhttpc/src</a> - where you can modify the Makefile to be compatible with MS VS or, for even less, a .bat file). I would avoid installing Linux in a MS Windows box (I'd rather do it oppositely).<br>
</blockquote></div>
Agreed. Ubuntu host with LVM and software RAID, VBox with a windows guest. Plans are laid :)<br>
<br>
Your other points are all good stuff. Thanks.<br>
<br>
I am looking for a fast web server that had a permanent core(1) image that I could program, that was not under any run-away timer (Apache) and that can handle many simultaneous connections (i.e event driven architecture). One of the projects is a special type of chat room where silence might exist for long periods, and I don't want a fast heart-beat or unnecessary writes to disk.<br>
</blockquote><div><br></div><div>I may recommend BOSH technique (<a href="http://xmpp.org/extensions/xep-0124.html/">http://xmpp.org/extensions/xep-0124.html/</a>) rather than long polling. :)</div><div><br></div><div>Best of luck!</div>
<div><br></div><div>CGS</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Note 1 - Core is RAM to anyone under 50. ;)<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Erlang under MS Windows works as nice as under Linux (as far as I could play with it under MS Windows), but the installation under MS Windows is much simpler (I would suggest for Linux to compile it from source with the options you need rather than installing it from repositories). I don't know what is your background in programming (and I don't want to know), but there are nice tutorials on web for all the categories of programmers (coming from OOP, functional or whatever else languages). Just get familiarized with Erlang and after that make an impression of your own about the language itself. I am also relatively new in Erlang and I consider I cannot afford to make any statement about how good or not is Erlang. I know only that are some nice things and some not so nice things in Erlang (I leave finding examples to your experience).<br>
</blockquote></div>
Indeed. Erlang under windows is fine. The target server is Ubuntu, so developing on that platform has advantages. Particularly in view of the planned migration to Ubuntu as my main machine.<br>
<br>
Regards<br>
<br>
Ian<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
CGS<br>
<br>
</blockquote>
<br>
<br>
</blockquote></div><br>