this post was submitted on 29 Jan 2026
37 points (97.4% liked)

Programming

24969 readers
606 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
 

I hear they are good, make it easier to maintain code-bases. Most often I reach for python to get the job done. Does anyone have experiences with functional languages for larger projects?

In particular I am interested to learn more on how to handle databases, and writing to them and what patterns they come up with. Is a database handle you can write to not ... basically mutable state, the arch-nemesis of functional languages?

Are functional languages only useful with an imperative shell?

you are viewing a single comment's thread
view the rest of the comments
[–] FishFace@piefed.social 7 points 5 days ago

Functional programming languages can be extremely beautiful when doing a task suited to them, but extremely ugly and cumbersome when doing anything not suited.

With an imperative language you can always fall back on C-style for loops and manipulating state. It may not be beautiful but it's fine. But if you need to use an STArray in Haskell, every single access is through a verbose function call without even array access syntax.

So I would suggest either finding a toy project to do in a pure functional language, or else use a mixed paradigm language and make maximum use of its functional features.

On databases, yeah database access is by definition stateful. It can be encapsulated in a monad, but that just means it's not a good fit for pure functional programming.