C Sharp (programming language)

C#
ParadigmMulti-paradigm: structured, imperative, object-oriented, event-driven, task-driven, functional, generic, reflective, concurrent
FamilyC
Designed byAnders Hejlsberg (Microsoft)
DeveloperMads Torgersen (Microsoft)
First appeared2000; 24 years ago (2000)[1]
Stable release
13[2] Edit this on Wikidata / 12 November 2024; 9 days ago (12 November 2024)
Typing disciplineStatic, dynamic,[3] strong, safe, nominative, partly inferred
Memory managementautomatic memory management
PlatformCommon Language Infrastructure
License
Filename extensions.cs, .csx
Websitelearn.microsoft.com/en-us/dotnet/csharp/
Major implementations
Visual C#, .NET, Mono, Universal Windows Platform
Discontinued: .NET Framework, DotGNU
Dialects
, Polyphonic C#, Enhanced C#
Influenced by
C++,[6] , Eiffel, F#,[a] Haskell, Scala, Icon, J#, J++, Java,[6] ML, Modula-3, Object Pascal,[7] VB
Influenced
Chapel,[8] Clojure,[9] Crystal,[10] D, J#, Dart,[11] F#, Hack, Java,[12][13] Kotlin, Nemerle, Oxygene, Rust,[14] Swift,[15] Vala, TypeScript

C# (/ˌs ˈʃɑːrp/ see SHARP)[b] is a general-purpose high-level programming language supporting multiple paradigms. C# encompasses static typing,[16]: 4  strong typing, lexically scoped, imperative, declarative, functional, generic,[16]: 22  object-oriented (class-based), and component-oriented programming disciplines.[17]

The principal inventors of the C# programming language were Anders Hejlsberg, Scott Wiltamuth, and Peter Golde from Microsoft.[17] It was first widely distributed in July 2000[17] and was later approved as an international standard by Ecma (ECMA-334) in 2002 and ISO/IEC (ISO/IEC 23270 and 20619[c]) in 2003. Microsoft introduced C# along with .NET Framework and Visual Studio, both of which were closed-source. At the time, Microsoft had no open-source products. Four years later, in 2004, a free and open-source project called Mono began, providing a cross-platform compiler and runtime environment for the C# programming language. A decade later, Microsoft released Visual Studio Code (code editor), Roslyn (compiler), and the unified .NET platform (software framework), all of which support C# and are free, open-source, and cross-platform. Mono also joined Microsoft but was not merged into .NET.

As of November 2024, the most recent stable version of the language is C# 13.0, which was released in 2024 in .NET 9.0.[18][19]

  1. ^ "InfoQ eMag: A Preview of C# 7". Archived from the original on April 24, 2023. Retrieved November 11, 2016.
  2. ^ https://devblogs.microsoft.com/dotnet/announcing-dotnet-9/. {{cite web}}: Missing or empty |title= (help)
  3. ^ Cite error: The named reference dynamic was invoked but never defined (see the help page).
  4. ^ "The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.: dotnet/roslyn". November 13, 2019. Archived from the original on February 22, 2021. Retrieved February 13, 2015 – via GitHub.
  5. ^ "CoreCLR is the runtime for .NET Core. It includes the garbage collector, JIT compiler, primitive data types and low-level classes.: dotnet/coreclr". November 13, 2019. Archived from the original on October 14, 2019. Retrieved March 8, 2017 – via GitHub.
  6. ^ a b Cite error: The named reference influenced by CPP was invoked but never defined (see the help page).
  7. ^ Cite error: The named reference influenced by op was invoked but never defined (see the help page).
  8. ^ "Chapel spec (Acknowledgments)" (PDF). Cray Inc. October 1, 2015. Archived from the original (PDF) on February 5, 2016. Retrieved January 14, 2016.
  9. ^ "Rich Hickey Q&A by Michael Fogus". Archived from the original on January 11, 2017. Retrieved January 11, 2017.
  10. ^ Borenszweig, Ary (June 14, 2016). "Crystal 0.18.0 released!". Archived from the original on December 25, 2018. Retrieved August 7, 2017. It's heavily inspired by Ruby, and other languages (like C#, Go and Python).
  11. ^ "Web Languages and VMs: Fast Code is Always in Fashion. (V8, Dart) - Google I/O 2013". YouTube. May 16, 2013. Archived from the original on December 21, 2021. Retrieved December 22, 2013.
  12. ^ Java 5.0 added several new language features (the enhanced for loop, autoboxing, varargs and annotations), after they were introduced in the similar (and competing) C# language [1] Archived March 19, 2011, at the Wayback Machine [2] Archived January 7, 2006, at the Wayback Machine
  13. ^ Cite error: The named reference influenced was invoked but never defined (see the help page).
  14. ^ "Influences - The Rust Reference". The Rust Reference. Archived from the original on January 26, 2019. Retrieved April 18, 2023.
  15. ^ Lattner, Chris (June 3, 2014). "Chris Lattner's Homepage". Chris Lattner. Archived from the original on December 25, 2018. Retrieved May 12, 2020. The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.
  16. ^ a b Skeet 2019.
  17. ^ a b c Cite error: The named reference ECMA-334 was invoked but never defined (see the help page).
  18. ^ Dollard, Kathleen (November 14, 2023). "Announcing C# 12". .NET Blog. Archived from the original on November 18, 2023. Retrieved November 18, 2023.
  19. ^ Seth, Gaurav (November 14, 2023). "Announcing .NET 8". .NET Blog. Archived from the original on November 19, 2023. Retrieved November 18, 2023.


Cite error: There are <ref group=lower-alpha> tags or {{efn}} templates on this page, but the references will not show without a {{reflist|group=lower-alpha}} template or {{notelist}} template (see the help page).