Lập trình là một công việc cực kì trí tuệ và thú vị, song với số lượng ngôn ngữ lập trình quá nhiều như hiện nay, đâu là ngôn ngữ lập trình phù hợp nhất dành cho bạn? Đó là nỗi băn khoăn, trăn trở khi bạn định hướng trở thành một lập trình viên, hoặc ngay cả khi bạn đang chập chững bước chân vào nghề.
Thực tế, câu hỏi “Tôi nên lựa chọn ngôn ngữ nào khi mới bắt đầu lập trình?” là một câu hỏi gây tranh cãi, ngay cả với những kỹ sư, giảng viên kì cựu nhất. Nếu bạn hỏi 10 lập trình viên “Đâu là ngôn ngữ tốt nhất cho ‘lính mới’?”, bạn hoàn toàn có thể nhận được 10 câu trả lời khác nhau.
Để tìm ra ngôn ngữ lập trình phù hợp nhất, bạn không chỉ cần đánh giá mức độ dễ học của mỗi ngôn ngữ, mà còn cần xem xét xem bạn sẽ lập trình trong các dự án như thế nào, yếu tố bạn ưa thích nhất ở lập trình là gì, vì sao bạn muốn học lập trình,…
Tùy vào lý do bạn muốn học lập trình, rất có thể câu trả lời đã được xác định sẵn cho bạn. Nếu bạn muốn thiết kế website hoặc ứng dụng nền web, bạn cần học HTML, CSS, Javascript để tạo ra các trang web hoàn chỉnh, và có lẽ là PHP để tạo ra hệ thống nền web hoàn chỉnh. Nếu bạn chủ yếu muốn phát triển ứng dụng di động hãy học Objective-C để lập trình cho iOS và học Java để lập trình cho Android.
Nếu bạn xác định rằng mình sẽ lập trình phục vụ cho nhiều mục đích, nhiều dự án, hoặc muốn thử nghiệm nhiều ngôn ngữ/công nghệ khác nhau, bạn cần phải học các khái niệm căn bản về lập trình một cách căn bản, và bắt đầu “học cách suy nghĩ như một lập trình viên đích thực”. Bằng cách tiếp cận này, bất kể là bạn bắt đầu học bằng ngôn ngữ nào đầu tiên, bạn có thể dễ dàng tiếp cận các ngôn ngữ mới trong tương lai.
Các ngôn ngữ được sử dụng nhiều nhất
Hiện nay có tới 10 ngôn ngữ lập trình phổ biến
- JavaScript – Ngôn ngữ lập trình phổ biến nhất
- Python – Ngôn ngữ lập trình được yêu thích nhất
- C/C++ – Ngôn ngữ lập trình nổi tiếng nhất
- Ngôn ngữ Java
- PHP
- C# (C-Sharp)
- SQL
Phần lớn các ngôn ngữ lập trình “chính thống” (được nhiều người sử dụng) như C, Java, C#, Perl, Ruby và Python đều có thể thực hiện các tác vụ giống nhau (hoặc gần giống nhau).
Ví dụ Java là một ngôn ngữ lập trình hoạt động đa nền tảng (không phụ thuộc vào hệ điều hành, bất kể là Windows, Linux hay Mac), song các ứng dụng Python cũng có thể chạy trên Windows và Linux gần như tương đồng nhau. Bạn có thể dùng Java để viết các ứng dụng nền web lớn và Ruby cũng có khả năng này.
Do nhiều ngôn ngữ lập trình được xây dựng dựa trên các ngôn ngữ lập trình khác (ví dụ, Microsoft bị chỉ trích là đã “ăn cắp” từ Java để tạo ra C#), cấu trúc câu lệnh trên các ngôn ngữ này là gần như giống hệt nhau. Hãy thử xem ví dụ dưới đây về bài toán kinh điển “Hello World” (khi học một ngôn ngữ/công nghệ mới, điều đầu tiên mà bạn cần làm bao giờ cũng sẽ là tìm cách hiển thị dòng chữ “Hello World”).
Tuy vậy, giữa các ngôn ngữ có thể có sự khác biệt lớn về cách cài đặt, sử dụng… Nếu bạn nhìn rất kĩ vào các ví dụ, bạn có thể thấy một vài ví dụ khá đơn giản, một số khác khá phức tạp, một số ngôn ngữ yêu cầu phải có dấu chấm phẩy (;) ở cuối câu lệnh, một số khác thì không. Nếu bạn mới bắt đầu lập trình, đôi khi bạn nên chọn các ngôn ngữ không có quá nhiều quy luật về cú pháp và logic, bởi nhờ đó mà ngôn ngữ này không thể “tự gây khó dễ cho chính mình”. Nếu bạn vừa thử một ngôn ngữ nào đó và cảm thấy không thoải mái, hãy đổi sang ngôn ngữ khác!”.
Tổng quan về một số ngôn ngữ phổ biến nhất
1. JavaScript – Ngôn ngữ lập trình phổ biến nhất
Lý do khiến JavaScript trở thành ngôn ngữ lập trình được yêu thích nhất là bởi nó thân thiện đối với hầu hết các trình duyệt web và có nhiều cú pháp linh hoạt. Dù là ngôn ngữ dành cho Front-end nhưng JavaScript vẫn được sử dụng cho Back-end thông qua Node.js
JavaScript giúp tăng độ mượt mà cho người sử dụng khi tương tác trên trang web. Cơ hội việc làm cho người học JavaScript cũng được đánh giá là rộng mở và rất tiềm năng.
2. Python – Ngôn ngữ lập trình được yêu thích nhất
Python là ngôn ngữ thân thiện với người dùng, tất cả các cú pháp đều rõ ràng, trực quan. Ngôn ngữ này thậm chí còn được đánh giá là tương đồng với tiếng Anh, không khó để làm quen nếu bạn là người mới. Tuy nhiên, Python cũng là ngôn ngữ nổi tiếng về sự chặt chẽ, nhanh, mạnh và có mặt ở mọi hệ điều hành.
Với những ai có định hướng theo đuổi con đường trở thành Back-end developer thì Python là sự lựa chọn hoàn hảo.
3. C/C++ – Ngôn ngữ lập trình nổi tiếng nhất
Có thể nói rằng C là ngôn ngữ lập trình được sử dụng nhiều nhất. Việc các lập trình viên cần biết sử dụng C giống như là các bác sĩ cần phải biết cấu tạo cơ thể con người vậy. C là một ngôn ngữ có bậc khá thấp (cách xa ngôn ngữ người, và gần với ngôn ngữ máy), do đó bạn sẽ học các nguyên tắc căn bản về cách tương tác với phần cứng. Bạn cũng sẽ học cách debug (theo dõi chương trình để phát hiện, sửa lỗi), quản lý bộ nhớ, và học cả cách hoạt động của phần cứng máy vi tính. Với các ngôn ngữ bậc cao hơn (như Java), bạn sẽ không có cơ hội học những kiến thức này, và bởi vậy học C là một cách chuẩn bị rất tốt để bước lên các ngôn ngữ khác. C được coi là “ông tổ” của các ngôn ngữ lập trình bậc cao như Java, JavaScript và C#.
Tuy vậy, do C là một ngôn ngữ khá “bài bản”, việc học lập trình với C sẽ khó khăn hơn các ngôn ngữ khác. Nếu bạn không cần viết các chương trình tương tác quá sâu với phần cứng (ví dụ như truy cập vào driver của thiết bị, hoặc viết các phần mở rộng cho hệ điều hành…), học C sẽ gây lãng phí thời gian – có thể là vô ích. Nói tóm lại, trong khi học C sẽ giúp bạn viết các chương trình tương tác sâu với hệ thống, bạn sẽ phải tốn rất, rất nhiều thời gian học trước khi có thể tạo ra một sản phẩm có ý nghĩa.
4. Java: Lựa chọn hợp lý, phù hợp với thực tiễn
Java là ngôn ngữ lập trình phổ biến thứ 2 trên thế giới. Java áp dụng gần như triệt để các nguyên tắc Lập trình Hướng đối tượng (OOP) – một mô hình được thực hiện trên hầu hết các ngôn ngữ hiện đại như C++, Perl, Python và PHP. Khi đã học Java, bạn sẽ dễ dàng nắm bắt được các ngôn ngữ OOP khác.
Java có thế mạnh là được sử dụng rất nhiều. Bạn có thể dễ dàng tìm được câu trả lời cho các bài toán căn bản trên Java, cộng đồng sử dụng Java cũng rất lớn (và do vậy khả năng được trợ giúp của bạn cũng sẽ lớn hơn), và ngôn ngữ Java được sử dụng cho rất nhiều mục đích (viết ứng dụng nền web, nền Windows, nền Android hoặc gần như là bất cứ hệ điều hành nào khác), do đó lựa chọn học Java là một lựa chọn khá khôn ngoan. Hệ thống như C, Java vẫn cho phép bạn sử dụng các phần quan trọng như hệ thống tập tin, đồ họa, âm thanh, mạng… trên các hệ điều hành khác nhau.
5. PHP
PHP (viết tắt hồi quy của Hypertext Preprocessor) là ngôn ngữ lập trình đa mục đích. Cụ thể hơn, PHP là ngôn ngữ kịch bản mã nguồn mở, chạy ở phía server và được dùng để tạo ra các ứng dụng web. Mã lệnh PHP có thể được nhúng vào trong trang HTML một cách dễ dàng, nhờ sử dụng cặp thẻ PHP.
Ban đầu, PHP chỉ với 1 mục đích duy nhất là theo dõi truy cập đến trang cá nhân của Rasmus (người tạo ra ngôn ngữ PHP). Nhưng tính đến nay, có 83% trong tổng số hơn 10 triệu web trên thế giới đều sử dụng PHP.
Hạn chế của PHP là cấu trúc của ngữ pháp không được gọn gàng, đẹp mắt như những ngôn ngữ khác và PHP chỉ có thể hoạt động trên các ứng dụng trong web. Đó là lý do PHP yên vị ở vị trí thứ 5.
6. C# (C-Sharp)
C# là ngôn ngữ lập trình hướng đối tượng “quyền lực”, được phát triển bởi Microsoft năm 2000. Ngôn ngữ này được xem là bước đệm khởi đầu cho kế hoạch .NET của họ.
Các tính năng của C# rất đa dạng, tạo sự thuận tiện cho người mới bắt đầu. C# cũng được đánh giá là có tính bảo mật cao.
Tóm lại, C# là sự lựa chọn hoàn hảo để phát triển ứng dụng web, ứng dụng desktop và nó cũng chứng minh được sức mạnh của mình trong việc phát triển game VR (thực tế ảo), 2D và 3D.
7. SQL
SQL (viết tắt của Structured Query Language) là ngôn ngữ truy vấn dữ liệu. Có thể coi SQL là ngôn ngữ chung mà bất cứ hệ thống cơ sở dữ liệu quan hệ (RDBMS) nào cũng phải đáp ứng, điển hình như: Oracle SQL, MySQL, SQL Server…
SQL được sử dụng trong các framework của web và các ứng dụng cơ sở dữ liệu. Nếu bạn thành thạo SQL, bạn có thể phát triển kỹ năng phân tích dữ liệu và đưa ra quyết định hiệu quả hơn.
Nhu cầu tuyển dụng SQL developer vẫn đang trên đà phát triển. Các ngân hàng hoặc những công ty lớn sẵn sàng bỏ ra khoản tiền lớn để chiêu mộ bậc thầy sử dụng SQL.
Ngôn ngữ đầu tiên mà bạn học được là ngôn ngữ khó nhất mà bạn sẽ học. Lựa chọn đường đi nhỏ bé hơn và dễ dàng hơn biến trải nghiệm này thành một chuyến phiêu lưu, hơn là một thử thách. Xuất phát điểm không quan trọng, miễn là bạn tiếp tục đi – tiếp tục viết code, tiếp tục đọc code. Cũng đừng quên test chúng. Một khi bạn đã lựa chọn được một ngôn ngữ phù hợp thực sự sẽ giúp bạn vừa lòng, việc học các ngôn ngữ mới sẽ ít khó khăn hơn, và bạn sẽ tiếp tục thu về các kỹ năng mới.
Chúc các bạn luôn thành công!