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