InfoQ Homepage Concurrency Content on InfoQ
-
James Spooner on Data Flow Parallelism and Hardware Acceleration
James Spooner explains how Data Flow Parallelism works and how it helps to design efficient parallel algorithms. Also: OOP vs. Parallelism.
-
Trisha Gee from LMAX Discusses Concurrent Java Programming, Agile, and Diversity in IT
In a wide-ranging interview, LMAX's Trisha Gee talks to Charles Humble about using Java for low latency programming, and the Disruptor, an open source concurrent programming framework developed by LMAX. She also discusses the agile management techniques used at LMAX, and issues around gender and ethnic diversity in IT.
-
Philip Wadler on Functional Programming
Philip Wadler talks about the role of functional programming and some of the reasons for its slow rise in the past and its influence today. Also: lambda calculus, monads, continuations and much more.
-
Rich Hickey on Datomic: Datalog, Databases, Persistent Data Structures
Rich Hickey explains the ideas behind the Datomic database: why Datalog is used as the query language, the functional programming concepts at its core, the role of time in the DB and much more.
-
John Nolan on the State of Hardware Acceleration with GPUs/FPGAs, Parallel Algorithm Design
John Nolan shows the state of hardware acceleration with GPUs and FPGAs, why it's hard to write efficient code for them, and why to favor polymorphism over if statements for performance.
-
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.