InfoQ Homepage Presentations E Pluribus Unum: A Survey of Multi-paradigm Programming
E Pluribus Unum: A Survey of Multi-paradigm Programming
Summary
Paul Snively outlines the benefits of programming with multi-paradigm languages such as Scala, C++ or OCaml.
Bio
Paul Snively is a 30-year veteran of the software development industry with a passion for programming languages, physics, and math. He's developed everything from games to word processors to educational software to investment advice systems to e-commerce systems in at least half a dozen languages. Paul uses Scala on the job in the Cloud Infrastructure Engineering group at VMware.
About the conference
Software is Changing the World. QCon empowers software development by facilitating the spread of knowledge and innovation in the developer community. A practitioner-driven conference, QCon is designed for technical team leads, architects, engineering directors, and project managers who influence innovation in their teams.
Community comments
Paradigms, not languages
by Franklin Chen,
multi-paradigm and multi-platform
by Faisal Waris,
Paradigms, not languages
by Franklin Chen,
Your message is awaiting moderation. Thank you for participating in the discussion.
Very good presentation! Since languages are just a means, not an end in themselves, for expressing paradigms, bringing the focus to the paradigms is the way to go.
multi-paradigm and multi-platform
by Faisal Waris,
Your message is awaiting moderation. Thank you for participating in the discussion.
Paul mentions that OCaml (which I personally think is an excellent language) is multi-paradigm and runs on the platforms we care about today cloud, web, IOS, Android (have to add Windows to the list). I would like to add that so does F# which is an OCaml derivative. You can target IOS, Android via Mono and the web via WebSharper(websharper.com) and FunScript (funscript.org).
Also, I believe Async (F#, C#, C++ '11) is a language paradigm that has emerged recently and is necessary for cloud programming and building responsive UIs. Here I am talking about Async as a language feature that allows us to express the intent clearly. Many languages have Async programming capability via callbacks and continuations but the intent can get muddled when the programs become complex.