Re: [Haskell-cafe] Re: A heretic question
Benjamin L.Russell wrote: On Tue, 21 Oct 2008 01:46:00 -0400, [EMAIL PROTECTED] wrote: A paintbrush is easy to use, but hard to use well. An interesting analogy. Then, in the style of a verbal analogy exam question: C++ : paintbrush :: Haskell : ? C++ : paintbrush :: Haskell : gimp or photoshop ? (A twist on what paintbrush refers to. :) You can get gimp and photoshop to do wonder once you become computer-literate. You can get Haskell to do wonder once you become category-literate.) C++ : paintbrush :: Haskell : OpenGL ? (OpenGL has combinators for affine transformations. Plus, it has one more dimension than paintbrush painting!) C++ : paintbrush :: Haskell : graphics software used for the Lord of the Rings movies? (Real artists swear by the paintbrush. The rest of us need automation in rendering things, postponing evaluation, and freeing memory!) :) ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: A heretic question
On Thu, Oct 23, 2008 at 11:21 AM, Albert Y. C. Lai [EMAIL PROTECTED] wrote: Benjamin L.Russell wrote: C++ : paintbrush :: Haskell : ? C++ : paintbrush :: Haskell : gimp or photoshop ? [...] C++ : paintbrush :: Haskell : OpenGL ? [...] C++ : paintbrush :: Haskell : graphics software used for the Lord of the Rings movies? Nah, I'd say it's: C++ : paintbrush :: Haskell : category theory :-) Luke ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: A heretic question
For the record, C++ (and a crippled scripting language call MEL that makes C look good) were used in the Maya 3D graphics software used for the Lord of the Rings movies [1]: Weta Digital utilized Maya® as the core 3D animation software technology throughout the process of creating digital characters and effects for the Lord of the Rings™ films -- Lord of the Rings: The Fellowship of the Ring ™, Lord of the Rings: The Two Towers™, and Lord of the Rings: The Return of the King™. [1] http://usa.autodesk.com/adsk/servlet/item?siteID=123112id=6878908linkID=7679654 Maya provided at that time (as now) a C++ API for plugins, with a data-structure poor MEL scripting language. Now (but not at that time), Python can also be used for both scripting and plugins. There is (as yet) no Haskell API (anyone up for writing one?). Sorry to burst y'alls delusions of grandeur. I love Haskell greatly over C++, but the claims I've been reading about its use in industry are a still a wee bit premature. Dan Luke Palmer wrote: On Thu, Oct 23, 2008 at 11:21 AM, Albert Y. C. Lai [EMAIL PROTECTED] wrote: Benjamin L.Russell wrote: C++ : paintbrush :: Haskell : ? C++ : paintbrush :: Haskell : gimp or photoshop ? [...] C++ : paintbrush :: Haskell : OpenGL ? [...] C++ : paintbrush :: Haskell : graphics software used for the Lord of the Rings movies? Nah, I'd say it's: C++ : paintbrush :: Haskell : category theory :-) Luke ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: A heretic question
At first, make sure you have Bjarne Stroustrup book (very important: last edition). If there's anything good in C++, it's there. Look also at his homepage: http://www.research.att.com/~bs/homepage.html I got the third edition and read it a couple of times... It's not that I'm lacking knowledge of the language, but routine and a deeper grokking of it's essence like I have with C, Scheme, Java and I guess also Haskell. Well, one thing I miss from C++ is the idea of acquiring resources in constructors and releasing them in destructors, as explained here: http://www.research.att.com/~bs/bs_faq2.html#finally (Haskell uses that in 'with...' functions, like 'withFile', but the syntax in C++ seems cleaner to me.) So, I can sugest you to try something where dealing with external (out of your control) resources is important, and where you need graceful handling of exceptions. Also, it's very easy to write your own memory allocator and use it to manage memory under pressure, and so you can go far beyond where 'Foreign.Marshal.Pool' Haskell module can go. Here is my sugestion: write something to interface with hardware. I tried to find something more specific but failed in available time, so I sugest you to take a look at many stuff you can find in thinkgeek. Then you can try unusual uses for it. For instance, they have a USB microscope. I don't know if you can move the microscope from the computer, but if you do, you could write something to automatically find evidences of failure in some kind of material or traces of chemical dust in surfaces. Or maybe you can get some security toys and try to identify people using their faces, or allow them to type text using just the movements of their heads. All of that involves heavy processing and at the same time interaction with equipment that can behave badly (like faces that can just go away from the computer). The nice thing about this is that in the end you can write a C wrapper over the main code and we can use it from Haskell :) Best, Maurício ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: A heretic question
Hello Mauricio, Wednesday, October 22, 2008, 2:23:55 PM, you wrote: Well, one thing I miss from C++ is the idea of acquiring resources in constructors and releasing them in destructors, as explained here: (Haskell uses that in 'with...' functions, like 'withFile', but the syntax in C++ seems cleaner to me.) i think that in haskell you may put to action any syntax of RAII - both Java-like (with finally) and C++ like (with implicit destructors). what concrete style you need to simulate? -- Best regards, Bulatmailto:[EMAIL PROTECTED] ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: A heretic question
Bulat Ziganshin [EMAIL PROTECTED] wrote: Hello Mauricio, Wednesday, October 22, 2008, 2:23:55 PM, you wrote: Well, one thing I miss from C++ is the idea of acquiring resources in constructors and releasing them in destructors, as explained here: (Haskell uses that in 'with...' functions, like 'withFile', but the syntax in C++ seems cleaner to me.) i think that in haskell you may put to action any syntax of RAII - both Java-like (with finally) and C++ like (with implicit destructors). what concrete style you need to simulate? Haskell: What language do you want to speak today? -- (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 Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: A heretic question
On Tue, 21 Oct 2008 01:46:00 -0400, [EMAIL PROTECTED] wrote: A paintbrush is easy to use, but hard to use well. An interesting analogy. Then, in the style of a verbal analogy exam question: C++ : paintbrush :: Haskell : ? Is C++ really easy to use? -- Benjamin L. Russell ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: A heretic question
Hello Benjamin, Tuesday, October 21, 2008, 8:13:55 AM, you wrote: Maybe this is just me, but if I had to choose a tool, I'd choose one that would be easy to use well. and what tool you choose in 80's? :) -- Best regards, Bulatmailto:[EMAIL PROTECTED] ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: A heretic question
Bulat == Bulat Ziganshin [EMAIL PROTECTED] writes: Bulat Hello Benjamin, Bulat Tuesday, October 21, 2008, 8:13:55 AM, you wrote: Maybe this is just me, but if I had to choose a tool, I'd choose one that would be easy to use well. Bulat and what tool you choose in 80's? :) A TARDIS. -- Colin Adams Preston Lancashire ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re[2]: [Haskell-cafe] Re: A heretic question
Hello Colin, Tuesday, October 21, 2008, 12:56:30 PM, you wrote: Bulat and what tool you choose in 80's? :) A TARDIS. and why it not ruled the world? :) -- Best regards, Bulatmailto:[EMAIL PROTECTED] ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: A heretic question
Achim Schneider wrote: What kind of things, barring coding on Haskell-less platforms and library interfaces would you choose to do in C++? transactional database servers HTML renderers ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: A heretic question
On Mon, Oct 20, 2008 at 8:07 PM, Benjamin L. Russell [EMAIL PROTECTED] wrote: On Sun, 19 Oct 2008 23:08:06 +0200, Achim Schneider [EMAIL PROTECTED] wrote: What kind of things, barring coding on Haskell-less platforms and library interfaces would you choose to do in C++? I'm asking 'cos I'm learning C++ and can't get the proper motivation to do any program I can think of in it: If I need abstraction, I'm thinking Haskell or Scheme, and if I'm thinking performance, C itself more than suffices. Plus template programming makes me shudder because of its atrocities against clear and straightforward FP, but that's a different matter. Coming to think of it, a compiler from a clean syntax to C++ templates sounds like a fun project... which I'd do in Haskell. Read the following uncensored interview with Bjarne Stroustrup, the designer of C++, and then tell me what you think: An Interview with Bjarne Stroustrup http://www.ariel.com.au/jokes/An_Interview_with_Bjarne_Stroustrup.html I'm pretty sure that interview is a fake one. -- Benjamin L. Russell ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: A heretic question
Benjamin L.Russell [EMAIL PROTECTED] wrote: Read the following uncensored interview with Bjarne Stroustrup, the designer of C++, and then tell me what you think: An Interview with Bjarne Stroustrup http://www.ariel.com.au/jokes/An_Interview_with_Bjarne_Stroustrup.html As I read it the first time (it has been posted here before) I discovered things I dislike in C++ that I hadn't discovered yet. I wouldn't be surprised if Bjarne actually wrote it and submitted it as a joke. -- (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 Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: A heretic question
Mauricio [EMAIL PROTECTED] wrote: At first, make sure you have Bjarne Stroustrup book (very important: last edition). If there's anything good in C++, it's there. Look also at his homepage: http://www.research.att.com/~bs/homepage.html I got the third edition and read it a couple of times... It's not that I'm lacking knowledge of the language, but routine and a deeper grokking of it's essence like I have with C, Scheme, Java and I guess also Haskell. -- (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 Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: A heretic question
What kind of things do you prefer? Databases, science, math, web? At first, make sure you have Bjarne Stroustrup book (very important: last edition). If there's anything good in C++, it's there. Look also at his homepage: http://www.research.att.com/~bs/homepage.html Bjarne is the guy who first started C++, and in a certain way still leads its development. What kind of things, barring coding on Haskell-less platforms and library interfaces would you choose to do in C++? I'm asking 'cos I'm learning C++ and can't get the proper motivation to do any program I can think of in it: If I need abstraction, I'm thinking Haskell or Scheme, and if I'm thinking performance, C itself more than suffices. Plus template programming makes me shudder because of its atrocities against clear and straightforward FP, but that's a different matter. Coming to think of it, a compiler from a clean syntax to C++ templates sounds like a fun project... which I'd do in Haskell. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: A heretic question
On Sun, 19 Oct 2008 23:08:06 +0200, Achim Schneider [EMAIL PROTECTED] wrote: What kind of things, barring coding on Haskell-less platforms and library interfaces would you choose to do in C++? I'm asking 'cos I'm learning C++ and can't get the proper motivation to do any program I can think of in it: If I need abstraction, I'm thinking Haskell or Scheme, and if I'm thinking performance, C itself more than suffices. Plus template programming makes me shudder because of its atrocities against clear and straightforward FP, but that's a different matter. Coming to think of it, a compiler from a clean syntax to C++ templates sounds like a fun project... which I'd do in Haskell. Read the following uncensored interview with Bjarne Stroustrup, the designer of C++, and then tell me what you think: An Interview with Bjarne Stroustrup http://www.ariel.com.au/jokes/An_Interview_with_Bjarne_Stroustrup.html -- Benjamin L. Russell ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: A heretic question
On Sun, 19 Oct 2008 20:50:45 -0400, [EMAIL PROTECTED] wrote: The trouble is that C++ is a tool that's hard to use well. But that's why they pay us the big bucks, right? Interesting argument. At first I thought that the following uncensored interview with Bjarne Stroustrup was a joke, but your argument makes it seem all the more plausible: An Interview with Bjarne Stroustrup http://www.ariel.com.au/jokes/An_Interview_with_Bjarne_Stroustrup.html Some say that C++ was intentionally designed to be extremely difficult to use specifically in order for C++ programmers to earn those big bucks. Maybe this is just me, but if I had to choose a tool, I'd choose one that would be easy to use well. -- Benjamin L. Russell ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: A heretic question
G'day aoll. Quoting Benjamin L.Russell [EMAIL PROTECTED]: Interesting argument. At first I thought that the following uncensored interview with Bjarne Stroustrup was a joke, but your argument makes it seem all the more plausible: That's not quite what I meant. What I meant is that Visual Basic script kiddie-ing may well be easy, real software development is hard. C++ is a hard tool to use well, but that's because it is doing a hard job. Some say that C++ was intentionally designed to be extremely difficult to use specifically in order for C++ programmers to earn those big bucks. Maybe this is just me, but if I had to choose a tool, I'd choose one that would be easy to use well. A paintbrush is easy to use, but hard to use well. Cheers, Andrew Bromage ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe