Welcome to
Polyglot Programming
Welcome
Polyglot Programming1 is a website dedicated to exploring the benefits (and drawbacks) of combining multiple programming languages and multiple "modularity paradigms" in application development. The "paradigms" include Object-Oriented Programming, Aspect-Oriented Programming, Functional Programming, etc.
I call this combination polyglot and poly-paradigm programming (PPP), to give it a somewhat catchy name.
PPP is not a new idea. One of the most successful applications of all time is Emacs, which is still widely used even though it is over twenty years old. Emacs succeeded because it combines a fast kernel written in C, which gives Emacs speed and access to operating system services, combined with a scripting engine that uses a Lisp dialect called Emacs Lisp (or ELisp, for short). Most of the functionality of Emacs is implemented in ELisp. It is this scripting capability that has made Emacs so easy to adapt, even by end users, to meet changing needs over the past 20 years.
This site is an outgrowth of my work with clients on this topic, as well as industry trends. You can read more about my ideas on polyglot programming in this presentation.
I also blog about it at my blog and at the Object Mentor blog.
News:
June 11, 2009: Improved The Seductions of Scala (PDF) after presenting it today to a developer team. Added a little more content, clarified some slides, and made sure the "presenter notes" (which are included) actually match the content!
June 2, 2009: Here's the final version of my JavaOne talk Don't Do This! How Not to Write Java Software (PDF). I discuss 10 mistakes I see Java teams make, why they are bad, and what to do instead.
May 30, 2009: Posted my talks at today's Chicago Code Camp. They are updates to previous talks.
March 12, 2009: Another update to my Better Ruby Through Functional Programming (PDF) presentation, given at SDWest 2009. I introduce the principles of Functional Programming and why applying these principles can improve the quality of Ruby applications, especially when concurrency is required. I also posted the code examples. Confreaks recorded the RubyConf version of the talk.
February 19, 2009: Tonight was the first meeting of the Chicago Area Scala Enthusiasts (CASE - a bit ironic, isn't it ;). I presented an abbreviated version of my introduction to Scala, The Seductions of Scala (PDF).
January 12, 2009: An update to my Better Ruby Through Functional Programming (PDF) talk that I gave tonight at CHIRB. This is an expanded version of the talk I gave at RubyConf 2008 where I introduce the principles of Functional Programming and why applying these principles can improve the quality of Ruby applications, especially when concurrency is required. I also posted the code examples
December 16, 2008: I posted an update to my introduction to Scala, The Seductions of Scala (Zip), which I'm presenting tonight at the Chicago Java User's Group. To view the presentation, open html/all.html in a browser. The code used in the slides is in the code directory.
November 24, 2008: I posted my Better Ruby Through Functional Programming (PDF) notes. This is the talk I gave at RubyConf 2008 where I introduce the principles of Functional Programming and why applying these principles can improve the quality of Ruby applications, especially when concurrency is required.
November 20, 2008: I posted an extended version of the slides from my QCon San Francisco talk, Radical Simplification Through Polyglot and Poly-Paradigm Programming (PDF). InfoQ.com may offer a video of this talk. Stay tuned.
November 13, 2008: I posted my introduction to Scala, The Seductions of Scala (Zip). I hacked-up a presentation tool that Dave Thomas created, which is based on S5. To view the presentation, open html/all.html in a browser. The code used in the slides is in the code directory.
1 Neal Ford may have been the first to coin this term.




