C# - TPL2141 logo C# - TPL2141

C#, pronounced as “see-sharp” (Kovacs, 2007), is a multi-paradigm programing language that was developed by Microsoft around year 2000 under, and is still under, the lead of the prominent Danish software engineer – Anders Hejlsberg (Microsoft, 2006).

Anders Hejlsberg

The design of the language is heavily influenced by C++ and Java (Naugler, 2007) during its infancy but had embarked on an increasingly divergent journey since then.

Throughout the almost 18 years of development, C# has gone through many major versions (Microsoft, 2017) – currently sitting at version 7.3, with version 8.0 at the bleeding edge of prerelease.

Why C# is invented?

The most plausible motivation for Microsoft creating a new language that is so similar to Java back then probably rooted in the “Sun Microsystems v. Microsoft Corporation” lawsuit (Shankland, 2002).

As the settlement of the case, Microsoft was forced to discontinue its proprietary Microsoft Java Virtual Machine (MSJVM) – an attempt of the giant to drive more customers to use Windows and Microsoft products (under the internally-used “Embrace, extend, and extinguish” slogan (Economist, 2000)).

Eventually, C# was born, “which was not intended to needle Sun” but “with that as a side effect” to Sun (Wong, 2000).

Side note

The “sharp” in C# should be the sharp symbol “♯” – however the hash symbol “#” is chosen as the close approximate because the sharp symbol is not present on most keyboard layouts (MSDN, 2006).

Besides from being inspired by musical notation (Kovacs, 2007), the name of C# can also be viewed as a ligature of four plus symbols arranged in a two-by-two grid, implying its close relation to both C and C++ as a form of “increment” to the former two (Hamilton, 2008).

References

  1. Kovacs, J. (2007, September 7). C#/.NET History Lesson - James Kovacs’ Weblog. Retrieved from http://jameskovacs.com/2007/09/07/cnet-history-lesson/
  2. Microsoft. (2006, October 3). (Archived) Anders Hejlsberg: Technical Fellow. Retrieved from https://web.archive.org/web/20090427201423/http://www.microsoft.com/presspass/exec/techfellow/Hejlsberg/default.mspx
  3. Naugler, D. R. (2007). C# 2.0 FOR C++ AND JAVA PROGRAMMER - CONFERENCE WORKSHOP. Journal of Computing Sciences in Colleges, 22(5).
  4. Microsoft. (2017, September 20). The history of C#. Retrieved from https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history
  5. Shankland, S. (2002, March 15). Sun, Microsoft settle Java suit. Retrieved from https://www.cnet.com/news/sun-microsoft-settle-java-suit/
  6. Economist, T. (2000, March 30). Deadly embrace. Retrieved from https://www.economist.com/business/2000/03/30/deadly-embrace
  7. Wong, W. (2000, June 26). (Archived) Microsoft aims at Sun’s Java with standards push. Retrieved from http://web.archive.org/web/20070713045941/http://news.com.com/2100-1001-242400.html
  8. MSDN. (2006). (Archived) Frequently Asked Questions About Visual C# .NET 2002. Retrieved from https://web.archive.org/web/20060214002638/http://msdn.microsoft.com/vcsharp/previous/2002/FAQ/default.aspx
  9. Hamilton, N. (2008, October 3). The A-Z of Programming Languages: C#. Retrieved from https://www.computerworld.com.au/article/261958/a-z_programming_languages_c_/?pp=2