For further actions, you may consider blocking this person and/or reporting abuse
Read next
What is the ideal workflow between backend and frontend teams when you have short deadlines?
Luca Argentieri -
The Ultimate Data Engineering Roadmap: From Beginner to Pro
Akhilesh Pratap Shahi -
Why Does JavaScript’s parseInt(0.0000005) Print “5”? 🤔
Jagroop Singh -
How do you choose a component library for your project?
Rasheed K Mozaffar -
Top comments (5)
It takes time for an up-and-coming programming paradigm to spread. And the language (as a tool) has to be practical, in that is useful to solving the problem at hand superior to the tried-and-true tools that are entrenched.
I foresee a future where FP languages and DSL are dominant. But MP and OO and SP languages will still be extent, rather than extinct. And there is also a strong possibility that the popular languages of today which are still growing and evolving, say C++, will incorporate FP into the core language to make it a viable option in the FP space against other FP languages.
Within the FP community, there's a bit of contention regarding "pure" and "impure" languages. F# is an "impure" FP language, but I prefer to consider it a pragmatic FP language.
There's also a bit of an identity crisis as to what is and isn't part-and-parcel for being a functional programming language. For example, wikipedia categorizes a lot of languages as being "functional programming languages" which are marginally (at best!) for being seriously consider FP. I consider that the kind of misinformation that can muddy the waters. (I've seen the same problem with what is/isn't "unit testing". The terminology has been used with so many different conflicting semantics that it becomes a communication impediment when discussing "unit testing".)
I hope there will be no norm anymore, I mean I prefer OOP, but it is hell to see everyone crying about the FP/OOP. I do both, and I am happy to know how to use both. Everyone should use what helps him/her to achieve the the set goal.
A lot of it is legacy, I think. It used to be you didn't have a choice of whether or not you wanted to put up with things like mutation bugs because you didn't have the luxury of creating a new whole new state every time you needed one.
There's also some economics at work--namely the principle-agent problem. Developers (the principle users of programming languages) don't often get to just tell their employers what they'd like the stack to be. So people with business degrees or engineering managers who don't write much code any more make decisions (as agents) to invest in tech that's popular instead of good.
In the long run, I have faith that FP will be the norm as more devs gravitate to FP jobs, but that's a very slow process.
Traditional IT theory (OOP, FP and hardware architecture, etc.) are pseudoscience. they belong to what physicist Wolfgang Pauli said "Not Even Wrong".
It is the perfect theory if a theory is based on mathematics and meets the five basic principles of "Simplicity, Unity, Order, Symmetry and Definiteness" in science, industry and aesthetics.
Keep it Simple and Unified.
Computer science is essentially a management science, and vice versa.
Software and hardware are factories that manufacture data, so they have the same "warehouse/workshop model" and management methods as the manufacturing industry.
---- Lin Pengcheng
2018.03.18, The Math-based Grand Unified Programming Theory: The Pure Function Pipeline Data Flow with Principle-based Warehouse/Workshop Model
The unification of OOP, FP and Warehouse/Workshop Model
Traditional IT theory (OO, FP and hardware architecture, etc.) VS. Warehouse/Workshop Model
Success Story
This talk got you covered youtu.be/QyJZzq0v7Z4