Taxonomy of programming paradigms!
from SamiDena@programming.dev to programming@programming.dev on 17 Aug 2024 03:57
https://programming.dev/post/18227895

#programming

threaded - newest

AtHeartEngineer@lemmy.world on 17 Aug 2024 04:45 next collapse

I love and hate this

SamiDena@programming.dev on 17 Aug 2024 06:01 collapse

The paper (title on top-right) has more info. The image is kind gobbldy-gook.

ChrisMcMillan@lemmy.world on 17 Aug 2024 05:33 next collapse

Not sure about the for dummies part…

SamiDena@programming.dev on 17 Aug 2024 06:00 collapse

It’s name of the paper. You can google-scholar it or just google-normal it with ext:pdf to gain access to it. It’s a very nice paper!

sebsch@discuss.tchncs.de on 17 Aug 2024 06:17 collapse

Maybe you should link it then?

SamiDena@programming.dev on 17 Aug 2024 07:27 collapse
cafuneandchill@lemmy.world on 17 Aug 2024 05:56 next collapse

All of them sound like mental disorders or something lmao
Guess that shows how little I know of programming and CS as a whole

SamiDena@programming.dev on 17 Aug 2024 06:14 collapse

Then read this in your spare time haha.

cafuneandchill@lemmy.world on 17 Aug 2024 08:46 collapse

I like books, thanks!

Tbf, I am familiar with OOP, FP, and imperative(?) but only in a utilitarian sense

SamiDena@programming.dev on 17 Aug 2024 11:22 collapse

No problem. “Imperative” means the kind of programming in C. ‘All commands’. With side-effects. Like a Von Neumann machine!

vext01@lemmy.sdf.org on 17 Aug 2024 19:57 next collapse

This smells of academics…

xmunk@sh.itjust.works on 17 Aug 2024 20:39 collapse

Especially because pretty much every programming language is slowly getting all the features… Java and C++ now have first class function support which used to be a hallmark of functional languages.

namingthingsiseasy@programming.dev on 17 Aug 2024 20:32 collapse

This is very interesting! Things like this make me wish programmers would give functional^W declarative programming more of a chance. I’ve long fantasized about being able to write programs as declarative code that the computer can optimize automatically without human intervention. When you implement your program in more restrictive (ie. stateless) paradigms, you can more easily reason about the code, and thereby make it easier to optimize or run in different environments.

SQL is a great example of this - when you look at some of the optimizations that servers like PostgreSQL can do under the hood, this is because the language inherently limits what you can do so the actual system executing your instructions can do different things with it for better performance and reliability. Things like this are what make query optimizers possible, and it’s really fascinating if you actually read carefully what query analyzers report (beyond just checking whether your indices are being used or not).

Beautiful chart. Thanks for sharing!