If you are not sure if the website you would like to visit is secure, you can verify it here. Enter the website address of the page and see parts of its content and the thumbnail images on this site. None (if any) dangerous scripts on the referenced page will be executed. Additionally, if the selected site contains subpages, you can verify it (review) in batches containing 5 pages.
favicon.ico: en.wikipedia.org/wiki/Reflective_programming - Reflective programming - Wikip.

site address: en.wikipedia.org/wiki/Reflective_programming redirected to: en.wikipedia.org/wiki/Reflective_programming

site title: Reflective programming - Wikipedia

Our opinion (on Saturday 03 October 2026 3:07:17 UTC):

GREEN status (no comments) - no comments
After content analysis of this website we propose the following hashtags:


page from cache: 18 hours ago
Meta tags:

Headings (most frequently used words):

reflective, programming, contents, historical, background, uses, implementation, security, considerations, runtime, performance, examples, see, also, references, further, reading, external, links, common, lisp, delphi, object, pascal, ec, go, java, julia, kotlin, objective, perl, php, python, ruby, rust, swift, xojo, citations, sources,

Text of the page (most frequently used words):
foo (123), reflection (87), the (71), and (52), with (45), hello (44), class (39), edit (35), method (35), code (33), example (33), #programming (30), java (30), printhello (25), for (24), meta (20), name (20), without (20), using (19), articles (19), object (19), new (18), runtime (18), languages (16), reflective (16), oriented (16), obj (16), this (15), void (15), from (14), type (14), below (14), language (13), function (13), reflectedfoo (13), methods (12), print (12), main (12), wikipedia (11), system (11), world (11), instance (11), that (11), reflect (11), return (11), std (11), such (11), retrieved (10), based (10), call (10), invoke (10), string (10), can (10), julia (9), level (9), logic (9), end (9), let (9), import (9), print_hello (9), not (9), info (9), 2026 (8), data (8), public (8), are (8), may (7), non (7), php (7), objective (7), lisp (7), static (7), eval (7), mirror (7), time (7), println (7), used (7), val (7), examples (7), create (7), page (6), compiled (6), list (6), functional (6), self (6), program (6), free (6), also (6), var (6), const (6), reflected (6), common (6), python (5), pascal (5), references (5), links (5), description (5), org (5), point (5), procedural (5), performance (5), introspection (5), dim (5), func (5), swift (5), selector (5), read (5), struct (5), exception (5), try (5), kotlin (5), int (5), rttitype (5), called (5), char (5), member (5), systems (5), execution (5), security (5), these (5), verb (5), toggle (4), table (4), contents (4), search (4), foundation (4), use (4), ruby (4), perl (4), features (4), modifying (4), structured (4), process (4), concurrent (4), higher (4), brian (4), sources (4), october (4), com (4), changes (4), pdf (4), functions (4), computer (4), its (4), fooinstance (4), invocation (4), compile (4), error (4), occurred (4), rust (4), any (4), getmethod (4), constructor (4), printf (4), args (4), fun (4), lang (4), which (4), fooclass (4), tfoo (4), null (4), mem (4), foo_methods (4), include (4), than (4), their (4), source (4), modify (4), hide (4), move (4), sidebar (4), view (3), about (3), additional (3), was (3), all (3), january (3), template (3), unsourced (3), 2015 (3), short (3), different (3), first (3), types (3), generic (3), dynamic (3), constraint (3), user (3), array (3), flow (3), value (3), application (3), large (3), study (3), external (3), forman (3), cppreference (3), library (3), software (3), 2021 (3), built (3), smith (3), massachusetts (3), 1982 (3), science (3), original (3), implementation (3), citations (3), typeof (3), methodinfo (3), classinfo (3), xojo (3), only (3), more (3), invokefooexample (3), possible (3), normal (3), found (3), reflector (3), newinstance (3), message (3), err (3), catch (3), kclass (3), createinstance (3), package (3), unsafe (3), fmt (3), unit1 (3), uses (3), delphi (3), auto (3), string_view (3), consteval (3), findmethod (3), current (3), foo_printhello (3), typedef (3), make (3), find (3), like (3), overhead (3), typically (3), creation (3), when (3), historical (3), into (3), interpreter (3), allows (3), itself (3), were (3), objects (3), classes (3), libraries (3), serialization (3), bundling (3), ability (3), tools (3), statement (2), contact (2), privacy (2), policy (2), available (2), terms (2), categories (2), javascript (2), basic (2), needing (2), 2008 (2), wayback (2), statements (2), wikidata (2), comparisons (2), high (2), low (2), assembly (2), machine (2), multi (2), driven (2), symbolic (2), macro (2), inductive (2), automatic (2), metaprogramming (2), parallel (2), transformation (2), stack (2), set (2), probabilistic (2), english (2), natural (2), modeling (2), interface (2), command (2), action (2), reactive (2), style (2), order (2), syntax (2), design (2), block (2), paradigms (2), api (2), tutorial (2), pages (2), introduction (2), ira (2), isbn (2), further (2), reading (2), university (2), www (2), net (2), reflectionclass (2), openjdk (2), what (2), engineering (2), sandbox (2), just (2), august (2), report (2), control (2), mdn (2), mit (2), institute (2), technology (2), archived (2), cantwell (2), dissertation (2), compilers (2), see (2), each (2), constructors (2), following (2), properties (2), perform (2), nsobject (2), through (2), method_to_call (2), invoke_method (2), sequence (2), method_name (2), expr (2), generic_having_foo_method (2), class_name (2), has (2), init (2), alloc (2), sending (2), framework (2), full (2), reflectiveoperationexception (2), getdeclaredmethod (2), getdeclaredconstructor (2), inspection (2), provides (2), internal (2), depth (2), sun (2), module (2), out (2), else (2), nil (2), finally (2), trttiinstancetype (2), rtticontext (2), begin (2), procedure (2), namespace (2), invokeprint (2), createinvoker (2), createinvokerimpl (2), must (2), constexpr (2), identifier_of (2), failed (2), format (2), isnonstaticmethod (2), filter (2), access_context (2), exit_failure (2), stderr (2), fprintf (2), findmethodbyname (2), memory (2), emulated (2), methodentry (2), though (2), named (2), shown (2), performed (2), but (2), incur (2), being (2), operations (2), resolved (2), dynamically (2), slower (2), applications (2), paths (2), compiler (2), potentially (2), exploited (2), vulnerabilities (2), most (2), considerations (2), implemented (2), provide (2), information (2), executable (2), names (2), supports (2), part (2), give (2), callers (2), some (2), section (2), learn (2), help (2), cite (2), well (2), instantiation (2), interfaces (2), fields (2), component (2), enclosure (2), formats (2), communication (2), notion (2), programmed (2), background (2), examine (2), appearance (2), upload (2), file (2), history (2), article (2), subsection (2), log (2), account (2), donate (2), menu (2), add, topic, mobile, cookie, statistics, developers, conduct, legal, safety, contacts, disclaimers, text, under, apply, site, you, agree, registered, trademark, profit, organization, wikimedia, inc, creative, commons, attribution, sharealike, license, rendered, parsoid, last, edited, september, utc, hidden, sharp, webarchive, july, constructs, https, index, title, reflective_programming, oldid, 1376692468, fifth, fourth, third, second, generation, esoteric, very, interpreted, paradigm, comparison, lists, subjects, roles, literate, event, components, aspects, separation, concerns, vibe, coding, demonstration, bayesian, synthesis, stage, metalinguistic, abstraction, hygienic, interactive, homoiconicity, extensible, attribute, concurrency, service, relativistic, partitioned, global, address, space, models, organic, computing, multitier, macroprogramming, choreographic, mutual, exclusion, actor, visual, pattern, production, graph, rewriting, templating, tactile, simulation, theoretic, scripting, scientific, quantum, filters, pipes, comprehension, grammar, differentiable, spacecraft, automata, algebraic, dsl, domain, specific, query, ontology, nondeterministic, answer, abductive, synchronous, streams, signals, dataflow, monad, concatenative, applicative, expression, dependent, gadts, strict, total, purely, partial, anonymous, recursive, declarative, uniform, persistent, immutable, agent, prototype, nested, invariant, contract, small, modular, jackson, structures, imperative, oracle, foote, smalltalk, comparative, scott, danforth, 1999, 201, 43305, putting, metaclasses, work, nate, 2005, 932394, anti, technique, cli, wrapper, prevent, thief, jonathan, sobel, daniel, friedman, 1996, indiana, manual, 2025, platform, standard, header, tristan, soliven, whole, tomato, wholetomato, actually, codebases, miguel, garcia, francisco, ortin, acm, transactions, methodology, characterizing, usage, impact, empirical, eauvidoum, ieu, disk, noise, vol, phrack, twenty, years, escaping, barros, paulo, rené, millstein, suzanne, vines, paul, dietl, werner, amorim, marcelo, ernst, michael, washington, cse, analysis, implicit, resolving, android, intents, web, docs, documentation, edu, clhs, intern, technical, lcs, 272, cambridge, semantics, department, electrical, phd, unknown, 2017, 2019, june, behavioral, jacques, malenfant, hosting, platforms, next, then, getmethods, getconstructors, constructorinfo, gettypeinfo, typeinfo, count, children, reflecting, much, limited, scope, responds, objc, thus, via, mapping, impl, eprintln, match, macro_rules, registers, actual, macros, send, const_get, alist, assuming, returns, getattr, globals, __main__, __name__, none, def, typing, reflections, performselector, nsclassfromstring, implying, either, kit, openstep, pure, javaclass, retrieves, getfield, access, int64, fieldtypes, fieldnames, officially, contains, one, obtaining, making, specified, now, superseded, getdeclaringclass, stackwalker, stackframe, getcallerclass, misc, jdk, unsupported, getmessage, getclass, isvalid, methodbyname, eclass_findmethod, einstance_new, __thismodule, esystem_findclass, asobject, metaclasstype, findtype, tobject, trtticontext, withreflection, withoutreflection, rtti, assumes, been, declared, unit, gettype, activator, writeline, console, argv, argc, default, private, reflect_constant_string, reflect_constant, substitute, take, zero, parameters, return_type_of, size, parameters_of, static_assert, retrieve, throw, note, has_identifier, members_of, is_function, is_static_member, is_class_member, noexcept, bool, views, added, exit_success, allocation, sizeof, malloc, strcmp, size_t, simulate, lookup, sentinel, mark, simulated, stdlib, stdio, parts, mop, funcall, symbol, specializes, look, defmethod, defclass, snippets, sequences, weaker, those, due, during, compilation, introduce, negligible, because, many, optimizations, aggressive, specialization, cannot, fully, applied, consequence, calls, statically, counterparts, studies, have, substantial, especially, slowdowns, ranging, around, moderate, cases, 300, heavily, dispatch, scenarios, sequential, significantly, increase, consumption, critical, implementations, generally, preserve, still, exhibit, noticeably, absolute, times, commonly, between, equivalent, scalability, multithreaded, microbenchmark, binding, inlining, jvm, allow, unexpected, bypassing, measures, attackers, caused, allowed, untrusted, remote, machines, break, mechanism, scale, 120, 2013, concluded, vulnerability, define, automated, rely, records, providing, correspond, underlying, selectors, environment, ways, forms, everyday, idiom, verbs, various, variables, populated, context, managed, accessing, caller, programmatically, since, eventually, performing, tests, invoked, protect, against, unauthorised, moo, meaning, purpose, construct, bytecode, evaluate, convert, matching, reference, discover, constructions, blocks, protocols, etc, readable, metadata, provided, number, would, otherwise, difficult, accomplish, lower, abilities, how, remove, please, material, challenged, removed, adding, reliable, improve, does, bypass, rules, achieved, writing, directly, onto, usually, invisible, backing, field, property, manually, them, works, project, files, assemblies, archives, accessibility, key, strategy, often, mock, testing, knowing, observing, monitor, according, desired, goal, accomplished, assigning, makes, suited, network, assists, operate, networks, enabling, varying, required, auxiliary, tasks, abstract, notation, produce, asn, effective, almost, always, requires, plan, encoding, map, database, entity, relations, helps, programmers, display, deserialization, unbundling, containers, bursts, decoupled, identifier, doctoral, introduced, computational, circular, earliest, computers, native, inherently, architectures, could, defining, instructions, bulk, moved, largely, disappeared, until, appeared, citation, needed, fortran, cobol, algol, own, structure, behavior, introspect, confused, recursion, graphics, encyclopedia, item, other, projects, printable, version, download, export, switch, legacy, parser, get, shortened, url, permanent, link, related, here, general, actions, talk, tiếng, việt, українська, српски, srpski, slovenščina, русский, português, polski, nederlands, bahasa, melayu, മലയാളം, lietuvių, 한국어, 日本語, italiano, עברית, français, فارسی, español, ελληνικά, deutsch, čeština, català, azərbaycanca, العربية, top, personal, special, recent, community, portal, contribute, random, events, navigation, jump, content,


Text of the page (random words):
languages and the notion of the meta circular interpreter as a component of 3 lisp 2 3 uses edit reflection helps programmers make generic software libraries to display data process different formats of data perform serialization and deserialization of data for communication or do bundling and unbundling of data for containers or bursts of communication reflective systems may provide a mirror type used as a decoupled reflection of an object or identifier effective use of reflection almost always requires a plan a design framework encoding description object library a map of a database or entity relations reflection makes a language more suited to network oriented code for example it assists languages such as java to operate well in networks by enabling libraries for serialization bundling and varying data formats languages without reflection such as c are required to use auxiliary compilers for tasks like abstract syntax notation asn 1 to produce code for serialization and bundling reflection can be used for observing and modifying program execution at runtime a reflection oriented program component can monitor the execution of an enclosure of code and can modify itself according to a desired goal of that enclosure this is typically accomplished by dynamically assigning program code at runtime in object oriented programming languages such as java reflection allows inspection of classes interfaces fields and methods at runtime without knowing the names of the interfaces fields methods at compile time it also allows instantiation of new objects and invocation of methods reflection is often used as part of software testing such as for the runtime creation instantiation of mock objects reflection is also a key strategy for metaprogramming in some object oriented programming languages such as c and java reflection can be used to bypass member accessibility rules for c properties this can be achieved by writing directly onto the usually invisible backing field of a non public property it is also possible to find non public methods of classes and types and manually invoke them this works for project internal files as well as external libraries such as net s assemblies and java s archives implementation edit this section does not cite any sources please help improve this section by adding citations to reliable sources unsourced material may be challenged and removed january 2008 learn how and when to remove this message a language that supports reflection provides a number of features available at runtime that would otherwise be difficult to accomplish in a lower level language some of these features are the abilities to discover and modify source code constructions such as code blocks classes methods protocols etc as first class objects at runtime readable object metadata is provided as a mirror convert a string matching the symbolic name of a class or function into a reference to or invocation of that class or function 4 evaluate a string as if it were a source code statement at runtime 5 6 create a new interpreter for the language s bytecode to give a new meaning or purpose for a programming construct these features can be implemented in different ways in moo reflection forms a natural part of everyday programming idiom when verbs methods are called various variables such as verb the name of the verb being called and this the object on which the verb is called are populated to give the context of the call security is typically managed by accessing the caller stack programmatically since callers is a list of the methods by which the current verb was eventually called performing tests on callers 0 the command invoked by the original user allows the verb to protect itself against unauthorised use compiled languages rely on their runtime system to provide information about the source code a compiled objective c executable for example records the names of all methods in a block of the executable providing a table to correspond these with the underlying methods or selectors for these methods compiled into the program in a compiled language that supports runtime creation of functions such as common lisp the runtime environment must include a compiler or an interpreter reflection can be implemented for languages without built in reflection by using a program transformation system to define automated source code changes security considerations edit reflection may allow a user to create unexpected control flow paths through an application potentially bypassing security measures this may be exploited by attackers 7 historical vulnerabilities in java caused by unsafe reflection allowed code retrieved from potentially untrusted remote machines to break out of the java sandbox security mechanism a large scale study of 120 java vulnerabilities in 2013 concluded that unsafe reflection is the most common vulnerability in java though not the most exploited 8 runtime performance edit runtime reflection systems introduce a non negligible runtime performance overhead for instance in java because reflective operations are resolved dynamically at execution time many compiler and jvm optimizations such as method inlining static binding and aggressive just in time specialization cannot be fully applied as a consequence reflective calls are typically slower than their statically resolved counterparts microbenchmark and application level studies on java have shown that reflective operations can incur substantial runtime overhead especially for method invocation and dynamic object creation with slowdowns ranging from around 20 40 in moderate cases to more than 300 in heavily reflective dispatch scenarios 9 in sequential applications reflection can significantly increase execution time and memory consumption when used in performance critical code paths in multithreaded applications reflective implementations generally preserve scalability but still exhibit noticeably higher absolute execution times commonly between 1 5x and 10 slower than equivalent non reflective code 9 in languages like c and rust reflection is performed at compile time compile time reflection systems are weaker than runtime reflection systems like those of java and c but incur no runtime overhead due to being performed during compilation 10 examples edit the following code snippets create an instance foo of class foo and invoke its method printhello for each programming language normal and reflection based call sequences are shown common lisp edit the example below is in common lisp using the common lisp object system defclass foo defmethod print hello f foo format t hello from s f normal without reflection let foo make instance foo print hello foo with reflection to look up the class named foo and the method named print hello that specializes on foo let foo class find class read from string foo print hello method find method symbol function read from string print hello nil list foo class funcall sb mop method generic function print hello method make instance foo class c edit reflection is not possible in c though parts of reflection can be emulated include stdio h include stdlib h include string h typedef struct foo typedef void method void the method foo printhello void foo_printhello void _ printf hello world n simulated method table typedef struct const char name method fn methodentry const methodentry foo_methods printhello foo_printhello null null sentinel to mark end simulate reflective method lookup method findmethodbyname const char name for size_t i 0 foo_methods i name i if strcmp foo_methods i name name 0 return foo_methods i fn return null int main without reflection foo foo foo_printhello foo with emulated reflection foo reflected foo malloc sizeof foo if reflected fprintf stderr memory allocation failed n return exit_failure const char name printhello method m findmethodbyname name if m m reflected else fprintf stderr method s not found n name free reflected return exit_failure free reflected return exit_success c edit the example below is in c using reflection added in c 26 11 import std using std string_view using std views filter using std meta access_context using std meta exception using std meta info namespace meta std meta consteval bool isnonstaticmethod info mem noexcept return meta is_class_member mem meta is_static_member mem meta is_function mem consteval info findmethod info type string_view name for info member meta members_of type access_context current filter isnonstaticmethod if meta has_identifier member meta identifier_of member name return member note this is std meta exception not std exception throw exception std format failed to retrieve method from type name meta identifier_of type findmethod template info t const char name constexpr auto createinvokerimpl auto static constexpr info m findmethod t name static_assert meta parameters_of m size 0 meta return_type_of m void reflected method must take zero parameters and return void return t instance void instance m consteval info createinvoker info type string_view name return meta substitute createinvokerimpl meta reflect_constant type meta reflect_constant_string name class foo private public foo default void printhello const std println hello world int main int argc char argv foo foo without reflection foo printhello with reflection auto invokeprint createinvoker foo printhello invokeprint foo return 0 c edit the example below is in c namespace wikipedia examples using system using system reflection class foo public void printhello console writeline hello world public class invokefooexample static void main string args without reflection foo foo new foo printhello with reflection object reflectedfoo activator createinstance typeof foo methodinfo method reflectedfoo gettype getmethod printhello method invoke foo null delphi object pascal edit this delphi and object pascal example assumes that a tfoo class has been declared in a unit called unit1 uses rtti unit1 procedure withoutreflection var foo tfoo begin foo tfoo create try foo hello finally foo free end end procedure withreflection var rtticontext trtticontext rttitype trttiinstancetype foo tobject begin rttitype rtticontext findtype unit1 tfoo as trttiinstancetype foo rttitype getmethod create invoke rttitype metaclasstype asobject try rttitype getmethod hello invoke foo finally foo free end end ec edit the example below is in ec without reflection foo foo foo hello with reflection class fooclass esystem_findclass __thismodule foo instance foo einstance_new fooclass method m eclass_findmethod fooclass hello fooclass module void void m function foo go edit the example below is in go import fmt reflect type foo struct func f foo hello fmt println hello world func main without reflection var f foo f hello with reflection var ft reflect type reflect typeof foo var fv reflect value reflect new ft var m reflect value fv methodbyname hello if m isvalid m call nil else fmt println method not found java edit the example below is in java package org wikipedia examples import java lang reflect method class foo public void printhello system out println hello world public class invokefooexample public static void main string args without reflection foo foo new foo foo printhello with reflection try foo reflectedfoo foo class getdeclaredconstructor newinstance method m reflectedfoo getclass getdeclaredmethod printhello new class 0 m invoke reflectedfoo catch reflectiveoperationexception e system err printf an error occurred s n e getmessage java also provides an internal class not officially in the java class library in module jdk unsupported sun reflect reflection which is used by sun misc unsafe it contains one method static class getcallerclass int depth for obtaining the class making a call at a specified depth 12 this is now superseded by using the class java lang stackwalker stackframe and its method class getdeclaringclass julia edit the example below is in julia julia struct point x int y end inspection with reflection julia fieldnames point x y julia fieldtypes point int64 any julia p point 3 4 access with reflection julia getfield p x 3 kotlin edit using java reflection package org wikipedia examples import java lang reflect method class foo constructor fun printhello println hello world fun main args array string without reflection val foo foo foo printhello with reflection try foo class java retrieves a java lang class foo val reflectedfoo foo class java getdeclaredconstructor newinstance val m method reflectedfoo javaclass getdeclaredmethod printhello m invoke reflectedfoo catch e reflectiveoperationexception system err printf an error occurred s n e message using pure kotlin package org wikipedia examples import kotlin reflect full createinstance import kotlin reflect full functions class foo fun printhello println hello world fun main args array string without reflection val foo foo foo printhello with reflection try val kclass foo class val reflectedfoo kclass createinstance val function kclass functions first it name printhello function call reflectedfoo catch e exception system err printf an error occurred s n e message objective c edit the example below is in objective c implying either the openstep or foundation kit framework is used foo class interface foo nsobject void hello end sending hello to a foo instance without reflection foo obj foo alloc init obj hello sending hello to a foo instance with reflection id obj nsclassfromstring foo alloc init obj performselector selector hello perl edit the example below is in perl without reflection my foo foo new foo hello or foo new hello with reflection my class foo my constructor new my method hello my f class constructor f method or class constructor method with eval eval new foo hello php edit the example below is in php 13 without reflection foo new foo foo hello with reflection using reflections api reflector new reflectionclass foo foo reflector newinstance hello reflector getmethod hello hello invoke foo python edit the example below is in python from typing import any class foo def print_hello self none print hello world if __name__ __main__ without reflection obj foo foo obj print_hello with reflection obj foo globals foo _ any getattr obj print_hello with eval eval foo print_hello r edit the example below is in r without reflection assuming foo returns an s3 type object that has method hello obj foo hello obj with reflection class_name foo generic_having_foo_method hello obj do call class_name list do call generic_having_foo_method alist obj ruby edit the example below is in ruby without reflection obj foo new obj hello with reflection obj object const_get foo new obj send hello with eval eval foo new hello rust edit the example below is in rust using procedural macros a basic macro that registers a method name string to an actual method call macro_rules invoke_method instance expr method_name expr match method_name print_hello instance print_hello _ eprintln an error occur...
Images from subpage: "en.wikipedia.org/wiki/Page_description_language" Verify
Images from subpage: "en.wikipedia.org/wiki/Pipeline_(software)" Verify
Images from subpage: "en.wikipedia.org/wiki/Filter_(software)" Verify
Images from subpage: "en.wikipedia.org/wiki/Probabilistic_programming" Verify
Images from subpage: "en.wikipedia.org/wiki/Quantum_programming" Verify

Verified site has: 342 subpage(s). Do you want to verify them? Verify pages:

1-5 6-10 11-15 16-20 21-25 26-30 31-35 36-40 41-45 46-50
51-55 56-60 61-65 66-70 71-75 76-80 81-85 86-90 91-95 96-100
101-105 106-110 111-115 116-120 121-125 126-130 131-135 136-140 141-145 146-150
151-155 156-160 161-165 166-170 171-175 176-180 181-185 186-190 191-195 196-200
201-205 206-210 211-215 216-220 221-225 226-230 231-235 236-240 241-245 246-250
251-255 256-260 261-265 266-270 271-275 276-280 281-285 286-290 291-295 296-300
301-305 306-310 311-315 316-320 321-325 326-330 331-335 336-340 341-342


Top 50 hastags from of all verified websites.

Supplementary Information (add-on for SEO geeks)*- See more on header.verify-www.com

Header

HTTP/1.1 301 Moved Permanently
content-length 0
location htt????/en.wikipedia.org/wiki/Reflective_programming
server HAProxy
x-cache cp6011 int
x-cache-status int-tls
connection close
HTTP/2 200
date Tue, 29 Sep 2026 07:36:26 GMT
server mw-web.eqiad.main-56877899c8-j2mc9
x-content-type-options nosniff
content-language en
accept-ch
reporting-endpoints csp-report-to-endpoint= /w/api.php?action=cspreport&format=json ;
content-security-policy script-src unsafe-eval blob: self meta.wikimedia.org *.wikimedia.org *.wikipedia.org *.wikinews.org *.wiktionary.org *.wikibooks.org *.wikiversity.org *.wikisource.org wikisource.org *.wikiquote.org *.wikidata.org *.wikifunctions.org *.wikivoyage.org *.mediawiki.org mediawiki.org wikimedia.org *.wmflabs.org *.wmcloud.org *.toolforge.org wss://*.toolforge.org *.jsdelivr.net unpkg.com cdnjs.cloudflare.com raw.githubusercontent.com *.github.com code.jquery.com cdn.mathjax.org use.typekit.net fonts.cdnfonts.com use.fontawesome.com i.ytimg.com rsms.me doi.org localhost htt????/localhost:* htt???/localhost:* wss://localhost:* ws://localhost:* *.google.com *.gstatic.com *.googleapis.com *.translate.yandex.net yastatic.net ya.ru radically.github.io cdn.sammdot.ca cdn.fontshare.com viaf.org publicai-proxy.alaexis.workers.dev iiif.archive.org api.flickr.com live.staticflickr.com api.anthropic.com api.openai.com api.publicai.co catalogo.pusc.it parsifal.urbe.it opac.sbn.it overpass-api.de api.openrouteservice.org archive.org *.openstreetmap.org *.waymarkedtrails.org *.thunderforest.com registry.ipe.wiki analytics.ipe.wiki qlever.dev app.goacoustic.com wikipedia-archive.ourworldindata.org api.inaturalist.org inaturalist-open-data.s3.amazonaws.com validator.w3.org db.onlinewebfonts.com fontlibrary.org unsafe-inline auth.wikimedia.org; default-src self data: blob: upload.wikimedia.org thumb.wikimedia.org htt????/commons.wikimedia.org meta.wikimedia.org *.wikimedia.org *.wikipedia.org *.wikinews.org *.wiktionary.org *.wikibooks.org *.wikiversity.org *.wikisource.org wikisource.org *.wikiquote.org *.wikidata.org *.wikifunctions.org *.wikivoyage.org *.mediawiki.org mediawiki.org wikimedia.org *.wmflabs.org *.wmcloud.org *.toolforge.org wss://*.toolforge.org *.jsdelivr.net unpkg.com cdnjs.cloudflare.com raw.githubusercontent.com *.github.com code.jquery.com cdn.mathjax.org use.typekit.net fonts.cdnfonts.com use.fontawesome.com i.ytimg.com rsms.me doi.org localhost htt????/localhost:* htt???/localhost:* wss://localhost:* ws://localhost:* *.google.com *.gstatic.com *.googleapis.com *.translate.yandex.net yastatic.net ya.ru radically.github.io cdn.sammdot.ca cdn.fontshare.com viaf.org publicai-proxy.alaexis.workers.dev iiif.archive.org api.flickr.com live.staticflickr.com api.anthropic.com api.openai.com api.publicai.co catalogo.pusc.it parsifal.urbe.it opac.sbn.it overpass-api.de api.openrouteservice.org archive.org *.openstreetmap.org *.waymarkedtrails.org *.thunderforest.com registry.ipe.wiki analytics.ipe.wiki qlever.dev app.goacoustic.com wikipedia-archive.ourworldindata.org api.inaturalist.org inaturalist-open-data.s3.amazonaws.com validator.w3.org db.onlinewebfonts.com fontlibrary.org en.wikibooks.org en.wikinews.org en.wikiquote.org en.wikisource.org en.wikiversity.org en.wikivoyage.org en.wiktionary.org www.mediawiki.org commons.wikimedia.org foundation.wikimedia.org incubator.wikimedia.org species.wikimedia.org wikimania.wikimedia.org www.wikidata.org www.wikifunctions.org auth.wikimedia.org; style-src self data: blob: upload.wikimedia.org thumb.wikimedia.org htt????/commons.wikimedia.org meta.wikimedia.org *.wikimedia.org *.wikipedia.org *.wikinews.org *.wiktionary.org *.wikibooks.org *.wikiversity.org *.wikisource.org wikisource.org *.wikiquote.org *.wikidata.org *.wikifunctions.org *.wikivoyage.org *.mediawiki.org mediawiki.org wikimedia.org *.wmflabs.org *.wmcloud.org *.toolforge.org wss://*.toolforge.org *.jsdelivr.net unpkg.com cdnjs.cloudflare.com raw.githubusercontent.com *.github.com code.jquery.com cdn.mathjax.org use.typekit.net fonts.cdnfonts.com use.fontawesome.com i.ytimg.com rsms.me doi.org localhost htt????/localhost:* htt???/localhost:* wss://localhost:* ws://localhost:* *.google.com *.gstatic.com *.googleapis.com *.translate.yandex.net yastatic.net ya.ru radically.github.io cdn.sammdot.ca cdn.fontshare.com viaf.org publicai-proxy.alaexis.workers.dev iiif.archive.org api.flickr.com live.staticflickr.com api.anthropic.com api.openai.com api.publicai.co catalogo.pusc.it parsifal.urbe.it opac.sbn.it overpass-api.de api.openrouteservice.org archive.org *.openstreetmap.org *.waymarkedtrails.org *.thunderforest.com registry.ipe.wiki analytics.ipe.wiki qlever.dev app.goacoustic.com wikipedia-archive.ourworldindata.org api.inaturalist.org inaturalist-open-data.s3.amazonaws.com validator.w3.org db.onlinewebfonts.com fontlibrary.org unsafe-inline ; object-src none ; report-uri /w/api.php?action=cspreport&format=json; report-to csp-report-to-endpoint
last-modified Sun, 27 Sep 2026 20:47:55 GMT
content-type text/html; charset=UTF-8
content-encoding gzip
age 0
accept-ranges bytes
x-cache cp6010 miss, cp6009 miss
x-cache-status miss
strict-transport-security max-age=106384710; includeSubDomains; preload
report-to group : wm_nel , max_age : 604800, endpoints : [ url : htt????/intake-logging.wikimedia.org/v1/events?stream=w3c.reportingapi.network_error&schema_uri=/w3c/reportingapi/network_error/1.0.0 ]
nel report_to : wm_nel , max_age : 604800, failure_fraction : 0.05, success_fraction : 0.0
set-cookie WMF-Last-Access=29-Sep-2026;Path=/;HttpOnly;secure;Expires=Sat, 31 Oct 2026 00:00:00 GMT
set-cookie WMF-Last-Access-Global=29-Sep-2026;Path=/;Domain=.wikipedia.org;HttpOnly;secure;Expires=Sat, 31 Oct 2026 00:00:00 GMT
set-cookie WMF-DP=73f;Path=/;HttpOnly;secure;Expires=Tue, 29 Sep 2026 00:00:00 GMT
x-client-ip 5.135.42.194
cache-control private, s-maxage=0, max-age=0, must-revalidate, no-transform
vary Accept-Encoding,X-Subdomain,Cookie,Authorization,User-Agent
set-cookie GeoIP=FR:::48.86:2.34:v4; Path=/; secure; Domain=.wikipedia.org
set-cookie NetworkProbeLimit=0.001;Path=/;Secure;SameSite=None;Max-Age=3600
set-cookie WMF-Uniq=19slV42errJJ4zVKu2XucQPqAAAAAFvdknmm2ejM8MGYodRYjKwecBqrqUAZ8IXo;Domain=.wikipedia.org;Path=/;HttpOnly;secure;SameSite=None;Expires=Wed, 29 Sep 2027 00:00:00 GMT
x-request-id 04a5b2e9-eabb-467d-a115-c8b3a6b85436
x-analytics
server-timing cache;desc= miss , host;desc= cp6009 ,co_id;desc= 1136667891

Meta Tags

title="Reflective programming - Wikipedia"
charset="UTF-8"
name="ResourceLoaderDynamicStyles" content=""
name="generator" content="MediaWiki 1.47.0-wmf.21"
name="referrer" content="origin"
name="referrer" content="origin-when-cross-origin"
name="robots" content="max-image-preview:standard"
name="format-detection" content="telephone=no"
name="viewport" content="width=1120"
property="og:title" content="Reflective programming - Wikipedia"
property="og:type" content="website"
property="mw:PageProp/toc" id="mwDw" data-mw='{"autoGenerated":true}'

Load Info

page size315920
load time (s)0.413334
redirect count1
speed download134716
server IP 185.15.58.224
* all occurrences of the string "http://" have been changed to "htt???/"