3 ms·
You're exceedingly lucky if the developers you work with these days are aware of the differences between shallow and deep copy, or how object references work.
by deckard1 6y ago
You're exceedingly lucky if the developers you work with these days are aware of the differences between shallow and deep copy, or how object references work.
This is where I make the case for having knowledge of asm/C/C++. The JavaScript developers that started on JavaScript or, maybe, Ruby have no clue what the hell is going on in the language they are working in. I see this all the time. From senior and lead developers, too.
They have no mental model for how pointers work. Which means they have no concept of what an object is, on a memory-organization level. They aren't always aware of when mutation will occur, and they are entirely too reliant on operations that are inefficient. In Lisp, this would be the developer than uses CONS everywhere. There is no awareness of the allocations behind the mechanisms. There is premature optimization and then there is not driving into the damn pothole in the first place! One of these is F1 racing and the other is basic driving skills.
I believe this may also explain why so many developers are so bad at using git. Git is entirely based on pointers. There is an elegance and simplicity to git that is lost on many people.
- fetbaffe 6y agoI’m not sure that is the underlying problem, the lack of knowledge about pointers, I think it is more about that the job programmer today is one of the most common jobs today, that alone lowers the general skill level. In the old days people usually chose to become a programmer for a reason, today it is like any other job.
- deleted 6y ago[deleted]
- JamesBarney 6y agoMost devs learn what the need to do their jobs. And you can be a very effective Ruby developer without needing to know much of this information. Just like you can be a very effective C or C++ developer without knowing anything about css (which in my opinion is far more difficult to understand than when and how stack vs heap allocations are made)