← Барлық мақалаларға оралу

C# тарихынан білуге тұрарлық аз белгілі фактілер

Жарияланды

C# - “тағы бір programming language” қана емес. Бұл Microsoft ішіндегі бірнеше жылдық clever experimentation нәтижесі, ол тек .NET-ті емес, бүкіл software industry-ді өзгертті.

C# қалай true innovator болғанын көрсететін бірнеше key moments:

2002 - C# және .NET дүниеге келуі

Lead architect Anders Hejlsberg болды, ол Turbo Pascal және Delphi жасаушысы ретінде де белгілі. C# 1.0 .NET Framework 1.0 бірге released болды.

Мақсат modern, safe және simple language жасау еді: C++-тан easier, бірақ Microsoft-тың own vision негізінде.

Early 2000s - Cω (Comega) Research Project

Cω commercial product емес, Microsoft Research жасаған research project болды. Ол Polyphonic C# және Xen ideas біріктіріп, data access және concurrency бойынша experiments жасады.

Cω mainstream language болмағанымен, оның innovations LINQ creation шабыттандыруға көмектесті.

2007 - LINQ және functional programming ideas өсуі

C# 3.0 release кезінде Erik Meijer Haskell және ML сияқты functional languages әсер еткен concepts-ті mainstream C# development ішіне алып келді. Бұл release powerful new features енгізді:

  • from, where және select бар LINQ query syntax.

  • Lambda expressions.

  • Extension methods.

  • var contextual keyword.

  • Anonymous types.

  • Entity Framework сияқты technologies үшін crucial болған expression trees.

Бұл additions C#-ты expressive етіп, developers-ке cleaner және more powerful code жазуға мүмкіндік берді.

2012 - F# ықпалы және async/await келуі

C# 5.0 F# ішіндегі async workflows feature-інен async/await pattern adopted және adapted етті. Бұл language-қа asynchronous programming-тің old әрі cumbersome models-тен алыстауға көмектесті.

2015-2021 - C# басқа languages-қа қалай әсер етті

C# popularized еткен patterns industry бойынша wide-reaching impact жасады.

async/await арқылы Asynchronous Programming

  • Python 3.5 (2015).

  • JavaScript ES2017 (2017).

  • Kotlin 1.3 (2018).

  • Rust 1.39 (2019).

  • Swift 5.5 (2021).

Functional Style және LINQ-inspired ideas

  • Java 8 ішіндегі Java Streams API (2014).

Қорытынды

C# trends-ке жай follow еткен жоқ, оларды set етті. Ол developers asynchrony, data және language design туралы қалай ойлайтынын fundamentally өзгертті.

P.S. Publication кейінгі қызық факт

Бұл post LinkedIn-де published болғаннан кейін F# language creator және lead architect Don Syme маңызды points көрсететін comment қалдырды:

“Language integrated async programming was shipped first in F# in 2006 and was copied and adapted into C# in the following years.”

“The history of Generics, LINQ and async programming, iterators and more is covered tangentially in ‘The Early History of F#.’”

“There’s no corresponding peer reviewed paper on the history of C# unfortunately.”

The Early History of F# мақаласын Proceedings of the ACM on Programming Languages ішінде оқуға болады.

Ол сондай-ақ 2000s кезінде C#-қа key contributions жасаған адамдарды атап өтті:

  • Gavin Bierman - Comega.

  • Cédric Fournet - Comega.

  • Nick Benton - Comega.

  • Erik Meijer - LINQ and more.

  • Todd Proebsting - Iterators.

  • Andrew Kennedy - Generics.

  • Claudio Russo - Generics.