InfoQ Homepage Architecture & Design Content on InfoQ
-
Embracing Concurrency at Scale
Justin Sheehy discusses designing reliable distributed systems that can scale in order to deal with concurrency problems and the tradeoffs required by such systems.
-
Y Not? - Adventures in Functional Programming
Jim Weirich uses Y-Combinator as a tool to explain the nature of functional programming.
-
Expressing Abstraction - Abstracting Expression
Ola Bini attempts to answer a few questions: Why are new languages still being created, Is it worth choosing languages strategically, and Does language actually matter?
-
Speed and Innovation through Architecture
Jan Bosch discusses the importance of speed and innovation in software development, covering Innovation Experiment Systems, a 3 layer product model, and the role of architecture and scalability.
-
Relational Programming in miniKanren
Daniel P. Friedman and William E. Byrd demonstrate miniKanren, a simplified version of KANREN - a declarative logic programming system with relations embedded in a pure functional subset of Scheme.
-
How to Follow Instructions
Leonard Richardson discusses REST and hypermedia links and forms – seen as instructions from the server to the client. Client using instructions can be reused and support complex behavior.
-
Building Cloud Services with Riak
Andy Gross reports on how Basho used Riak and Erlang to build their cloud storage service.
-
Not Your Father’s Transaction Processing
Michael Stonebraker compares how RDBMS, NoSQL and NewSQL support today’s big data transaction processing needs. He also introduces VoltDB, an in-memory NewSQL database.
-
The Racket Way
Matthew Flatt explains the Racket – a Lisp dialect – way through examples: everything is a program, concepts are language constructs, the language is extensible, and everything composes.
-
Package Management for Windows Azure
Richard Astbury demoes an Azure package management system useful for porting applications to Microsoft’s PaaS.
-
Runaway Complexity in Big Data, and a Plan to Stop It
Nathan Marz outlines several sources of complexity introduced in data systems - Lack of human fault-tolerance, Conflation of data and queries, Schemas done wrong - and what can be done to avoid them.
-
The Ideal Programmer - Why They Don't Exist and How to Manage Without Them?
Mike Williams outlines some of the main characteristics that make developers and teams perform better than the average.