Gmail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3, 2008
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  18 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Benjamin L. Russell  
View profile  
(1 user)  More options Dec 9 2008, 3:32 am
Newsgroups: comp.lang.functional
From: Benjamin L. Russell <DekuDekup...@Yahoo.com>
Date: Tue, 09 Dec 2008 17:32:59 +0900
Local: Tues, Dec 9 2008 3:32 am
Subject: Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3, 2008

Dr. Dobb's recently published the following introductory survey
article on functional programmiing:

Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3,
2008
http://www.ddj.com/development-tools/212201710;jsessionid=3MQLTTYJRPL...

In particular, Scala, F#, Erlang, Haskell, and Mathematica are
discussed in some detail, and OCaML is mentioned in passing.

Unfortunately, the article does not mention some of the more
significant programming languages (e.g., Scheme is not mentioned at
all), tends to overgeneralize (e.g., it describes Haskell as "a
foundation for research" without citing the recent "Real World
Haskell" publication), and is inconsistent in some places (e.g., it
describes Erlang as "a general-purpose language," but then, in the
very same sentence, proceeds to describe it as being "specifically
designed ... for building highly parallel, distributed, fault-tolerant
systems").

Further, the article commits a number of significant factual errors.
In particular, on the first page, the articles states that,

>"In any functional programming language, you are likely to encounter these features:

>...
>    * Heavy use of pattern matching, although technically it is not a defining feature of FP.
>    * Lazy evaluation, which makes possible the creation of infinite sequences and other data structures."

Pattern matching is not a standard feature of a number of major
functional programming languages, including Scheme and LISP.

Lazy evaluation, at least by default, is not a standard feature in
many major functional programming languages, including Scheme and
LISP.  The major languages that use lazy evaluation by default are
Haskell and Clean.

Any comments on the article?

-- Benjamin L. Russell
--
Benjamin L. Russell  /   DekuDekuplex at Yahoo dot com
http://dekudekuplex.wordpress.com/
Translator/Interpreter / Mobile:  +011 81 80-3603-6725
"Furuike ya, kawazu tobikomu mizu no oto."
-- Matsuo Basho^


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jon Harrop  
View profile  
(3 users)  More options Dec 9 2008, 1:49 pm
Newsgroups: comp.lang.functional
From: Jon Harrop <j...@ffconsultancy.com>
Date: Tue, 09 Dec 2008 18:49:55 +0000
Local: Tues, Dec 9 2008 1:49 pm
Subject: Re: Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3, 2008
Benjamin L. Russell wrote:
> Dr. Dobb's recently published the following introductory survey
> article on functional programmiing:

> Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3,
> 2008

http://www.ddj.com/development-tools/212201710;jsessionid=3MQLTTYJRPL...

Always good to see any kind of relevant coverage in the more mainstream
programming press.

I also take issue with quite a lot of what they say but, interestingly, not
the same parts that you have taken issue with. However, this is a free
article by a non-expert so you can hardly expect it to be accurate. Indeed,
I expect we'll see a lot more of this kind of writing as FP gains more
traction.

. Javascript and C# 3.0 are the world's most popular functional languages
and this article about functional programming fails to mention either of
them. Indeed, everything in the article is tainted with Haskell and does
not even concur with the interpretations of the vast majority of functional
programmers or languages.

. They say that FP is hard when, in fact, most people find it much easier to
learn than OOP.

. They discuss several problems that are specific to Haskell and do not
afflict most functional languages.

. They pretend that purely functional programming magically solves
parallelism but you still have to decide when to spawn parallel
computations (even in a pure language) and you need a language
implementation that supports scalable parallelism (i.e. at least a "mostly
concurrent" GC). They also neglect the fact that purely functional
programming is slow, which completely undermines the point of parallelism
anyway.

. Haskell is a camel?!

> In particular, Scala, F#, Erlang, Haskell, and Mathematica are
> discussed in some detail, and OCaML is mentioned in passing.

The "ml" in "OCaml" does not stand for "ML" so it is just "OCaml" and
not "OCaML", BTW.

> Unfortunately, the article does not mention some of the more
> significant programming languages (e.g., Scheme is not mentioned at
> all),

Scheme is arguably not a significant programming language: it only has 12%
market share of functional programming languages (excluding Javascript and
C# 3.0) according to the Debian and Ubuntu package popularity contest.

> tends to overgeneralize (e.g., it describes Haskell as "a
> foundation for research" without citing the recent "Real World
> Haskell" publication),

I suspect Real World Haskell did not hit the bookshelves until after that
article was written so I can forgive them for that. I would much rather see
references to industrial uses of functional languages rather than books
about how languages might be used in the real world.

> and is inconsistent in some places (e.g., it
> describes Erlang as "a general-purpose language," but then, in the
> very same sentence, proceeds to describe it as being "specifically
> designed ... for building highly parallel, distributed, fault-tolerant
> systems").

Fair enough. ML is a general purpose language that was specifically designed
for meta programming.

> Further, the article commits a number of significant factual errors.
> In particular, on the first page, the articles states that,

>>"In any functional programming language, you are likely to encounter these
>>features:

>>...
>>    * Heavy use of pattern matching, although technically it is not a
>>    defining feature of FP. * Lazy evaluation, which makes possible the
>>    creation of infinite sequences and other data structures."

> Pattern matching is not a standard feature of a number of major
> functional programming languages, including Scheme and LISP.

IMHO, Lisp and Scheme are no longer major FPLs. They were obviously
referring to OCaml, Haskell, F# and Scala, all of which are far more widely
used than Lisp and Scheme. If you want to counter that, I would recommend
saying that Javascript and C# 3.0 do not provide pattern matching (but the
authors were apparently unaware of their functional-ness anyway).

Also, Scheme does actually bundle pattern matching now (IIRC).

> Lazy evaluation, at least by default, is not a standard feature in
> many major functional programming languages, including Scheme and
> LISP.  The major languages that use lazy evaluation by default are
> Haskell and Clean.

They did not say "by default" and almost all of these languages bundle some
support for laziness. OCaml and F# even bundle custom syntax for this
purpose. OCaml 3.11 just added lazy patterns as a language feature.
Learning to leverage laziness is important in all of these languages, IMHO.

I think this article is fine. I am much more concerned by the complete lack
of useful innovation outside F#. Why are the open source functional
languages and their implementations so out of date and why are other
companies not moving to replicate F#'s success elsewhere?

--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/?u


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Benjamin L. Russell  
View profile  
(3 users)  More options Dec 10 2008, 12:31 am
Newsgroups: comp.lang.functional
From: Benjamin L. Russell <DekuDekup...@Yahoo.com>
Date: Wed, 10 Dec 2008 14:31:59 +0900
Local: Wed, Dec 10 2008 12:31 am
Subject: Re: Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3, 2008
On Tue, 09 Dec 2008 18:49:55 +0000, Jon Harrop <j...@ffconsultancy.com>
wrote:

>Benjamin L. Russell wrote:
>> Dr. Dobb's recently published the following introductory survey
>> article on functional programmiing:

>> Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3,
>> 2008

>http://www.ddj.com/development-tools/212201710;jsessionid=3MQLTTYJRPL...

>. Javascript and C# 3.0 are the world's most popular functional languages
>and this article about functional programming fails to mention either of
>them. Indeed, everything in the article is tainted with Haskell and does
>not even concur with the interpretations of the vast majority of functional
>programmers or languages.

JavaScript and C# 3.0 are multi-paradigm languages, so in order to
describe them as "the world's most popular functional languages," they
need to be used by the majority of users according to that paradigm.

C# 3.0 ("C# Orcas") (see "C# Version 3.0 Specification" at
http://msdn.microsoft.com/en-us/library/ms364047(VS.80).aspx)
introduced several language extensions building on C# 2.0, including
lambda expressions and expression trees, supporting the functional
paradigm; however, for a language to have a new paradigm adopted by
the majority of its users takes time.  C# 3.0 was released about three
years ago, in October 2005; can you show that the majority of C#
programmers have switched from object-oriented to functional
programming?

>. They say that FP is hard when, in fact, most people find it much easier to
>learn than OOP.

Most students will have a much easier time in learning a new paradigm
if they haven't already learned a different paradigm.  If the students
haven't already learned OOP, then I would agree; however, un-learning
OOP can be difficult for programmers who have already been programming
according to that paradigm.

>The "ml" in "OCaml" does not stand for "ML" so it is just "OCaml" and
>not "OCaML", BTW.

Noted.  "ML" stands for "metalanguage"; CAML originally stood for
"Categorical Abstract Machine Language (although OCaml reportedly
abandons this abstract machine), and OCaml stands for Objective CAML,
commonly abbreviated as "Ocaml."

>> Unfortunately, the article does not mention some of the more
>> significant programming languages (e.g., Scheme is not mentioned at
>> all),

>Scheme is arguably not a significant programming language: it only has 12%
>market share of functional programming languages (excluding Javascript and
>C# 3.0) according to the Debian and Ubuntu package popularity contest.

You have repeatedly cited Debian- and Ubuntu- based figures in threads
comparing OCaml and other languages in the past, but what about the
figures on other platforms for comparison?

-- Benjamin L. Russell
--
Benjamin L. Russell  /   DekuDekuplex at Yahoo dot com
http://dekudekuplex.wordpress.com/
Translator/Interpreter / Mobile:  +011 81 80-3603-6725
"Furuike ya, kawazu tobikomu mizu no oto."
-- Matsuo Basho^


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Benjamin L. Russell  
View profile   Translate to Translated (View Original)
(2 users)  More options Dec 10 2008, 12:49 am
Newsgroups: comp.lang.functional
From: Benjamin L. Russell <DekuDekup...@Yahoo.com>
Date: Wed, 10 Dec 2008 14:49:43 +0900
Local: Wed, Dec 10 2008 12:49 am
Subject: Re: Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3, 2008
On Wed, 10 Dec 2008 14:31:59 +0900, Benjamin L. Russell

<DekuDekup...@Yahoo.com> wrote:
>>The "ml" in "OCaml" does not stand for "ML" so it is just "OCaml" and
>>not "OCaML", BTW.

Oops; I meant "OCaml," not "Ocaml."  I should have capitalized the
'C."

>Indeed, everything in the article is tainted with Haskell and does
>not even concur with the interpretations of the vast majority of functional
>programmers or languages.

Sorry, but I must object to your use of the pejorative term "tainted."
According to Merriam-Webster Online:

>Main Entry:
>    taint
>Etymology:
>    Middle English teynten to color & taynten to attaint; Middle English teynten, from Anglo-French teinter, from teint,

past participle of teindre, from Latin tingere; Middle English taynten, short for attaynten ― more at tinge, attain

>Date:
>    1573

>transitive verb
>1: to contaminate morally : corrupt <scholarship tainted by envy>
>2: to affect with putrefaction : spoil
>3: to touch or affect slightly with something bad <persons tainted with prejudice>

"Tainting" is a subjective term, and carries a negative connotation. I
fail to see the justification for it in regards to Haskell as a
language.

Further, although the article discusses Haskell in some sections, it
does not specifically mention Haskell in the sections on Scala or
Erlang, for instance.  Where is Haskell mentioned in the article in
these sections?

-- Benjamin L. Russell
--
Benjamin L. Russell  /   DekuDekuplex at Yahoo dot com
http://dekudekuplex.wordpress.com/
Translator/Interpreter / Mobile:  +011 81 80-3603-6725
"Furuike ya, kawazu tobikomu mizu no oto."
-- Matsuo Basho^


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jon Harrop  
View profile  
(3 users)  More options Dec 10 2008, 3:32 am
Newsgroups: comp.lang.functional
From: Jon Harrop <j...@ffconsultancy.com>
Date: Wed, 10 Dec 2008 08:32:42 +0000
Local: Wed, Dec 10 2008 3:32 am
Subject: Re: Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3, 2008

You cannot have a definition of "functional language" that swings on how
people choose to use the language. If you want to follow that path then let
me rephrase "more people are using C# 3.0 and Javascript for functional
programming than any other languages". Perhaps we can agree to argue about
that?

> C# 3.0 ("C# Orcas") (see "C# Version 3.0 Specification" at
> http://msdn.microsoft.com/en-us/library/ms364047(VS.80).aspx)
> introduced several language extensions building on C# 2.0, including
> lambda expressions and expression trees, supporting the functional
> paradigm; however, for a language to have a new paradigm adopted by
> the majority of its users takes time. C# 3.0 was released about three
> years ago, in October 2005; can you show that the majority of C#
> programmers have switched from object-oriented to functional
> programming?

The majority of C# programmers was never relevant. The question is whether
there are more functional C# programmers than OCaml/Haskell etc.
programmers and there clearly are.

According to ITJobsWatch, C# has ~500x more programmers than any of those
other functional languages. So only 0.2% of them need to be using delegates
for them to outnumber each of the "conventional" FPLs.

Look at language versions first. Google trends indicates that around 30% of
C# searches are for C# 3.0 now:

http://www.google.com/trends?q=c%23+2.0%2Cc%23+3.0&ctab=0&geo=all&dat...

That doesn't tell us they're doing functional programming but it tells us
they've modernized.

Now, look at versions of the .NET framework. Google trends indicates that
more people are searching for .NET 3.0 or 3.5 than any other version:

http://www.google.com/trends?q=.net+2.0%2C+.net+3.0%2C+.net+3.5%2C+.n...

That is the killer fact because functional programming has been an essential
concept since .NET 3.0: it makes everything from IO with WCF to GUI
programming with WPF much easier on Microsoft's new standard libraries.

Look at the book market. Only 2% of the C# books listed on Amazon are
(explicitly) C# 3.0 but that still equates to far more books (277) in
absolute terms that any conventional FPL. The book "Pro C# 2008 and
the .NET 3.5 platform: Fourth Edition" covers functional programming in
detail and it alone has outsold all books on all conventional FPLs
combined.

However you slice and dice that data I think there is overwhelming evidence
that far more programmers are writing in a functional style on .NET than
anywhere else.

>>. They say that FP is hard when, in fact, most people find it much easier
>>to learn than OOP.

> Most students will have a much easier time in learning a new paradigm
> if they haven't already learned a different paradigm.  If the students
> haven't already learned OOP, then I would agree; however, un-learning
> OOP can be difficult for programmers who have already been programming
> according to that paradigm.

Our customers find it easy enough. We even relate functional concepts to OOP
design patterns when possible.

>>Scheme is arguably not a significant programming language: it only has 12%
>>market share of functional programming languages (excluding Javascript and
>>C# 3.0) according to the Debian and Ubuntu package popularity contest.

> You have repeatedly cited Debian- and Ubuntu- based figures in threads
> comparing OCaml and other languages in the past, but what about the
> figures on other platforms for comparison?

I don't know of any decent objective and public metrics for other platforms
but I think it is fair to say that the free implementations of these
languages are sharply focused on Linux.

Our website hits may be an interesting metric because we do almost entirely
FP now:

Windows: 160k
Linux:    35k
Mac:      20k

So Mac OS X appears to be dead as far as FPLs are concerned. Having tried to
develop on the Mac I am not surprised: the infrastructure available for
programmers is just awful compared to Linux and Windows.

Windows is obviously the major platform. Today, programming Windows
basically means programming .NET and "conventional" functional programming
on .NET is essentially just F# (Nemerle, Clean, Scala.NET, Clojure.NET are
all dead). The LispWorks and Franz may have more Lisp programmers on
Windows than other free FPLs but I cannot believe they have a bigger user
base than Microsoft, not least because F# is free and interoperable.

Erlang is arguably a wildcard but the job market suggests that Erlang is in
the same ball park as the other FPLs in terms of popularity. The number of
Ubuntu+Debian installs of Erlang is high, higher than Haskell and almost as
high as OCaml, so I expect Erlang has the same OS demographics.

A case might also be made for Mathematica, which allegedly has a huge number
of users. However, I've sold a Mathematica product and found it much harder
to garner users and turn a profit from it than OCaml or F#. So I don't
believe Mathematica has that many users. The number of people searching for
certain versions of mathematica (to disambiguate the homonym) is
comparatively small:

http://www.google.com/trends?q=mathematica+5.1%2Cmathematica+5.2%2Cma...

--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/?u


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jon Harrop  
View profile  
(1 user)  More options Dec 10 2008, 4:08 am
Newsgroups: comp.lang.functional
From: Jon Harrop <j...@ffconsultancy.com>
Date: Wed, 10 Dec 2008 09:08:26 +0000
Local: Wed, Dec 10 2008 4:08 am
Subject: Re: Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3, 2008

The meaning of the phrase "functional language" has been corrupted by the
Haskell community. They use it to mean "without side effects" but far more
people take it to mean "providing first-class functions" and reserve the
phrase "purely functional" for the Haskeller's definition. This has
confused a lot of people including the author of this article.

He starts off "functional languages like Scala, F#, Erlang" which follows
convention. But then he says "functional language programs avoid state and
mutable data" but that is not the commonly-held interpretation. Finally he
writes:

  "FP languages ... cheat when it's practical to do so, breaking the pure FP
paradigm in carefully controlled ways. Monads are one such trick..."

That is basically unheard of outside Haskell these days. None of the other
functional languages that he named at the beginning "carefully control"
side effects.

So his article was tainted with Haskell.

--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/?u


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jon Harrop  
View profile  
 More options Dec 10 2008, 5:34 am
Newsgroups: comp.lang.functional
From: Jon Harrop <j...@ffconsultancy.com>
Date: Wed, 10 Dec 2008 10:34:13 +0000
Local: Wed, Dec 10 2008 5:34 am
Subject: Re: Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3, 2008

Benjamin L. Russell wrote:
> Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3,
> 2008

Someone on the Haskell list pointed out that the article gets the names of
both Martin Odersky and Don Syme wrong.

--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/?u


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Benjamin L. Russell  
View profile   Translate to Translated (View Original)
 More options Dec 10 2008, 7:29 am
Newsgroups: comp.lang.functional
From: Benjamin L. Russell <DekuDekup...@Yahoo.com>
Date: Wed, 10 Dec 2008 21:29:53 +0900
Local: Wed, Dec 10 2008 7:29 am
Subject: Re: Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3, 2008
On Wed, 10 Dec 2008 09:08:26 +0000, Jon Harrop <j...@ffconsultancy.com>
wrote:

>The meaning of the phrase "functional language" has been corrupted by the
>Haskell community. They use it to mean "without side effects" but far more
>people take it to mean "providing first-class functions" and reserve the
>phrase "purely functional" for the Haskeller's definition. This has
>confused a lot of people including the author of this article.

Actually, the meaning of "without side effects" is used not just
within the Haskell community, but also within the PLT Scheme community
as well.  For example, in the entry "PLT Scheme Blog: Getting rid of
set-car! and set-cdr!" (see
http://blog.plt-scheme.org/2007/11/getting-rid-of-set-car-and-set-cdr...),

Matthew Flatt writes:
>The map function is most beautiful when the given f is functional. If f has side-effects, the the above implementation

over-specifies map, which is traditionally allowed to process the list in any order that it wants (though PLT Scheme
guarantees left-to-right order, as above). Arguably, when some other Schemer provides a non-functional f, then it’s their
problem; they have to deal with the consequences (which may well be minor compared to some benefits of using mutation).

I.e., Flatt uses "functional" to mean "without side effects" as well.
So, this meaning is associated not just with Haskell, but with PLT
Scheme as well.

>That is basically unheard of outside Haskell these days.

Not quite.  This meaning is actually quite common in the PLT Scheme
community as well.

>So his article was tainted with Haskell.

Again, this definition is not just limited to Haskell.  I think that
the distinction is more one of functional programming languages with a
more academic focus (Haskell and PLT Scheme) versus those with a more
industrial focus (OCaml and F#).

-- Benjamin L. Russell
--
Benjamin L. Russell  /   DekuDekuplex at Yahoo dot com
http://dekudekuplex.wordpress.com/
Translator/Interpreter / Mobile:  +011 81 80-3603-6725
"Furuike ya, kawazu tobikomu mizu no oto."
-- Matsuo Basho^


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
toby  
View profile  
(2 users)  More options Dec 10 2008, 11:23 am
Newsgroups: comp.lang.functional
From: toby <t...@telegraphics.com.au>
Date: Wed, 10 Dec 2008 08:23:12 -0800 (PST)
Local: Wed, Dec 10 2008 11:23 am
Subject: Re: Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3, 2008
On Dec 9, 1:49 pm, Jon Harrop <j...@ffconsultancy.com> wrote:

> ...I am much more concerned by the complete lack
> of useful innovation outside F#. Why are the open source functional
> languages and their implementations so out of date and why are other
> companies not moving to replicate F#'s success elsewhere?

Erlang seems to be doing just fine, but only in "the real world".

Re F# - hasn't it been proved by now that open source cannot
*possibly* compete with Microsoft and its multibillion dollar R&D
budgets??


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
toby  
View profile  
(2 users)  More options Dec 10 2008, 11:29 am
Newsgroups: comp.lang.functional
From: toby <t...@telegraphics.com.au>
Date: Wed, 10 Dec 2008 08:29:57 -0800 (PST)
Local: Wed, Dec 10 2008 11:29 am
Subject: Re: Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3, 2008
On Dec 10, 3:32 am, Jon Harrop <j...@ffconsultancy.com> wrote:

> ...
> So Mac OS X appears to be dead as far as FPLs are concerned. Having tried to
> develop on the Mac I am not surprised: the infrastructure available for
> programmers is just awful compared to Linux and Windows.

Can you be more specific? In terms of CLI tools, obviously there is
parity between OS X and Linux (and Windows lags far behind).

What exactly in 'infrastructure' did you find lacking on OS X? A
modern package manager?


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jon Harrop  
View profile  
(1 user)  More options Dec 10 2008, 1:11 pm
Newsgroups: comp.lang.functional
From: Jon Harrop <j...@ffconsultancy.com>
Date: Wed, 10 Dec 2008 18:11:35 +0000
Local: Wed, Dec 10 2008 1:11 pm
Subject: Re: Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3, 2008
Benjamin L. Russell wrote:
> On Wed, 10 Dec 2008 09:08:26 +0000, Jon Harrop <j...@ffconsultancy.com>
> wrote:
>>The meaning of the phrase "functional language" has been corrupted by the
>>Haskell community. They use it to mean "without side effects" but far more
>>people take it to mean "providing first-class functions" and reserve the
>>phrase "purely functional" for the Haskeller's definition. This has
>>confused a lot of people including the author of this article.

> Actually, the meaning of "without side effects" is used not just
> within the Haskell community, but also within the PLT Scheme community
> as well.  For example, in the entry "PLT Scheme Blog: Getting rid of
> set-car! and set-cdr!" (see

http://blog.plt-scheme.org/2007/11/getting-rid-of-set-car-and-set-cdr...),

> Matthew Flatt writes:

>>The map function is most beautiful when the given f is functional. If f
>>has side-effects, the the above implementation
> over-specifies map, which is traditionally allowed to process the list in
> any order that it wants (though PLT Scheme guarantees left-to-right order,
> as above). Arguably, when some other Schemer provides a non-functional f,
> then it’s their problem; they have to deal with the consequences (which
> may well be minor compared to some benefits of using mutation).

> I.e., Flatt uses "functional" to mean "without side effects" as well.
> So, this meaning is associated not just with Haskell, but with PLT
> Scheme as well.

Sure. Most functional programmers would use "pure" and "impure" (even the
Fortran community). However, Matthew Flatt is writing on his own blog and
not aggressively inciting vandalism. In contrast, Don Stewart's response
was "we should take charge of the wikipedia page".

Regardless, the article you cited is not self-consistent in this respect.
They should not describe Scala and F# as functional and then claim that
functional languages carefully control side effects using monads when, in
fact, monads are virtually unheard of outside Haskell because the vast
majority of functional languages do not carefully control side effects at
all.

>>That is basically unheard of outside Haskell these days.

> Not quite.  This meaning is actually quite common in the PLT Scheme
> community as well.

The PLT Scheme community are basically unheard of:

http://www.google.com/trends?q=plt+scheme%2Cf%23&ctab=0&geo=all&date=...

>>So his article was tainted with Haskell.

> Again, this definition is not just limited to Haskell.

The people aggressively pushing this definition are almost entirely from the
Haskell community.

> I think that
> the distinction is more one of functional programming languages with a
> more academic focus (Haskell and PLT Scheme) versus those with a more
> industrial focus (OCaml and F#).

I cannot concur with that classification. OCaml is developed by an academic
institute. Haskell's only significant implementation is developed almost
entirely by Microsoft. OCaml's greater success in industry is incidental.

--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/?u


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andrew Reilly  
View profile  
 More options Dec 10 2008, 4:50 pm
Newsgroups: comp.lang.functional
From: Andrew Reilly <andrew-newsp...@areilly.bpc-users.org>
Date: 10 Dec 2008 21:50:01 GMT
Local: Wed, Dec 10 2008 4:50 pm
Subject: Re: Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3, 2008

On Wed, 10 Dec 2008 18:11:35 +0000, Jon Harrop wrote:
> The PLT Scheme community are basically unheard of:

> http://www.google.com/trends?q=plt+scheme%2Cf%

23&ctab=0&geo=all&date=all&sort=0

I just have to point out, for those who would otherwise not bother to
follow that link, that it is hilarious.  It shows that some of the
statistics on F# have been incredibly skewed not by its great popularity
as a language (about which I can say nothing) but by the fact that it
shares its name with the first two characters of the popular expletive:
F#@?K
[Consider the background "hit" level for F# for the period before it was
announced...]

How cool is that?

--
Andrew


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jon Harrop  
View profile  
(1 user)  More options Dec 10 2008, 5:04 pm
Newsgroups: comp.lang.functional
From: Jon Harrop <j...@ffconsultancy.com>
Date: Wed, 10 Dec 2008 22:04:29 +0000
Local: Wed, Dec 10 2008 5:04 pm
Subject: Re: Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3, 2008

Google registered insignificant searches for F# before F# was released. So
either expletives were invented when F# was released or you're wrong.

--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/?u


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jon Harrop  
View profile  
(1 user)  More options Dec 10 2008, 5:21 pm
Newsgroups: comp.lang.functional
From: Jon Harrop <j...@ffconsultancy.com>
Date: Wed, 10 Dec 2008 22:21:07 +0000
Local: Wed, Dec 10 2008 5:21 pm
Subject: Re: Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3, 2008

toby wrote:
> On Dec 9, 1:49 pm, Jon Harrop <j...@ffconsultancy.com> wrote:
>> ...I am much more concerned by the complete lack
>> of useful innovation outside F#. Why are the open source functional
>> languages and their implementations so out of date and why are other
>> companies not moving to replicate F#'s success elsewhere?

> Erlang seems to be doing just fine, but only in "the real world".

I meant learning from F#'s strengths as a language rather than generic
success. Erlang is a very different language, of course.

> Re F# - hasn't it been proved by now that open source cannot
> *possibly* compete with Microsoft and its multibillion dollar R&D
> budgets??

Companies are failing as well as open source:

Sun had the opportunity to build something great. They got halfway there,
acquired a lot of users and then started moving in completely the wrong
direction.

Novell have Mono but they are striving to replicate yesteryear's
functionality from Windows and don't even intend to support F#, WPF or any
of the ground-breaking work that Microsoft have already done.

Lots of other companies like IBM and Wolfram Research have a lot to gain
from similar work but they are not building solid foundations.

--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/?u


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Benjamin L. Russell  
View profile  
 More options Dec 11 2008, 1:19 am
Newsgroups: comp.lang.functional
From: Benjamin L. Russell <DekuDekup...@Yahoo.com>
Date: Thu, 11 Dec 2008 15:19:41 +0900
Local: Thurs, Dec 11 2008 1:19 am
Subject: Re: Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3, 2008
On Wed, 10 Dec 2008 08:32:42 +0000, Jon Harrop <j...@ffconsultancy.com>
wrote:

>The book "Pro C# 2008 and
>the .NET 3.5 platform: Fourth Edition" covers functional programming in
>detail and it alone has outsold all books on all conventional FPLs
>combined.

How did obtain the sales figures?  The reason that I ask is that I
would like to verify this by conducting my own sales figure research,
but when I searched through Google for a way to obtain sales figures,
I only found a site that said that in the case of novels, actual sales
figures for each publication were only known to publishers, who almost
always inflated the figures in their own interest (see
http://ask.metafilter.com/49470/Where-Can-I-Find-Sales-Figures-for-No...

>If you're looking for information sales figures for a single book (e.g. how many copies have been sold of The Grapes of Wrath or Beloved), it's next to impossible.

>The publisher(s) alone have the raw data and they will not tell, since it's almost always in their interest to hide and/or inflate the numbers. Even when publishers release information (such as on book cover copy of bestsellers), the number they show is the copies they printed, which is always more than the number sold.

>In some cases you could probably get best-guess estimates, but there are complicating factors even in trying to estimate.

It's not clear where I should go to obtain the raw data on the actual
sales figures per title.  If I could, then I could gather some
evidence either to verify or refute your assertion.

Currently, the best I can do is to rely on published sales rankings,
from which it is almost impossible either to verify or refute your
claim that "The book 'Pro C# 2008 and the .NET 3.5 platform: Fourth
Edition' covers functional programming in detail and it alone has
outsold all books on all conventional FPLs combined," which relies on
sales figures.

For example, according to Amazon.com, as of Thursday, December 11,
2008, at 3:06 PM (Tokyo time), the book "Pro C# 2008 and the .NET 3.5
platform: Fourth Edition"  (see
http://www.amazon.com/2008-NET-Platform-Fourth-Windows-Net/dp/1590598...)
has an Amazon.com sales rank of "#4,434 in Books."

By comparison, the book "Real World Haskell (Paperback)" (see
http://www.amazon.com/Real-World-Haskell-Bryan-OSullivan/dp/059651498...)
currently has an Amazon sales rank of "#5,788 in Books," which doesn't
seem extremely far away, especially for a single title.

Further, the book "Programming Erlang: Software for a Concurrent World
[ILLUSTRATED] (Paperback)" (see
http://www.amazon.com/Programming-Erlang-Software-Concurrent-World/dp...)
also has an Amazon sales rank of "#8,534 in Books," again not too far
off.

Collectively speaking, it should only take a few more titles like that
match the sales figures for your book  "Pro C# 2008 and the .NET 3.5
platform: Fourth Edition."

Can you tell me how to obtain raw actual sales figures per title for
each book related to functional programming so that I can
independently either verify or refute your claim based on sales?

-- Benjamin L. Russell
--
Benjamin L. Russell  /   DekuDekuplex at Yahoo dot com
http://dekudekuplex.wordpress.com/
Translator/Interpreter / Mobile:  +011 81 80-3603-6725
"Furuike ya, kawazu tobikomu mizu no oto."
-- Matsuo Basho^


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jon Harrop  
View profile  
(2 users)  More options Dec 13 2008, 11:23 am
Newsgroups: comp.lang.functional
From: Jon Harrop <j...@ffconsultancy.com>
Date: Sat, 13 Dec 2008 16:23:35 +0000
Local: Sat, Dec 13 2008 11:23 am
Subject: Re: Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3, 2008

toby wrote:
> On Dec 10, 3:32 am, Jon Harrop <j...@ffconsultancy.com> wrote:
>> ...
>> So Mac OS X appears to be dead as far as FPLs are concerned. Having tried
>> to develop on the Mac I am not surprised: the infrastructure available
>> for programmers is just awful compared to Linux and Windows.

> Can you be more specific?

The last four generations of fundamental technologies that developers have
been building are:

1. Unmanaged native code languages like C and C++.

2. Managed single-language VMs like OCaml and ObjC/Cocoa, improving
development speed and the reliability of self-contained code.

3. Concurrent managed single-language VMs like Java, making multicore
programming easier.

4. Concurrent managed common-language VMs like the CLR, spreading seemless
interoperability to almost all application-level libraries and offering it
all up from a multitude of languages.

Apple provided 1 and 2 as first-class citizens on Mac OS X. They
collaborated to help make 3 (Java) a second-class citizen on Mac OS X. They
have not even begun to provide 4 (a CLR).

In contrast, Microsoft are now migrating to the next generation, pushing
higher-level languages like F# into the mainstream by building upon core
functionality like tail calls that are not even available in the nearest
competitor (the JVM). Microsoft are also building rapidly on their new
foundation, providing safe high-level and high-performance APIs like WPF
that are accessible from dozens of languages.

> In terms of CLI tools, obviously there is parity between OS X and Linux
> (and Windows lags far behind).

Windows PowerShell is an obvious counter example.

> What exactly in 'infrastructure' did you find lacking on OS X?

No common language run-time and, after that, nothing built on the common
language run-time.

Like Linux, Mac OS X offers only a motley crew of uninteroperable
components.

--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/?u


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Thant Tessman  
View profile  
(2 users)  More options Dec 13 2008, 5:29 pm
Newsgroups: comp.lang.functional
From: Thant Tessman <thant.tess...@gmail.com>
Date: Sat, 13 Dec 2008 15:29:05 -0700
Local: Sat, Dec 13 2008 5:29 pm
Subject: Re: Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3, 2008

Jon Harrop wrote:

[...]

> 4. Concurrent managed common-language VMs like the CLR, spreading seemless
> interoperability to almost all application-level libraries and offering it
> all up from a multitude of languages. [...]

There's a saying about how you can write FORTRAN in any language...

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Thant Tessman  
View profile  
(1 user)  More options Dec 13 2008, 6:29 pm
Newsgroups: comp.lang.functional
From: Thant Tessman <thant.tess...@gmail.com>
Date: Sat, 13 Dec 2008 16:29:24 -0700
Local: Sat, Dec 13 2008 6:29 pm
Subject: Re: Dr. Dobb's | It's Time to Get Good at Functional Programming | 12 3, 2008

Jon Harrop wrote:
> toby wrote:

[...]

>> In terms of CLI tools, obviously there is parity between OS X and Linux
>> (and Windows lags far behind).

> Windows PowerShell is an obvious counter example.

Oh, and can you actually cut-and-paste text in the shell yet? If so, how
come it took them twenty years to figure that one out?

-thant


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google