C là ngôn ngữ lập trình cấu trúc, nó cho phép tạo 1 ứng dụng gồm nhiều module chức năng (file), mỗi module chứa nhiều hàm chức năng, các hàm này có thể bị bao đóng trong module chứa chúng hay có thể được truy xuất bởi bất kỳ nơi nào khác ngoài module chứa nó. Ngôn ngữ lập trình C không được kiểm tra kiểu chặt, nghĩa là chương trình dịch không có khả năng và không bao giờ kiểm tra kiểu, bạn có thể gán chuỗi vào biến nguyên... Tóm lại, C là ngôn ngữ thích hợp với những lập trình viên chuyên nghiệp, họ sẽ tự quyết định sự đúng đắn về đoạn code mà họ viết ra Ưu điểm
Một trong những đặc điểm nổi bật của C là có tính tương thích cực cao. Chương trình viết bằng ngôn ngữ C thường dùng cho một loại máy hoặc hệ điều hành này có thể chuyển một cách dễ dàng sang các loại máy hoặc các hệ điều hành khác. Nó hoàn toàn có thể nạp nhanh và tương thích cho đa dạng các bộ vi xử lý. Hiện nay hầu hết các loại máy tính đều sử dụng trình biên dịch C.
Nhược điểm
Thế nhưng, ngôn ngữ lập trình C cũng chỉ thích hợp với những chương trình hệ thống hoặc những chương trình yêu cầu một tốc độ cao. Còn khi đối mặt với những bài toán lớn và phức tạp hơn thì cũng như Pascal, C rất khó kiểm soát được chương trình.
C++ là sự mở rộng của C, nó cung cấp thêm một số khả năng để cho phép lập trình hướng đối tượng. Ứng dụng được viết theo hướng đối tượng là 1 tập các đối tượng tương tác lẫn nhau, C++ cung cấp phát biểu "Class" để người lập trình đặc tả các đối tượng cấu thành ứng dụng. Tuy nhiên, mức độ hỗ trợ hướng đối tượng của C++ còn yếu, không trong sáng và dễ làm người lập trình mắc lỗi trong quá trình viết code. Tóm lại, C++ thích hợp cho những người đã quen dùng C hay những người chỉ biết lập trình hướng đối tượng hay những người muốn kết hợp 2 trường phái lập trình cấu trúc và hướng đối tượng.
Ưu điểm
Dễ hiểu và dễ sử dụng: chỉ cần khai báo <kiểu dữ liệu> tên mảng [ kích thước ]. Truy cập đến các phần tử trong mảng nhanh: chúng ta có thể truy cập tới bất kì phần tử nào trong mảng bằng cách chỉ định chỉ số cho phần tử đó.
Nhược điểm
Kích thước của mảng phải là cố định: Trong cấp phát mảng tĩnh, mảng cần được khai báo với kích thước xác định trước khi chạy chương trình. Các byte vùng nhớ cấp phát mảng được sắp xếp liên tục: trong trường hợp vùng nhớ cho chương trình đang bị phân mảnh, chương trình sẽ báo lỗi khi chúng ta khai báo hoặc cấp phát cho mảng với kích thước lớn vì không đủ vùng nhớ liên tục cho mảng.
Ngôn ngữ C# do Microsoft đề ra là ngôn ngữ hướng đối tượng rất thuần nhất và trong sáng, nó hiện thực hầu hết các tính chất tốt của mô hình hướng đối tượng giống như ngôn ngữ lập trình Java. Ngoài ra C# sẽ được dịch ra mã máy để chạy trên nền . Net nền này cung cấp rất nhiều đối tượng mạnh, phong phú và đa dạng để giải quyết nhiều vấn đề phổ biến khi lập trình, nhờ đó khi dùng ngôn ngữ C# lập trình, bạn tốn rất ít chi phí, thời gian, ứng dụng kết quả chạy rất tin cậy, một phần do tính chất hướng đối tượng của C#, phần khác vì ứng dụng dùng chủ yếu các đối tượng đã được viết sẵn bởi Microsoft hay hãng thứ ba nào đó. Tuy nhiên C# hiện chỉ chạy trên nền, Net mà nền . Net hiện chỉ chạy trên hệ điều hành Windows (có thể trong tương lai nó sẽ chạy trên Linux và MacOS ).
Ưu điểm
Gần gũi với các ngôn ngữ lập trình thông dụng (C++, Java, Pascal). Xây dựng dựa trên nền tảng của các ngôn ngữ lập trình mạnh nên kế thừa những ưu điểm của những ngôn ngữ đó. Cải tiến các khuyết điểm của C/C++ như con trỏ, các hiệu ứng phụ, . . . Dễ tiếp cận, dễ phát triển. Được sự trợ giúp từ .NET Framework.
Nhược điểm
Nhược điểm lớn nhất của ngôn ngữ C# là chỉ chạy được trên nền Windows và có cài .NET Framework. Thao tác đối với phần cứng yếu hơn so với ngôn ngữ khác. Hầu hết đều phải dựa vào Windows.