Disclaimer

C ở đây không đồng nghĩa với C++. Mặc dù C++ là một ngôn ngữ mạnh mẽ và hữu dụng, nó khác với C. C++ thậm chí không tương thích 100% với C. Vì thế các ứng dụng trong bài viết này không sử dụng C++. Tác giả của những dự án trong này cố gắng hạn chế dùng C khi phát triển và đôi khi cung cấp một layer tương thích được tách biệt rõ ràng cho C++ (và một số ngôn ngữ khác) trong khi vẫn tiếp tục phát triển bằng C. Làm như vậy là có nguyên nhân cả. C++ có thể đơn giản hóa quá trình phát triển trong một số trường hợp nhưng cũng đồng thời khiến một số thứ trở nên phức tạp hơn, và với các chương trình hướng đến hiệu năng, tính đơn giản là yếu tố được ưu tiên hàng đầu. Bjarne Stroustrup, 1 designer và người sáng tạo C++ từng phát biểu rằng:

C làm tăng khả năng bạn tự bắn vào chân mình; C++ làm điều đó khó xảy ra hơn, nhưng nếu nó xảy ra, hậu quả là bạn mất cả đôi chân.

Robotics

Bắt đầu bằng một ứng dụng phổ biến nhất. C được sử dụng nhiều trong lập trình phần mềm nhúng. Từ các home projects như Raspberry Pi và Arduino thông qua hệ điều hành thời gian thực đến máy móc hạng nặng như máy bay. C được sử dụng bởi nó là ngôn ngữ bậc cao đầu tiên tương tác với phần cứng. Do kernel được viết bằng C, bạn không cần phải tìm kiếm đâu xa để tìm một ngôn ngữ lập trình phù hợp để viết phần mềm. C cũng là ngôn ngữ lập trình có hiệu suất tốt nhất hiện nay, vì thế bạn sẽ cần sử dụng nó để chế tạo robot.

Smart TV anyone

Khi nhắc đến phần mềm nhúng, chúng ta ít liên tưởng nó đến các giao diện người dùng tuyệt vời như giao diện TV thông minh. Chúng ta cũng hiếm khi đề cập đến các phần mềm được viết bằng C. Mặc dù vậy, C có thể được tìm thấy trong TV thông minh và một số thiết bị Samsung.

Samsung sử dụng Enlightenment Foundation Libraries để tạo giao diện người dùng trong các thiết bị Tizen như tủ lạnh và đồng hồ thông minh.

Dựa trên kiến thức C, bạn có thể tạo một ứng dụng với EFL hoặc hệ điều hành đầy đủ tính năng chạy Enlightenment để xử lý các tác vụ thường ngày.

A Photoshop Alternative

Enlightenment không chỉ là trình quản lý window duy nhất được viết bằng C. Môi trường máy tính để bàn GNOME được viết chủ yếu bằng C nhờ sở hữu riêng các thư viện nền tảng, GTK, được mở rộng thành Gimp Toolkit. Công cụ này khá quen thuộc với những người chỉnh sửa ảnh bởi đây là một nền tảng miễn phí có thể thay thế cho Photoshop.

Bạn có thể thoải mái viết ứng dụng với giao diện người dùng nếu có GTK tùy chỉnh và ứng dụng cũng linh hoạt qua nhiều hệ điều hành.

Windows Applications

Bạn có thể phát triển ứng dụng Windows kể cả trong JavaScript. Nhưng một điều ít ai biết đó là về bản chất thì Microsoft Windows được viết bằng C và bạn có thể tiếp tục code bằng C thuần túy để tạo các ứng dụng Windows hiện đại. Mặc dù việc sử dụng Windows API thuần túy viết bằng C không dễ dàng như đi dạo trong công viên hay là cách triển khai đơn giản nhất, những thành phần trừu tượng cấp độ cao đều bắt nguồn từ layer cơ bản viết bằng C. Microsoft luôn cố gắng ẩn layer này đối với các dev nhưng không phủ nhận sự thật rằng layer đó được viết bằng C. Nếu đọc kỹ, bạn thậm chí có thể tìm thấy bài hướng dẫn viết một app hoàn chỉnh bằng C. Mặc dù code được viết bằng C++, app hầu như không sử dụng bất kỳ tính năng nào của C++ và nếu thay thế chúng bằng tính năng của C, tất cả những gì còn lại là code C thuần túy tương tác với hàm C trong lõi của Windows.

Android Applications

Chúng ta có thể viết các ứng dụng Android hoàn chỉnh bằng C. Google khuyến nghị viết app bằng C cũng như Microsoft, nhưng họ cũng cung cấp bộ công cụ phát triển gốc (chủ yếu hướng đến C++) để tạo ứng dụng bằng C từ đầu. Tất nhiên phần lớn các ứng dụng này đều có hiệu suất cao bởi không một ngôn ngữ nào có thể đánh bại C về tốc độ xử lý.

Games

C là ngôn ngữ lập trình game phổ biến nhất. Chính xác hơn là game có nền tảng từ trình biên dịch C. Một khi có trình biên dịch C của hệ thống, ta có thể làm nhiều thứ tuyệt vời khác. Tương tự như khi lập trình game. Nếu biết sử dụng thư viện C, bạn có thể sử dụng các thư viện nhanh nhất đã từng được thử nghiệm như thư viện toán học và vật lý, công cụ game và khả năng tăng tốc 2D-3D với OpenGL và Vulkan. Phần lớn các game này đều đã được lập trình sẵn và miễn phí, vì thế ta có thể làm theo các hướng dẫn và tìm hiểu code của các game phổ biến nhất hiện nay.

Trình duyệt

Microsoft Silverlight là công nghệ viết bằng C# chạy ứng dụng máy khách trong trình duyệt. Những công nghệ tương tự có thể được viết bằng C nhưng tối ưu hơn bởi nó không yêu cầu plugin được cài đặt hoặc chưa được cài đặt từ trước. Từ đây, bạn có thể biên dịch code C thành WebAssembly, một công nghệ được dùng để tạo phần mềm chạy trong tất cả trình duyệt phổ biến. Emscripten là một chuỗi công cụ hoàn chỉnh giúp cho các dev WebAssembly C làm việc hiệu quả hơn.

Web Applications

Khi nói đến phát triển web, hiện nay có một số framework ứng dụng web chất lượng cao được viết bằng C cho ngôn ngữ C. Đôi khi ta cần hiển thị một số API cho ứng dụng nhúng. Các thiết bị thường cung cấp giao diện web cho dịch vụ của họ. Chúng ngày càng được chú trọng hơn với sự xuất hiện của IoT – Internet of Things. C là một ngôn ngữ nền tảng tốt có thể khiến tất cả các loại kết nối trở nên khả thi. Những máy chủ web nhanh nhất hiện nay cũng được viết bằng C. Nếu xét về hiệu suất, C vẫn luôn đứng top đầu.

AI, Machine Learning và Computer Vision

Trí tuệ Nhân tạo và những công nghệ liên quan là một lĩnh vực đang phát triển mạnh mẽ trong thời gian gần đây. Với các ứng dụng quan trọng, bạn sẽ muốn chọn ngôn ngữ lập trình nào giảm thiểu chi phí và độ trễ sao cho ít tiêu hao tài nguyên và có hiệu suất tốt nhất có thể. May mắn thay, C đã phát triển riêng một hệ thống AI, ML và Mạng lưới Neural Nhân tạo và thư viện CV.

Một số ứng dụng khác

Ứng dụng của C không chỉ dừng ở đó. Đồ họa, đa phương tiện, mã hóa, hệ thống đồng thời và hệ thống phân tán cùng vô vàn tính năng khác đang chờ bạn khám phá. Dưới đây là danh sách các tính năng hữu ích của C, hãy tham khảo và tìm hiểu thêm nhé. Lần sau nếu cảm thấy chán nản vì một buổi học C nào đó ở trường, có lẽ bạn nên dừng lại một chút để suy ngẫm và hiểu ra rằng C là ngôn ngữ hữu ích giúp bạn phát triển mọi thứ trong tầm tay. Sau đó, hãy quay trở lại học tập chăm chỉ hơn nữa và áp dụng nó vào thực tiễn.

Leave a Reply

This site uses cookies to offer you a better browsing experience. By browsing this website, you agree to our use of cookies.