Manifesto for Not Only Object-Oriented Development

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

  • Functions and Types over classes
  • Purity over mutability
  • Composition over inheritance
  • Higher-order functions over method dispatch
  • Options over nulls

That is, while there is value in the items on the right (except for nulls), we value the items on the left more.

translations

Signatories

tweet @simontcousins to sign-up

00000000Simon Cousins
00000001Colin Bull
00000010Kit Eason
00000011Jarle Stabell
00000100Gustavo Guerra
00000101Carsten König
00000110Nick Howard
00000111Petr Lepilov
00001000Finn Neuik
00001001Cameron Frederick
00001010Adam Granicz
00001011Steffen Forkmann
00001100Mike Hadlow
00001101Michael Newton
00001110Karl Nilsson
00001111Johannes Hofmeister
00010000Morgan Persson
00010001Jack Fox
00010010Andrew Cherry
00010011Thomas Christensen
00010100Golo Roden
00010101Sergey Olendarenko
00010110Anatoliy Kolesnick
00010111Heather Mason
00011000meowthsli
00011001Jérémie Chassaing
00011010Robert Pickering
00011011Anthony Waite
00011100Iaroslav Kovtunenko
00011101Serhiy Kalinets
00011110Bartosz Przygoda
00011111Will Hayworth
00100000Akash Chopra
00100001Mathias Brandewinder
00100010Dave Thomas
00100011Niels Berglund
00100100Talbott Crowell
00100101John-Mark Newton
00100110Alexander Zolotko
00100111Mikhail Zabolotko
00101000David Grenier
00101001Nathan-Madonna Byers
00101010Ben Taylor
00101011John Tarbox
00101100Jessica Kerr
00101101Roberto Guerra
00101110Meddah Julien
00101111David Alpert
00110000Bruce Adams
00110001Chris Martin
00110010Paul Snively
00110011Andy Calderbank
00110100Adil Akhter
00110101Andreas Flierl
00110110Philipp Meier
00110111Nick Harvey
00111000Tasos Skarlatidis
00111001Toby Thain
00111010Philipp Dörfler
00111011Joachim Hofer
00111100Edward Wohlman
00111101Christoffer S.
00111110Gergely Nagy
00111111Pawel Lasek
01000000Lars Hupel
01000001Miles Sabin
01000010Matt Gumbley
01000011Ricky Clarkson
01000100Scot Taylor
01000101Erkki Lindpere
01000110Jon-Anders Teigen
01000111Jan Machacek
01001000Kristof Jozsa
01001001Bjarte S. Karlsen
01001010Rob Norris
01001011Oscar Vargas Torres
01001100Gerolf Seitz
01001101Cory Burgett
01001110George
01001111Manuel Eberl
01010000John Usher
01010001Giacomo S. S.
01010010Ruslan Shevchenko
01010011Yaroslav
01010100Alex P
01010101Torbjörn Gyllebring
01010110Alexey Romanov
01010111Jonas Avelin
01011000Michael Richter
01011001Anthony Ramine
01011010Gert Meulyzer
01011011Mykhailo Kozik
01011100Adam Rutkowski
01011101Akim Boyko
01011110Mathias Sulser
01011111Kyle
01100000Andrzej Trawiński
01100001Guillaume Couture-Levesque
01100010Marius Schulz
01100011Matt Ball
01100100Ryan Riley
01100101Devin Walters
01100110Timothy Baldridge
01100111Olga Vorobey
01101000Sergey Tihon
01101001Bill Blondeau
01101010Carl de Billy
01101011David Stone
01101100Jerome Laban
01101101Robert
01101110Phillip Trelford
01101111Anton Mednonogov
01110000Yan Cui
01110001Stuart Hillary
01110010Sagy Mintz
01110011David Neale
01110100William Blum
01110101Faisal Hasnain
01110110Kunjan Dalal
01110111Tuomas Hietanen
01111000Peter Brown
01111001Peter Ovcharov
01111010Alexander Pritchard
01111011Kevin Ashton
01111100Jérôme
01111101Pierre-Alexandr Voye
01111110Rodrigo de Oliveira
01111111Clément Delafargue
10000000Don Syme
10000001Richard Hein
10000010François Sarradin
10000011Mesut Piskin
10000100Aleš Roubíček
10000101Fernando Bassani
10000110Niki Lacoste
10000111Dave Fancher
10001000Robert Jeppesen
10001001Brice Leporini
10001010David Byron
10001011Douglas H. M.
10001100Pop Catalin
10001101Nyi Nyi Than
10001110Jean-Baptiste Nallet
10001111Jianchu Huang
10010000Victor Tomaili
10010001Ugo Bourdon
10010010James Wilson
10010011Michael Robin
10010100Massimo Santin
10010101ぶれいす(よんた)
10010110Bryan Hunter
10010111Leaf Garland
10011000Göran Lundberg
10011001Shashi Gireddy
10011010Paolo del Mundo
10011011Will Johansson
10011100Ashic Mahtab
10011101Corno Schraverus
10011110Max Treskin
10011111Jerry D'Antonio
10100000Garrett Smith
10100001Dylan Bevan
10100010Jiří Knesl
10100011George 0010
10100100Kevin Bolander
10100101Guilherme Ceschiatti
10100110jluis10
10100111Semih Masat
10101000Yusuf Motara
10101001Hans Kruse
10101010Klaus Hebsgaard
10101011Daren Chapin
10101100Matt Dziubinski
10101101Roberto Collina
10101110Fuzz Schroeder
10101111Oscar Rendón
10110000Sahil Tara
10110001Ramon Snir
10110010Faisal Waris
10110011Cheick Keita
10110100Richard Dalton
10110101Rodolphe Belouin
10110110Pierre Irrmann
10110111Simon Skov Boisen
10111000Mikael Helldén
10111001Nicolas Trangez
10111010Marcos Torres
10111011Dmitriy Borisenkov
10111100Rodrigo Vidal
10111101Ralph Möritz
10111110Loïc Denuzière
10111111Rob Berry
11000000Chris Smith
11000001Crimson Height
11000010Ralph Becket
11000011Richard Minerich
11000100Nacho Larrateguy
11000101Mariano Baragiola
11000110Neil Robbins
11000111James Holwell
11001000Sean Holm
11001001Alex Casquete
11001010Daniel Fabian
11001011Bryan Edds
11001100Hoop Somuah
11001101Caitie McCaffrey
11001110Chris Harris
11001111Daniel Kvasnička
11010000Christian Abildsø
11010001Marko Lohert
11010010Leon van Dyk
11010011Tilo Dickopp
11010100Bill Sorensen
11010101Volha Samusik
11010110John Jacobs
11010111Keith Dahlby
11011000Onorio Catenacci
11011001Brad Wilson
11011010Gareth Stephenson
11011011Sebastian Fialka
11011100Dmitry Soshnikov
11011101Sochin
11011110Vladimir Polyakov
11011111Christopher Bennage
11100000Drew Miller
11100001Telmo Félix
11100010Frank Geerlings
11100011Ian Russell
11100100Henning Christiansen
11100101Reza Sadr
11100110Tim Van Wassenhove
11100111Fabrice F Leal
11101000Ruben Bartelink
11101001Guy Derham
11101010Paul Kinsky
11101011Carl Patenaude Poulin
11101100Victor Cassel
11101101Артур Губайдуллин
11101110Alexander Carter
11101111Mark Pattison
11110000Brandon Bonds
11110001Johnny Spittle
11110010Julian Berri
11110011Karlkim Suwanmongkol
11110100Nate Adams
11110101Grant Crofton
11110110Kingsley Davies
11110111Daniel Pickford
11111000Bohdan Szymanik
11111001Russ Freeman
11111010Nick Morgan
11111011Chad Etzel
11111100Jordan Harband
11111101James Tryand
11111110Willie Faler
11111111Dave Cottlehuber
100000000Vijesh Shah
100000001Jose Samonte Jr.
100000010Jeff Foster
100000011Jon Dye
100000100Dmitry Sevastianov
100000101Mårten Rånge
100000110Henry Cooper
100000111Mattias Högström
100001000Nikhilesh K Singh
100001001Ezequiel Gambaccini
100001010Simon Weijgers
100001011Rashid Mansoor
100001100Hector Correa
100001101David Wilson
100001110Steve Bate
100001111Juan M Gómez
100010000Josh Bush
100010001Khalid Abuhakmeh
100010010Lucas Di Cioccio
100010011David Arno
100010100Matt Havener
100010101Chris Martens
100010110Michal Bigos
100010111Gilles Pirio
100011000Stephen Channell
100011001Will Smith
100011010Philippe Desjardins-Proulx
100011011Frank Vilhelmsen
100011100Lars Wilhelmsen
100011101Søren Mathiasen
100011110Lee Ward
100011111Alexander Katt
100100000Jose Juan
100100001Espen Wiborg
100100010William Munn
100100011Ingo Wechsung
100100100Tommi Penttinen
100100101Moritz Grauel
100100110Gabriel Boya
100100111Egor Gumenyuk
100101000Damian Piątkowski
100101001Paul Horn
100101010Jan Krag
100101011Brian Hicks
100101100Randle Unger
100101101Franklin Chen
100101110Kyle Sletten
100101111Chris Allen
100110000Mark Mynsted
100110001Sean Escriva
100110010Horse Zaemon
100110011Bryan Catanzaro
100110100Geoff Knauth
100110101Alexander Kyte
100110110Jack Wright
100110111Joe Barnes
100111000Jason McCampbell
100111001Mark Adamcin
100111010Martin Seeler
100111011Daniel Lopes
100111100Angus Croll
100111101Juan P. Giraldo
100111110Claudio Natoli
100111111Patrick Lahey
101000000Ian Spratt
101000001Friedrich Boeckh
101000010Mel Pullen
101000011Quintus Marais
101000100Reed Copsey, Jr.
101000101Andre Van Der Merwe
101000110Tony Abell
101000111Jeremy W. Sherman
101001000Martin Bodocky
101001001Herwig Habenbacher
101001010Michael Ceber
101001011Alf Kåre Lefdal
101001100Jonas Juselius
101001101Chris Keenan
101001110Philipp Meier
101001111Rui Carvalho
101010000James D'Angelo
101010001Tomas Jansson
101010010Thomas Svensen
101010011Ken Grønnbeck
101010100Paweł Turlejski
101010101Philip Wadler
101010110Bruce Eddy
101010111Niklas Bergius
101011000Danny Tuppeny
101011001Pedro Furlanetto
101011010Rúnar Óli
101011011Minori Yamashita
101011100Andrei Formiga
101011101Juan Lopes
101011110João Maia
101011111Alê Borba
101100001Alexandre Souza
101100010Rodrigo Lazoti
101100011César Natarén
101100100Hugo Leonardo C. S.
101100101Dado Rodrigues
101100110Fabian Carlos
101100111Fawad Halim
101101000Sinval Mendes
101101001Darren Platt
101101010Sidney Lima Filho
101101011Breno Ferreira
101101100Hercules Merscher
101101101Vinícius Hana
101101110Israel Teixeira
101101111Serguey Zefirov
101110000Jakub Fojtl
101110001Ruslan Abdikeev
101110010Gaston Cababie
101110011Don Browning
101110100Sean Schade
101110101Pablo Robayo
101110110Edgar Sánchez
101110111Zeze Lazo
101111000Paul Ehmig
101111001Daniel Seara
101111010Stephane le Dorze
101111011Andrew Kerr
101111100Joel Martinez
101111101Oren Novotny
101111110Henry Paca
101111111Simon Wollwage
110000000Jonathan Reem
110000001Francisco Fagas
110000010Uehara Junji
110000011Arets Paeglis
110000100Jonathan McSweet
110000101Isaac Abraham
110000110Tom Janssens
110000111Vasily Kirichenko
110001000Marko Apfel
110001001Geert Vermeiren
110001010Ron Jeffries
110001011Bill Caputo
110001100Huw Simpson
110001101Mark Seemann
110001110Christian Holm Nielsen
110001111Bastian Krol
110010000Tomasz Heimowski
110010001Manuel Paccagnella
110010010Andreas Pauley
110010011Michele Mauro
110010100Karsten Strøbæk
110010101Marek Kadek
110010110Diego Bovo Fernandez
110010111David Brower
110011000Javier de Vega Ruiz
110011001Nikos Baxevanis
110011010Artur Siwic
110011011Jerold Haas
110011100Mårten Dolk
110011101Tobias Burger
110011110Michael Falanga
110011111tweet @simontcousins to put your name here