Ưu điểm và nhược điểm C #

C# là ngôn ngữ lập trình đang được lựa chọn hàng đầu bởi tính ứng dụng và sự hiệu quả của nó, bên cạnh đó C# cũng có những nhược điểm mà các lập trình viên cần phải biết!



Ưu điểm
•    Dễ học hơn c ++
•    Dễ đọc mã hơn c ++
•    Phát triển nhanh hơn và có khả năng ít lỗi hơn so với c ++ hoặc java (bạn có các loại không dấu, bạn có ref / out, bạn có thể tạo các loại giá trị của riêng mình, bạn có những thứ hữu ích khác mà java bỏ qua có nghĩa là bạn ít nhảy qua vòng có nghĩa là độ phức tạp mã ít cần thiết hơn).
•    Tất cả mọi thứ được truyền bằng tham chiếu ngoại trừ các loại giá trị, theo mặc định
•    Công cụ thu gom rác dọn dẹp đồ vật một khi chúng không còn được sử dụng, vì vậy bạn không phải tự mình theo dõi mọi thứ
•    Chương trình được biên dịch thành các nhị phân riêng được tối ưu hóa cho nền tảng khi nó được chạy (và nó chạy chậm hơn một chút so với mã c ++).
•    Dễ dàng tạo nhiều chủ đề
•    Có nhiều phương tiện tạm dừng các luồng để chờ tín hiệu và như vậy
•    lock (someObject) {code}, giống như java được đồng bộ hóa nhưng có thể được sử dụng ở bất cứ đâu và yêu cầu một đối tượng.
•    P / Gọi dễ sử dụng hơn JNI rất nhiều - nhưng có lẽ chúng tôi sẽ không sử dụng nó vì chúng tôi muốn trở thành đa nền tảng
•    Có một IDE miễn phí tuyệt vời (visual c # express) - nhưng chỉ trên windows (xem khuyết điểm).
•    Bạn có thể tạo các loại giá trị, theo mặc định là truyền theo giá trị thay vì truyền bằng tham chiếu, bằng cách tạo cấu trúc thay vì một lớp.
•    Bạn có các từ khóa 'ref' và 'out' cho phép bạn chuyển tham chiếu đến tham số cho hàm, với ý nghĩa là tham số đó phải được gán bởi hàm trước khi trả về. Về cơ bản, ref / out cho phép hàm sửa đổi biến được truyền dưới dạng tham số, giống như chuyển tham chiếu trong c ++.
•    Đa nền tảng với mono và / nhưng mono vẫn đang được cải thiện
•    Có số nguyên không dấu (c ++, java không)
•    Nếu chương trình gặp sự cố, nó sẽ bật lên một hộp thoại cho người dùng biết mã ở đâu và tại sao (trên windows) hoặc ghi dấu vết ngăn xếp vào bàn điều khiển (với mono nếu chạy với --debug).
•    Các chương trình được biên dịch thành các tệp .exe và không cần phải biên dịch lại cho các HĐH khác - mono có thể chạy trực tiếp exes .NET.

Nhược điểm:
•    Sử dụng nhiều bộ nhớ hơn c ++
•    Trình thu gom rác sử dụng chu kỳ và bộ nhớ CPU - (nhưng hầu như không có, ít nhất là thời gian CPU)
•    Một số thứ không hoạt động trong các chức năng gọi đơn trong một số cửa sổ sẽ không tồn tại trên linux, việc triển khai các biểu mẫu đơn của windows cần có cách giải quyết trong mã (nhưng có lẽ chúng ta sẽ không sử dụng chúng)
•    Mono chưa hoàn hảo
•    Phải sử dụng .net 2.0 cho thuốc generic (trong số những thứ khác), 1.1. không có chúng Không thể sử dụng bất cứ thứ gì mới hơn 2.0 vì hỗ trợ thả 3.0 trở lên cho windows 98, ME và có thể 2000.
•    Không thể khai báo các chức năng được đồng bộ hóa
•    Không có IDE tốt trên các cửa sổ không. Eclipse có plugin ac # nhưng nó có thể không hỗ trợ hầu hết các tính năng của Eclipse.
•    Không có con trỏ, nhưng chúng được thay thế bởi các tham số ref và out, vì vậy chúng không cần nhiều
•    Phương thức gọi thông qua các đại biểu chậm hơn đáng kể so với cách gọi phương thức bình thường (hoặc con trỏ hàm trong c ++, có lẽ)
•    Yêu cầu (phiên bản chính xác của) .NET framework phải được cài đặt để chạy chương trình, đây là một bản tải xuống vài giờ khi quay số.


Truy cập, trang web của IMIC: http://www.imic.edu.vn/intro để xem nhiều bài viết hay nhé!! IMIC chúc các bạn thành công!
 

Share:

ĐỐI TÁC LIÊN KẾT TUYỂN DỤNG NHÂN SỰ CỦA IMIC TECHNOLOGY

IMIC Technology

IMIC Technology tự hào là doanh nghiệp đầu tiên tại Việt Nam triển khai các Chương trình Đào tạo chuyên môn dự án cho Học viên ngành CNTT/CNPM. Cũng là một trong những doanh nghiệp đạt được nhiều giải thưởng lớn trong lĩnh vực này. Góp phần phát triển mạnh ngành CNTT/CNPM tại nước ta hiện nay.