STDIO
Tìm kiếm gần đây
    • Nội dung
    • QR Code
    • 0
    • 0
    • Sao chép

    C# - Vì Sao Lại Chọn C Sharp

    Ngôn ngữ lập trình C# được xây dựng bởi Microsoft có thiết kế mạnh mẽ có thể giúp cho lập trình viên có thể đạt được tốc độ phát triển lẫn tính hiệu quả.
    09/08/2020
    25/08/2020
    4 phút đọc
    C# - Vì Sao Lại Chọn C Sharp

    Vì sao lại chọn C#?

    C# là một ngôn ngữ lập trình được xây dựng để loại bỏ nhược điểm của những ngôn ngữ tiền nhiệm, cũng như phục vụ cho hệ sinh thái Windows cho các lập trình viên hiện thực ý tưởng dễ dàng hơn.

    C# đã mất hơn 18 năm để hoàn thiện và vẫn đang tiếp tục phát triển, ngôn ngữ lập trình giúp cho các lập trình viên có thể dễ dàng biến ý tưởng thành hiện thực trên hệ sinh thái Windows vào những năm gần đây, lớn nhất là lần cập nhật để C# có thể đa nền tảng (Android/ iOS/ Linux).

    Bài viết giới thiệu cho bạn đọc một kiến thức khái quát về ngôn ngữ lập trình C#, các công cụ hỗ trợ kèm theo, những tính năng và cơ hội mà ngôn ngữ mang lại.

    Vậy Microsoft đã làm gì với C#?

    Làm cho nó dễ học

    Đây là một trong những ngôn ngữ có thể dùng ít thời gian để nắm rõ các cú pháp, những tính năng và frameworks. C# là "bản thể" biến tấu của C/C++.

    • Lượt bỏ các cú pháp phức tạp.
    • Lập trình viên không cần phải quan tâm việc quản lý vùng nhớ một cách thủ công.
    • Cấu trúc code ngắn gọn hơn.

    Đừng hiểu lầm là "không làm được" mà là "không cần thiết" trong nhiều trường hợp. Code có cấu trúc ngắn gọn và dễ kiến trúc hơn sẽ giảm thiểu thời gian xây dựng ứng dụng.

    Linh hoạt

    C# ngày càng "dấn thân" vào các lĩnh vực và hệ sinh thái khác nhau. Ngay lúc này với C# đã có thể xây dựng rất nhiều ứng dụng ở rất nhiều nền tảng:

    • Ứng dụng cho iOS và Android - sử dụng Xamarin
    • Full stacks Website từ Backend đến Frontend - .NET
    • Server microservices - .NET
    • Xây dựng game 2D/3D đa nền tảng - Unity/Godot/MonoGame/CryEngine
    • Ứng dụng nền Desktop cho hệ điều hành Windows - Windows Form Applications/WPF/UWP
    • Ứng dụng Desktop cho Windows/Mac/Linux nhưng chung source code - GTK#
    • Ứng trí tuệ nhân tạo (Machine Learning) - ML.NET
    • Hệ thống đám mây (Cloud Services) - Azure
    • Lập trình nhúng (IoT) - .NET Core IoT/UWP

    Và tất cả các ứng dụng trên đều thông qua .NET Framework. Có thể hiểu .NET là một chuẩn code để cho các ứng dụng trên hoạt động tốt nhất, trước đây điều này chỉ có thể áp dựng với Windows. Cho đến khi .NET Core ra đời giúp cho lập trình viên không bị giới hạn môi trường làm việc, xây dựng ứng dụng trên các hệ điều hành phổ biến như Linux/MacOS/Windows.

    Thống trị

    Lập trình viên chỉ cần biết ngôn ngữ lập trình C#, nắm rõ .NET đã dễ dàng hiện thực các ý tưởng phần mềm - "Code một lần, chạy mọi nơi".

    Thế nhưng không gì là hoàn hảo, kể cả ngôn ngữ C# cũng có giới hạn khi phải thông qua .NET Framework, một thư viện khá lớn được build kèm với sản phẩm. Đây là cầu nối để ứng dụng có thể chạy đa nền tảng hoặc chí ít là linh hoạt hơn. Có thể thấy C# cần "cầu nối" cũng tương tự với Java cần JVM.

    C/C++ chắc chắn vẫn sẽ tối ưu hơn về tốc độ và linh động hơn trong quản lý bộ nhớ, nhưng sẽ chậm hơn trong quá trình phát triển.

    Tùy theo yêu cầu thị trường và nhu cầu của mỗi dự án mà chọn lựa phù hợp để việc phát triển dự án dễ dàng hơn.

    Tài liệu

    Tài liệu (documentation) về ngôn ngữ C# là một trong những sản phẩm hoàn thiện nhất, nhìn vào các mục chính trên trang chủ của ngôn ngữ có thể lập tức biết được kiến thức tổng quan cần thiết và đi từng bước như thế nào.

    C# Doc outline
     Nội dung tổng quan C#

    Ranh giới cũ và mới

    Không cần quan tâm về quản lý vùng nhớ một cách thủ công nữa, theo một góc nhìn phát triển có thể nói đây là điều tốt vì GC (Garbage Collector) đôi lúc sẽ không "đãng trí" như con người hoặc trong các trường hợp "xóa thì crash, không xóa thì leak" như ngôn ngữ C/C++.

    C# vẫn bắt khai báo kích thước mảng khi sử dụng string[] cars = new string[4] nhưng đồng thời vẫn có thể sử dụng foreach để lặp qua danh sách (list) hoặc mảng thay vì sử dụng vòng lặp for. Đương nhiên có thể sử dụng list để tránh việc khai báo kích thước cứng cho mảng, có thể thấy C# vẫn giữ lại một phần tinh tuý của đàn anh đi trước.

    Lời kết

    Ngôn ngữ lập trình cũng chỉ là công cụ, nền tảng lập trình mới là tất cả, tư duy lập trình sẽ giúp phát huy hết khả năng để sử dụng những công cụ này.

    0 Bình luận
    C# for Automation

    C# for Automation

    STDIO Training - Đào tạo C# Foundation & Advanced.

    Đề xuất

    Vì Sao Sinh Viên Ngành Khoa Học Máy Tính Học C++ Như 1 Ngôn Ngữ Chính?
    Vì sao sinh viên ngành Khoa Học Máy Tính nên xem và học C++ như một ngôn ...
    Ngôn Ngữ C++ - Lịch Sử Hình Thành và Phát Triển
    Lịch sử phát triển và lý do tại sao C++ lại là nền tảng cho tất cả lập ...

    Khám phá

    C++ - Vị Thần Của Quá Khứ, Hiện Tại Và Vị Lai
    C++ Tượng đài trong ngành Công nghệ thông tin.
    9 Tính Năng Quan Trọng Trong C++11
    C++11 là một phiên bản cải tiến và nâng cấp từ C++98 (hay các bạn vẫn ...
    13/08/2015
    Bản Chất Của Biến Trong C/C++
    Tìm hiểu về bản chất của biến trong C++.
    16/01/2015
    Chụp Ảnh Màn Hình Với C# Trong 5 Bước
    Hướng dẫn xây dựng ứng dụng bằng C# thực hiện thao tác chụp ảnh màn hình ...
    Các Kiến Thức Cần Chuẩn Bị Cho Buổi Phỏng Vấn C++
    Các kiến thức cần chuẩn bị cho buổi phỏng vấn C++ và cho công việc C++.
    Đọc Ghi Tất Cả Các Định Dạng Ảnh với FreeImage trong C++
    Hướng dẫn sử dụng FreeImage để đọc, ghi, xử lý ảnh trong C++.
    28/09/2014
    GameObject - Thao Tác với C# Script
    Giới thiệu các thành phần chung của 1 GameObject và các thao tác với C# ...
    C++11 - Smart Pointers - Quản Lý Tài Nguyên
    Tìm hiểu về quản lý tài nguyên với smart pointer trong C++.
    06/12/2014
    Khi bạn nhấn vào liên kết sản phẩm do STDIO đề xuất và mua hàng, STDIO có thể nhận được hoa hồng. Điều này hỗ trợ STDIO tạo thêm nhiều nội dung hữu ích. Tìm hiểu thêm.
    STDIO
    Trang chính
    Công ty TNHH STDIO

    30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
    +84 28.36205514 - +84 942.111912
    developer@stdio.vn

    383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
    Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012

    ©STDIO, 2013 - 2020