Tại sao lại có nhiều ngôn ngữ lập trình và công nghệ trong lập trình
Hiện nay, có rất nhiều ngôn ngữ lập trình khác nhau đang tồn tại và không ngừng phát triển, vậy tại sao chúng ta lại cần nhiều ngôn ngữ như vậy mà không chỉ dùng một ngôn ngữ như .NET của Microsoft để làm tất cả mọi thứ. Để giải thích cho vấn đề này, bạn hãy xem video của Mona để hiểu rõ hơn về việc chọn ngôn ngữ lập trình nào để thiết kế web.
Bài viết này sẽ dùng ngôn ngữ đơn giản nhất để trả lời câu hỏi mà blog thường xuyên nhận được. Một câu hỏi liên quan đến ngành lập trình phần mềm và người hỏi là những người không phải lập trình viên. Những người làm chủ doanh nghiệp, chủ startup công nghệ, quản lý kinh doanh hay những người khác… “Làm website hay làm phần mềm cần dùng ngôn ngữ gì và lý do là gì.” “Tôi thấy báo nói ngôn ngữ này mới ra, hay hơn thì tôi có nên dùng không”..
Ngôn ngữ lập trình là gì
Ngôn ngữ lập trình là cách để người lập trình viên viết ra các lệnh cho máy tính để thực hiện một bài toán nào đó. Người lập trình viên có thể viết các lệnh theo nhiều cách khác nhau, ví dụ Sum(1,1) hoặc cong(1,1) hoặc (1+1) đều là các cách viết để tính tổng hai số. Sự khác biệt giữa các ngôn ngữ lập trình là:
- Khác về tác giả, người nắm bản quyền của ngôn ngữ lập trình đó
- Cho nên nó kéo theo là các nền tảng hỗ trợ để sử dụng ngôn ngữ lập trình đó: server chứa phần mềm đó, hệ điều hành chứa phần mềm đó, công cụ để thiết kế phần mềm đó
- Khác nhau về cách các dòng code được viết, nó có thể rất phức tạp hoặc rất đơn giản tuỳ theo ngôn ngữ lập trình. Thông thường ngôn ngữ càng lâu đời hơn thì cách gõ nó càng khó.
- Độ tương thích của nó với phần cứng
Và điều quan trọng mà các bạn, những người không phải lập trình viên, không phải chủ doanh nghiệp cần phải biết đó là: trong phần rất lớn các trường hợp, việc lựa chọn ngôn ngữ lập trình không làm ảnh hưởng đến kết quả phần mềm sau cùng. Nếu bạn có 03 nhóm lập trình viên viết 03 ngôn ngữ lập trình khác nhau và với trình độ của 03 nhóm đó đều rất giỏi ngôn ngữ của họ thì kết quả cho ra 03 phần mềm hoàn toàn giống nhau và giống yêu cầu của bạn đưa ra.
Vẫn có một số tính năng cần phải viết bằng những ngôn ngữ lập trình đặc thù tuy nhiên chúng ta có thể giải quyết điều đó đơn giản như: vẫn sử dụng ngôn ngữ lập trình mà bạn đã chọn từ đầu, viết thêm tính năng đặc thù đó, viết một bộ liên kết giữa 02 phần riêng biệt này lại. Điều này thật sự không quá khó và có thể thực hiện dễ dàng bởi các công ty thiết kế website chuyên nghiệp.
Nói như vậy tại sao người ta lại tạo ra những ngôn ngữ lập trình khác nhau để làm gì
Trong đây tôi sẽ ví dụ cho các bạn sự ra đời của 03 ngôn ngữ lập trình hiện tại đang phổ biến nhất trên thị trường của thế giới lẫn Việt Nam: PHP, C#, JAVA
Tôi sẽ nói sơ qua một chút về C và C++: đây là 02 ngôn ngữ lập trình cũ và nó có thể viết mọi thứ, nó có thể lập trình tất cả những thứ có chip và có sử dụng dòng điện chạy qua. Nó có thể dùng để viết 1 bộ phần mềm điều khiển cái xe máy của bạn đang chạy, nó có thể dùng để viết phần mềm kế toán, nó có thể dùng để viết website. Nhưng nó rất khó để gõ, các lập trình viên gặp nhiều khó khăn khi làm quen với nó, nếu thế giới chỉ có một ngôn ngữ này thì cũng ngăn cản các lập trình viên mới gia nhập vào.
Java: nó xuất hiện đầu tiên trong 03 ngôn ngữ trên, được tạo ra bởi một công ty tên là Sun Microsystems. Lí do mà công ty này tạo ra ngôn ngữ Java là để cung cấp cho các lập trình viên của họ và hàng trăm ngàn lập trình viên khác trên thế giới một công cụ để viết tất cả các thể loại phần mềm khác nhau nhưng không nó không dùng để viết các bộ điều khiển phần cứng chuyên sâu như C và C++. Người ta có thể sử dụng nó để viết các phần mềm trên hệ điều hành mà không dùng để viết các nền tảng chuyên sâu hơn. Thay thế cho các ngôn ngữ cũ hơn và rất khó viết nên rất kén người theo học như C và C++. Và công ty Sun Microsystems này kiếm tiền bằng các hợp đồng bản quyền sử dụng ngôn ngữ Java và anh này thường tập trung tính tiền mấy ông lớn trong ngành như Google với Android là một vụ nổi tiếng nhất.
PHP: một số lập trình viên vẫn chê Java khó viết quá, và một số người lập trình viên khác thì nãy ra ý tưởng: chúng ta hãy tạo ra một ngôn ngữ lập trình chỉ dùng để viết website. Ai muốn viết web thì dùng PHP, ai muốn viết các phần mềm khác thì cứ lựa Java hay C C++ mà làm. Nghĩ thế nên một nhóm này mới phát triển ra một ngôn ngữ lập trình của riêng họ và nó hoàn toàn miễn phí. Nó được đón nhận và được tham gia đóng góp, sửa chữa, nâng cấp bởi hàng chục ngàn lập trình viên khác nhau trên thế giới. Đó là sự ra đời hoàn toàn phi lợi nhuận của ngôn ngữ lập trình PHP.
Bạn cũng thấy đó, sự ra đời của 02 ngôn ngữ lập trình trên cho thấy rằng: không phải Java có vấn đề gì làm cho họ không phát triển được website theo ý, mà chỉ đơn giản là họ thích viết riêng một ngôn ngữ lập trình dễ hơn mà sử dụng thôi.
C# ( hay nhiều người gọi là .NET ): ngôn ngữ lập trình này được Microsoft viết riêng với các nền tảng hỗ trợ rất tiện lợi và có rất nhiều tiện ích có sẵn giúp các lập trình viên viết ra website dễ hơn nữa. Và Microsoft chính là chủ của hệ điều hành phổ biến nhất thế giới là Windows nên họ tạo ra ngôn ngữ .NET giúp các lập trình viên viết phần mềm Windows một cách đơn giản nhất. Được biết, phần rất lớn phần mềm mà bạn cài trên máy tính của bạn là viết bằng ngôn ngữ này. Và nó không miễn phí, ngược lại để sử dụng một cách tiện lợi, sướng tay nhất thì các lập trình viên và các công ty lập trình cũng tốn một mớ kha khá. Hơn nữa là Server chứa website và phần mềm phải là Windows Server ( vẫn là hệ điều hành chạy trên server của Microsoft ). Đối lại là nó cực kì cực kì tiện, dễ, bảo mật, lắm tiện ích… dành cho lập trình viên. Là 1 nền tảng cực kỳ phù hợp để phát triển các phần mềm quản lý cỡ lớn từ quản lý ERP, phần mềm quản lý giáo dục, quản lý trung tâm ngoại ngữ, quản lý vận chuyển, quản lý công việc – dự án,…
Bạn cũng thấy rồi đó, sự ra đời của C# hoàn toàn là mục đích thương mại, đổi sự tiện lợi và đơn giản của lập trình viên thì họ phải trả một khoản phí. Không phải PHP hay Java hay C++ có vấn đề nên người ta mới viết ra C#.
Vậy, việc lựa chọn ngôn ngữ nào trong lập trình là dựa vào các tiêu chí gì
Tôi muốn nhắc lại một điều mà tôi đã nói nhiều lần trong nội dung này là: ngôn ngữ lập trình không làm nên chất lượng của phần mềm của bạn, không quyết định phần mềm của bạn có hoàn hảo hay không, có an toàn hay không. Những điều đó hoàn toàn phụ thuộc vào trình độ của lập trình viên, của công ty thiết kế và lập trình website mà bạn chọn làm đối tác, không phải của ngôn ngữ lập trình.
Vậy bạn chọn làm ngôn ngữ lập trình gì cho website/phần mềm/ứng dụng di động của mình:
- Giá tiền: Các ngôn ngữ có số lượng lập trình viên lựa chọn theo khác nhau, nên giá nó khác nhau, ngôn ngữ càng ít người chọn thì bạn càng khó lựa người giỏi trong ngôn ngữ đó lại càng phải trả tiền cao hơn. Vì vậy nên cân nhắc việc sử dụng dịch vụ viết phần mềm giá rẻ để họ hỗ trợ bạn tốt hơn
- Tương lai bảo trì và phát triển tiếp: Chi tiết này rất quan trọng trong trường hợp bạn chọn đối tác sử dụng ngôn ngữ lập trình quá lạ thì sau này bạn khó tìm người maintance hoặc phát triển tiếp nếu đối tác cũ nghỉ rồi.
- Thời gian phát triển: ngôn ngữ có sự tiện lợi khác nhau nên thời gian phát triển website hay phần mềm cũng khác nhau.
Nhưng mà quan trọng nhất: chọn ra một công ty viết phần mềm theo yêu cầu uy tín hoặc một nhân sự lập trình đáng tin cậy và họ nói bạn làm ngôn ngữ gì thì bạn cứ làm ngôn ngữ nấy. Để có một phần mềm/website/ứng dụng hoàn hảo thì con người mới là quan trọng, không phải ngôn ngữ lập trình.
Một số ngôn ngữ lập trình mà bạn nên chọn lựa khi muốn làm website và phần mềm
Website giới thiệu doanh nghiệp, công ty, giới thiệu dịch vụ, không có thêm tính năng gì ngoài các thông tin hiển thị
Sử dụng PHP, sử dụng CMS WordPress để triển khai loại website giới thiệu như thế này. Nói sơ qua một chút về WordPress có tới 02 cách để “sài WordPress”
- Sử dụng một số Theme và Plugin có sẵn trên mạng ( miễn phí hoặc tính phí ) để làm ra website. Làm theo cách này nó rẻ, theme và plugin của WordPress là thuộc loại cực kì đa dạng, nhiều vượt trội so với tất cả các ngôn ngữ lập trình và CMS khác.
- Đặt thiết kế website WordPress chuyên nghiệp, nghĩa là đặc hàng viết riêng Theme và Plugin rặc theo ý thích của bạn.
Tại sao: tính năng và giao diện là hoàn toàn phù hợp và đảm bảo cho nhu cầu của doanh nghiệp. Và vì WordPress là rẻ nhất, thời gian làm nhanh nhất, cực dễ dàng kiếm người để phát triển tiếp nếu muốn và quan trọng nhất là bạn hoàn toàn có thể tuyển các vị trí quản trị website như nhân viên quản trị, SEO, Marketing Online và content… 100% các vị trí đó đều đã biết xài WordPress, bạn sẽ mất 0s để training cho các nhân viên này.
Website bán hàng cỡ trung tới nhỏ, bán hàng
WordPress là một mã nguồn rất phổ biến hiện nay, qua nhiều năm phát triển và liên tục cải tiến mã nguồn. WordPress không chỉ là CMS để tạo blog cá nhân mà còn được dùng trong thiết kế các web bán hàng có quy mô từ nhỏ tới trung bình.
Đối với những website bán hàng quy mô trung bình có thể sẽ không được đáp ứng hết bởi CMS này, nhưng vì đây là một mã nguồn mở nên các lập trình viên PHP có thể tham gia phát triển và bổ sung những tính năng mới theo yêu cầu một cách miễn phí và dễ dàng. Với những trang web bán hàng quy mô nhỏ, một plugin Woocommerce sẽ là giải pháp tốt nhất cho bạn, Plugin hỗ trợ website tạo những trang sản phẩm chuyên nghiệp, bao gồm:
- Giá bán, giá khuyến mãi
- Thông tin sản phẩm
- Hướng dẫn sử dụng
- Hình ảnh sản phẩm
Với những tính năng cơ bản mà plugin Woocommerce hỗ trợ thì những website bán hàng cỡ nhỏ hoàn toàn có thể được xây dựng bằng WordPress.