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.
-
varcontextual 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.