<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.3059" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007>=======================LONG WINDED RANT WARNING
======================================</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007></SPAN></FONT> </DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007>I am not try to hate on Haskell obviously I am a fan
otherwise I wouldn't be on this list but criticizing other
languages</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007>is not only a pointless waste of time it is
logically flawed on many levels. </SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007></SPAN></FONT> </DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007>A</SPAN></FONT><FONT face=Arial color=#0000ff
size=2><SPAN class=996012318-18042007> lot of the best software
is written and still being written in C++ so I will have to disagree with you
that C++ is unreasonable. </SPAN></FONT><FONT face=Arial color=#0000ff
size=2><SPAN class=996012318-18042007>C++ is dangerous and has its flaws
especially in the hands of a noob but it is also has some merits as
well.</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007></SPAN></FONT> </DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007>People have very logical reasons for choosing a
programming language including</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007></SPAN></FONT> </DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007>1. Familiarity</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007>2. Available people to work with</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007>3. Tools</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007>4. Libraries</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007>5. Legacy</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007>6. Political</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007>7. Personal Preference</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007></SPAN></FONT> </DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007>etc...</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff size=2>In
terms of reasoning it is easier to reason in a language/Paradigm that you are
familiar with than </FONT></SPAN></DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff size=2>one
that might be better but you are totally unfamiliar with and must
learn from scratch.</FONT></SPAN></DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff size=2>Go on
IRC #HASKELL and see how many people are struggling conceptual ideas like
Monads, Arrows and Functors </FONT></SPAN><SPAN class=996012318-18042007><FONT
face=Arial color=#0000ff size=2>I don't go there a lot but every time I am there
are a couple of people who are asking questions</FONT></SPAN></DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff size=2>like
just what is a Monad. For myself I want to learn Category Theory because it
seems powerful just like Set Theory (which I have found extremely useful). I
find manipulating pointers and mutable variables much easier to understand and
saner. Maybe if I was a mathematician instead of an Engineer/Computer
Scientist I would feel different.</FONT></SPAN></DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff size=2>Saying
Haskell is better and everyone should use it because it is better is about as
futile </FONT></SPAN></DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff size=2>as
saying we should all be speaking</FONT></SPAN></DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff
size=2>Esperanto because it is better then English. </FONT></SPAN></DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff size=2>You
would be an awfully lonely person with almost nobody to talk
to</FONT></SPAN></DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff size=2>if all
you spoke was Esperanto or Haskell for that matter.</FONT></SPAN></DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007><FONT face=Arial color=#0000ff size=2>I have yet to
meet face to face another person who has even written toy code in Haskell let
alone any real significant app.</FONT></SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007>I can't use Haskell at work because no one
could maintain it. I can't use Haskell in my graduate studies since my
supervisor can't read Haskell. So I am stuck writing toy code as a hobby and an
educational experience.</SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007></SPAN></FONT></SPAN> </DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007>Programs are mostly for humans to read and
modify and lets face it there isn't a lot of people fluent in
Haskell.</SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007></SPAN></FONT></SPAN> </DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff size=2><SPAN
class=996012318-18042007>So if I want to work and interact with other
Software professionals I better be able to speak the lingua franca which is
a derivative of C aka </SPAN></FONT></SPAN><SPAN class=996012318-18042007><FONT
face=Arial color=#0000ff size=2><SPAN class=996012318-18042007>C/C++/C#/Java
ect.</SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff
size=2>Obviously C++ isn't that bad because people can write good cool software
in it. I like Haskell but I </FONT></SPAN></DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff
size=2>haven't seen a ton of Killer Haskell </FONT></SPAN><SPAN
class=996012318-18042007><FONT face=Arial color=#0000ff size=2>apps yet ( Or
even one for that matter). DARCS is coming close if
they fix their conflict problems then Haskell will have its first
killer app that I know off. I heard they are working on it this
summer looking forward to it DARCS is really cool.</FONT></SPAN></DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff size=2>
<DIV><SPAN class=996012318-18042007><FONT face=Arial color=#0000ff size=2>Sorry
for the long rant but I get tired of people with their juvenile and
unconstructive statements like "C++ sucks"</FONT></SPAN></DIV>
<DIV><SPAN class=996012318-18042007>Or Language X is better then Language Y even
if it could ever be objectively true (which I am sorry it can't be) who
cares.</SPAN></DIV>
<DIV><SPAN class=996012318-18042007></SPAN> </DIV>
<DIV><SPAN class=996012318-18042007>============================END
RANT===================================================</SPAN></DIV>
<DIV></FONT></SPAN><BR> </DIV></DIV>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> Sebastian Sylvan
[mailto:sebastian.sylvan@gmail.com] <BR><B>Sent:</B> Wednesday, April 18, 2007
1:50 PM<BR><B>To:</B> Taillefer, Troy (EXP)<BR><B>Cc:</B>
haskell-cafe@haskell.org<BR><B>Subject:</B> Re: [Haskell-cafe] Tutorial on
Haskell<BR></FONT><BR></DIV>
<DIV></DIV><FONT face=Arial color=#0000ff size=2></FONT><FONT face=Arial
color=#0000ff size=2></FONT><BR><BR>
<DIV><SPAN class=gmail_quote>On 4/18/07, <B class=gmail_sendername>Taillefer,
Troy (EXP)</B> <<A
href="mailto:troy.taillefer@lmco.com">troy.taillefer@lmco.com</A>>
wrote:</SPAN>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid"><FONT
face=Arial color=#0000ff size=2></FONT><FONT face=Arial color=#0000ff
size=2></FONT><BR>I have to strongly disagree with the statement that
developers like to<BR>debug. Debugging is necessary because you can't reason
about any<BR>"sizeable" piece of code just is not tractable even in Haskell.
Now <BR>automated tools for reasoning about programs are very cool but lets
face<BR>it no real world developer will sit down start to manually
formally<BR>reason about large pieces of code.<BR><BR></BLOCKQUOTE></DIV><BR>I
think the emphasis when mentioning "reasoning" really shouldn't be "you can
reason formally about your programs and prove that they don't go wrong", nor
"when it has gone wrong, you can reason about the program to figure out why", it
should be "since the language doesn't do batshit insane things behind your back,
your programs will mostly work the first time". <BR>The "reasoning" isn't an
active task that you schedule time for, at least for a casual user like me, it's
part of the actual programming. You do "reasoning" when writing in C++ as well,
but you often get it wrong (because the language is, shall we say,
unreasonable?) and that causes bugs. <BR clear=all><BR>-- <BR>Sebastian
Sylvan<BR>+44(0)7857-300802<BR>UIN: 44640862 </BODY></HTML>