We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Why you always had trouble understanding metaclasses

Formal Metadata

Title
Why you always had trouble understanding metaclasses
Title of Series
Number of Parts
115
Author
Contributors
License
CC Attribution - NonCommercial - ShareAlike 4.0 International:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
"Smart people sometimes like to show off their smarts by demonstrating their mental juggling abilities. After all, if you can reliably remember that r is the lower-cased version of the url with the host and scheme removed, then you must clearly be very smart. One difference between a smart programmer and a professional programmer is that the professional understands that clarity is king." — Robert C. Martin, "Clean Code", p.25 Robert C. Martin says it’s hard to mentally translate one name (e.g. “r”) to another, and you can avoid it by using a better name (e.g. “urlPath”). But the problem is not just lost brainpower; it can also be misunderstanding. I’ve seen experienced Python programmers trying to teach Python “metaclasses” by explaining that a metaclass is the class of a class—which it isn’t. Metaclasses have a reputation of being difficult, but they actually become easy once you use the right term for them. Bad terminology can be far more damaging than just confusing people. In April 2021, the European Commission published a proposal for an Artificial Intelligence Act, which they proudly advertise as the “first ever legal framework on AI”. It has provisions such as prohibiting "an AI system that deploys subliminal techniques beyond a person’s consciousness in order to materially distort a person’s behaviour in a manner that causes or is likely to cause that person or another person physical or psychological harm.” What do they mean with "AI system"? Well, more or less... statistics. None of this would happen if we didn't use misleading terms such as "artificial intelligence". While I do get to metaclasses, the main part of this talk is a tour of bad names. The talk is suitable for all audiences, beginners and advanced alike.