Andrew Sorensen explains live music coding with Extempore, the challenges of real time programming, garbage collection, static analysis to determine real time code meets its deadlines, hotswapping code, and much more.
Felix Klock II explains concepts of the Rust language: the concurrency model, the type system, allocation and ownership models, the macro system, its style of FP and OOP, and much more.
Barbara Liskov keynoted at QCon London 2013 on the power of abstraction. Afterwards, InfoQ caught up with up with her to ask her about language design, modularity and distributed computation.
Rúnar Bjarnason talks about the ideas behind and features in the popular scalaz library, programming concepts like (bi-directional) lenses, Scala Macros, and much more.
Markus Völter explains the concepts of the MPS Language Workbench, how it enabled the mbeddr project, approaches to DSLs and how to combine them, programs vs models, formal verification, and more.
Mike Williams, co-creator of Erlang discusses the history of and influences on Erlang as well as languages and paradigms used at Ericsson for large scale development and embedded programming.
Simon Thompson and Huiqing Li explain refactoring with functional languages and Wrangler (Erlang) and HaRe (Haskell). Also: how Wrangler's ad-hoc mode allows everyone to write custom refactorings.
Kostis Sagons talks about how type checking can help with a dynamic language like Erlang and how static analysis tools like Dialyzer or automated refactoring tools like Tidier help keep code clean.
In this interview Joe Armstrong and Robert Virding, co-inventors of the Erlang language, talk about the future of the language, including its use in web programming, its ability to scale and more. The duo also discuss Erlang support for NoSQL databases, running the language on the Java Virtual Machine (JVM) and comparisons with other languages such as Google’s Go.
Rob Pike discusses Google Go: OOP programming without classes, Go interfaces, Concurrency with Goroutines and Channels, and the Go features that help keep GC pauses short.
Rob Pike discusses concurrency in programming languages: CSP, channels, the role of coroutines, Plan 9, MapReduce and Sawzall, processes vs threads in Unix, and more programming language history.