Upgrade to Pro — share decks privately, control downloads, hide ads and more …

From Functional Languages to Functional Architectures

Juliano Alves
December 28, 2020
49

From Functional Languages to Functional Architectures

Slides of my presentation for Codemotion 2020 (https://events.codemotion.com/conferences/online/2020/codemotion-online-tech-conference/)

Software tends to be organised in a similar way in different levels: methods in classes, classes in packages, packages in projects and so on. The OO approach defined a good amount of this standards. However, there are companies building massive systems out there, handling numerous requests in a functional way. Could the functional approach have any impact on architecture? Lambda functions, immutable databases and short-life infrastructure are a few examples. In this session you will see how the functional paradigm has impacted software architecture at a much deeper level than one can imagine

Juliano Alves

December 28, 2020
Tweet

Transcript

  1. Who am I? • Software Engineer, Searcher of perfect modularization,

    Lover of Functional Languages • The cool ones Scala, Clojure, Elixir • The "vintage" ones Java, C#, Python, Ruby @vonjuliano juliano-alves.com
  2. How do we organise that knowledge? "Software tends to be

    organised the same way, in different levels"
  3. SERVICE A SERVICE B SERVICE C SERVICE D SERVICE E

    SERVICE F SERVICE G SERVICE H SERVICE I
  4. final var album = new ArrayList<Picture>(); album.add(picture1); album.add(picture2); System.out.println(album); //

    [pic1, pic2] album.set(1, picture3); System.out.println(album); // [pic1, pic3]
  5. val album = List[Picture](picture1, picture2) println(album) // [pic1, pic2] album.updated(1,

    picture3) println(album) // [pic1, pic2] val newAlbum = album.updated(1, picture3) println(newAlbum) // [pic1, pic3]