Elixir Today: a round-up on state of Elixir and it's ecosystem

schedule 03:45 PM - 03:45 PM place Grand Ball Room 1

Elixir is a functional and dynamic language built on top of the Erlang VM. The development of the language is happening at a fast pace. People in the community have participated actively to write tools and libraries, required to write real-world apps in Eilxir.

In this talk, I will attempt to skim through all the new features in Elixir, a few important libraries with short examples and some learning resources.

Each tool showcased in this talk, will have a 3-step tryout, with the simplest example.

 
3 favorite thumb_down thumb_up 3 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

  • New features in Elixir
  • Hex
  • Documenting code using ex_doc
  • Logger
  • Plug
  • exrm
  • Phoenix
  • Ecto
  • ExUnit
  • Hound
  • Heroku Buildpack for Elixir
  • Learning resources
  • What are people doing with Elixir

Learning Outcome

New Elixir features

Tools and libraries that are available for Elixir

Sample code to try various tools

 

Target Audience

Anyone using Elixir or wanting to give it a try

schedule Submitted 3 years ago

Comments Subscribe to Comments

comment Comment on this Proposal
  • Dhaval Dalal
    By Dhaval Dalal  ~  5 months ago
    reply Reply

    Thanks Akash for submitting this proposal on Elixir.  As this talk is aimed at beginner level or anyone wanting to try it, can you include a bit of prequel to New Elixir features?  IMHO, it would be good to show some basic Elixir code snippets just to comfort the audience and then take of to what you are describing in the Process section.  What do you think?

    thanks,

    Dhaval.

    • Akash Manohar
      By Akash Manohar  ~  3 years ago
      reply Reply

      @Dhaval Thank you makes sense. I'll add a quick 2-slide intro to Elixir syntax in the beginning.

      I feel that the content is a lot of stuffing. I'll reduce that too after reviewing through the proposal again.

      • Dhaval Dalal
        By Dhaval Dalal  ~  5 months ago
        reply Reply

        Hey Akash,

             As I think further, not many would be familiar with Elixir.  I am wondering, if the focus of this talk can shift - more towards introducing and knowing Elixir and then briefly touch upon new features, important libraries etc... I am not spelling out how much percentage the split should be, but would just summarize this as - the talk at beginner level should lift the audience to be at a level comfortable enough to appreciate new features (which they will look at anyways, if you have aroused enough curiosity). 

        If you agree then, the title of the talk may be changed to reflect that accordingly.  Let me know what you think.  

         

        thanks,

        Dhaval.


  • Liked Thomas Gazagnaire
    keyboard_arrow_down

    Thomas Gazagnaire - Compile your own cloud with Mirage OS v2.0

    60 mins
    Talk
    Intermediate

    Most applications running in the cloud are not optimized to do so. They make assumptions about the underlying operating system, resulting in larger footprints with increased costs and risks.  The open source Mirage OS represents a new approach where the application code is combined with the specific components of the operating system it needs into a single-purpose unikernel appliance. With Mirage OS, developers can create lean and efficient unikernels for secure, cost-effective and high-performance network applications. Mirage OS unikernels run directly on the Xen Project hypervisor, which allows them to be quickly deployed to many leading cloud platforms.

    Mirage OS is fully written in OCaml, from the device drivers and network stack to higher-level synchronisation protocols and databases. In this presentation I will explain how we developed Mirage OS and why we choose to do so in a strongly typed functional language with a powerful module langage. I will then present some of the new features of Mirage OS v2.0 such as: support for ARM devices, Irmin: a Git-like distributed database and OCaml-TLS: a comprehensive implementation of the TLS protocol in pure OCaml. 

  • Liked Morten Kromberg
    keyboard_arrow_down

    Morten Kromberg - Pragmatic Functional Programming using Dyalog

    Morten Kromberg
    Morten Kromberg
    CXO
    Dyalog
    schedule 3 years ago
    Sold Out!
    60 mins
    Demonstration
    Beginner

    APL is a member of the family of languages that are approaching middle age (Ken Iverson’s book titled “A Programming Language” was published in 1962). APL was very influential in the 60’s and 70’s, and widely used to deliver “end user computing” - but although the REPL, dynamic scope and lack of a type system endeared APL to domain experts, it also drew fire from computer scientists, most famously when Edsger Dijkstra declared that “APL is a mistake, carried through to perfection. It is the language of the future for the programming techniques of the past it creates a new generation of coding bums.”

    Dyalog is a modern, array-first, multi-paradigm programming language, which supports functional, object-oriented and imperative programming based on an APL language kernel. Dyalog allows people with good ideas – from bright high school students to PhDs – to contribute directly to the software development process using a notation which fits comfortably with those used in their own domains. Subject matter experts can write prototypes or, with suitable training and/or support, highly efficient, parallel and robust code that can be embedded in high-performance production applications.

  • Liked Bhasker Kode
    keyboard_arrow_down

    Bhasker Kode - Writing and improving tail recursive functions

    Bhasker Kode
    Bhasker Kode
    Building stuff
    Helpshift
    schedule 3 years ago
    Sold Out!
    45 mins
    Talk
    Beginner

    Brief history of recursion 

    Snippets from a few languages

    What is tail recursion?

    Design choices around recursion

    The importance of tail recursion in erlang

    How do you profile such improvements?

     

     

     

  • Liked Premanand Chandrasekaran
    keyboard_arrow_down

    Premanand Chandrasekaran - Functional Programming in Java

    60 mins
    Workshop
    Beginner

    Functional programming has started (re)gaining prominence in recent years, and with good reason too. Functional programs lend an elegant solution to the concurrency problem, result in more modular systems, are more concise and are easier to test. While modern languages like Scala and Clojure have embraced the functional style whole-heartedly, Java has lagged a bit behind in its treatment of functions as first-class citizens. With the advent of Java 8 and its support for lambdas, however, Java programmers can finally start reaping the power of functional programs as well. Even without Java 8, it is possible to adopt a functional style with the aid of excellent libraries such as Guava.

    This talk will explore how to apply functional concepts using the Java programming language and demonstrate how it can result in simpler, more elegant designs. We will conduct this in a hands-on workshop style with attendants being encouraged to code-along. So bring your favorite Java 8 aware IDE, an open mind and prepare to have a lot of fun.

  • Liked Venkat Subramaniam
    keyboard_arrow_down

    Venkat Subramaniam - Haskell for Everyday Programmers

    90 mins
    Talk
    Intermediate

    I learn different languages not to make use of them, but to program in my current languages in a better way. As we adapt functional style of programming in mainstream languages, like Java, C#, and C++, we can learn a great deal from a language that is touted as a purely functional language.

    Haskell is statically typed, but not in a way like Java, C#, or C++. Its static typing does not get in the way of productivity. Haskell quietly does lazy evaluation and enforces functional purity for greater good. Everyday programmers, like your humble speaker, who predominantly code in mainstream languages, can greatly benefit from learning the idioms and style of this elegant language. The next time we sit down to crank out some code in just about any language, we can make use of some of those styles, within the confines of the languages, and move towards a better, functional style.

  • Liked Venkat Subramaniam
    keyboard_arrow_down

    Venkat Subramaniam - Designing with Lambda Expressions in Java

    90 mins
    Talk
    Intermediate

    As Java programmers we have used a number of design patterns and design techniques. With the introduction of lambda expressions, we now have some more sharper tools in our design toolbox. Come to this presentation to learn how we can implement some elegant design ideas with lambda expressions. We will learn about these design techniques, not using diagrams, but by realizing the ideas in code.

  • Liked Bodil Stokke
    keyboard_arrow_down

    Bodil Stokke - Programming, Only Better

    45 mins
    Talk
    Beginner

    The programming paradigms that served us so well through the 80s and 90s are failing us. Building systems the way we're used to building them always seems to end in the inevitable death march towards exponential complexity. But once you stop to ask the right question- "what's really causing all this complexity?" - you realise the answers have really been staring you in the face all along. Debugging is only hard when you can't reason about your code. Concurrency is only hard when you can't predict the state of your code. Reusability is only hard when your components aren't naturally composable.

    Fortunately, languages addressing these issues specifically are popping up all over the place. In many cases, it turns out we've had the solutions to our problems for a long time, we've just forgotten about them, or never really bothered to look. Let's take a moment to explore some of these languages, not as exercises in syntactic details, but looking at the inherent properties in their design that enable us to defy decades of OO tradition and write honest-to-Dijkstra bug free, fault tolerant software without even trying. After half a century in the wilderness, functional programming seems to finally be gaining some ground on the barbarians. Let's examine why.

  • Liked Bodil Stokke
    keyboard_arrow_down

    Bodil Stokke - The Mess We've Made

    60 mins
    Keynote
    Beginner

    In this talk, we'll explore why some technologies end up inexplicably dominating our field while others fade away despite their obvious merits. What will it take for the languages we care about to succeed, and what are the consequences of success? Let's apply a broad perspective to the mess we've made of modern computer science, and explore our options for getting the situation back on track through a careful examination of history, science and ponies.