Functional Programming and OOP Programming | Sololearn: Learn to code for FREE!

+20

Functional Programming and OOP Programming

How popular is functional programming? Because I have worked a lot with object oriented programming is it worth using functions like lambdas. I see OOP all the time but never functional programming so will there be better job opportunities if I use both?

3/23/2019 8:41:38 AM

Clueless Coder

10 Answers

New Answer

+20

Well... With both knowledge in functional and OO programming, it is certain that your "job opportunities" would extend to encompass both fields. However, job opportunities are probably not the main motivation behind most who learn functional programming. There's not a shred of doubt that functional languages are still widely used, but in comparison to OO languages, the margin in terms of job opportunities is most likely, low.

+16

... and one of the main reasons why this (in Fermi's answer) has come to be, is because most schools do not teach functional programming, at least not on comparable scale or depth when compared to OO languages. I was only briefly introduced to Haskell in one of the CompSc courses, when I had to do a comparative study on programming languages. That is all the exposure I received when it comes to functional programming. There are also a variety of reasons for why, in spite of an actually decent amount of practitioners, functional programming is less used in production / general software development. I would suggest looking it up on Google, since a lot of those are subjective in nature and it is best for you to judge their truthiness.

+11

On the contrary to the current accepted answer, I believe that functional languages are become much more popular now. Lots of languages are taking functional approaches (Scala, Kotlin etc. and Java introduced lambdas in J8, all of which are based on the JVM). This isn't to say it's replacing OOP, or that the two are mutually exclusive. The principles of FP are very useful for OOP, such as preference for Immutable types and functions as first class citizens. It's correct to say FP isn't taught as much, but I believe that is changing. Most of the recent job specs I've seen are asking for FP skills (but still Java based, that's my job :p) So OOP if definitely the current powerhouse in terms of opportunities, but if you want to stand out and start using modern practice then incorporate functional programming

+11

OOP is batter than Functional programming. When you want to complete a project with use functional programming. Might be 90%, you will fail in your project. On the other hand,You will do a project with OOP.Then will successfully done your project. OOP beauty of programming.OOP has 4 pillers such as encapsulation, Inheritance, Polymorphism, Abstraction, those concept are use to reduic code, Data security, Data binding, & easy way to solve your project.

+8

🤔 Much like the philosophy of choosing the goal before choosing the tools, it depends on what's important to the project. The shop I work for uses Haskell for projects where correctness is essential (compile to C from there for performance). That being said, it's definitely not for the faint of heart. The learning curve can be pretty steep and, as someone once put it, "If you can get it to run at all, it will work 100% of the time." (I'm sure this is only a slight exaggeration.) So companies who are attracted to functional programing for awhile thought, "Only the best for us: Haskell!" but then they realize it's a real commitment, e.g. creating tools in-house for things that other languages already have open source tools for. That plus scrum/agile is all the rage these days [insert rant here] which is basically incompatible with functional programming and you've got some tough conversations ahead. So, companies are swinging back toward the middle with more forgiving languages (like Rust).

+6

🤔 Side note about job opportunities and popularity: I always find it interesting that people make such decisions based on how popular something is. If you have a rare skill, the competition will be low and you can charge pennies on the dollar (if you're learning) or you can charge a premium (if you're an expert). That's much tougher to do in saturated markets, where nearly everyone gets paid roughly the same and are all competing with each other for the same jobs.

+5

deepak sharma JavaScript is considered a functional programming language and may store data in objects including the very popular json format. Yet JavaScript also incorporates many of the same oop concepts of the c-based languages. There is much overlap between all modern languages.

+4

Don't many languages incorporate many principles of both OOP and functional programming especially JavaScript? yes.

+1

Functional programming and object-oriented programming uses a different method for storing and manipulating the data. In functional programming, data cannot be stored in objects and it can only be transformed by creating functions. https://medium.com/@sho.miyata.1/the-object-oriented-programming-vs-functional-programming-debate-in-a-beginner-friendly-nutshell-

+1

Functional programming = procediment oriented programming (POP)