Khác biệt giữa các bản “C Sharp (ngôn ngữ lập trình)”

Cập nhật danh pháp theo TCVN, GF, replaced: . → . (2) using AWB
(Cập nhật danh pháp theo TCVN, GF, replaced: . → . (2) using AWB)
| name = C#
| logo = [[Tập tin:C Sharp wordmark.svg|150px]]
| paradigm = [[Lập trình cấu trúc]], [[Imperative programming|imperative]], [[Lập trình hướng đối tượng]], [[Lập trình hướng chức năng]] , [[Lập trình hướng sự kiện]],[[Event-driven programming|event-driven]], [[The Task-based Asynchronous Pattern|task-driven]], [[Functional programming|functional]], [[Generic programming|generic]], [[Reflective programming|reflective]], [[Concurrent computing|concurrent]]
| family = [[C (ngôn ngữ lập trình)|C]]
| year = {{start date and age|2000}}
| designer = [[Microsoft]]
| developer = Microsoft
| latest release version = 9.0<ref>{{chú thích web|title=Welcome to C# 9.0|url=https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-9|website=Microsoft Docs|publisher=Microsoft|accessdateaccess-date = ngày 13 tháng 11 năm 2020}}</ref>
| latest release date = {{start date and age|2020|11|13}}
| latest preview version = 10.0<ref>{{chú thích web|title=Nullable Reference Types Preview|url=https://github.com/dotnet/csharplang/milestone/19|website=GitHub|publisher=Microsoft|accessdateaccess-date = ngày 13 tháng 11 năm 2020}}</ref>
| latest preview date =
| typing = [[Static typing|static]], [[Dynamic typing|dynamic]],<ref name="dynamic">{{chú thích web |url = http://code.msdn.microsoft.com/csharpfuture/Release/ProjectReleases.aspx?ReleaseId=1686 |title = New features in C# 4.0 |first = Mads |last = Torgersen |date = ngày 27 tháng 10 năm 2008 |publisher = [[Microsoft]] |accessdate access-date = ngày 28 tháng 10 năm 2008 }}</ref>
[[Type system#Strong and weak typing|strong]], [[Type system#Safely and unsafely typed systems|safe]], [[Nominative type system|nominative]], [[Type inference|partially inferred]]
| implementations = [[Microsoft Visual C Sharp|Visual C#]], [[.NET Framework]], [[Mono (software)|Mono]], [[DotGNU]]
| dialects = [[Cω]], [[Spec Sharp|Spec#]], [[Polyphonic C Sharp|Polyphonic C#]], [http://ecsharp.net Enhanced C#]
| influenced_by = [[C++]],<ref name="influenced by CPP">{{cite journal |last = Naugler |first = David |date=May 2007 |title = C# 2.0 for C++ and Java programmer: conference workshop |journal = Journal of Computing Sciences in Colleges |volume = 22 |issue = 5 |quote = Although C# has been strongly influenced by Java it has also been strongly influenced by C++ and is best viewed as a descendant of both C++ and Java.}}</ref>
[[Eiffel (ngôn ngữ lập trình)|Eiffel]], [[Java (ngôn ngữ lập trình)|Java]],<ref name="influenced by CPP" /> [[Modula-3]], [[Object Pascal]],<ref name="influenced by op">{{chú thích web |url = http://www.computerworld.com.au/article/261958/a-z_programming_languages_c_/?pp=7 |title = The A-Z of Programming Languages: C# |date = ngày 1 tháng 10 năm 2008 |publisher = [[Computerworld]] |first = Naomi |last = Hamilton |accessdateaccess-date = ngày 12 tháng 2 năm 2010 |quote = We all stand on the shoulders of giants here and every language builds on what went before it so we owe a lot to C, C++, Java, Delphi, all of these other things that came before us. ([[Anders Hejlsberg]]) |archive-date = 2010-03-ngày 24 tháng 3 năm 2010 |archive-url = https://web.archive.org/web/20100324124903/http://www.computerworld.com.au/article/261958/a-z_programming_languages_c_/?pp=7 |url-status=dead }}</ref> [[ML (ngôn ngữ lập trình)|ML]], [[Visual Basic|VB]], [[Icon (ngôn ngữ lập trình)|Icon]], [[Haskell (ngôn ngữ lập trình)|Haskell]], [[Rust (ngôn ngữ lập trình)|Rust]], [[J Sharp|J#]], [[Cω]], [[F Sharp (ngôn ngữ lập trình)|F#]],<ref group="note">không đồng bộ</ref> [[Visual J++|J++]]
| influenced = [[Chapel (programming language)|Chapel]],<ref name="chplspec">{{chú thích web|title=Chapel spec (Acknowlegements)|url=http://chapel.cray.com/spec/spec-0.98.pdf|date = ngày 1 tháng 10 năm 2015 |accessdateaccess-date = ngày 14 tháng 1 năm 2016 |publisher=Cray Inc}}</ref> [[Crystal (programming language)|Crystal]],<ref name="rel_0.18.0">
{{chú thích web
| url = http://crystal-lang.org/2016/06/14/crystal-0.18.0-released.html#comment-2732771703
| quote = It's heavily inspired by Ruby, and other languages (like C#, Go and Python).
}}
</ref> [[D (ngôn ngữ lập trình)|D]], [[J Sharp|J#]], [[Dart (ngôn ngữ lập trình)|Dart]],<ref>{{chú thích web|title=Web Languages and VMs: Fast Code is Always in Fashion. (V8, Dart) - Google I/O 2013|url=https://www.youtube.com/watch?v=huawCRlo9H4&t=30m10s|publisher=[[Google]]|accessdateaccess-date =ngày 22 tháng 12 năm 2013}}</ref> [[F Sharp (programming language)|F#]], [[Hack (ngôn ngữ lập trình)|Hack]], [[Java (ngôn ngữ lập trình)|Java]],<ref>Java 5.0 added several new language features (the [[foreach loop|enhanced for loop]], [[Object type (object-oriented programming)#Autoboxing|autoboxing]], [[variadic function|varargs]] và [[Java annotation|annotations]]), after they were introduced in the similar (and competing) C# language [http://www.barrycornelius.com/papers/java5/] [http://www.levenez.com/lang/]</ref><ref name="influenced">{{chú thích web |url = http://www.barrycornelius.com/papers/java5/onefile/ |title = Java 5 catches up with C# |date = ngày 1 tháng 12 năm 2005 |publisher = [[University of Oxford]] Computing Services |first = Barry |last = Cornelius |accessdateaccess-date = ngày 18 tháng 6 năm 2014 |quote = In my opinion, it is C# that has caused these radical changes to the Java language. ([[Barry Cornelius]]) }}</ref> [[Kotlin (ngôn ngữ lập trình)|Kotlin]], [[Monkey (ngôn ngữ lập trình)|Monkey]], [[Nemerle]], [[Oxygene (programming language)|Oxygene]], [[Ring (ngôn ngữ lập trình)|Ring]]<ref name="Ring programming language and other languages">{{chú thích web |url=http://ring-lang.sourceforge.net/doc1.6/introduction.html#ring-and-other-languages |title=Ring programming language and other languages |author=Ring Team |date=ngày 5 tháng 12 năm 2017 |work=ring-lang.net |publisher=[[ring-lang]]}}</ref>, [[Rust (ngôn ngữ lập trình)|Rust]], [[Swift (ngôn ngữ lập trình)|Swift]],<ref name="lattner2014">{{chú thích web|url=http://nondot.org/sabre/|title=Chris Lattner's Homepage|last=Lattner|first=Chris|date = ngày 3 tháng 6 năm 2014 |accessdateaccess-date = ngày 3 tháng 6 năm 2014 |publisher=Chris Lattner|quote=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, CLU, and far too many others to list.}}</ref> [[Vala (ngôn ngữ lập trình)|Vala]]
| platform = [[Common Language Infrastructure]]
| license = [[Common Language Runtime|CLR]]: [[MIT License|MIT/X11]]<ref>https://github.com/dotnet/coreclr/blob/master/LICENSE.TXT</ref><br/>
* Phát triển web backend (ASP.NET MVC, ASP.NET core, Web API,Graph API,gPRC, Blazor sevver,Uno platform, Mono)
*Phát triển web front end (Blazor WebAssembly,Uno platform)
*Phát triển desktop app (Winform, WPF, UWP ,WinUI, Mono, Uno, MAUI,Balzor desktop...)
*Phát triển game ([[:en:Unity (game engine)|Unity]], Monogame, Godot, Stride, CryEngine..)
*Phát triển thực tế ảo (VR), thực tế tăng cường(AR), thực tế hỗn hợp (MR) (HoloLens,Unity,CryEngine, Oculus quest..)
*Phát triển mobile app, IOS native, Android native (Xamarin,MAUI,Uno platform)
*Microservices and containers
*Internet of thing (IoT,5G)
*Hệ thống nhúng (Raspberry pi, PLC )
 
== Đặc điểm ngôn ngữ ==
**Theo [./Https://github.com/ Github] (Kho lưu trữ mã nguồn lớn nhất thế giới), tính đến tháng 10/2020, C# là ngôn ngữ hoạt động nhiều thứ 4.
**Cộng đồng phát triển và số người theo học ngôn ngữ C# tăng khônng ngừng theo mỗi năm.Theo ước tính 10/2020, cộng đồng phát triển C# là hơn 6 triệu người
*C# kết hợp chặt chẽ với nền tảng .NET [https://dotnet.microsoft.com/.NET]{{Liên kết hỏng|date = ngày 9 tháng 2 năm 2021-02-09 |bot=InternetArchiveBot }}- một khung nền tảng được đầu tư rất mạnh của Microsoft.
*Ngoài ra C# còn có những ưu điểm:
**[https://github.com/dotnet/csharplang C# là ngôn ngữ lập trình mã nguồn mở],vì vậy C# là miễn phí với tất cả mọi người, đồng thời mọi người đều có thể cùng tham gia phát triển, đề xuất thiết kế ngôn ngữ C#
 
=== Từ C và âm nhạc đến C# ===
Cái tên "C sharp" được lấy cảm hứng từ ký hiệu âm nhạc, trong đó một dấu thăng sau nốt nhạc "#" nghĩa là một nốt được chơi cao hơn nửa cung.<ref>{{Chú thích web |url=http://www.jameskovacs.com/blog/CNETHistoryLesson.aspx |ngày truy cập=2018-02-14 |tựa đề=Bản sao đã lưu trữ |archive-date =2011-08- ngày 21 tháng 8 năm 2011 |archive-url=https://www.webcitation.org/616vU96EP?url=http://jameskovacs.com/2007/09/07/cnet-history-lesson/ }}</ref> Điều này tương tự như trường hợp đặt tên của ngôn ngữ của C++, trong đó "++" chỉ ra rằng giá trị của một biến nên được tăng lên 1. Biểu tượng # cũng giống với bốn ký tự "+" (trong một lưới 2x2), ngụ ý rằng ngôn ngữ là một phiên bản tăng cường của C++ (gấp đôi C++).<ref>{{Chú thích web |url=http://www.computerworld.com.au/article/261958/a-z_programming_languages_c_/?pp=2 |ngày truy cập=2018-02-14 |tựa đề=Bản sao đã lưu trữ |archive-date = ngày 2 tháng 4 năm 2015-04-02 |archive-url=https://web.archive.org/web/20150402120752/https://www.computerworld.com.au/article/261958/a-z_programming_languages_c_/?pp=2 |url-status=dead }}</ref>
Bởi vì giới hạn kỹ thuật của việc hiển thị (các font chuẩn, trình duyệt...) và sự thật là ký tự thăng ({{unichar|266F|MUSIC SHARP SIGN|html=|nlink=Sharp (music)}}) không hiện diện trong đa số các bàn phím, ký tự ({{unichar|0023|NUMBER SIGN|html=}}) đã được chọn để diễn đạt một cách tương đương trong cách viết tên ngôn ngữ.
 
 
==.NET 5.0 ==
Bắt đầu từ.NET 5.0 là nền tảng mới nhất, nó hợp nhất giữa các phiên bản.NET.
 
Tập trung vào hiệu suất và đa nền tảng..NET kế thừa từ các ưu việt của các nền tảng trước đó (.NET Framwork,.NET core,.NET Standard, Mono, Xamarin) để quản lý tập trung 1 framework với một hệ thống API hợp nhất cho các nền tảng phát triển của.NET, giúp nâng cao hiệu suất và tăng tốc độ phát triển các tính năng mới,
 
Microsoft dự kiến ra mắt .NET với chu kỳ 1 năm, phiên bản tiếp theo là .NET 6.0 phát hành ngày 09/11/2021, đây là bản phát hành hỗ trợ dài hạn.
 
== Ví dụ đơn giản Hello World ==
* [http://msdn.microsoft.com/vcsharp/team/language/default.aspx Ngôn ngữ C# (MSDN)]
* [http://www.dotnetspace.com DotNetSpace ASP.NET 2.0 code examples in C#]
* [http://www.meshplex.org/wiki/C_Sharp_Tutorial Full C# Online book] {{Webarchive|url=https://web.archive.org/web/20080129022511/http://www.meshplex.org/wiki/C_Sharp_Tutorial |date =2008-01- ngày 29 tháng 1 năm 2008}}
* [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csspec/html/CSharpSpecStart.asp Tiêu chuẩn C#]
* [http://www.ecma-international.org/publications/files/ecma-st/ECMA-334.pdf Tiêu chuẩn ECMA-334 về ngôn ngữ C#] ([[PDF]])