Hacker News new | ask | show | jobs
by skydhash 530 days ago
Another theory is that C inspired languages are very mechanistic and easier to visualize. Same goes for OOP with the Animal->{Cat,Dog} explanation. But that's just surface level and once you get to the difficult part (memory management in C and software design in Java) where the ability to grasp abstractions is required, we're back to square one.

I believe once you've got to some point, dealing with abstractions is a way of life. It's either in the language, the technical requirements, or the software design.

1 comments

"Objects are the way we think" is one of the largest design traps ever laid in software development. Because if you design your program like it, unless in certain special circumstances, it will be shit.
There's the way we think about the problem and it's solution and there's the way that the machine can execute these solutions. More often there's no direct mapping other than a tower of abstractions. The issue is that the problem and our model are too fluid and it's best not to rely that much on a certain paradigm.
I don’t think I’m terms of objects at all, I think it terms of how the data flows. That’s why I like Elixir so much