Skip to main content

You do not need an ORM

UB2.252A (Lameere) | Day 1 | 14:25 - 14:45 | Speakers: Giacomo

You do not need an ORM
A picture of a devroom at FOSDEM 2024
Open in browser

Notes

Abstract

Using SQL from other programming languages can prove to be quite the hassle: wrangling the database rows into the host's language types is tedious and error prone, and making sure the application code stays up to date with the ever-changing database schema is just as challenging.

To address these developer experience shortcomings ORMs try to shield the developer from ever having to write any SQL at all. This doesn't feel totally satisfying though: as developers we are always keen on using the right language for the job, so what would it look like to fully embrace SQL instead of trying to abstract it away?

In this talk we'll look at Squirrel (https://github.com/giacomocavalieri/squirrel), a library that tackles database access in Gleam (https://gleam.run): a functional, statically-typed language. We'll explore how code generation from raw SQL can help bridge the gap between the database and a functional language without compromising on type-safety, performance or developer experience.

Attachments

Speakers

Giacomo

Giacomo is a software developer and a functional programming enthusiast. Upon discovering Gleam he couldn’t help but fall in love with the language and its friendly community. He’s now a member of Gleam’s core team and an active contributor to its compiler’s development.


Notice: The placeholder video image is licensed under CC BY-SA 4.0. The original image can be found hereChanges made to the image are: Cropped the image to a new ratio, part of the image was cut off.