=======================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===================================================
On 4/18/07, Taillefer,
Troy (EXP) <troy.taillefer@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