|
|
Up |
|
|
  |
Author: Pietro AbatePietro Abate Date: Oct 8, 2006 01:10
Hi all,
I need few references (books, scientific articles, ...)to justify the
following claims:
- Functional languages are known to be concise and programs written in
such languages are therefore easier to maintain.
- Functional languages are more resistant to problems related to memory
management...
|
| Show full article (2.43Kb) |
|
| | 65 Comments |
|
  |
Date: Oct 8, 2006 01:59
Pietro Abate hotmail.com> writes:
> I need few references (books, scientific articles, ...)to justify the
> following claims:
> - Functional languages are known to be concise and programs written in
> such languages are therefore easier to maintain.
> - Functional languages are more resistant to problems related to memory
> management and runtime errors.
Well, that's more of a general claim about strongly typed, garbage
collected languages.
> - Using a purely functional programming language (or only use pure
> techniques) can impact on performances.
I think the grand hope is to be able to stay pure and still get good
performance, under some definition of purity that includes monads.
> - Since modularity is the key to successful programming, the functional
> programming style is vitally important to solve real world problems.
> (This is actually a quote from Hueghes. Do you agree ?).
|
| Show full article (2.68Kb) |
|
| | 3 Comments |
|
  |
Author: Pascal CostanzaPascal Costanza Date: Oct 8, 2006 02:30
Pietro Abate wrote:
> Hi all,
> I need few references (books, scientific articles, ...)to justify the
> following claims:
>
> - Functional languages are known to be concise and programs written in
> such languages are therefore easier to maintain.
> - Functional languages are more resistant to problems related to memory
> management and runtime errors.
> - Using a purely functional programming language (or only use pure
> techniques) can impact on performances.
> - Since modularity is the key to successful programming, the functional
> programming style is vitally important to solve real world problems.
> (This is actually a quote from Hueghes. Do you agree ?).
> - Functional programs are easily verifiable using formal methods
> techniques.
> - Even if the methodological benefits of functional programming are
> well known, the vast majority of programs are still written in
> imperative languages such as C. This contradiction can be explained
> on the one hand by the historical lack of performance of functional ...
|
| Show full article (1.59Kb) |
| no comments |
|
  |
Author: Pietro AbatePietro Abate Date: Oct 8, 2006 02:54
In comp.lang.functional, you wrote:
>> - Using a purely functional programming language (or only use pure
>> techniques) can impact on performances.
> I think the grand hope is to be able to stay pure and still get good
> performance, under some definition of purity that includes monads.
any papers/survey about comparison ? I can cite the shootout ... but ...
>> - Since modularity is the key to successful programming, the functional
>> programming style is vitally important to solve real world problems.
>> (This is actually a quote from Hueghes. Do you agree ?).
I'll have a look at this book...
|
| Show full article (2.79Kb) |
| 2 Comments |
|
  |
Date: Oct 8, 2006 04:04
Pietro Abate hotmail.com> writes:
>> I think the grand hope is to be able to stay pure and still get good
>> performance, under some definition of purity that includes monads.
>
> any papers/survey about comparison ? I can cite the shootout ... but ...
Well, the ML languages are definitely trying to beat C, and their
impurity seems to me to be sort of an accident (they were designed
before the monadic approach was discovered). Peyton-Jones' talk
"Wearing the hair shirt" mentions that the next version of ML will be
pure, which I guess means they'll use monads.
>
> this was a nice reading !
|
| |
| 1 Comment |
|
  |
Author: Jon HarropJon Harrop Date: Oct 8, 2006 07:39
The following points are addressed by my book on OCaml (see my .sig):
Pietro Abate wrote:
> - Functional languages are known to be concise and programs written in
> such languages are therefore easier to maintain.
> - Functional languages are more resistant to problems related to memory
> management and runtime errors.
> - Since modularity is the key to successful programming, the functional
> programming style is vitally important to solve real world problems.
> (This is actually a quote from Hueghes. Do you agree ?).
OCaml certainly scales better than C++, both to bigger projects and to
larger groups of programmers.
> - Even if the methodological benefits of functional programming are
> well known, the vast majority of programs are still written in
> imperative languages such as C. This contradiction can be explained
> on the one hand by the historical lack of performance of functional
> programs and on the other, by the inherent conceptual difficulty of
> writing functional programs.
|
| Show full article (1.67Kb) |
| 59 Comments |
|
  |
Author: igouyigouy Date: Oct 8, 2006 08:06
Jon Harrop wrote:
> The following points are addressed by my book on OCaml (see my .sig):
>
> Pietro Abate wrote:
>> - Functional languages are known to be concise and programs written in
>> such languages are therefore easier to maintain.
>> - Functional languages are more resistant to problems related to memory
>> management and runtime errors.
>> - Since modularity is the key to successful programming, the functional
>> programming style is vitally important to solve real world problems.
>> (This is actually a quote from Hueghes. Do you agree ?).
>
> OCaml certainly scales better than C++, both to bigger projects and to
> larger groups of programmers.
What experience/data do you base that assertion upon?
>
>> - Even if the methodological benefits of functional programming are
>> well known, the vast majority of programs are still written in
>> imperative languages such as C. This contradiction can...
|
| Show full article (1.97Kb) |
| 52 Comments |
|
  |
Author: Marcin 'Qrczak' KowalczykMarcin 'Qrczak' Kowalczyk Date: Oct 8, 2006 08:37
Jon Harrop ffconsultancy.com> writes:
> For non-trivial tasks, OCaml is usually much faster than C++.
Usually it is not.
|
| |
| no comments |
|
  |
Author: Thant TessmanThant Tessman Date: Oct 8, 2006 08:42
> Jon Harrop wrote:
[...]
>> For non-trivial tasks, OCaml is usually much faster than C++.
>
> I read C/C++ not C++
>
> For non-trivial tasks (whatever that means) is OCaml usually much
> faster than C? What experience/data do you base that assertion upon?
Jon Harrop's statement is misleading. He should have said something
like: Given a limited amount of development time and a sufficiently
complex task, it is easier to write an efficient and reliable program in
OCaml than in C++. However, given enough time and effort, a programmer
can always make a C/C++ program go faster. (Reliability on the other
hand, is something C/C++ will never be really good at.)
-thant
|
| |
| 1 Comment |
|
  |
|
|
  |
Author: Pietro AbatePietro Abate Date: Oct 8, 2006 19:24
On 2006-10-08, igouy@ yahoo.com yahoo.com> wrote:
>>> - Even if functional languages are still slower then C/C++ in particular
>>> domains, the difference in performance has been considerably reduced
>>> in the last decade
>> For non-trivial tasks, OCaml is usually much faster than C++.
> I read C/C++ not C++
> For non-trivial tasks (whatever that means) is OCaml usually much
> faster than C? What experience/data do you base that assertion upon?
This is very much my problem here. Making this kind of statements (in
particular in scientific papers) can stir a bit of discussion, in
particular from people that have never used a functional language and
have a blinkers on regarding performances and software development.
Usually these are old academics that have learned how to program in c
on a Vax and the jumped on the OOP bandwagon in the 80s/90s.
The two reference given on this thread, java vs lisp and the haskell
navy project are good empirical evidence that can be cited. As I said,
the shootout is not very scientific (no peer review in the academic
sense). J. Harrop book and his ray tracer (??) is one experiment, but
it's difficult to generalize from it.
|
| Show full article (1.62Kb) |
| 25 Comments |
|
RELATED THREADS |
  |
|
|
|
|
|