Fork me on GitHub
#clojure-uk
<
2016-11-16
>
thomas08:11:25

@mccraigmccraig yes it... not the thing that comes after winter... or the thing where water comes out of the ground, or the thing that is in a car to make the ride more comfortable, or something else that the word spring might mean...

Rachel Westmacott08:11:37

Afaict Spring Boot takes most of its inspiration from the (IMHO superior) Dropwizard.

jonpither08:11:56

good fine morning everyone!

thomas08:11:39

I have never used Spring... so no idea even what it does and why I need one.

glenjamin08:11:58

i found dropwizard rather poor, when compared to similarly placed offerings from other languages

glenjamin08:11:22

the tutorial begins with making you create a multi-module POM project with 3 sub-projects, and never explains why

Rachel Westmacott09:11:17

I must have skipped that tutorial, that sounds weird.

Rachel Westmacott09:11:05

what I liked was the approach of being a collection of well-regarded libraries and some optional glue code, rather than a framework

Rachel Westmacott09:11:04

once your code gets lost deep in the spring framework it becomes like ransomware

Rachel Westmacott09:11:20

its expensive to get your code back, but you might have to try it anyway

glenjamin09:11:21

I remember some of the defaults and choices being annoying to my preferred approaches

glenjamin09:11:34

nothing earth shattering, but enough to create some friction

glenjamin09:11:09

eg. by default the jackson deserialisation on incoming requests would explode on unknown keys - which made evolving APIs a pain

glenjamin09:11:47

or trying to do 12-factor style environment variable overrides for config while keeping defaults in the yaml was weirdly difficult

Rachel Westmacott09:11:27

I think generally the java community has been a little behind the curve on 12-factor - but I could be wrong about that, its a big community.

glenjamin09:11:06

it’s the nicest java web service framework i’ve used, but didn’t feel close to something like compojure

glenjamin09:11:16

or express, or sinatra

glenjamin09:11:53

But then again, I hadn’t done any java for a while at that point, so that was probably a factor

korny09:11:21

Yeah - dropwizard was the nicest stable java framework around, when I used it. As far as I can tell almost all strongly-typed language frameworks don’t follow Postel’s law - they just love deserialising incoming requests into objects, and throwing an error when the request has extra parameters.

korny09:11:06

presumably in languages with modern types it’s easy to say “this object should have these keys, but I don’t care if it has extra keys I’m never going to use”?

Rachel Westmacott09:11:02

I never knew it had a name (Postel’s law)

korny10:11:42

Wikipedia suggests “robustness principal” but I prefer names that make me sound authoritative 🙂

glenjamin10:11:57

it’s not too hard to do it in jackson, i was just annoyed that it wasn’t the default, and the setting was buried in the docs

minimal10:11:21

purescript has row polymorphism that lets you have records with the keys of the type and any other keys