I would surmise that speed is not always the point. This is what's usually used to defend the laziness of Haskell :-).

Erlang is _the_ language for network programming, trust me on this one. My dreamhost site seems to be down at the moment but you can poke around the Erlang category at http://wagerlabs.com/ if you want.

On the one hand, I wrote a poker server in Erlang and that was a relative breeze. I was able to host many thousands of poker clients. On the other hand, I had a LOT of hard time with my current Haskell project. I'm trying to launch many of thousands of poker clients so there's a lot of similarity.

If I were to do this in Erlang I would focus my attention on the actual logic of the app as binary packet parsing, serialization, networking and heavy-duty concurrency are non-issues with Erlang. Simple and absolutely nothing to speak about. This is why Erlang is being used for a lot of telco apps that require massive loads, protocol conversion, etc.

I did get my Haskell app to the point where it's about 90% ready and working but most of my attention was spent on... binary packet parsing, serialization, networking and heavy-duty concurrency :-). Yes, it's working now but it took blood, sweat and tears. It's now two months later and I have yet to see the Haskell app launch thousands of poker clients and run them for hours.

        Joel

On Dec 11, 2005, at 10:43 AM, Bulat Ziganshin wrote:

Hello Joel,

but anyway Erlang is dynamic alnguage, and this make things go slower.
on the other side, it is strict

Sunday, December 11, 2005, 7:02:57 AM, you wrote:

JR> Erlang can be compiled to machine code with the built-in HiPE compiler.
JR> You just have to explicitly make use of this facility.

JR> On Dec 10, 2005, at 11:25 PM, Bulat Ziganshin wrote:

what you mean saying "network programming"? Erlang has amazing
distributed processing features with fault tolerance (when one
processes supervises the others and restart them in case of fault).
but Erlang is interpreted language and so it is slow in case of
low-level programs. you can use C to make low-level or speed- critical
functions

JR> --
JR> http://wagerlabs.com/







--
Best regards,
 Bulat                            mailto:[EMAIL PROTECTED]




--
http://wagerlabs.com/





_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to