Content deleted Content added
No edit summary |
MrGumballs (talk | contribs) Link suggestions feature: 1 link added. |
||
(38 intermediate revisions by 34 users not shown) | |||
Line 1:
{{Short description|Computer program code}}
'''Managed code''' is computer program [[source code]] that requires and will execute only under the ''management'' of a [[Common Language Runtime]] [[virtual machine]], typically the [[.NET Framework]], or [[Mono (software)|Mono]]. The term was coined by [[Microsoft]].▼
{{RefImprove|date=April 2019}}
▲'''Managed code''' is
Managed code is the compiler output of [[source code]] written in one of over twenty high-level [[List of CLI languages|programming languages]], including [[C Sharp (programming language)|C#]], [[J Sharp|J#]] and [[Visual Basic .NET]].
== Terminology ==▼
The distinction between managed and unmanaged code is prevalent and only relevant when developing applications that interact with the [[.NET Framework]] or other Common Language Runtime (CLR) implementations, like [[Mono (software)|Mono]]. Since many older programming languages have been ported to the CLR, the differentiation is needed to identify ''managed'' code, especially in a mixed setup. In this context, code that does not rely on the CLR is termed ''unmanaged''.▼
A source of confusion was created when Microsoft started connecting the .NET Framework with C++, and the choice of how to name the [[Managed Extensions for C++]]. It was first named ''Managed C++'' and then renamed to ''[[C++/CLI]]''. The creator of the C++ programming language and member of the C++ standards committee, [[Bjarne Stroustrup]], even commented on this issue, "On the difficult and controversial question of what the CLI binding/extensions to C++ is to be called, I prefer C++/CLI as a shorthand for "The CLI extensions to ISO C++". Keeping C++ as part of the name reminds people what is the base language and will help keep C++ a proper subset of C++ with the C++/CLI extensions."<ref name="Stroustrup">{{cite web |author=Stroustrup, Bjarne |title=Bjarne Stroustrup's FAQ: What do you think of C++/CLI? |date=2009-06-29 |url=http://www.stroustrup.com/bs_faq.html#CppCLI |accessdate=2009-06-29 }}</ref>▼
▲The true and fine distinction between managed and unmanaged code is prevalent and only relevant when developing applications that interact with
▲A source of confusion was created when Microsoft started connecting the .NET Framework with [[C++]], and the choice of how to name the [[Managed Extensions for C++]]. It was first named
== Uses ==▼
The [[Microsoft
Benefits of using managed code include programmer convenience (by increasing the level of abstraction, creating smaller models) and enhanced security guarantees, depending on the platform (including the VM implementation).
[[Google]] also mentions that [[Java (programming language)|Java]] and [[Kotlin (programming language)|Kotlin]] are managed code in their [[Android software development#NDK|Android NDK]] [[Java Native Interface|JNI]] documents. <ref>{{Cite web|title=JNI tips {{!}} Android NDK|url=https://developer.android.com/training/articles/perf-jni|access-date=2020-06-21|website=Android Developers|language=en}}</ref><ref>{{Cite web|title=Getting started with C++ and Android Native Activities|url=https://medium.com/androiddevelopers/getting-started-with-c-and-android-native-activities-2213b402ffff}}</ref>
==References==
Line 22 ⟶ 24:
*[http://channel9.msdn.com/Showpost.aspx?postid=68302 Microsoft Research OS written in managed C# code], Channel 9
[[Category:.NET
|