Giter Site home page Giter Site logo

neo4reo / saturn2017-architecture-functional-workshop Goto Github PK

View Code? Open in Web Editor NEW

This project forked from michaelkeeling/saturn2017-architecture-functional-workshop

0.0 2.0 0.0 15.59 MB

Artifacts related to the SATURN 2017 workshop on the intersection of functional paradigms and software architecture

saturn2017-architecture-functional-workshop's Introduction

SATURN 2017: Architecture and the Functional Frontier Workshop

Functional programming has found its way into enterprise software systems. Pure functional languages such as Common Lisp, Haskell, and ML, which always had a devoted following in academics, are seeing increased mainstream use in industry. Traditional OO languages such as C# and Java have evolved, seeing changes to their core syntax and libraries, to allow for programming in a functional style. When developers look for their next language, they are increasingly looking for a functional language. Rather than working around Java’s assumption that objects are mutable, they are choosing languages with immutable data structures built-in. Rather than imposing self-discipline to avoid side effects, they are choosing languages that enforce pure functions.

Traditionally, software architects have paid little attention to functional programming. The choice of programming language and style (e.g. OO, functional, procedural) has long been thought of as a choice made within a module, while software architecture is how those modules are put together.

But functional ideas have crept into software architectures as the kinds of systems we build has changed. A few decades ago when academics began careful study of software architecture, there were few planet-wide software systems. Today, even a mundane web application is a distributed system and may well span several data centers across the planet. As a consequence, we’ve changed our architecture pattern languages and our development, deployment, and operating procedures (DevOps).

It’s still difficult to build a good distributed system, so developers have used ideas in functional programming to make it easier. Functional programming (FP) ideas that we see in architectural design include: statelessness, immutability, idempotence, and pure functions. These ideas underlie DevOps practices and are at the core of many distributed systems patterns.

The goal of this workshop is to explore functional patterns in software architecture. Our hope is that we'll end the day with a dozen or so documented patterns in addition to the some bigger ah-ha! moments, and a collecton of new questions about the intersection of arhictecutre and functional thinking. Here are some questions and topics that can consider during the workshop, including the items listed on this page.

The workshop will took place on Monday, May 1, 2017 in Denver, CO during the SATURN 2017 conference on software architecture.

Workshop Participants

  • Arila Barnes
  • Einar Landre
  • Eltjo Poort
  • George Fairbanks
  • Harald Wesenberg
  • Ipek Ozkaya
  • Jørn Ølmheim
  • Michael Keeling
  • Mike Clark
  • Paul Newell
  • Paul Rayner
  • Pradyumn Sharma
  • Sebastian von Conrad

Position Papers and Seed Patterns

Einar, Jørn and Harald (the Statoil gang) - Tale of three gaps

Paul Newll - What's the Big Deal?

George Fairbanks - Functional Programming In Software Architecture

Michael Keeling - A Few Questions about the Functional Frontier

Pradyumn Sharma -

Sebastian von Conrad - Functional Programming and Software Architecture

About SATURN

The 13th SEI Architecture Technology User Network (SATURN) Conference — the longest-running software architecture conference in the world — brings together influential leaders and experts to discuss architecture-centric practices for developing, acquiring, and maintaining software-reliant systems. Architects from more than 20 countries meet annually at SATURN to share ideas, network, and learn about new and existing technologies. For more information, go to http://www.sei.cmu.edu/saturn/2017.

Workshop Organizers

saturn2017-architecture-functional-workshop's People

Contributors

georgefairbanks avatar joelmheim avatar michaelkeeling avatar pradyumnsharma avatar vonconrad avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.