Strange Loop

2009 - 2023

/

St. Louis, MO

Polyglot and Polyparadigm Programming for Better Agility

Is one language and one paradigm right for your entire application? Probably not. This talk argues that modern applications are easier to implement and evolve when they combine several, appropriately-chosen programming languages and modularity paradigms (object-oriented, aspect-oriented, functional, etc.).

You’re probably already using a combination of Java, C#, C++, XML, HTML, Javascript, SQL, ant, maven, make, rake and assorted “shell” scripts. This talk goes to the next level of integration, where “components + scripts = applications”, architectures that integrate higher-level policy code, written in high-productivity scripting languages (e.g., Ruby, and Python), with lower-level components, written for performance or to bridge to 3rd-party and legacy components. We’ll discuss classic, prototypical examples like Emacs (C plus elisp) and more modern examples that pair Ruby with C and Java in various ways. We’ll also discuss how domain-specific languages (DSLs) fit into this picture.

Are objects the best way to modularize your code? We’ll see how functional programming in languages like Erlang, Clojure, and Scala makes it easier to write robust concurrent programs. We’ll also see how “cross-cutting concerns” led to aspect-oriented programming.

Dean Wampler

Dean Wampler

Dean Wampler is a Consultant at Object Mentor, Inc. and the co-author of the forthcoming book, “Programming Scala” (O’Reilly - see programmingscala.com). Dean also contributes to Ruby open source projects and has many years of Enterprise Java experience. He believes the best designs are “poly-paradigm”, combining Object-Oriented (OOP), Functional (FP), and Aspect-Oriented (AOP) programming, and “polyglot”, combining the best languages for the job. Dean speaks frequently at conferences on these topics.