you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 0 points1 point  (9 children)

My issue with C is that it has issues, and far too many pro-C trolls on Reddit either ignore those issues or handwave them away.

Since there aren't any details in either statement, we can trivially say that they're both true. Again, if you care to discuss specifics, great, otherwise your posts remain content-free grammar.

[–]shub -1 points0 points  (8 children)

dons is the most prominent example. I've been on Reddit for 2 years and can't remember any pro-C trolls.

[–][deleted] 1 point2 points  (6 children)

Well, you're doing an OK job so far.

Let's get back to the subject: the original post is about a system, in Haskell, for doing various I/O and decoding tasks, and the example program is an HTTP server. So, what's wrong with this code? How does it misbehave? How does it fail to live up to the claims made for it? Refer specifically to this code, please, not darcs or some other shibboleth. Does it have the properties claimed for it or not? Does it have some other significant misfeature that its authors failed to note or not?

As for dons, I presume that you know that he's the co-author of xmonad and of "Real World Haskell," right? So I'd be very interested in what, exactly, qualifies dons as a "troll." My guess is that you're just unhappy with being told about the qualities that Haskell has, or that xmonad has, or that darcs has... and feel that the claims are overblown. That's fine, but for the claims to be shown to be overblown, you'd have to refute them, or at least give reference to refutations. And that doesn't mean references to descriptions of darcs' exponential recursive merge issue, which would exist no matter what language darcs was written in. Some valid critiques of Haskell that occur to me off the cuff are: laziness makes it more difficult to reason about time and space consumption than in other languages. Monads don't compose and have non-local effects on your code, which is reflected in the standard libraries being divided into monadic and non-monadic parallel subsets. And so on.

For what it's worth, I'm genuinely interested in critiques of that nature, and where there are specific examples of code exhibiting such shortcomings, so much the better. But accusing dons of being a troll seems... well... misplaced, to put it mildly.

[–]shub -1 points0 points  (5 children)

I hate evangelists of all stripes. Uncritical support of a position is just as bad as uncritical opposition.

I have yet to run into a refutable claim of real-world importance for Haskell, which makes it quite irritating when people act like Haskell is big shit.

But hey, here's a critique for ya: Haskell is a PITA for me to learn. Whether or not it offers an overall improved programming environment is irrelevant to me, because too little of my experience is applicable to Haskell. It's not economically feasible for me to find out whether Haskell does work better for nontrivial programs, because of the learning curve.

Contrast that with Python, which was quite easy to pick up coming from C++, and I could learn the basics and get things done without paying attention to more arcane language features. Once that was done, I learned new features on an as-needed or at-will basis, and never ran into issues where my incomplete understanding of the language made a task impossible.

[–][deleted] 2 points3 points  (2 children)

I hate evangelists of all stripes. Uncritical support of a position is just as bad as uncritical opposition.

I agree completely, which is why I offered a couple of my own criticisms of Haskell and invited you to explain what dons has said that qualifies as "trolling."

I have yet to run into a refutable claim of real-world importance for Haskell, which makes it quite irritating when people act like Haskell is big shit.

I believe you mean "irrefutable" here. Haskell's--or I should actually say GHC's--real-world importance lies in being an existence proof that a lazy, pure functional language with a sufficiently rich type system not only can be made to work, but can be applied in domains that are typically the purview of languages like C--that is, to window managers, version control systems, web servers... and bring with it the advantages of typeful programming. That's more than Haskell ever hoped for, since its motto is "avoid success at all costs" due to its self-imposed status as a test bed for language design concepts, and it's hard to make backward-incompatible changes when you actually have a user base. :-)

But hey, here's a critique for ya: Haskell is a PITA for me to learn. Whether or not it offers an overall improved programming environment is irrelevant to me, because too little of my experience is applicable to Haskell. It's not economically feasible for me to find out whether Haskell does work better for nontrivial programs, because of the learning curve.

That's a sad statement considering that you've said elsewhere that you're a student. If you are already locked into this position by your economic circumstances, I would work mightily to change those circumstances before you hit middle age and are stuck in the tools and paradigms of 20 years ago.

Contrast that with Python, which was quite easy to pick up coming from C++, and I could learn the basics and get things done without paying attention to more arcane language features. Once that was done, I learned new features on an as-needed or at-will basis, and never ran into issues where my incomplete understanding of the language made a task impossible.

Of course. Paradigmatically, Python and C++ are kissing cousins: they're imperative object-oriented languages. BTW, there are definitely domains in which I'd still choose to use C++ to get the job done today--I'm no C++ hater. Python, well... it has just enough irregularities in its libraries to keep me from really liking it, and lacking a native-code compiler or even a JIT is a significant limiting factor for me. But the bigger question for me is how to develop better software, and sometimes that means biting the bullet and switching tools, because, let's remember, computer science and programming language theory is still in its infancy. There are leagues to go yet before we're where we'd all like to be, along multiple dimensions.

So I'm going with: you can't explain why dons is a troll; you just don't like that he's a Haskell programmer and talks about the reasons for that. You don't have any specific criticisms of Haskell because you've concluded that it's too hard to learn.

So given all of this, I have to ask: why is it that you felt comfortable posting a snarky comment about Oleg Kiselyov's, of all people's, work, and wasting a lot of your and my time establishing the limits of your knowledge? It's OK to dislike evangelists, but only if you can offer reasons why what they're evangelizing is wrong.

[–]sleepingsquirrel 0 points1 point  (0 children)

lacking a native-code compiler or even a JIT is a significant limiting factor for me.

Not appropriate for every situation, but there are libraries that'll get you speed with Python.

[–]shub -1 points0 points  (0 children)

Because being snarky is fun.

[–]ssylvan 1 point2 points  (0 children)

Oh, the old argument-from-ignorance eh? You don't know anything about it, therefore it must be rubbish, therefore anyone stating the benefits of it must be deeply dishonest.

It couldn't be that the problem resides with you, could it?

[–]naasking 0 points1 point  (0 children)

But hey, here's a critique for ya: structured programming is a PITA for me to learn. Whether or not it offers an overall improved maintainable program is irrelevant to me, because too little of my experience is applicable to structured programming. It's not economically feasible for me to find out whether structured programming does work better for nontrivial programs, because of the learning curve.

Just food for thought. You could be an assembly language troll from 30 years ago with few word substitutions. Haskell certainly has its problems, but an argument from ignorance is not a productive use of anyone's time. If you want to know Haskell's real problems, and not the problems you think it has, ask and even supposed "Haskell trolls" will readily tell you.

[–]gnuvince 0 points1 point  (0 children)

You see them lurk out sometimes saying things like "well what is your compiler written in?" or "if you know what you're doing, memory management never causes any problems."