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