FW: [Haskell-cafe] Tutorial on Haskell

Taillefer, Troy (EXP) troy.taillefer at lmco.com
Wed Apr 18 15:44:28 EDT 2007


=======================LONG WINDED RANT WARNING
======================================
 
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
is not only a pointless waste of time it is logically flawed on many
levels. 
 
A 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. C++ is
dangerous and has its flaws especially in the hands of a noob but it is
also has some merits as well.
 
People have very logical reasons for choosing a programming language
including
 
1. Familiarity
2. Available people to work with
3. Tools
4. Libraries
5. Legacy
6. Political
7. Personal Preference
 
etc...
 
In terms of reasoning it is easier to reason in a language/Paradigm that
you are familiar with than 
one that might be better but you are totally unfamiliar with and must
learn from scratch.
 
Go on IRC #HASKELL and see how many people are struggling conceptual
ideas like Monads, Arrows and Functors I don't go there a lot but every
time I am there are a couple of people who are asking questions
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.
 
Saying Haskell is better and everyone should use it because it is better
is about as futile 
 
as saying we should all be speaking
 
Esperanto because it is better then English. 
 
You would be an awfully lonely person with almost nobody to talk to
if all you spoke was Esperanto or Haskell for that matter.
 
I have yet to meet face to face another person who has even written toy
code in Haskell let alone any real significant app.
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.
 
Programs are mostly for humans to read and modify and lets face it there
isn't a lot of people fluent in Haskell.
 
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
C/C++/C#/Java ect.
 
Obviously C++ isn't that bad because people can write good cool software
in it. I like Haskell but I 
haven't seen a ton of Killer Haskell 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.
 
Sorry for the long rant but I get tired of people with their juvenile
and unconstructive statements like "C++ sucks"
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.
 
============================END
RANT===================================================

 
________________________________

From: Sebastian Sylvan [mailto:sebastian.sylvan at gmail.com] 
Sent: Wednesday, April 18, 2007 1:50 PM
To: Taillefer, Troy (EXP)
Cc: haskell-cafe at haskell.org
Subject: Re: [Haskell-cafe] Tutorial on Haskell





On 4/18/07, Taillefer, Troy (EXP) <troy.taillefer at lmco.com> wrote: 

	
	I have to strongly disagree with the statement that developers
like to
	debug. Debugging is necessary because you can't reason about any
	"sizeable" piece of code just is not tractable even in Haskell.
Now 
	automated tools for reasoning about programs are very cool but
lets face
	it no real world developer will sit down start to manually
formally
	reason about large pieces of code.
	
	


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". 
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. 

-- 
Sebastian Sylvan
+44(0)7857-300802
UIN: 44640862 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20070418/11189116/attachment-0001.htm


More information about the Haskell-Cafe mailing list