Alex Nedelcu Profile Banner
Alex Nedelcu Profile
Alex Nedelcu

@alexelcu

936
Followers
363
Following
194
Media
2,077
Statuses

Software developer, #FP , #Scala , #Kotlin , #Java , #Rust . @Typelevel contributor. 🌐 🐘

Bucharest, Romania
Joined January 2023
Don't wanna be here? Send us removal request.
Pinned Tweet
@alexelcu
Alex Nedelcu
11 months
Late intro — Hi all 👋 I'm Alex, a software developer, and an #FP , #Scala and #OpenSource enthusiast from #Romania . Married, father to a son. Recently realized I'm both a cat and a dog person. Some pics of my pets…
Tweet media one
Tweet media two
Tweet media three
0
1
35
@alexelcu
Alex Nedelcu
7 months
“Scala's Future” Gather around, kids, let me tell you two stories from my past in the software industry. #Blog #Scala #Scala3 Link:
11
62
261
@alexelcu
Alex Nedelcu
3 months
Old news, but I'll never stop laughing about it 😃 #Programming #JavaScript #FP #Math
Tweet media one
15
26
213
@alexelcu
Alex Nedelcu
4 months
@CFDevelop This may be a joke, but treating it as a serious consideration... As a developer, tying yourself to Big Tech is not wise, as they may always pull the plug. It's also an accessibility issue — what about the people that won't or can't use their Big Tech accounts? Maybe their
4
3
124
@alexelcu
Alex Nedelcu
8 months
My top 5 programming languages: 1. Scala 2. Scala 3. Scala 4. Scala 5. Scala
6
13
103
@alexelcu
Alex Nedelcu
10 months
This is why I'm excited about #Scala 3. Source:
Tweet media one
4
16
102
@alexelcu
Alex Nedelcu
2 months
Postman now being a cloud-only piece of crap, I need an alternative, that is: ‣ Open-Source ‣ Offline, git-friendly ‣ Scriptable with JavaScript ‣ Preferably something usable by BAs or PMs (i.e., technical folks, but not devs) Any recommendations?
53
5
85
@alexelcu
Alex Nedelcu
6 months
It's not ironic. It's just false (Rust isn't an FP language).
@ThePrimeagen
ThePrimeagen
6 months
the ironic part of rust is that it is a functional language where the hardest thing to do is use functions as values
34
21
710
8
6
80
@alexelcu
Alex Nedelcu
5 months
#FunctionalProgramming will make you build better software, regardless of language. Some understated effects: ‣ Prefer params to global state ‣ Prefer data pipelines to fragile state mutation ‣ Prefer clear responsibilities for components ‣ Make dangerous side effects visible
1
13
78
@alexelcu
Alex Nedelcu
10 months
People: “higher-order functions are too complicated, hard to read!” Java:
Tweet media one
6
8
76
@alexelcu
Alex Nedelcu
10 months
Out of the Alt-JS languages I've played with, Scala.js seems to be the best. Given it's probably not widely adopted, its maturity is surprising. E.g., ScalablyTyped can convert TypeScript definitions, and actually works. Interop is good. And the compiler is, dare I say it,
3
20
71
@alexelcu
Alex Nedelcu
5 months
I delivered my talk on "Elements of JVM Concurrency" 😸 Link to slides (PDF): #ScalarConf #Scala
Tweet media one
1
12
71
@alexelcu
Alex Nedelcu
10 months
I find it hard to use programming languages without: + OOP (don't judge, I'm old); + discriminated unions; + pattern matching; + null safety; + multiplatform support; + decent tooling. The RedMonk ranking, in top 20, has only 1 or 2 languages that barely fit 😱
6
3
67
@alexelcu
Alex Nedelcu
8 months
As a software developer, as I grow older, I realize that I not only have serious gaps in my math education, but that I've also been forgetting the math I learned in school. I think that for my next adventure, I need to re-learn some math. I don't even know where to start.
17
1
65
@alexelcu
Alex Nedelcu
3 months
Ironically, #TypeScript seems to get ahead in its support for monadic effect systems. This is `Effect`, a ZIO-inspired library, making use of JS's generators:
@MichaelArnaldi
Michael Arnaldi
4 months
took 3 years of attempts but looks like we were finally able to kill the need to use an adapter function and we can just yield* effects! PR:
Tweet media one
36
46
406
2
10
65
@alexelcu
Alex Nedelcu
4 months
Martin Odersky's thoughts on "Lean Scala" What do you think? #Scala
9
10
65
@alexelcu
Alex Nedelcu
5 months
#ScalarConf 2024 was fun. I learned new things, I met old friends, I made new acquaintances, and it felt good to be in the presence of such talented people. 10/10, will come again. #Scala
Tweet media one
1
6
62
@alexelcu
Alex Nedelcu
10 months
FP folks: Monads 🤩 Everyone: 😱 “Monad” is hard to learn math jargon! Bind/flatMap is hard to understand! JavaScript folks: "Thenable" 🤩 Auto-flattening 🚀🧨 TypeScript folks: Mo soundness mo problems FP folks: 🤦‍♂️
Tweet media one
3
10
62
@alexelcu
Alex Nedelcu
10 months
Just to be clear for the less experienced, before I get another insult about the sample 🙈 … Java's frameworks, such as the Spring ecosystem, use annotations that are interpreted at runtime for decorating methods with desired functionality. E.g., you annotate your method with
@alexelcu
Alex Nedelcu
10 months
People: “higher-order functions are too complicated, hard to read!” Java:
Tweet media one
6
8
76
6
8
62
@alexelcu
Alex Nedelcu
10 months
I like #Kotlin , but it's not value-oriented or even as expression-oriented as #Scala is. And the difference can be subtle, but as a Scala dev, I feel it even for simple tasks. Here's a simple function. The Kotlin code cannot describe a tail-recursive function, as it's forced to
Tweet media one
4
8
61
@alexelcu
Alex Nedelcu
4 months
For GraalVM's native-image, Scala has the great advantage that its libraries don't use runtime reflection. Scala just works out of the box, once you take care of the usual Java suspects (e.g., slf4j/logback). Native-image should be more popular with Scala devs 💪 #GraalVM #Scala
4
13
59
@alexelcu
Alex Nedelcu
10 months
With #Java 's evolution (discriminated unions, pattern matching, virtual threads), are alternatives like #Scala or #Kotlin still worth it? Scala and Kotlin have a culture of doing things at compile-time which sets them apart, the former more so than the latter. This yields
8
3
56
@alexelcu
Alex Nedelcu
8 months
“Helix and Scala” Helix is a replacement for Vim, built from scratch, in Rust 😱, with builtin LSP support, so it can work with Scala's Metals. #Link #Scala #Rust #Tools #YouTube #Video
0
8
58
@alexelcu
Alex Nedelcu
6 months
We have a PR at $work migrating the project from #Akka to Apache #Pekko , the open-source fork. Work took 1 day, with all tests passing. Project is heavy on Akka dependencies too (e.g., cluster, persistence, streams, connectors, HTTP). All is well. #Scala #op
5
4
51
@alexelcu
Alex Nedelcu
9 months
If Scala 3 supports markdown in documentation comments, it wins the language war. I don't make the rules. #Scala #Scala3
1
6
53
@alexelcu
Alex Nedelcu
6 months
In #Scala , you can build a usable JDBC-based API, that’s more usable than #Java 's in a couple hundred lines of code. I can probably fit such a library in a blog post. The features used: - Implicits/ type classes; - String interpolators; - Opaque types.
2
3
53
@alexelcu
Alex Nedelcu
3 months
@reibitto
reibitto
3 months
Tweet media one
2
1
37
2
2
53
@alexelcu
Alex Nedelcu
10 months
“Use the best tool for the job” is bullshit advice, being a lazy form of persuasion, used to justify crappy tools. I would rather not have to learn new tools for every job, I want multipurpose tools that are useful for many jobs, that I only master once and use indefinitely,
6
6
51
@alexelcu
Alex Nedelcu
5 months
"Gears" is the proposed async library for "direct style". One of the 2, actually, this one trying to work cross-platform (Project Loom on the JVM, for now, and delimited continuations in Scala Native & maybe Wasm GC in the future). #Scala
0
11
51
@alexelcu
Alex Nedelcu
2 months
‣ FP is programming w/ math functions; ‣ Math functions are “pure” functions; ‣ The test for purity is Referential Transparency; ‣ Your program or language can include both FP and non-FP constructs; ‣ OOP can be FP; ‣ FP is just a tool, not a business req. #programming #fp
Tweet media one
2
5
48
@alexelcu
Alex Nedelcu
5 months
"Reasons to migrate to Scala 3" #Scala #Scala3 #ScalarConf
Tweet media one
2
12
49
@alexelcu
Alex Nedelcu
4 months
“Why we bet on #Scala at SwissBorg” “…we want to share our journey with Scala, highlighting the challenges we encountered, the solutions we crafted, and debunking some common myths…”
1
9
49
@alexelcu
Alex Nedelcu
7 months
"Update NextDNS with a Scala CLI script" Today I was reminded how awesome Scala is for scripting, via Scala CLI. And it goes beyond having “batteries included”. #Scala #CLI #Snippet #Shell
3
16
48
@alexelcu
Alex Nedelcu
11 months
#OCaml is trending, and I heard good things about this learning resource:
0
7
48
@alexelcu
Alex Nedelcu
8 months
#Rust , surprisingly, has many simplifications vs. #Java or #Scala , e.g., ‣ No `null`, just a (tagged) `Option`, with (almost) zero overhead; ‣ All structs can be mutated, there's no `final` keyword; mutation is safe, as it makes it difficult to observe an object while being
4
1
46
@alexelcu
Alex Nedelcu
3 months
@ChShersh Unrelated to git, but the "local history" in IntelliJ IDEA does that job well, and it also auto-saves. Whenever I'm in another editor, like VS Code, I always feel the pain of having to save or losing previous changes.
6
1
46
@alexelcu
Alex Nedelcu
10 months
The designers of JavaScript's Promise were warned that auto-flattening behaviour in `.then` will lead to unsoundness and shitty bugs. They dismissed the concern as too academic.
@alexelcu
Alex Nedelcu
10 months
@ThePrimeagen @BenLesh It's not a bug because Promise.then, in JavaScript, does auto-flattening. So returning a Promise from an async function will auto-flatten that Promise. I.e., working with a Promise<Promise<A>> isn't really possible. Note that people objected to this behaviour when it was
3
5
25
2
10
47
@alexelcu
Alex Nedelcu
10 months
Here's a concurrency problem that's implemented with #Scala 's Cats-Effect and with #Kotlin 's Coroutines for comparison — model a JDBC query that can be interrupted. Which of them do you find more readable or more free of gotchas?
9
6
45
@alexelcu
Alex Nedelcu
6 months
PRO-TIP: #ScalaCLI can compile packages with #GraalVM 's native-image. And without --no-fallback, the compatibility issues (e.g., w/ reflection) are minimal. Fast startup, reasonable binary size, good RAM use 💪 #Scala #pic 🔗
Tweet media one
1
5
46
@alexelcu
Alex Nedelcu
7 months
FWIW, #IntelliJIDEA is now usable on a #Scala 3 project I have, making use of significant indentation, extension methods, givens, the `derives` keyword (with `kittens`) ❤️❤️❤️ Macros are still challenging, `transparent inline` isn't supported, but good enough for me.
@IntelliJScala
IntelliJ Scala
7 months
Inspired by a talk from Scala Days Madrid 2023, this video provides an overview of the Scala plugin's features, our road to Scala 3 support, and some of the latest developments in IntelliJ IDEA. Check it out and let us know what you think! 👉
1
11
57
0
4
45
@alexelcu
Alex Nedelcu
7 months
On Reddit: Q: Is there a `Result` type in Java? A: Use checked exceptions. Q: Checked exceptions don't play well with lambdas. What to do? A: Wait for a future Java. People are afraid of saying #Java sucks for working with higher-order functions, e.g., Loom's raison d'être 🙊
11
7
46
@alexelcu
Alex Nedelcu
9 months
I finally tried the Decline library, for #Scala , for parsing command line arguments. This is probably the best of the available ones. My primary use-case: define commands and sub-commands, in multiple subprojects, that could be composed at will, e.g.,
2
1
44
@alexelcu
Alex Nedelcu
5 months
“In #Scala , Cats-Effect's `Resource` is too difficult, and all those implicit params and tagless final makes code hard to read 😣” Goes back to #Java : 👹 #op
16
3
44
@alexelcu
Alex Nedelcu
3 months
The 2010s were crazy, peaking during the pandemic, and this particular story has tormented me. When this happened, I believed the victims, and I still do; at least I believe their hurt feelings. I've come to the realization that what happened next was wrong, and yes, I have
@propensive
Jon Pretty
3 months
A Statement I am a Scala developer and speaker who was cancelled three years ago. Yesterday I attended the High Court in London to hear an apology from several prominent members of the Scala community for making untrue claims about me on 27 April 2021. I sued them for libel, and
111
265
2K
1
2
43
@alexelcu
Alex Nedelcu
4 months
Online project generators are cool. We need more of these for #Scala ��� nothing that a regular sbt template can't solve, but an online generator with a good UI can give you the confidence to get started.
0
4
42
@alexelcu
Alex Nedelcu
5 months
Well-maintained projects are aggressively kept up to date with their dependencies, as it's a security & hygiene issue that can kill projects. Our project at $work is on the latest version of #Scala 2.13.x, Cats-Effect, Apache Pekko. JDK 21 is underway, Scala 3 is planned.
3
1
40
@alexelcu
Alex Nedelcu
10 months
@deusaquilus @kubukoz @vlagutin TIL about the "Buraq Uprising", from 1929, Palestinians attacking Jews, with women and children as casualties. This was during British rule, before zionism or Israel, and happened due to fearing immigration. People may be under the impression that
3
7
38
@alexelcu
Alex Nedelcu
9 months
@ChShersh Your opinion isn't unpopular, but I still disagree with it. Because that's like saying “low latency is overrated”. Also, just because you eliminate multi-threading (AKA shared memory concurrency), it doesn't make the model much easier. You can still have ordering issues in JS.
3
0
37
@alexelcu
Alex Nedelcu
9 months
Immutability is a good default. Languages or libraries, at the very least, shouldn't disallow it. Language features encouraging mutability are also bad. E.g., libraries for serialization, or database access, requiring records to be mutable, suck badly. Examples: Hibernate,
5
6
38
@alexelcu
Alex Nedelcu
8 months
@k_cieslak I respect David Fowler, but he's engaging in some pretty obnoxious marketing on Microsoft's behalf. Also, C#/JS async/await pattern is broken by design (unlike Kotlin's coroutines, or F#'s Async). At this point, the only credit it should get is in what not to do.
5
0
35
@alexelcu
Alex Nedelcu
10 months
You're not a code ninja, a tech-priest, a rockstar, or a cowboy, you're a professional and people's lives might be in your hands, so strive to be an engineer.
5
1
36
@alexelcu
Alex Nedelcu
6 months
These are some of my favorite build plugins for #Scala . What are your favorites? sbt-assembly sbt-buildinfo sbt-dynver sbt-native-packager sbt-scalafmt sbt-scalaxb sbt-tpolecat sbt-wartremover #op
8
6
37
@alexelcu
Alex Nedelcu
3 months
Hear me talking about JVM Concurrency 😀 At long last, I'm back at offline #Scala  conferences.
@scalarconf
Scalar Conference
3 months
Watch Elements of JVM Concurrency by @alexelcu during the Scalar Conference 2024 Subscribe to our YouTube channel so you don’t miss the rest of #scalarconf videos.
0
6
27
0
1
36
@alexelcu
Alex Nedelcu
5 months
One surprising thing is that #Scala 3 does, in fact, deprecate old syntax. And it can try to -rewrite the code, too. #op
1
8
37
@alexelcu
Alex Nedelcu
3 months
Winamp is being open-sourced. Unsure if anything will come of it, but this was probably the best music player I've ever used, and I'm glad the source will be available for such a great piece of computing history 👏
2
4
35
@alexelcu
Alex Nedelcu
11 months
"OOP classes vs Higher-order Functions (HOFs)" What's the difference? #Blog #FP #OOP #Scala
1
6
37
@alexelcu
Alex Nedelcu
2 months
@tagir_valeev Both steal features from Scala and others 😜
2
0
36
@alexelcu
Alex Nedelcu
5 months
I don't use “tagless final” as I like #OOP , and object algebras can be equivalent. OOP interfaces & composition can be used for dealing with dependencies, instead of TF, or ReaderT, or a fat monad. And implicit params (givens) are good, too, even without the F[_] 🤷‍♂️ #Scala
4
2
36
@alexelcu
Alex Nedelcu
5 months
#OOP and #FP paradigms aren't very orthogonal, as both are about managing state & effects from different perspectives, but aren't at odds and can be complementary. I wouldn't love #Scala if I wouldn't love both. If you like #Scala , you like #FP and #OOP , too 😉
4
6
35
@alexelcu
Alex Nedelcu
5 months
In Warsaw, Poland
Tweet media one
1
0
35
@alexelcu
Alex Nedelcu
5 months
#Scala turned 20
Tweet media one
Tweet media two
0
0
35
@alexelcu
Alex Nedelcu
10 months
#Scala has Type Classes as first-class citizens. In a narrow sense, that's because type classes are just normal types and instances get passed around as values. By comparison, Haskell devs talk about sometimes preferring “dictionary passing style” instead of typeclasses. In
0
8
32
@alexelcu
Alex Nedelcu
11 months
In our team at $work, I often push back against data modelling that uses OOP subtyping, alternative being plain union & product types (e.g., modeling result types or a FSM). Problem is the path of least resistance seems to be OOP subtyping. And this is bad news for OOP haters.
6
2
32
@alexelcu
Alex Nedelcu
2 months
Maybe I'm wrong, perhaps I'm getting old and conservative in my choices, but I think that… Scala's `sbt` offers a significantly better mental model than Gradle, and more stability, which isn't something I expected 😳 And I can see why many prefer Maven 🤷‍♂️
5
2
32
@alexelcu
Alex Nedelcu
7 months
@jdegoes Asynchrony was inevitable, due to lower-level control of threads happening first, due to poll/epoll, and due to 1:1 scheduling platforms being used for UIs (JavaScript). What I don't get is the proliferation of the async/await syntax in more recent programming languages.
4
1
33
@alexelcu
Alex Nedelcu
10 months
In Scala 3, these utilities are guilt-free. But I can't find them in the stdlib optimized yet: #scala #scala3 #pic
Tweet media one
3
1
32
@alexelcu
Alex Nedelcu
3 months
Simplicity is highly overrated. People choose complexity for good reasons 🤷‍♂️
26
0
30
@alexelcu
Alex Nedelcu
10 months
#Scala 's #Metals , the LSP-based IDE, is great, actually. My $work happens in IntelliJ IDEA, but unfortunately, it's not good for enthusiasts. I can't use my $work license on my personal computer, and many language plugins are only available for the Ultimate edition. All my play
Tweet media one
2
4
32
@alexelcu
Alex Nedelcu
3 months
@kitlangton The Visitor pattern does what OOP does best, which is encapsulation, lowering the needed expressiveness of the type system. Without Visitor, you end up needing GADTs for example. Also, on top of the JVM, method dispatch often has better performance than pattern matching.
3
1
30
@alexelcu
Alex Nedelcu
9 months
A great tell that #Scala 3's significant indentation will cause a lot of pain is that blog articles now have indentation bugs. I'm reading a blog article. Great writing, authoritative source. But my eyes spot at least 4 indentation errors, across multiple snippets, probably
8
0
29
@alexelcu
Alex Nedelcu
9 months
For completeness, this is F#, proving once and for all that F# is the bestest C#. Note how “struct” is an implementation detail, as it should be. There's a built-in `Result` data type for properly dealing with parsing errors. And we can make the constructor private, no need to
Tweet media one
0
5
30
@alexelcu
Alex Nedelcu
6 months
I have opinions on Scala 😁
@scalarconf
Scalar Conference
6 months
SCALA turns 20 years old and we surely know how to celebrate it! 🥳 We invited Scala experts to share their Scala Stories. Read #myscalastory by @alexelcu See you in March at #scalarconf #20yearsofscala #scalaversary
0
13
33
0
2
30
@alexelcu
Alex Nedelcu
4 months
Too soon? #Scala
Tweet media one
4
1
30
@alexelcu
Alex Nedelcu
3 months
@bazlur_rahman @java I would be glad if Java evolved to become Scala, but unfortunately that will never happen, as Java is still far away and caught up with a culture that refuses change towards compile-time reflection. If Java would actually become Scala, that would mean the death of Spring-style
2
1
28
@alexelcu
Alex Nedelcu
5 months
#Scala 3.4.0 and 3.3.3 LTS released ❤️ #op
0
6
29
@alexelcu
Alex Nedelcu
4 months
Time to rewrite WordPress in #Scala
@kubukoz
Jakub Kozłowski
4 months
Scala.php 0.1.1 is now available. Compile your Scala to PHP today! Try it out: sbt new scala-php/scala-php.g8 Announcement post:
22
46
146
1
2
27
@alexelcu
Alex Nedelcu
10 months
@sivalabs @antonarhipov When people get interested in FP, there are usually good reasons, usually having to do with managing complexity. Most know how to “get shit done”, and if that's the benchmark, then FP is screwed, as getting shit done (at least for demonstration purposes) is easier w/ imperative
2
4
28
@alexelcu
Alex Nedelcu
9 months
is starting soon. This year, challenge yourself to solve those puzzles in #Scala 3, significant indentation and all 😍 So who's up for it? And would you like to see me struggle? #adventOfCode #op
2
4
28
@alexelcu
Alex Nedelcu
7 months
"Impure" functions in an FP context have negative value because impurity violates the contract of the underlying abstractions, making them leaky, so you end up working with a minefield...
1
2
27
@alexelcu
Alex Nedelcu
10 months
In software, if we were to classify the methodologies doing the most damage to our practice, “aspect-oriented programming” is definitely in the Top 3. The consequence of an OOP language that rejected HOFs for 2 decades, and that shall remain anonymous.
1
5
27
@alexelcu
Alex Nedelcu
5 months
Wojciech Mazur talked about implementing multithreading in Scala Native, with some of the problems encountered for memory management. Scala Native is growing up 😍 #ScalarConf #Scala #ScalaNative
Tweet media one
2
3
26
@alexelcu
Alex Nedelcu
9 months
@graninas By OOP, we understand subtyping polymorphism / dynamic dispatch, which drives encapsulation as a goal, and a trait that OO excels at. Other people understand by OO working w/ objects that have identity (state), so they complain about imperative programming or the design patterns
4
5
27
@alexelcu
Alex Nedelcu
9 months
FP languages rock! Here's what #Scala 3 would roughly look like (making use of @Typelevel 's Cats & Cats-Effect). As a comparison, I love #Fsharp 's Hindley-Milner type inference. OTOH, this Scala uses code more generic, e.g., `foldM` vs `foldAsync` and no need of `AsyncSeq`.
Tweet media one
@angel_d_munoz
Angel Muñoz 🦔
9 months
This is one of my favourite pieces of code I've written in a while. Doing this sort of recursive async work to apply transformations on a file tend to be quite messy in other languages I've tried #fsharp code is just love. #dotnet
Tweet media one
0
7
44
1
3
27
@alexelcu
Alex Nedelcu
8 months
New #programming languages aren't worth learning if they don't broaden the horizon of things you can do, like embracing new paradigms for managing complexity, targeting other platforms, building other types of apps. Also, the incumbents are here to stay.
1
2
26
@alexelcu
Alex Nedelcu
8 months
@deusaquilus @Java_Champions Java will never be good for FP. The language has been decent enough since Java 8, and a cultural shift began to happen alongside the adoption of reactive APIs (spearheaded by RxJava). However, there has always been a resistance to it, and Project Loom has signaled that shift to
1
3
26
@alexelcu
Alex Nedelcu
4 months
Some of my thoughts on “direct style” in #Scala
0
7
26
@alexelcu
Alex Nedelcu
10 months
@ThePrimeagen @BenLesh It's not a bug because Promise.then, in JavaScript, does auto-flattening. So returning a Promise from an async function will auto-flatten that Promise. I.e., working with a Promise<Promise<A>> isn't really possible. Note that people objected to this behaviour when it was
3
5
25
@alexelcu
Alex Nedelcu
10 months
"CS3100 Paradigms of Programming @ IITM (OCaml + Prolog)" "The aim of the course is to teach you about the different paradigms of programming, their underlying concepts, and the relationships between them." #Link #OCaml #Programming #YouTube #Video
1
6
25
@alexelcu
Alex Nedelcu
4 months
I'm starting to assess the health & maturity of programming languages by the availability of ‣ good LSP implementation (VS Code, vim, etc.); ‣ good IntelliJ IDEA plugin. None is optional, I want both.
1
0
25
@alexelcu
Alex Nedelcu
6 months
@debasishg I had the same realization, except that mutability is still a problem. Not as big as in other programming languages, however: 1. No referential transparency, hence no equational reasoning; 2. In FP, sharing is cheap, whereas in Rust sharing is a hard chore, see async complaints
3
1
24