gì về mã hóa các trang web trong C? Làm thế nào mà làm việc ra? Nền tảng đó có độc lập và hoạt động trên mỗi máy chủ không?
Viết mã độc lập nền tảng trong C là hoàn toàn có thể. (PHP chính nó được viết bằng C, và có vô số các chương trình đa nền tảng và các thư viện được viết bằng C, như PostgreSQL và MySQL, Boost và Poco C++).
Nền tảng viết độc lập ứng dụng web, mặt khác, chủ yếu phụ thuộc vào cách bạn tích hợp với máy chủ HTTP. Ví dụ, nếu bạn viết một ứng dụng C mà tích hợp trực tiếp với máy chủ HTTP qua một mô-đun được biên dịch (cho Apache hoặc IIS), bạn sẽ kết thúc bằng mã di động nhỏ hơn - ví dụ, viết mô-đun IIS trong C hoặc Delphi (mà tôi đã thấy thực hiện và eBay ban đầu đã làm) có nghĩa là bạn không chỉ bị khóa đối với Windows mà còn bị khóa đối với IIS trên Windows. Tình huống tương tự khi viết các mô-đun Apache trong C.
Nhưng nếu bạn viết một ứng dụng web trong C, tích hợp thông qua một tiêu chuẩn chung với máy chủ HTTP, thì có, bạn có thể có mã khá di động (mặc dù mã phải được biên dịch trên mỗi nền tảng). Ví dụ, bạn có thể sử dụng CGI để giao tiếp với máy chủ HTTP bằng cách sử dụng các biến môi trường, hoặc bạn có thể sử dụng các tiêu chuẩn liên quan, FastCGI và SCGI. Một lần nữa, tôi đã thấy điều này được thực hiện trong các ứng dụng thương mại, thực tế (cả hiệu ứng tốt lẫn hiệu ứng xấu).
Cuộc tranh luận về các ứng dụng web gốc (ví dụ: được viết bằng C, C++ và tương tự) so với các ứng dụng web thông dịch (PHP, Perl, v.v.) thường tập trung vào ba lĩnh vực.
- Hiệu suất mã. Trừ khi nó được viết bởi một con khỉ đã chết não, người đã không có được công việc để viết cookie tài sản, mã C sẽ luôn luôn tốt hơn PHP. Tuy nhiên, các nút cổ chai trong ứng dụng của bạn có thể không phải là với tốc độ và mức tiêu thụ bộ nhớ của mã, mà là với các thói quen đầu vào/đầu ra.
- Năng suất của nhà phát triển. Trừ khi bạn sử dụng một khung làm việc tốt (và một phần câu hỏi của bạn là về các bộ tính năng của các ngôn ngữ khác), bạn sẽ viết rất nhiều mã bảng, lặp đi lặp lại. Ví dụ: giải mã các URL được mã hóa theo phần trăm, phân tích cú pháp dữ liệu HTTP POST, v.v. Có các khung công tác tồn tại trong C và C++ (xem CppCMS).
- Tính di động, như bạn đã đề cập. Nếu bạn đã chết khi viết một ứng dụng web trong C, tôi sẽ gắn bó với CGI hoặc SCGI.
Có lẽ bạn nên chỉ ra những vấn đề bạn gặp phải (nếu có) với PHP – Rad
Thông thường, nút cổ chai đang chờ cơ sở dữ liệu. Hồ sơ ứng dụng/trang web của bạn cũng thấy những gì đang nắm giữ nó. –
Bạn nên chỉ ra những vấn đề bạn đang gặp phải với PHP. Và xem xét kỹ thuật bất khả tri ngôn ngữ nào được sử dụng để cải thiện hiệu suất ứng dụng web - http://developer.yahoo.com/performance/ – igouy