this post was submitted on 21 Mar 2024
295 points (94.8% liked)

Programmer Humor

19988 readers
1671 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 9 points 10 months ago (4 children)

I oscillate between using more functional paradigms and more object-oriented ones. is that normal?
I use a linter BTW(TypeScript) if that is a useful info.

[–] [email protected] 9 points 10 months ago (2 children)

I think using both is normal. Closures and objects are duals of each other. Do whatever is understandable and maintainable, neither paradigm is magic.

[–] [email protected] 4 points 10 months ago

that's a nice way to look at it. thanks!

[–] [email protected] -1 points 10 months ago (1 children)

Is the duality statement meant to be true in a technical sense?

[–] [email protected] 1 points 10 months ago (1 children)

Yeah! For example, if the language allows closures to capture state, they can act like properties on an instance.

[–] [email protected] 1 points 10 months ago (1 children)
[–] [email protected] 1 points 9 months ago

A closure is a function with captured state. An object is state with methods.

[–] [email protected] 3 points 10 months ago (1 children)

Avoid shared mutable state like the plague in any paradigm and you'll be fine

[–] [email protected] 2 points 10 months ago (1 children)

state management crying in the corner

[–] [email protected] 2 points 10 months ago

Functional state management is fine

[–] [email protected] 3 points 10 months ago

I also do that. Very simple stuff, especially of those that are easy to optimize for the compiler, are often very close to functional programming paradigms.

[–] [email protected] 2 points 10 months ago (1 children)

I use a combination of both. Objects are declared const, all members are set in the constructor, all methods are const. It doesn't really work for some types of programs (e.g. GUIs) but for stuff like number crunching it's great.

[–] [email protected] 2 points 10 months ago

I heavily use classes while working on back end, and when I'm making a really self-contained logic, such as a logger or an image manipulation service.
but since most frontend stuff heavily leans on functional side, I go with it