Digests » 62
When I started my first project in Elixir I was still thinking in Ruby. At first, this was not much of a setback: both Ruby and Elixir share similar syntax and are high-level, readable, fun programming languages. The fast-growing, supportive community is reminiscent of Ruby during the early days of Rails.
Processes are the bread and butter of Elixir’s concurrency. Unlike operating system threads, Elixir has green threads which are efficient and light on resources. These processes communicate and synchronize with each other by message passing.
Metrics are a fundamental part of most pieces of software. They’re a great insight on how a system behaves and performs, and can be used for different purposes, such as performance monitoring or alerting in case of anomalies.
Metaprogramming is writing code that writes code. In Elixir, we use macros to transform our internal program structure (AST) in compile time to something else. For example, the if macro is transformed to case during compilation, we call this macro expansion.
All web applications with user submitted input have some constraints on what input is acceptable. We as developers have two methods to make sure what the user entered falls within those constraints.