prosfilaes (3) [Avatar] Offline
#1
Section 2.2 says "The period between 1995 and 2008 was essentially the “Dark Ages” of functional programming, as the languages such as C, C++ and Java grew in usage and the imperative and Object-Oriented programming style became the most popular way to write applications and solve problems." I do not understand why. To quote Knuth <http://www-cs-faculty.stanford.edu/~uno/mmix.html>:

Moreover, if I did use a high-level language, what language should it be? In the 1960s I would probably have chosen Algol W; in the 1970s, I would then have had to rewrite my books using Pascal; in the 1980s, I would surely have changed everything to C; in the 1990s, I would have had to switch to C++ and then probably to Java.

All of those are imperative languages with the last two being OO. Imperative programming has always been the dominant programming style, though if counted seperately OO possibly has dominated in recent years. Perhaps the death of the LISP machine was more or less complete by 1995 (though they don't seem to have been much of a market force ever), but GHC was first released in 1989 and Erlang was publically released in 1996.

As for "languages such as C, C++ and Java grew in usage", they seem to have largely displaced Pascal and Ada and various Basics, but that doesn't seem like a change that affected functional programming.
jamie.allen (13) [Avatar] Offline
#2
Re: "Dark Ages" of Functional Programming
I think that's a fair statement. My point was that during those years, computer science curriculae taught less FP than before, and more students in CompSci were produced with less exposure to FP concepts than were taught in prior epochs. Does that make sense? I can clarify that in the book.
alan.lavintman (2) [Avatar] Offline
#3
Re: "Dark Ages" of Functional Programming
@prosfilaes I got your point but somehow during those years functional programming was in the dark probably because of many reasons:

1) Java garbage collection/portability/performance was an awsome change and had classes as first class citizens.
2) "Probably because of #1" object oriented design started to have an huge impact in the market and people tend to design even web application in an object oriented manner, while those are data oriented applications, patterns like dto/domain model/repositories were very popular.
3) Probably because on the type of engineer needed at that time, object oriented design fit very well, spread responsibilities, unit testing and mocking, etc.

Anyhow, very challenging times are coming ahead where vast amount of data and huge throughput services are required.
prosfilaes (3) [Avatar] Offline
#4
Re: "Dark Ages" of Functional Programming
> @prosfilaes I got your point

I don't think you did, because the question is what was going on in functional programming prior to 1995 that meant 1995 was a drop? I'll accept the academic argument, because I don't really have a good view of that side of things. But marketwise, prior to that, there seems to be some marginal Lisp usage, but there was some marginal Lisp usage after that, so the change seems to be too small to call a Dark Age. As I said above, Java took market share from Ada, C, C++, Pascal, and maybe Visual Basic and Cobol, not really from any functional languages.

> Anyhow, very challenging times are coming ahead where
> vast amount of data and huge throughput services are
> required.

A statement that probably could have been written and would have been true any year since the computer was invented.