Why are private fields private to the type, not the instance?

I think one reason it works this way is because access modifiers work at compile time. As such, determining whether or not a given object is also the current object isn’t easy to do. For example, consider this code: public class Foo { private int bar; public void Baz(Foo other) { other.bar = 2; } … Read more

Why doesn’t a python dict.update() return the object?

Python’s mostly implementing a pragmatically tinged flavor of command-query separation: mutators return None (with pragmatically induced exceptions such as pop😉 so they can’t possibly be confused with accessors (and in the same vein, assignment is not an expression, the statement-expression separation is there, and so forth). That doesn’t mean there aren’t a lot of ways … Read more

How does “this” keyword work within a function?

Cannibalized from another post of mine, here’s more than you ever wanted to know about this. Before I start, here’s the most important thing to keep in mind about Javascript, and to repeat to yourself when it doesn’t make sense. Javascript does not have classes (ES6 class is syntactic sugar). If something looks like a … Read more