Hypothetical Haskell job in New York

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
80 messages Options
1234
Reply | Threaded
Open this post in threaded view
|

Hypothetical Haskell job in New York

Tony Hannan
Hello Haskellers,

I'm trying to convince my boss to use Haskell. His main concern is finding people who know Haskell when hiring. He is comfortable with Java because he knows he can always find a Java developer. So if I advertised we were looking for Haskell programmers in New York City, how many would respond? Please reply to this email if you would respond. Email me privately if you like and I will post the results to haskell-cafe later.

Thanks,
Tony

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Hypothetical Haskell job in New York

Tony Hannan
Let me give you more information about this hypothetical job posting. Our company is a startup CDN (http://en.wikipedia.org/wiki/Content_Delivery_Network) about 3 years old and doing well. You would hythothetically be one of 7 programmer who write all the software involved in a CDN including http server, dns server, monitoring, load balancing, customer and operator user interface, etc. The pay depends on experience but is good.

I already got a few replies, keep them coming.
Thanks,
Tony

On Wed, Jan 7, 2009 at 7:01 PM, Tony Hannan <[hidden email]> wrote:
Hello Haskellers,

I'm trying to convince my boss to use Haskell. His main concern is finding people who know Haskell when hiring. He is comfortable with Java because he knows he can always find a Java developer. So if I advertised we were looking for Haskell programmers in New York City, how many would respond? Please reply to this email if you would respond. Email me privately if you like and I will post the results to haskell-cafe later.

Thanks,
Tony


_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Re: Hypothetical Haskell job in New York

Manlio Perillo-3
Tony Hannan ha scritto:
> Let me give you more information about this hypothetical job posting.
> Our company is a startup CDN
> (http://en.wikipedia.org/wiki/Content_Delivery_Network) about 3 years
> old and doing well. You would hythothetically be one of 7 programmer who
> write all the software involved in a CDN including http server, dns
> server, monitoring, load balancing, customer and operator user
> interface, etc. The pay depends on experience but is good.
>

Isn't it better to use Erlang for the http and dns server ?

I don't really like the syntax, but you have many things already
implemented.
Unfortunately Haskell is not yet ready for this task.

http://eddie.sourceforge.net/what.html
http://yaws.hyber.org/

 > [...]



Regards  Manlio Perillo
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Haskell not ready for Foo [was: Re: Hypothetical Haskell job in New York]

Achim Schneider
Manlio Perillo <[hidden email]> wrote:

> Unfortunately Haskell is not yet ready for this task.
>
Could you -- or someone else -- please elaborate on this?

I've heard it once in the context of a webbrowser, the reason given was
that ghc doesn't deallocate memory, that is, the gc heap only
increases. I doubt it'd be hard to fix, not to mention that, iff a
Haskell process is more or less the only process running on a system,
deallocation becomes practically irrelevant... which'd be the case with
e.g. a HAppS production server.

Any other known problems?

--
(c) this sig last receiving data processing entity. Inspect headers
for copyright history. All rights reserved. Copying, hiring, renting,
performance and/or quoting of this signature prohibited.


_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Haskell not ready for Foo [was: Re: Hypothetical Haskell job in New York]

Manlio Perillo-3
Achim Schneider ha scritto:
> Manlio Perillo <[hidden email]> wrote:
>
>> Unfortunately Haskell is not yet ready for this task.
>>
> Could you -- or someone else -- please elaborate on this?
>

Here is a list of things that I would like to see in GHC to start
developing a server application (in order of importance)

1) Support for scalable IO multiplexing.
    The GHC runtime only supports select.

    I find the ideas from the Unify paper interesting, however I don't
    really know if the implementation is "robust".
    I would also like to have epoll/kqueue support in single threaded
    applications

2) Convenient and flexible method for reading a stream of data.

    Lazy IO is not the answer. Iteratee seems interesting.

3) Support for process supervisor in the runtime.
    Of course I'm not interested in the Erlang supervisor system
    (spread over multiple machine), but I would like a simple
    master/slave system, like Nginx


 > [...]



Regards  Manlio Perillo
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Haskell not ready for Foo [was: Re: Hypothetical Haskell job in New York]

Thomas Hallgren-3
In reply to this post by Achim Schneider
On 2009-01-08 12:10, Achim Schneider wrote:
> Manlio Perillo<[hidden email]>  wrote:
>
>> Unfortunately Haskell is not yet ready for this task.
>>
> Could you -- or someone else -- please elaborate on this?

I think Haskell is ready for a lot more than most people think. How about an
operating system in Haskell, for example? I think House shows that it could be done.

        http://programatica.cs.pdx.edu/House/

>
> I've heard it once in the context of a webbrowser, the reason given was
> that ghc doesn't deallocate memory, that is, the gc heap only
> increases. I doubt it'd be hard to fix,

Even if the GHC RTS doesn't return unused heap memory to the operating system, I
don't see why this would prevent you from implementing a useful web browser in
Haskell.

As a comparison, my Firefox process currently uses 717MB of memory. I usually
restart Firefox every day to bring the memory use down to a reasonable level.
The situation would probably be the same if I used a browser implemented in Haskell.

Incidentally, I did implement a web browser in Haskell back in the 90s, and it
worked fine :-) But that was before JavaScript and CSS, so it would take some
work to make it useful on the web of today...

        http://www.cs.chalmers.se/~hallgren/wwwbrowser.html

Thomas Hallgren
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Haskell not ready for Foo [was: Re: Hypothetical Haskell job in New York]

John A. De Goes
In reply to this post by Achim Schneider

Haskell's networking support is very rudimentary. Erlang's is quite  
sophisticated. For network intensive applications, especially those  
requiring messaging, fault-tolerance, distribution, and so forth,  
there's no doubt that Erlang is a more productive choice.

Not because of the language, per se, but because of all the stuff that  
is packaged with it, or available for it.

Regards,

John

On Jan 8, 2009, at 4:10 AM, Achim Schneider wrote:

> Manlio Perillo <[hidden email]> wrote:
>
>> Unfortunately Haskell is not yet ready for this task.
>>
> Could you -- or someone else -- please elaborate on this?
>
> I've heard it once in the context of a webbrowser, the reason given  
> was
> that ghc doesn't deallocate memory, that is, the gc heap only
> increases. I doubt it'd be hard to fix, not to mention that, iff a
> Haskell process is more or less the only process running on a system,
> deallocation becomes practically irrelevant... which'd be the case  
> with
> e.g. a HAppS production server.
>
> Any other known problems?
>
> --
> (c) this sig last receiving data processing entity. Inspect headers
> for copyright history. All rights reserved. Copying, hiring, renting,
> performance and/or quoting of this signature prohibited.
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> [hidden email]
> http://www.haskell.org/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Haskell not ready for Foo [was: Re: Hypothetical Haskell job in New York]

Creighton Hogg-4
On Thu, Jan 8, 2009 at 8:32 AM, John A. De Goes <[hidden email]> wrote:
>
> Haskell's networking support is very rudimentary. Erlang's is quite
> sophisticated. For network intensive applications, especially those
> requiring messaging, fault-tolerance, distribution, and so forth, there's no
> doubt that Erlang is a more productive choice.
>
> Not because of the language, per se, but because of all the stuff that is
> packaged with it, or available for it.

Now I understand that there aren't(?) any Haskell implementations that
can act as distributed nodes the way the Erlang implementation can,
but I'm not familiar enough with Erlang to understand what it has for
networking that the Haskell network packages don't have.  Could you
explain a bit further?  I've been thinking a lot about network
programming anyway lately & am looking for library opportunities.
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Haskell not ready for Foo [was: Re: Hypothetical Haskell job in New York]

John A. De Goes

Take, for example, RabbitMQ. There's nothing even remotely close in  
Haskell-land.

RabbitMQ is written in 100% Erlang. It's built on Open Telecom  
Platform, which again is without equal in Haskell.

There are a lot of theoretical reasons why Haskell would be a good  
choice to build libraries such as these, but lacking any production  
implementations, it's all just theory.

Regards,

John

On Jan 8, 2009, at 8:41 AM, Creighton Hogg wrote:

> On Thu, Jan 8, 2009 at 8:32 AM, John A. De Goes <[hidden email]>  
> wrote:
>>
>> Haskell's networking support is very rudimentary. Erlang's is quite
>> sophisticated. For network intensive applications, especially those
>> requiring messaging, fault-tolerance, distribution, and so forth,  
>> there's no
>> doubt that Erlang is a more productive choice.
>>
>> Not because of the language, per se, but because of all the stuff  
>> that is
>> packaged with it, or available for it.
>
> Now I understand that there aren't(?) any Haskell implementations that
> can act as distributed nodes the way the Erlang implementation can,
> but I'm not familiar enough with Erlang to understand what it has for
> networking that the Haskell network packages don't have.  Could you
> explain a bit further?  I've been thinking a lot about network
> programming anyway lately & am looking for library opportunities.

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Re: Hypothetical Haskell job in New York

David Virebayre
In reply to this post by Manlio Perillo-3
On Thu, Jan 8, 2009 at 11:58 AM, Manlio Perillo
<[hidden email]> wrote:
> Unfortunately Haskell is not yet ready for this task.

What makes you say that ?
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Haskell not ready for Foo [was: Re: Hypothetical Haskell job in New York]

Tim Newsham
In reply to this post by John A. De Goes
> Take, for example, RabbitMQ. There's nothing even remotely close in
> Haskell-land.

That would be useful for systems that require an "enterprise
messaging system," I agree, but I don't see how that would
be terribly important for a web server or most other networking
services I might want to implement.

> John

Tim Newsham
http://www.thenewsh.com/~newsham/
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Haskell not ready for Foo [was: Re: Hypothetical Haskell job in New York]

John A. De Goes

The number of applications requiring the implementation of a custom  
web server is an insignificant fraction of the number of applications  
requiring a messaging system. I don't think anyone would dispute  
Haskell's ability to do low-level, raw networking, of the type that  
few people actually need to do. It's the higher level stuff where  
there's a huge amount of room for improvement.

Regards,

John

On Jan 8, 2009, at 10:31 AM, Tim Newsham wrote:

> That would be useful for systems that require an "enterprise
> messaging system," I agree, but I don't see how that would
> be terribly important for a web server or most other networking
> services I might want to implement.

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Re: Hypothetical Haskell job in New York

Don Stewart-2
In reply to this post by Manlio Perillo-3
manlio_perillo:

> Tony Hannan ha scritto:
> >Let me give you more information about this hypothetical job posting.
> >Our company is a startup CDN
> >(http://en.wikipedia.org/wiki/Content_Delivery_Network) about 3 years
> >old and doing well. You would hythothetically be one of 7 programmer who
> >write all the software involved in a CDN including http server, dns
> >server, monitoring, load balancing, customer and operator user
> >interface, etc. The pay depends on experience but is good.
> >
>
> Isn't it better to use Erlang for the http and dns server ?
>
> I don't really like the syntax, but you have many things already
> implemented.
> Unfortunately Haskell is not yet ready for this task.
>
> http://eddie.sourceforge.net/what.html
> http://yaws.hyber.org/
>

Umm... http and dns? You're kidding right? Half of hackage.haskell.org
is devoted to networking tasks.

-- Don
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Haskell not ready for Foo [was: Re: Hypothetical Haskell job in New York]

Don Stewart-2
In reply to this post by Creighton Hogg-4
wchogg:

> On Thu, Jan 8, 2009 at 8:32 AM, John A. De Goes <[hidden email]> wrote:
> >
> > Haskell's networking support is very rudimentary. Erlang's is quite
> > sophisticated. For network intensive applications, especially those
> > requiring messaging, fault-tolerance, distribution, and so forth, there's no
> > doubt that Erlang is a more productive choice.
> >
> > Not because of the language, per se, but because of all the stuff that is
> > packaged with it, or available for it.
>
> Now I understand that there aren't(?) any Haskell implementations that
> can act as distributed nodes the way the Erlang implementation can,
> but I'm not familiar enough with Erlang to understand what it has for
> networking that the Haskell network packages don't have.  Could you
> explain a bit further?  I've been thinking a lot about network
> programming anyway lately & am looking for library opportunities.

Note that there even exists an FFI binding to Erlang for Haskell, so
that Haskell nodes can seamlessly interact with other nodes speaking
Erlang's protocol format.

There's nothing stopping you using Haskell nodes in a distributed
fashion, and indeed there are groups doing this.

-- Don
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Haskell not ready for Foo [was: Re: Hypothetical Haskell job in New York]

John A. De Goes

There's a JavaScript binding to Java, and there's a Java binding to  
Erlang, so nothing's stopping you from using JavaScript nodes in a  
distributed fashion -- if you have a weird obsession with proving that  
JavaScript is well-suited for every task.

But really, what's the point? FFI code is fragile, often uncompilable  
and unsupported, and doesn't observe the idioms of Haskell nor take  
advantage of its powerful language features. Rather than coding  
through FFI, a messaging application is better off written in 100%  
Erlang, because the libraries are native there and so confer all the  
benefits unique to native libraries.

You can indeed fit a square peg in a round hole, if you pound hard  
enough. That doesn't mean it's a good thing to do.

Here's hoping someone develops a native messaging framework for  
Haskell, which is the equal of RabbitMQ.

Regards,

John

On Jan 8, 2009, at 11:06 AM, Don Stewart wrote:

> wchogg:
>> On Thu, Jan 8, 2009 at 8:32 AM, John A. De Goes <[hidden email]>  
>> wrote:
>>>
>>> Haskell's networking support is very rudimentary. Erlang's is quite
>>> sophisticated. For network intensive applications, especially those
>>> requiring messaging, fault-tolerance, distribution, and so forth,  
>>> there's no
>>> doubt that Erlang is a more productive choice.
>>>
>>> Not because of the language, per se, but because of all the stuff  
>>> that is
>>> packaged with it, or available for it.
>>
>> Now I understand that there aren't(?) any Haskell implementations  
>> that
>> can act as distributed nodes the way the Erlang implementation can,
>> but I'm not familiar enough with Erlang to understand what it has for
>> networking that the Haskell network packages don't have.  Could you
>> explain a bit further?  I've been thinking a lot about network
>> programming anyway lately & am looking for library opportunities.
>
> Note that there even exists an FFI binding to Erlang for Haskell, so
> that Haskell nodes can seamlessly interact with other nodes speaking
> Erlang's protocol format.
>
> There's nothing stopping you using Haskell nodes in a distributed
> fashion, and indeed there are groups doing this.
>
> -- Don

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Haskell not ready for Foo [was: Re: Hypothetical Haskell job in New York]

Creighton Hogg-4
In reply to this post by Don Stewart-2
On Thu, Jan 8, 2009 at 12:06 PM, Don Stewart <[hidden email]> wrote:

> wchogg:
>> On Thu, Jan 8, 2009 at 8:32 AM, John A. De Goes <[hidden email]> wrote:
>> >
>> > Haskell's networking support is very rudimentary. Erlang's is quite
>> > sophisticated. For network intensive applications, especially those
>> > requiring messaging, fault-tolerance, distribution, and so forth, there's no
>> > doubt that Erlang is a more productive choice.
>> >
>> > Not because of the language, per se, but because of all the stuff that is
>> > packaged with it, or available for it.
>>
>> Now I understand that there aren't(?) any Haskell implementations that
>> can act as distributed nodes the way the Erlang implementation can
<snip>
> There's nothing stopping you using Haskell nodes in a distributed
> fashion, and indeed there are groups doing this.

Didn't realize it was charted territory.
Sorry about that.
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Haskell not ready for Foo [was: Re: Hypothetical Haskell job in New York]

haskell-2
In reply to this post by John A. De Goes
John A. De Goes wrote:
>
> Here's hoping someone develops a native messaging framework for Haskell,
> which is the equal of RabbitMQ.
>

The first thing would be to make a Haskell client library to speak AMQP
(Advanced Message Queuing Protocol) on the wire.

It is a very open binary standard (with defined semantics!) at
http://jira.amqp.org/confluence/display/AMQP/Advanced+Message+Queuing+Protocol

I would be mildly surprised if zero people were working on this.

Once that is in place then the question of a Haskell Broker for AMQP arises.
But I suspect that Erlang's runtime will still rule there for "production use".

--
Chris

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Haskell not ready for Foo [was: Re: Hypothetical Haskell job in New York]

Tim Newsham
In reply to this post by John A. De Goes
> The number of applications requiring the implementation of a custom web
> server is an insignificant fraction of the number of applications requiring a
> messaging system. I don't think anyone would dispute Haskell's ability to do
> low-level, raw networking, of the type that few people actually need to do.
> It's the higher level stuff where there's a huge amount of room for
> improvement.

You replied to someone discussing using Haskell at a CDN to implement
things like web servers by saying that Haskell wasn't suitable for
the task.

> John

Tim Newsham
http://www.thenewsh.com/~newsham/
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Haskell not ready for Foo [was: Re: Hypothetical Haskell job in New York]

John A. De Goes

On Jan 8, 2009, at 12:56 PM, Tim Newsham wrote:
> You replied to someone discussing using Haskell at a CDN to implement
> things like web servers by saying that Haskell wasn't suitable for
> the task.


That is incorrect. I replied to Achim's message asking for elaboration  
on Haskell's unsuitability. It was a convenient point to discuss  
Haskell's networking deficiencies.

Regards,

John


_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Haskell not ready for Foo [was: Re: Hypothetical Haskell job in New York]

Creighton Hogg-4
On Thu, Jan 8, 2009 at 2:02 PM, John A. De Goes <[hidden email]> wrote:

>
> On Jan 8, 2009, at 12:56 PM, Tim Newsham wrote:
>>
>> You replied to someone discussing using Haskell at a CDN to implement
>> things like web servers by saying that Haskell wasn't suitable for
>> the task.
>
>
> That is incorrect. I replied to Achim's message asking for elaboration on
> Haskell's unsuitability. It was a convenient point to discuss Haskell's
> networking deficiencies.

Part of the problem I'm having with this discussion, though, is that
it's still not clear to me what critical features are lacking.  I know
you've said Haskell doesn't have anything quite like the Erlang OTP
library, but that doesn't really help me much.  I've only looked a
little at OTP & I don't think I understand what you get from its
behaviors that you don't get from Control.Concurrent + mtl, i.e.
various forms of state & error handling independent of the concurrency
underneath.

Can you elucidate a bit more?  I don't want the conversation to degenerate.
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
1234