Philip Wadler article in ACM Sigplan Notices, Aug 1998
"Why No One Uses Functional Languages" discusses the obstacles of FP, mainly not technical,
It is commercial and political (politicals in its general meaning). For example, many programmers
I only have been trained in IMPERAIVE PROGRAMMING, and no one has invested in a sufficiently mature library and development.
Environment (especially debugger and profiler), and insufficient interface support for existing languages.
But through the survey, people who use Functinal Language and Imperative Language for a long time,
FP development cycle, whether Coding, Debugging, or maintainance, is more easier.
From theory, if a programmer doesn't have to worry about Side Effects, misordered Updates,
And Dangling or Uninitialized References, and can construct complex from small to large steps
The data structure (the long term of FL), then his development speed can be greatly accelerated. Philip Wadler
There is a specific survey data in "An Angry Half-Dozen" in ACM Sigplan Notices, Feb 1998 and
discuss. I don't know if it is also for the same consideration, I decided to develop F # to make up for the shortcomings of the FP commercial development environment.
.
Oh, by the way, Logic Programming, and some people say that the concept of LP is more attractive, because the programmer only needs to formulate
For unknown logical rules, make it greatly simplified, and people can make programming and Specification and
Formal Specification Verification is relatively easy to connect, ensuring that large projects are starting from the beginning.
It is correct (the project is big, it is difficult for the Specification Consistency, so many people are engaged.
What auto verifier is. There is indeed a large commercial system developed with LP, which is said to have good effect (a long time read
Chapter, Reference forgot to. But even the experience is that LP is not cool. HORN CLAUSE cannot achieve all
First Order Predicate Calculus, such as A => P1 | P2 | P3, the same language ordered (not protogo)
The "Not" said), etc. Therefore, it is always necessary to use proLog's unique way to use prolog, not well known.
The set of logic thinks, the feeling of the bunch of hands. Also, if you are not quite familiar with the so-called Execution
ORDER's words, the code written will be very slow (how many people can play CUT, Fail, Repeat,
What is RETRACT? :-D) Of course, the LP learned is not good, which old big pointers a two?