Elixir influences on JavaScript ES2025

I don’t know your full experience but a lot of people don’t like it because they are thrown into it with no guidance. I worked at a full-on XP and paired every day for 2.5 years and it’s been the highlight of my career. Of course there were other factors like I lucked out in being placed on a particularly good team where everyone just gelled, but it definitely had an impact because a few people left during that time and the general vibe stayed the same.

We did the more “hardcore” way of one person had to switch off every day, so if a story took three days, the two people who started it weren’t the same two people who finished it. The whole “Jimmy is the only person has any context on that part of the code” wasn’t a thing. Any given corner of the codebase had at least three people who pretty intimately familiar with it. It was great!

1 Like

Thank you for being so generous and kind but in my case I was just kind of an insufferable individualist during that period. I am not hiding from it. Knew it even back then and wanted to change it. I think I mostly succeeded.

1 Like

Try not to take my paraphrasing out of context there. The line referencing taste is essentially identical in spirit to what you wrote just minutes before:

Splitting code into functions requires taste.

How do you decide what is “too long”? That is taste! As you can probably tell I prefer to phrase this as “requires skill”, but I think the taste phrasing is entirely acceptable. Of course, bikeshedding about phrasing is very on-point for this discussion in a meta sense! :slight_smile:

For the record, I have read large swaths of their codebase and all of their internals docs. They have excellent engineering practices and I am very impressed. And despite being an extremely complex, tightly optimized distributed database I find their code entirely understandable (and I don’t even know Zig), so I think it’s working.

1 Like

Hey!

A slightly out of topic question (we can always split), but how do you like Quokka?
I’m hesitating to introduce it into my personal projects because while you can disable stuff, there are many things that seem to be enforced by default and not configurable. It seems to me that once you change your style to adhere to that it would be a hassle to revert.

But on the other hand I’m a heavy credo user so it seems it could make my life simpler. Do you recommend it to any team or is there some cases where you would not use it?

It could really help to have a “git touched files only mode” (which I guess I can script easily).

1 Like

I like Quokka a lot but i found it difficult to configure it on what to alias and not alias. Eventually succeeded but it was annoying.

Still, I very much dig the idea to reuse Credo rules as formatting policies and I have zero complaints. I got a bit of a cold feet back then because the work codebase I was about to apply it to would have an even bigger diff (that was already quite huge) so I turned off sorting of map & struct keys.

But outside of my complaint about aliasing – something I could never configure 100% how I would prefer btw – then it’s working amazing and I’d recommend Quokka to anyone.

2 Likes

Alright, thank you! :slight_smile:

(Yeah sometimes I want to keep an alias like MyApp.Schemas and then use Schemas.Foo, Schemas.Bar but Quokka doesn’t respect that :smiley: )