I really did not believe so. I actually loved the "Science" part of Computer Science as much as I love the "engineering" part of it.
I do not know why and how did I miss such a wonderful thing as pure programming language (even if it may be just another jargon) and the relation to the term Lambda Calculus. I did not come across even once in my entire 3 years time at IIT Madras. May be I heard, but did not listen.
Better late than never. Let me start with a slide from ACM SIGPLAN conference's talk on history of Haskell.
Screenshot from talk (copyright to ACM) |
A quick list of related things as I see it now
- Moore's law stopped working
- Multi-core chips evolved and became stable
- The "useful" languages have "side effects"
- Principles of "REST" tells be stateless, so that it is cache-able,predictable and reproducible (sounds like a part of lambda effect)
- Single Responsibility Principle says it is a good practice to do one thing in one class. (Does it sound again like "one function" for one class?).
- Immutable variables ( the finals in java) is better for "thread" safety.
It is rather funny to see Java 8 came out with Lambda moving towards the "nirvana" after seven years from this talk.
Some of the links which inspired me