Alberto G. Corona wrote:
Most successful languages spread because they are part of a platform which solves an IT problem. C was part of Unix, both brougth CPU independence when this was necessary. Java is part of the Java platform, that brougth OS independence and interoperability at the right time. .Download-execution on the client was also a reason for the initial success of Java in the Internet era. Javascript is part of the web browser. The .NET languages are part of NET. Rubi and Pyton came with libraries targeted to Rapid development of Internet applications. What is the vehicle that haskell can use to enter the mainstream?. I think that the mere interest of the ideas in the language is not enough. Many people will play with Haskell in the spare time, and many of them will be permitted to develop some non critical applications at work. But that is all. Java was not designed for the Internet but it was re-targeted to it because some needed features where already implemented in Java. Maybe something like that will happen to Haskell.

I think that all the current niches are filled, but new niches are coming. specially with higher level programming that is made on top of current sorware software infrastructure such are BPM, workflows, more flexible scientific applicatins, creation of models in business intelligence, as part of ERPs,.Data mining too. And higuer levels of netwrok communications( for example, Google Wave robots) etc.
I see one additional driver: Once a programming language community grows saturated, its members tend to become fastidious, 'sales people' enter the scene -- look at such Java etc. programmers proud to tell how much money they are making. This impacts the goal structure, 'success' becomes more important than 'doing interesting work' -- in consequence the spectrum of engagement narrows.

IMHO, many customers just aren't involved into the language issue, just wanting to get things done -- getting the better conditions, they would not hesitate to adopt Haskell.

John Hudak (e.g. see his book) proposed Haskell to be appropriate for the niche of for multimedia programming -- in fact, nowadays Anygma.com (see www.nazooka.com) is active in exactly this field, some quote from their side being interesting.

At least, it is quite funny that Haskell (together with Clean & Mercury) after having long to struggle with exactly this issue, now can present the deepest understanding (by Monad & Co.) of IO, concurrency, state stransitions and the like, so for the future, there might be a grain of truth in it.

All the time, I am astound in how so few people achieve so much in producing Haskell code! Keeping in mind that there are lots of semiautomatic quality assurance techniques, for which -- though having weaknesses in IDE's and refactoring browsing (how about the Portland hackathon?) -- in some parts (e.g. QuickCheck) plays a leading role.

To me, Haskell seems to have proved one very important thing: To have emancipated programming from the highly industrialized mass production process focused upon huge organization and their hierarchy pyramids (with, usually, the coder at its base). It emancipated code (== Haskell (, although not Coq)) to serve as highest level of intellectual presentation -- what I want to say is people have some joy in expressing their special knowledge in a Haskell library.

I am very interested what will happen if the parcours of competition will change from massively repeated but principally simple processes (shops, business portals, communities, maybe even ERP...) to less repetitive structures -- and inhowfar non-functional programming will become a pain then -- is that what you mean?
About the last point, sometimes a basically identical infrastructure is re-engineered to a higher level, and a new language takes over. For example, the architecture of many Internet applications in the 80s was client-server based, where C, C++ was the king. This was substituted by the web architecture with Java because Java was involved in the gradual change by filling the holes of the new architecture. It could be that in a few years, instead of Web sites people could develop interoperable gadgets for aggregators such are netvibes or IGoogle or, even more radical, robots and gadgets in google Wave. Anyway, for sure, people will think and develop at a higher level. Financial applications are an example of higher level programming where tasks usually performed by humans are now automatized and there is no or few traditions about that. The need to think at a higher level without being worried by side effects and other details are specially needed in such kind of areas. That's where haskell could have its own niche.
This reminds me of the whole agent thing -- pretty much dominated by Java (e.g., Jade, Jason, Jack) nowadays --, for which I would bet lots things are done more straigthforward using Haskell -- especially those parts the Java coders are usually proud of... Let's maybe speak of *second order scalability*:

As first order scalability would rather be a matter in space time load increased by repetitions, the concern of second order scalability would be more about a *fractal* expansion of concepts like a *closure* -- Haskell, already in a vivid exchange with interactive theorem proving (e.g. Coq adopts type classes from Haskell and dependent types vice versa) seems excellently prepared... :-)

I ever tended to say financial applications are especially prone to be boring -- the prototype of repetitive IT, even for strategy the stupid 'traffic lights cockpits' or OLAP(!) ... But this problem is rather supply driven to me.

Going into business with Haskell means two things to me:

o communication: To many Haskellers this will mean going to people they just would not have met otherway and finding out inhowfar it's possible to build up a constructive relationship with those. This is emphasized for instance by the *XP / agile process* which harmonizes very well with Haskell.

o experience: Once having begun, I bet Haskellers -- and the Haskell code base -- will learn at a fast pace. Outing myself, I admit I am using tools like HaRe, Yi, Leksah & the Eclipse plugin too seldom to allow my self doing contributions. Once these tools are in stronger use I expect them to evolve at a very fast pace.

Under the bottom line, entering the medium sized project market with Haskell should be regarded as a matter of months, not years. ;-)


All the best,

   Nick


Regards

2009/9/29 Jörg Roman Rudnick <joerg.rudn...@t-online.de <mailto:joerg.rudn...@t-online.de>>

    These problems are critical -- but not hopeless, I think:

    (1) A simple technical matter, any average Haskell programmer
    (including myself...) can build a platform, e.g. in Happstack or
    the like, to clear this up (given you want to do this in Haskell ;-).

    (4) This is a special one, which I have pondered on some time ago.
    The customers' main concern seems to be "will this company still
    support me in n years??"
    o   if the project is interesting enough, I see hope there might
    be some academic unit willing to partake in this, as I have heard
    enough complaint of not having enough examples to demonstrate
    business relevance to students. Normally, the customer should have
    no problem in believing an academic unit and its interests to last
    some time.
    o   I would propose to pick up the insourcing concept -- as, what
    I can confirm by my own teaching experiences, it sometimes is
    easier to introduce Haskell to beginners (once the do have
    sufficient OS experience) then to people who already are adherents
    of some other language. Ok, we might need some more introductory
    literature etc.

    (3) Yes, there seem to be lots of people organized at a smaller
    level than what I described -- groups of one or very few members,
    working on a limited time range.

    Yesterday, I would have written there should be remarkable
    interest in greater projects, but, due to the poor resonance to my
    mail, I feel wary to do so now.

    (3)&(2) Such a reserved reaction might indicate many Haskellers
    are not motivated by the money but by the fame, and -- as the
    lively succJava thread shows -- what could be greater fame
    (besides the evaluation of 42) than stealing the Java etc.
    community just another attractive project? ;-))

    Do I go wrong in saying there's a good deal of competitive spirit
    in the Haskell community interesting in taking claims away of
    other programming cultures which have grown saturated over the
    years? And, isn't the this *Haskeller bonus* indicating that doing
    the step to larger project should not be as hard as for others?

    A remaining issue might be a need for some facility to find
    cooperations and realize synergies -- see (1).

    Enough blah-blah. I got one email response (not posted to here) of
    a highly qualified Haskeller whom I could name two projects which
    might have interested him in his proximity, 80 miles and 75 miles
    away (and I do not have so many...). My learning is that a
    communication platform in this concern might be interesting to at
    least some of us. There are larger projects possible -- if we pick
    them up.


    All the best,

        Nick



    John A. De Goes wrote:

    It's very difficult to find information on:

        1. How many Haskell developers are out there;
        2. What a typical salary is for a Haskell developer;
        3. Whether or not the skills of a typical Haskell developer
        scale to large applications (most Haskell developers are
        "hobby" Haskellers and have only written tiny to small
        Haskell apps);
        4. How many shops are capable of handling Haskell development
        & maintenance.


    These are the kinds of information one needs to make an informed
    decision about whether to introduce Haskell into the workplace.

    Regards,

    John A. De Goes
    N-Brain, Inc.
    The Evolution of Collaboration


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to