Thunk (original) (raw)

About DBpedia

In computer programming, a thunk is a subroutine used to inject a calculation into another subroutine. Thunks are primarily used to delay a calculation until its result is needed, or to insert operations at the beginning or end of the other subroutine. They have many other applications in compiler code generation and modular programming. The term originated as a whimsical irregular form of the verb think. It refers to the original use of thunks in ALGOL 60 compilers, which required special analysis (thought) to determine what type of routine to generate.

Property Value
dbo:abstract Als Thunk bezeichnet man im Jargon der Softwareentwicklung den Aufruf von Code, der einer anderen Plattform oder einem anderen Framework angehört. Bei der Umstellung von 16 auf 32 Bit beispielsweise konnten die Betriebssysteme (OS/2, Windows NT etc.) 16-Bit-Code durch entsprechendes Umsetzen der Aufrufparameter und Adressen realisieren, so dass 16-Bit-Programme weiter verwendet werden konnten. In der modernen Softwareentwicklung ist ein Thunk z. B. der Aufruf von nativem Code aus Managed Code heraus und umgekehrt (siehe Java Native Access oder .Net-Frameworks P/Invoke). Es handelt sich also um einen Plattform-Übergang (Transition), bei dem die Aufrufkonventionen und/oder Übergabeparameter entsprechend umgesetzt werden müssen (Marshalling). Die Programmiersprache C++/CLI aus dem .NET-Framework von Microsoft wurde eigens dazu konzipiert, solche Thunks in beide Richtungen zu ermöglichen: (de) Thunk es un término usado en la jerga del desarrollo de software que designa la llamada o invocación a un código que pertenece a otra plataforma o a otro Framework. En el paso de 16 a 32 bit por ejemplo, los sistemas operativos (OS/2, Windows NT etc.) podían resolver código de 16 bit a través de la transformación de los parámetros de llamadas y direcciones, de modo tal que fue posible seguir utilizando los programas de 16 bit. En el desarrollo de software moderno, un thunk es la llamada del código nativo desde el código gestionado y viceversa (véase por ejemplo Java Native Access o .NET P/Invoke). Es decir, se trata de una plataforma de transición, en la que las convenciones y/o parámetros de invocación tienen que transformarse correspondientemente (Marshalling). El lenguaje de programación C++/CLI del .NET-Framework de Microsoft fue concebido especialmente para posibilitar tales thunks en ambas direcciones: (es) In computer programming, a thunk is a subroutine used to inject a calculation into another subroutine. Thunks are primarily used to delay a calculation until its result is needed, or to insert operations at the beginning or end of the other subroutine. They have many other applications in compiler code generation and modular programming. The term originated as a whimsical irregular form of the verb think. It refers to the original use of thunks in ALGOL 60 compilers, which required special analysis (thought) to determine what type of routine to generate. (en) 컴퓨터 프로그래밍에서 썽크(Thunk)는 기존의 서브루틴에 추가적인 연산을 삽입할 때 사용되는 서브루틴이다. 썽크는 주로 연산 결과가 필요할 때까지 연산을 지연시키는 용도로 사용되거나, 기존의 다른 서브루틴들의 시작과 끝 부분에 연산을 추가시키는 용도로 사용되는데, 컴파일러 코드 생성시와 모듈화 프로그래밍 방법론 등에서는 좀 더 다양한 형태로 활용되기도 한다. 썽크(Thunk)는 "고려하다"라는 영어 단어인 "Think"의 은어 격 과거분사인 "Thunk"에서 파생된 단어인데, 연산이 철저하게 "고려된 후", 즉 실행이 된 후에야 썽크의 값이 가용해지는 데서 유래된 것이라고 볼 수 있다. (ko)
dbo:wikiPageID 632562 (xsd:integer)
dbo:wikiPageLength 16018 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1101100567 (xsd:integer)
dbo:wikiPageWikiLink dbr:English_irregular_verbs dbr:Entry_point dbr:Memoization dbr:Method_(computer_programming) dbr:Call_by_name dbr:Call_by_reference dbr:Call_by_value dbr:J/Direct dbr:.NET_Framework dbr:16-bit dbc:Computing_terminology dbr:Compiler dbr:Object-oriented_programming dbr:Class_(computer_programming) dbr:Glasgow_Haskell_Compiler dbr:Branch_table dbr:Reducible_expression dbr:Anonymous_function dbr:Libffi dbr:MS-DOS dbr:Calling_convention dbr:Subroutine dbr:Closure_(computer_programming) dbr:Computer_programming dbr:Functional_programming dbr:Platform_Invocation_Services dbr:Microsoft_Layer_for_Unicode dbc:Functional_programming dbr:C++ dbr:Address_space dbr:Trampoline_(computing) dbr:Windows_on_Windows dbr:Dispatch_table dbr:Futures_and_promises dbr:Lazy_evaluation dbr:32-bit dbr:ALGOL_60 dbr:DOS_Protected_Mode_Interface dbr:DOS_Protected_Mode_Services dbr:Dynamic_linking dbr:Overlay_(programming) dbr:Source_code dbr:Remote_procedure_call dbr:Code_generation_(compiler) dbr:This_(computer_programming) dbr:Modular_programming dbr:CPU_modes dbr:Microsoft_Windows dbr:OS/2 dbr:WoW64 dbr:Multiple_inheritance dbr:Virtual_machine dbr:Shim_(computing) dbr:Virtual_memory dbr:Wintel dbr:Procedural_parameter dbr:Evaluation_strategy dbr:Win32s dbr:Legacy_software
dbp:cs1Dates y (en)
dbp:date January 2020 (en)
dbp:wikiPageUsesTemplate dbt:Code dbt:Efn dbt:Notelist dbt:Otheruses dbt:Reflist dbt:Short_description dbt:Use_dmy_dates dbt:Wiktionary
dcterms:subject dbc:Computing_terminology dbc:Functional_programming
gold:hypernym dbr:Subroutine
rdfs:comment In computer programming, a thunk is a subroutine used to inject a calculation into another subroutine. Thunks are primarily used to delay a calculation until its result is needed, or to insert operations at the beginning or end of the other subroutine. They have many other applications in compiler code generation and modular programming. The term originated as a whimsical irregular form of the verb think. It refers to the original use of thunks in ALGOL 60 compilers, which required special analysis (thought) to determine what type of routine to generate. (en) 컴퓨터 프로그래밍에서 썽크(Thunk)는 기존의 서브루틴에 추가적인 연산을 삽입할 때 사용되는 서브루틴이다. 썽크는 주로 연산 결과가 필요할 때까지 연산을 지연시키는 용도로 사용되거나, 기존의 다른 서브루틴들의 시작과 끝 부분에 연산을 추가시키는 용도로 사용되는데, 컴파일러 코드 생성시와 모듈화 프로그래밍 방법론 등에서는 좀 더 다양한 형태로 활용되기도 한다. 썽크(Thunk)는 "고려하다"라는 영어 단어인 "Think"의 은어 격 과거분사인 "Thunk"에서 파생된 단어인데, 연산이 철저하게 "고려된 후", 즉 실행이 된 후에야 썽크의 값이 가용해지는 데서 유래된 것이라고 볼 수 있다. (ko) Als Thunk bezeichnet man im Jargon der Softwareentwicklung den Aufruf von Code, der einer anderen Plattform oder einem anderen Framework angehört. Bei der Umstellung von 16 auf 32 Bit beispielsweise konnten die Betriebssysteme (OS/2, Windows NT etc.) 16-Bit-Code durch entsprechendes Umsetzen der Aufrufparameter und Adressen realisieren, so dass 16-Bit-Programme weiter verwendet werden konnten. In der modernen Softwareentwicklung ist ein Thunk z. B. der Aufruf von nativem Code aus Managed Code heraus und umgekehrt (siehe Java Native Access oder .Net-Frameworks P/Invoke). Es handelt sich also um einen Plattform-Übergang (Transition), bei dem die Aufrufkonventionen und/oder Übergabeparameter entsprechend umgesetzt werden müssen (Marshalling). Die Programmiersprache C++/CLI aus dem .NET-Framew (de) Thunk es un término usado en la jerga del desarrollo de software que designa la llamada o invocación a un código que pertenece a otra plataforma o a otro Framework. En el paso de 16 a 32 bit por ejemplo, los sistemas operativos (OS/2, Windows NT etc.) podían resolver código de 16 bit a través de la transformación de los parámetros de llamadas y direcciones, de modo tal que fue posible seguir utilizando los programas de 16 bit. (es)
rdfs:label Thunk (en) Thunk (de) Thunk (es) 썽크 (ko)
owl:sameAs freebase:Thunk wikidata:Thunk dbpedia-de:Thunk dbpedia-es:Thunk dbpedia-ko:Thunk https://global.dbpedia.org/id/2Hc78
prov:wasDerivedFrom wikipedia-en:Thunk?oldid=1101100567&ns=0
foaf:isPrimaryTopicOf wikipedia-en:Thunk
is dbo:wikiPageDisambiguates of dbr:Thunk_(disambiguation)
is dbo:wikiPageRedirects of dbr:Thunk_(functional_programming) dbr:Thunks dbr:Thunk_(compatibility_mapping) dbr:Flat_thunk dbr:Flat_thunking dbr:General_thunk dbr:General_thunking dbr:Pointer_fixups dbr:Thunk_(data) dbr:Thunk_(delayed_computation) dbr:Thunk_(object-oriented_programming) dbr:Thunk_(programming) dbr:Thunking dbr:Delayed_computation dbr:Delayed_evaluation dbr:Suspended_evaluation
is dbo:wikiPageWikiLink of dbr:Pure_(programming_language) dbr:QEMU dbr:Scheme_(programming_language) dbr:Memoization dbr:Thunk_(functional_programming) dbr:Thunks dbr:Cross_compiler dbr:Strict_programming_language dbr:Comparison_of_functional_programming_languages dbr:Microsoft_Layer_for_Unicode dbr:Thunk_(compatibility_mapping) dbr:Windows_on_Windows dbr:Wine_(software) dbr:Link_register dbr:ALGOL dbr:Dartmouth_ALGOL_30 dbr:History_of_the_Scheme_programming_language dbr:Flat_thunk dbr:Flat_thunking dbr:Thunk_(disambiguation) dbr:Burroughs_B6x00-7x00_instruction_set dbr:Reduction_strategy dbr:X86-64 dbr:General_thunk dbr:General_thunking dbr:Virtual_DOS_machine dbr:Evaluation_strategy dbr:Win32s dbr:Pointer_fixups dbr:Thunk_(data) dbr:Thunk_(delayed_computation) dbr:Thunk_(object-oriented_programming) dbr:Thunk_(programming) dbr:Thunking dbr:Delayed_computation dbr:Delayed_evaluation dbr:Suspended_evaluation
is owl:differentFrom of dbr:Chunk_(information)
is foaf:primaryTopic of wikipedia-en:Thunk