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

00:00

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.
GoogolCASE <Informatik>Process (computing)Pattern recognitionMedical imagingProjective planeDecision theoryAlgorithmMultiplication signEndliche ModelltheorieOrder (biology)Goodness of fitDampingPoint (geometry)RoutingMathematical optimizationJava appletClassical physicsMereologyRight angleTouchscreenTesselationServer (computing)Single-precision floating-point formatGame theoryWeb pageCartesian coordinate systemTerm (mathematics)Computer-assisted translationDifferent (Kate Ryan album)Programmer (hardware)Direction (geometry)Arithmetic meanPhysical law10 (number)Personal digital assistantObject (grammar)outputClient (computing)Error messageInterpreter (computing)StatisticsTwitterDescriptive statisticsParameter (computer programming)Artistic renderingArtificial neural networkDivisorSocial classForm (programming)DialectFunction (mathematics)Meta elementPhysical systemMathematicsInstance (computer science)Virtual machineLevel (video gaming)NewsletterWordHome pageWave packetOnline helpAttribute grammarWater vaporWeb 2.0Slide ruleMusical ensemblePresentation of a groupBitPhysicistAxiom of choiceEntropiecodierungExpert systemPoisson-KlammerComputer programmingFocus (optics)MeasurementEvaporationDomain nameVirtualizationIntegrated development environmentPhysicalismElectronic mailing listSoftwareFunctional (mathematics)Programming languageVirtual realityTraffic reportingLattice (order)Software developerFunktionalanalysisData compressionType theoryNatural languageDigital photographyDefault (computer science)ResultantSpacetimeMoment (mathematics)Query languageGroup actionFile formatComputer virusMeeting/Interview
Social classMeta elementNewsletterWater vaporEndliche ModelltheorieComputer animation
Computer animation
Axiom of choiceProgramming languageFocus (optics)Computer programming
CalculationBasis <Mathematik>Stress (mechanics)Factory (trading post)Point (geometry)Thresholding (image processing)Content (media)Raw image formatChannel capacityMathematical optimizationWater vaporEvaporationDivisorEntropiecodierungCartesian coordinate systemMathematical optimizationEndliche ModelltheorieParameter (computer programming)Goodness of fitOrder (biology)Source codeXML
Object (grammar)Virtual realityMereologyVirtualizationIntegrated development environmentComputer animation
Server (computing)Gamma functionSoftware developerComputer programmingFunctional (mathematics)Projective planeLattice (order)System callDampingServer (computing)Goodness of fitWordFile formatCartesian coordinate systemQuery languageInstance (computer science)ResultantSoftwareTraffic reportingComputer animation
Multiplication signGoodness of fitMeeting/Interview
Parameter (computer programming)outputFunction (mathematics)Client (computing)Cartesian coordinate systemWeb browserSingle-precision floating-point formatSocial classMathematicsDivisorWave packetRight angleAxiom of choiceProgrammer (hardware)Process (computing)Virtual machineStatisticsEndliche ModelltheorieComputer-assisted translationDifferent (Kate Ryan album)Web pageMultiplication signJava appletTheory of everythingParameter (computer programming)Term (mathematics)outputArtistic renderingSpeech synthesisDescriptive statisticsArtificial neural networkProgramming language
Digital photographyMedical imagingMultiplication signGroup actionEndliche ModelltheorieNatural languageResultantComputer animation
AlgorithmArithmetic meanDifferent (Kate Ryan album)Term (mathematics)Artificial neural networkRight angleRoutingCASE <Informatik>TouchscreenComputer animation
Position operatorAddress spaceRegulator genePhysical systemVariety (linguistics)Mathematical optimizationBayesian networkStatisticsInferenceGenetic programmingPhysicalismStatistics10 (number)Order (biology)Personal digital assistantPhysical systemEndliche ModelltheorieComputer animation
Data typeInformationDefault (computer science)Module (mathematics)Computer fileSocial classEndliche ModelltheorieComputer-assisted translationObject (grammar)CodeReading (process)Social classEndliche ModelltheorieMeta elementTerm (mathematics)Slide ruleLevel (video gaming)Computer-assisted translationInstance (computer science)Order (biology)Type theoryObject (grammar)Interior (topology)Interpreter (computing)Default (computer science)Attribute grammarError messageGoodness of fitData compressionComputer animation
Virtual realityArtificial neural networkMultiplication signAxiom of choiceBitArithmetic meanTerm (mathematics)Endliche ModelltheorieMeeting/Interview
Message passing
Transcript: English(auto-generated)