u/RustinWolf
RustinWolf
RustinWolf
Ok, fair enough, you’re looking for broader knowledge. You never explained why though? What is it that you’re building? Is your compensation range in line with what is essentially a top level range of candidates?
I bet that most people simply don’t need to know what you consider are “basic” questions. The market self selects on what is most valuable, and 5K challenges are simply not.
RustinWolf
So you want to hire a React dev but the right of passage for them is NOT to use React and instead create a YouTube clone with vanilla JS? Yeah, I can see you having great success with this.
RustinWolf
I’m betting hard on Haskell, it’s an amazing language to express ideas in and even the imperative slop AI produces is miles ahead of most other languages.
Clojure comes close with an even better feedback loop (compilation sucks in Haskell) but at the expense of type safety, which I’m personally struggling without.
RustinWolf
I’m treating “this is better” comments without any explanations or hints the same way as fart in public - I pretend I didn’t hear it
Have the team agree on linting rules and enforce them in CI
RustinWolf
They didn’t all do it. For some, it was an improvement compared to where they were before. I’m guessing this played out over many generations
RustinWolf
We shouldn’t demand loyalty, we should inspire it.
RustinWolf
I use it to overload my devs with tons of slop and ask them why haven’t they built all the stuff I hallucinated so generously
RustinWolf
Great! Now start charging your 50 users at which point you’ll either cover your expenses, or you’ll have 0 users and some valuable lessons learned
RustinWolf
RustinWolf
Any meetups in Calgary happening?
RustinWolf
In mind, the “purity” (I really dislike the term, but we’re stuck with it), is a binary flip. A language either is or isn’t pure. If it is, it opens up certain patterns of programming that are simply not available otherwise. It’s very powerful to know how a function behaves just by looking at it, but of course that comes with its own baggage (needing monads to do anything useful)
RustinWolf
Interesting. I know a bit about Elixir and have written some, I thought you maybe meant to say something along the lines everything is in its own process, etc.
I agree with what you’re saying here, and that’s a great feature of Elixir/Erlang, however that doesn’t make the language pure. Purity is about referential transparency, and in Elixir you can have a side effect anywhere in the function body, without any restrictions. That means you can’t know for certain that a seemingly pure function doesn’t also cause a side effect, which with Haskell you can.
RustinWolf
What do you mean by saying Elixir is pure? Only Haskell has controlled effects, Elixir and Lisp are the same in that respect - you can have a side effect in any function you’d like.
RustinWolf
I think Why OCaml by Yaron Minsky covers your question. He has other videos on this topic too.
From what I remember (plus my own biases), the real advantage, especially in the context of financial industry, comes from the strong type guarantees and functional programming, or more generally, being able to reason algebraically, write pure functions that are predictable and testable, but still have control to imperatively control the hot paths when needed.
RustinWolf
Make sure to stop by in Ukraine and Gaza too, good luck!
RustinWolf
You’re right, but you still run the program eventually so the side effects are sequenced/executed. The line is misleading at best IMO
RustinWolf
Functional: Programs are composed of pure functions without side effects
No they are not. That would be a useless, trivial program. I’m not sure it’s worth reading further
RustinWolf
Nista cudno, efikasno procesuiranje razlicitih listi je izninmo bitno za prikazati 10 paginiranih rezultata na webu. I naravno treba client napisat u C WASM-u
RustinWolf
The main criteria pretty much disqualifies Haskell straight away. It gets better with Haskell as you use it, but it’s not at the level where Clojure is on tooling, community, or resources.
Even so, if you had time to learn, I would suggest Haskell. If you need stuff done fast and/or interop with Java/JS libraries, go with Clojure.
RustinWolf
I’ve tried so hard to like Scala since I enjoy Haskell very much, but the syntactic noise is just too annoying. I’ve never written Java professionally so perhaps that’s contributing to my experience. Never had the same problem with Clojure, and even though I miss types, I can really appreciate the language simplicity and the way it hides Java concepts most of the time.
RustinWolf
No one’s going to discontinue it. It’s not fun to invest 7 years in an editor you can suddenly no longer continue to use
RustinWolf
is xtdb really dropping datalog in favor of SQL as the intro mentions, or have they just added SQL support along with datalog?
RustinWolf
This is reasonable; explain it like you did here. Obviously your codebase is not ideal, like most aren’t, and that might be fine, depending on your business.
I’m currently looking at some convoluted test suites that “increased” the coverage while miraculously managing to completely bypass testing the real implementation, and they just test the tests itself (mocks). Busywork created by the first dev for himself, and all the future devs that came after…
RustinWolf
What’s so different now, than 10 years ago?
I agree with what you’re saying, and I’d rather work with engineers who know their fundamentals than not, but it’s the companies that decide what is valuable in the market, and that in turn dictates what people learn and care about.
Most projects don’t need what you’re looking for, the whole point of frameworks is to abstract it away. Maybe yours is an exception, but in that case you’re looking for a less common skillset in a massive candidate pool.