Re: [Haskell-cafe] Re: A heretic question

2008-10-23 Thread Albert Y. C. Lai

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

2008-10-23 Thread Luke Palmer
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

2008-10-23 Thread Dan Weston
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

2008-10-22 Thread Mauricio

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

2008-10-22 Thread Bulat Ziganshin
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

2008-10-22 Thread Achim Schneider
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

2008-10-21 Thread Benjamin L . Russell
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

2008-10-21 Thread Bulat Ziganshin
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

2008-10-21 Thread Colin Paul Adams
 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

2008-10-21 Thread Bulat Ziganshin
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

2008-10-21 Thread Eric Willigers

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

2008-10-21 Thread David Leimbach
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

2008-10-21 Thread Achim Schneider
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

2008-10-21 Thread Achim Schneider
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

2008-10-20 Thread Mauricio

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

2008-10-20 Thread Benjamin L . Russell
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

2008-10-20 Thread Benjamin L . Russell
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

2008-10-20 Thread ajb

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