Re: Newbie: what are the advantages of Haskell?
Mike, It has affected my Java/C/C++ programming a lot. 1. I am much more careful how I combine ( inherit, compose, aggregate ) code because of potential side affects 2. It has helped to find certain types of bugs in Java code more easily that come up because of subtle effects introduced by combining code together 3. It has helped me to write code that is more composable 4. Haskell has increased my awareness of how important type safety is So I use Java Generics more now to enforce more type safety when I can (sometimes I am stuck deploying to java 1.4) (I also use C++ templates to do the same thing for C++) But these are often feel like hacks Haskell's type system is a thing of pure beauty haven't seen anything quite like it in any other PL (ML and OCAML are as close as I have seen but still fall short) and Generics and Templates really can't compare You really want the compiler to help you out as much it can. Have it tell you when you are doing something that you shouldn't be doing. By the way Mike thanks you just totally cheered me up I guess I just needed to sit back and think about what I have learned and how valuable it is to me. Troy -----Original Message----- From: haskell-bounces@haskell.org [mailto:haskell-bounces@haskell.org] On Behalf Of mike clemow Sent: Friday, April 27, 2007 4:16 PM To: haskell@haskell.org Subject: Re: [Haskell] Re: Newbie: what are the advantages of Haskell? Troy, As a Java chimp embarking on the Haskell journey myself, I'd be interested in hearing about specific ways that learning Haskell has changed the way you program Java. How do you employ the "very interesting concepts" that you have learned through your study of Haskell in your Java programming? Do you employ them at all? _Can_ they be employed in Java? Has it made you a better Java programmer? Cheers, Mike On 4/27/07, Taillefer, Troy (EXP) <troy.taillefer@lmco.com> wrote:
Admittedly, this is phrased in an inflammatory manner, however, the original sentiment >>is actually pointing out an advantage of Java over Haskell. Here is the original >>>.paragraph in context:
This not the first inflammatory comment he has made
But, Sebastian is right. Sebastian will be right when I see Chimpanzees coding in Java :)
The leap is worth it. I am not so sure it was for me. I guess It depends on what you are looking for I have spent the last year learning Haskell and I have learned some very interesting concepts. I can't help but wish that Haskell turned out to be a more practical language for me to code something useful in every time I looked for Haskell libraries I was a disappointed. I can't help feeling that last year might have been better spent learning Erlang (which is this years language for me to learn).
I really enjoy Functional programming (at least until I try to do something serious then frustration sets in). I can't produce software in a timely and cost effective fashion without a large body of high quality, documented and maintained libraries.
I get the feeling that Haskell is for researchers to explore ideas about programming in but no one is interested in doing The grind work of cranking out useful basic libraries. I guess you need borrow some of those Java Chimps :).
Am I the only person on the list that feels this way ?
I guess I am feeling a bit bitter of spending so much time on Haskell and having so little to show for it.
Troy
-----Original Message----- From: haskell-bounces@haskell.org [mailto:haskell-bounces@haskell.org] On Behalf Of Al Falloon Sent: Friday, April 27, 2007 12:19 PM To: haskell@haskell.org Cc: haskell@haskell.org Subject: [Haskell] Re: Newbie: what are the advantages of Haskell?
Taillefer, Troy (EXP) wrote:
Java sense (i.e. "cut out any feature that can't be understood in five
minutes by a chimp")
Got to love comments like this they are constructive, objective, mature and accurate.
Glad we have your expert opinion to give us the gospel.
Can I get an amen? How about a Hallelujah ?
Admittedly, this is phrased in an inflammatory manner, however, the original sentiment is actually pointing out an advantage of Java over Haskell. Here is the original paragraph in context:
Sebastian Sylvan wrote:
I can sometimes feel that Haskell looses out on not being user friendly in the Java sense (i.e. "cut out any feature that can't be understood in five minutes by a chimp"). Some things do take some effort to learn, but there is a huge payoff for it (it's really powerful!). But yeah, there might be plenty of folks who will never bother learning about them, and they won't understand your code.
IOW: Java's advanced features are separable from its basic features. I.e. you can teach Java without teaching generics or anonymous inner classes. In Haskell, OTOH, you can't even learn how to do IO without learning Monads, or at least glossing over oddities like a new syntax. And thats not even getting into issues like statelessness and lazy evaluation.
So for a new user, Java is the better language. You can get into its features slowly and as you see the need for them. Haskell requires you
to learn a number of mind-bending concepts right up front. Java has a gentle learning curve and Haskell has a vertical jump.
But, Sebastian is right. The leap is worth it. Its the same as what someone once said about LISP: even if you never get to use Haskell regularly, you will be a better programmer when you finally "get it".
_______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
-- http://clembie.livejournal.com http://shadowofaculture.blogspot.com http://deadlylittlepills.com _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
This is an interesting thread but can I urge posters to reply to Haskell-cafe@haskell.org The Haskell-cafe mailing list is designed for precisely the kind of discussion in the current thread. But Haskell@haskell.org is a low-bandwidth mailing list for announcements and the like. Thanks Simon | -----Original Message----- | From: haskell-bounces@haskell.org [mailto:haskell-bounces@haskell.org] On Behalf Of Taillefer, Troy | (EXP) | Sent: 27 April 2007 22:32 | To: haskell@haskell.org | Subject: [Haskell] Re: Newbie: what are the advantages of Haskell? | | | Mike, | | It has affected my Java/C/C++ programming a lot. | | 1. I am much more careful how I combine ( inherit, compose, aggregate ) | code because of potential side affects | | 2. It has helped to find certain types of bugs in Java code more easily | that come up because of subtle effects introduced by combining code | together | | 3. It has helped me to write code that is more composable | | 4. Haskell has increased my awareness of how important type safety is So | I use Java Generics more now to enforce more type safety when I can | (sometimes I am stuck deploying to java 1.4) (I also use C++ templates | to do the same thing for C++) But these are often feel like hacks | | Haskell's type system is a thing of pure beauty haven't seen anything | quite like it in any other PL (ML and OCAML are as close as I have seen | but still fall short) and Generics and Templates really can't compare | | You really want the compiler to help you out as much it can. Have it | tell you when you are doing something that you shouldn't be doing. | | By the way Mike thanks you just totally cheered me up I guess I just | needed to sit back and think about what I have learned and how valuable | it is to me. | | Troy | | | | | | -----Original Message----- | From: haskell-bounces@haskell.org [mailto:haskell-bounces@haskell.org] | On Behalf Of mike clemow | Sent: Friday, April 27, 2007 4:16 PM | To: haskell@haskell.org | Subject: Re: [Haskell] Re: Newbie: what are the advantages of Haskell? | | Troy, | | As a Java chimp embarking on the Haskell journey myself, I'd be | interested in hearing about specific ways that learning Haskell has | changed the way you program Java. How do you employ the "very | interesting concepts" that you have learned through your study of | Haskell in your Java programming? Do you employ them at all? _Can_ | they be employed in Java? Has it made you a better Java programmer? | | Cheers, | Mike | | On 4/27/07, Taillefer, Troy (EXP) <troy.taillefer@lmco.com> wrote: | > >Admittedly, this is phrased in an inflammatory manner, however, the | > original sentiment >>is actually pointing out an advantage of Java | > over Haskell. Here is the original >>>.paragraph in context: | > | > This not the first inflammatory comment he has made | > | > >>But, Sebastian is right. | > Sebastian will be right when I see Chimpanzees coding in Java :) | > | > >> The leap is worth it. | > I am not so sure it was for me. | > I guess It depends on what you are looking for I have spent the last | > year learning Haskell and I have learned some very interesting | concepts. | > I can't help but wish that Haskell turned out to be a more practical | > language for me to code something useful in every time I looked for | > Haskell libraries I was a disappointed. | > I can't help feeling that last year might have been better spent | > learning Erlang (which is this years language for me to learn). | > | > I really enjoy Functional programming (at least until I try to do | > something serious then frustration sets in). I can't produce software | > in a timely and cost effective fashion without a large body of high | > quality, documented and maintained libraries. | > | > I get the feeling that Haskell is for researchers to explore ideas | > about programming in but no one is interested in doing The grind work | > of cranking out useful basic libraries. | > I guess you need borrow some of those Java Chimps :). | > | > Am I the only person on the list that feels this way ? | > | > I guess I am feeling a bit bitter of spending so much time on Haskell | > and having so little to show for it. | > | > Troy | > | > | > -----Original Message----- | > From: haskell-bounces@haskell.org [mailto:haskell-bounces@haskell.org] | > On Behalf Of Al Falloon | > Sent: Friday, April 27, 2007 12:19 PM | > To: haskell@haskell.org | > Cc: haskell@haskell.org | > Subject: [Haskell] Re: Newbie: what are the advantages of Haskell? | > | > Taillefer, Troy (EXP) wrote: | > > Java sense (i.e. "cut out any feature that can't be understood in | > > five | > | > > minutes by a chimp") | > > | > > Got to love comments like this they are constructive, objective, | > > mature and accurate. | > > | > > Glad we have your expert opinion to give us the gospel. | > > | > > Can I get an amen? How about a Hallelujah ? | > | > Admittedly, this is phrased in an inflammatory manner, however, the | > original sentiment is actually pointing out an advantage of Java over | > Haskell. Here is the original paragraph in context: | > | > Sebastian Sylvan wrote: | > > I can sometimes feel that Haskell looses out on not being user | > > friendly in the Java sense (i.e. "cut out any feature that can't be | > > understood in five minutes by a chimp"). Some things do take some | > > effort to learn, but there is a huge payoff for it (it's really | > > powerful!). But yeah, there might be plenty of folks who will never | > > bother learning about them, and they won't understand your code. | > | > IOW: Java's advanced features are separable from its basic features. | > I.e. you can teach Java without teaching generics or anonymous inner | > classes. In Haskell, OTOH, you can't even learn how to do IO without | > learning Monads, or at least glossing over oddities like a new syntax. | > And thats not even getting into issues like statelessness and lazy | > evaluation. | > | > So for a new user, Java is the better language. You can get into its | > features slowly and as you see the need for them. Haskell requires you | | > to learn a number of mind-bending concepts right up front. Java has a | > gentle learning curve and Haskell has a vertical jump. | > | > But, Sebastian is right. The leap is worth it. Its the same as what | > someone once said about LISP: even if you never get to use Haskell | > regularly, you will be a better programmer when you finally "get it". | > | > _______________________________________________ | > Haskell mailing list | > Haskell@haskell.org | > http://www.haskell.org/mailman/listinfo/haskell | > _______________________________________________ | > Haskell mailing list | > Haskell@haskell.org | > http://www.haskell.org/mailman/listinfo/haskell | > | | | -- | http://clembie.livejournal.com | http://shadowofaculture.blogspot.com | http://deadlylittlepills.com | _______________________________________________ | Haskell mailing list | Haskell@haskell.org | http://www.haskell.org/mailman/listinfo/haskell | _______________________________________________ | Haskell mailing list | Haskell@haskell.org | http://www.haskell.org/mailman/listinfo/haskell
participants (2)
-
Simon Peyton-Jones -
Taillefer, Troy (EXP)