5 ms·
Haskell is not popular because to be popular you must cater to the average Joe. And to cater to average Joe your foremost goal must be not making him uncomforta
by lelele 16y ago
Haskell is not popular because to be popular you must cater to the average Joe. And to cater to average Joe your foremost goal must be not making him uncomfortable about himself. Never forget this.
And since most average Joes just work to pay their bills, they don't give a damn about technical superiority, you know.
- kunley 16y agoYeah but still being hacker is to make oneself uncomfortable when not being skilled enough, then to overcome this by practicing the skill. So maybe we should say that it depends if someone is a hacker or a coding monkey. I've seen rates of about 20%-80% in the industry.
- lelele 16y agoThat is implied in what I've said: hackers are a minority.
- zv 16y agoI'll have to correct you a bit. Judging by the article, Haskell currently isn't usable for work. So why should average Joe choose half-finished product? So why even the brightest hacker choose it when he already has all the tools he need?
- lelele 16y agoYou made a point. I've been rumbling on this lately, and I'm sharing my current conclusion here to hear HNers' opinions. Let's consider Common Lisp. Newcomers and outsiders complain that CL doesn't catch up because there aren't free CL environments around with a thoughtless setup (I've been in this camp too). However, if you read comp.lang.lisp, it jumps into your eyes that many lispers are accomplished and sharp programmers. Still, they haven't fixed such "issues" once and for all. So, what's the real deal? I think that here lies an explanation: such issues are not such an issue to experienced programmers. That is, if you can't setup a CL system, you simply are not skilled enough as a programmer. Get over it. I think the same applies to other systems like Haskell, GNU/Linux, Emacs and so on. What do you think? Thanks. EDIT: Of course, there are other causes to consider... for instance, since most CL developers work on *nix, there is less work done on Windows. I think that installing a CL environment kind of fires the Law of Leaky Abstractions: you'll have to deal with some nitty-gritty details...
- jacquesm 16y agoI don't think it works like that. Put enough barriers to adoption (lack of: easy install, good documentation, friendly community, good error messages, bug free implementation, good libraries) in front of your prospective hacker audience and you'll find that adoption will suffer. Not because they're not experienced enough or because in principle they can't make it work (I'm sure they could) but simply because there is only so much time. If you haven't reached a certain level of confidence that a path is the right one within a given amount of time the natural thing for an experienced programmer is to abandon the path, after all, there are so many technologies to choose from that you can't afford to invest too much time into something that feels like a dead-end, even if in the longer term it might turn out to be great.
- lelele 16y ago> I don't think it works like that. Put enough barriers to adoption (lack of: easy install, good documentation, friendly community, good error messages, bug free implementation, good libraries) in front of your prospective hacker audience and you'll find that adoption will suffer. I can see your point, and I agree on principles. I disagree on "good documentation", "friendly community", "bug free implementation", "good libraries"... If there are either lacking of "good documentation" or "bug free implementation" or "good libraries", that just means a language either is academic or not ready yet for production, thus you'd better skip it. About "friendly community", I'd rather say that there are self-selecting communities. For instance, many people complain about "social problems" of Lisp, yet I had a very nice experience while asking even controversial questions on comp.lang.lisp. > If you haven't reached a certain level of confidence that a path is the right one within a given amount of time the natural thing for an experienced programmer is to abandon the path, after all, there are so many technologies to choose from that you can't afford to invest too much time into something that feels like a dead-end, even if in the longer term it might turn out to be great. That's why I've resolved to put my time only in both time and battle tested languages like Common Lisp and Erlang. Thanks for sharing your view, Jacquesm :)
- zv 16y agoYes and no. If you are experienced programmer, then you'll have no problems with "issues". On other hand, why should you waste your time with new language? Each year there is new programming language or framework that "will change the computing". Oh come on. We all know that Windows will become lousy implementation of Unix. We also know that all programming languages eventually will have half-assed implementations of Lisp features. Why you should learn Haskell when Lisp is more superior?
- CamperBob 16y agoSpeaking as a very experienced average Joe, all I need to see is a use case that shows how learning all of the weirdness discussed in the other comments in this thread will help me do my job. I can't remember the last time I had trouble getting something done in C because it didn't support Kleisli arrows, or whatever.
- lelele 16y agoThanks for pointing this out, too. Indeed Haskell lacks a proof of concept of its superiority. And you can't provide such a proof with a few lines of code. When I studied Erlang, I was flabbergasted by both code size reduction and expressiveness thanks to pattern matching, by its fault tolerant capabilities, by its hot-code swapping... then reading how Yaws was alive and kicking long after Apache died under heavy load.
- gaius 16y agoOK, but one of the things that C programmers often say differentiates them from non-C-programmers is their ability to grok pointers. E.g. "I can't remember the last time I had trouble getting something done in Pascal because it didn't support pointers" :-)
- lelele 16y agoI'd like to add that I've not said "average Joe" in a dismissing tone. I just meant that most people are not that interested in living their lives to their fullest, and are just not interested in asking deep questions in whatever domain. Moreover, hating to feel uncomfortable about yourself is just a human trait and most people just like following the path of least pain (another human trait, I think).
- stonemetal 16y agoI just meant that most people are not that interested in living their lives to their fullest, and are just not interested in asking deep questions in whatever domain. Now if that isn't an insult I don't know what one is. You don't have to grok Haskell to live your life to the fullest(especially if your Domain isn't programming languages.)
- lelele 16y agoWhy an insult? Actions speak louder than words. How many people say health is one's most important asset, yet they don't take any action to really take care of it? Would you still think they care that much about their health? How many people would like to do that and that, still they don't take any action toward it? OTOH, if those same people were starved to near death, don't you think they would resort to extreme actions, because then their foremost interest would be getting food? Again, I don't mean using a dismissive tone. If it feels like that, that's just because I'm not a native English speaker, and I already struggle to say what I think. I do think that many people taking it easy are sorely needed by society. Innovative minds do push our culture forward, yet armies of "average Joes" - who just take every day as it comes - keep up with day-to-day tasks, are loving and unselfish people, and so on. And of course you don't need to grok Haskell or even programming to live your life to the fullest. Not being interested in some smart subject does not mean you're stupid. Peace.