InfoQ Homepage Concurrency Content on InfoQ
-
Mike Williams on the History of Erlang, Modeling and Large Scale Design
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.
-
Francesco Cesarini and Simon Thompson on Erlang
Francesco Cesarini and Simon Thompson discuss how Erlang's design allows fault tolerance and resilience, modular error handling, details of the actor model implementation and distributed programming.
-
Contrasting Haskell & Erlang in peer-to-peer protocol implementation
Based on his experience of writing BitTorrent clients - Combinatorrent and Etorrent – in Haskell and Erlang respectively, Jesper Louis Andersen presents the advantages of using these languages as well as the challenges that he encountered. He details how did he exploit the elegance of each of these two languages to leverage robust concurrency based on message-passing.
-
Nick Kallen Discusses Scala at Twitter
Nick Kallen from Twitter is interviewed by Randy Shoup about Twitter’s use of the Scala programming language. Nick discusses using Scala to build high-performance and scalable network services (including FlockDB), the powerful dualism of Scala which combines the best of object-oriented and functional approaches and also provides his views on the tradeoffs between static and dynamic languages.
-
Rob Pike on Google Go: Concurrency, Type System, Memory Management and GC
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 on Parallelism and Concurrency in Programming Languages
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.
-
Cliff Click on Azul's Pauseless GC, Zing, JVM Languages
Cliff Click discusses the Pauseless GC algorithm and how Azul's Zing implements it on plain x86 CPUs. Also: what keeps dynamic languages slow on the JVM, invokedynamic, concurrency and much more.
-
Dean Wampler on the State of Scala: 2.8, Concurrency, Functional Programming
Dean Wampler discusses the state of Scala: the big changes in 2.8, the Scala on .NET, concurrency and parallelism with Scala and Akka, and experiences with adoption of functional languages.
-
Paul King on the Groovy Ecosystem
Paul King discusses the state of Groovy and its maturing ecosystem which includes IDE support, static analysis tools, testing frameworks and the GPars library for concurrency.
-
Rich Hickey on Protocols and Clojure 1.3
Rich Hickey explains the ideas behind Clojure 1.2's new polymorphism constructs deftype and protocols. Also: Clojure 1.3 features such as faster arithmetic and future features like Pods.
-
Kresten Krab Thorup, Robert Virding Discuss the Erlang VM
Kresten Krab Thorup and Robert Virding discuss the origins of Erlang, the state of the Erlang VM, integrating native code with Erlang etc. Also: the challenges of running Erjang/Erlang on the JVM.
-
Kresten Krab Thorup on Erjang, JVM Languages, Kilim
Kresten Krab Thorup talks about the Erjang project and explains the challenges of bringing Erlang to the JVM, using Kilim for lightweight processes, the implementation of tail recursion and much more.