DC ALT.NET - 5/22/2008 - Applying Lessons Learned from Lisp
Applying Lessons Learned from Lisp
There has been a lot of talk and some hype (deserved and undeserved) around functional programming lately, partly due to looking for ways for expressing parallel applications and multi-core scenarios. Some might find it interesting that functional programming has its roots back in the 1950s, well before Object Oriented Programming, yet has been relegated mostly to the research community mostly.
Back in 1958, John McCarthy from MIT designed Lisp and has been a mainstay in the Artificial Intelligence field for a long time after that. Since that time, there have been quite a few Lisp dialects to pop up due to the fact that many of the universities and labs did not share their information before everyone was connected to ARPANET. Two that have really emerged since then are Common Lisp, an attempt to standardize the Lisp variants into one, and Scheme. Lisp is a strongly typed dynamic language, meaning that if when it is interpreted, the function does not exist, an exception will be thrown. By it's nature, it is a functional language with such elements as lists, lambdas and so on. Some of the interesting additions to Lisp is the Common Lisp Object System (CLOS) which adds OOP functionality to the Common Lisp language. It's a bit different than what we think of OOP in C++, C#, Java and other OO langauges.
In the .NET world, we have IronLisp and IronScheme. IronLisp has been deprecated in favor of IronScheme going forward. That's the beauty of .NET is to build these dynamic languages on top of the DLR with relative ease, truly speaks to how flexible the type system and CLR are. To make OOP and FP first class citizens within the .NET space is also pretty interesting as well.
Back to Lisp, if you want to hear more, you should check out Dick Gabriel's appearance on Software Engineering Radio Episode 84 on Common Lisp. Dick has been a noted authority in the Lisp space for some time and is the organizer for OOPSLA back in 2007. It's one of their better episodes, so I'd encourage you to listen to it. I know I did, but then again, I have a pretty long commute, so I have time to listen to these things.
Who We Are
So, as I said, I run the DC ALT.NET group which meets monthly to discuss ways of bettering ourselves. You won't find us doing what most other user groups do in the area and is more of an intimate environment for learning and discussion. Typically we have the first hour for the topic of discussion, this month being Lisp, and then the second hour is Open Spaces, so it encourages everyone to speak and bring a topic they are passionate about. As always, we're looking for sponsors to help us out along the way. Since we're in the Washington DC area, and traffic can be bad, we tend to move from month to month to accommodate. That may change in the future as we grow, but for now, it works nicely. So, if you're in the DC area, come check us out. And, hopefully I'll get Dave Laribee to stop by before too long as well...
Where I'll Be
In addition to the meeting next week, I will be speaking at the Philly ALT.NET group meeting on May 21st on F# and an introduction to Functional programming. This should be a great session and I hope there will be a good crowd for it. Also, this weekend is the NoVA Code Camp in which I have two sessions, "Introduction to F# and Functional Programming" and "Improve Your C# with Functional Programming Ideas". Look forward to seeing everyone at those events!