3 ms·
I used to be a designer back in the days with no formal education, I learned to code via Action Script 2 and it was fantastic, to be able to add interactivity t
by throw_m239339 1y ago
I used to be a designer back in the days with no formal education, I learned to code via Action Script 2 and it was fantastic, to be able to add interactivity to design, we created really crazy stuff. So I was already manipulating objects without understanding them.
Yet the biggest hurdle for me was actually trying to grasp OOP. I understood what function is, a loop, an condition a variable, a record, but I had very hard time to understand why I needed to write classes, instantiate them, make property private... Now I get it: polymorphism, encapsulation. But still. These are not easy concepts for people with no formal compsci education.
SVN, I got it, MYSQL I got it, but OO? fast forward 10 years and I was all about Symfony 2, design patterns, IoC, ...
My point being that anybody can learn to code and write programs. I just feel like higher abstraction like OO, while they are certainly elegant and useful for maintaining huge codebases, are not necessarily something people wanting to learn programming should be obsessed about (though obviously, all most successful modern languages tend to be OO now, so they have no choice). I don't think PHP would have been that much of success if it forced OOP everywhere when it started.
I mean people programmed without OO for decades before it became really mainstream, therefore most programmers did not have to understand the concepts it carried to work.
- nailer 1y ago> I had very hard time to understand why I needed to write classes You don’t. It was a lie. Tying functions into state is silly. 90s era OOP has no resemblance to Alan Kay’s original concept. If it didn’t click for you, it’s probably because you have a solid bullshit detector. You did nothing wrong.
- NoahZuniga 1y ago> but I had very hard time to understand why I needed to write classes, instantiate them, make property private Well, its all very arbitrary. But the idea is that people expect these practices to lead to better code, so you should follow them. There isn't really anything deep to understand. You just do it like that. That's not a very fulfilling answer, so it's tempting to want to know why people think these practices lead to better code, but I don't think that's really that important for "understanding" programming.