Hacker News new | ask | show | jobs
by cstpdk 2467 days ago
I have, evidently to too small a circle of people, described several non-FP coding styles and paradigms using aesthetic terms such as "ugly"
1 comments

The way I understand the parent comment (and I am open to correction), the question is why do we specifically describe functional programming with terms such as 'beautiful' - why do we not use say 'beautiful' for paradigms such as object-oriented, or aspect-oriented, or event-driven?
People find order and structure attractive. Functional programming is associated to that.

I feel like functional programming - maybe more from a categorical perspective - is good at generalising and capturing lots of ideas cleanly. For example you could think of object-oriented programming as using comonads - Haskell is an object oriented language! :).

I feel like that power to connect ideas, and see how they fit into some "larger" structure is what is beautiful. Being able to say what is "really" going on behind the scenes (yeah well really you are just using monads to do x...), being able to draw connections, and then use that to potentially discover new ideas is what is attractive.

Usually other programming paradigms are not constructed from a more rigorous mathematical perspective, but if its a good idea, don't be suprised if you cant describe it with fp.

Object Oriented in Smalltalk is absolutely beautiful.

What gets called Object Oriented in C++ and Java is decidedly not.

Aspect oriented programming as used in Spring is a nightmare. Maybe it's beautiful in some other implementations?

I would read the john backus turing award lecture to see why people have such appreciation of functional programming.

In short it's makes it easy to compose things, using a simple core language.

IIRC is talking about function programming in the sense of J, not about functional programming in the sense of Haskell.