3 ms·
> In the mathematical world, data just is, it has no behavior, yet the rigors of C++ or Java require developers to worry about how it is accessed. This may be
by brianberns 13y ago
> In the mathematical world, data just is, it has no behavior, yet the rigors of C++ or Java require developers to worry about how it is accessed.
This may be true, but in the real world, data and behavior are still intimately tied together. Data-oriented (i.e. functional) programming is going to enhance OO programming, not replace it entirely.
- textminer 13y agoI've moved recently from building data manipulation and machine learning systems in Python to a stack that's primarily C++, and it's striking how much less nimble I now feel transforming that data or in building machine learning pipelines. I suppose building basic tools as Apache Thrift services would allow one the ease of prototyping ideas in Python before building a performant system in something like Java or C++.
- brianberns 13y agoI suspect that's probably due to C++ being a lower-level language than Python, not due to any inherent problems with OO programming. BTW, Python describes itself as object oriented, so it illustrates my point that OO and functional are not at odds.
- pjmlp 13y agoMany developers tend to think OO == Java/C#/C++ as they never learned other OO paradigms.
- Peaker 13y agoI could counter your mental model of the real world with: The "real world" is a pure function of time -- therefore functional programming is the "right way" to model it. Examining our mental model of the "real world" is not going to give us good insight about which programming tools will model it best.