Ngôn ngữ lập trình nào tốt nhất để học trong năm 2014?

Bài viết được dịch từ SitePoint

Vậy là đã tròn một năm kể từ ngày tôi viết bài “Ngôn ngữ lập trình nào là tốt nhất để học trong năm 2013?”. Một lần nữa, tôi lại tiến hành nghiên cứu số liệu được đưa ra bởi hãng tuyển dụng uy tín là Jobs Tractor, hãng này đã tiến hành thu thập và phân tích số liệu của nhiều hơn 45,000 vị trí lập trình viên được quảng cáo tuyển dụng trên mạng xã hội Twitter trong suốt 12 tháng vừa qua. Và đây là kết quả do hãng công bố:

Ngôn ngữ Số việc làm
Java 8,731
PHP 8,238
Objective-C 5,859
Java for Android 4,312
SQL 3,553
JavaScript 3,154
Ruby 2,937
C# 2,549
Python 1,587
C++ 1,273
C 685
ActionScript 674
ASP.NET 492
Perl 224
Scala 143
Visual Basic 92
Ngôn ngữ lập trình nào tốt nhất để học trong năm 2014?Ngôn ngữ lập trình nào tốt nhất để học trong năm 2014?


Qua số liệu trên, tôi thấy những thay đổi lớn nhất so với số liệu năm 2013 đó là:

  • Hai ngôn ngữ PHP và Java đã đổi chỗ cho nhau, nhưng cả hai vẫn duy trì vị trí có yêu cầu tuyển dụng cao nhất.
  • Số việc làm của Java for Android đã vượt qua SQL và có nhu cầu gần bằng Objective-C
  • Số việc làm yêu cầu JavaScript đã vượt quá số lượng công việc của Ruby
  • Ngôn ngữ Python thì đã tăng hai bậc so với năm ngoái.
  • Ngược lại, ngôn ngữ ActionScript thì bị tụt hai bậc.

Thực ra tôi không chắc lắm với thứ hạng ở trên, bởi vì hãng Jobs Tractor chỉ thống kê công việc dựa trên mạng xã hội Twitter, bởi vậy số liệu trên cũng chưa đáng tin cậy lắm, vì nó còn phụ thuộc vào nhiều yếu tố khác nữa.

Một cuộc điều tra gần đây của hãng Mashable dựa trên số liệu của công ty đào tạo trực tuyến uy tín là Lynda.com cung cấp, đã đưa ra danh sách 10 ngôn ngữ lập trình được ưa chuộng nhất trong năm 2014:

  1. Java
  2. C
  3. C++
  4. C#
  5. Objective-C
  6. PHP
  7. Python
  8. Ruby
  9. JavaScript
  10. SQL

Trong khi đó hãng RedMonk lại đi theo một hướng tiếp cận khác để xác định mức độ phổ biến của một ngôn ngữ bằng việc thống kê tần suất xuất hiện của các dự án trên trang quản lý mã nguồn GitHub và số lượng câu hỏi liên quan trên trang web hỏi đáp uy tín StackOverflow, mức độ phổ biến theo kết quả nghiên cứu của RedMonk như sau:

  1. JavaScript
  2. Java
  3. PHP
  4. C#
  5. Python
  6. C++
  7. Ruby
  8. C
  9. Objective-C
  10. CSS
Những ngôn ngữ lập trình ở góc trên bên phải là những ngôn ngữ được sử dụng nhiều nhất. (bạn click vào để xem chi tiết)Những ngôn ngữ lập trình ở góc trên bên phải là những ngôn ngữ được sử dụng nhiều nhất. (bạn click vào để xem chi tiết)

Tôi rất ngạc nhiên khi thấy CSS nằm trong danh sách ở trên – mặc dù ngày nay những ngôn ngữ tiền xử lý như Sass, LESS và Stylus, CSS có xu hướng được xem như là một ngôn ngữ lập trình. Nếu xem CSS là một ngôn ngữ lập trình thì HTML và SQL ở đâu?

Tôi muốn đưa ra một vài lời khuyên – chứ không đơn thuần là những số liệu thống kê

Trước tiên hãy chấp nhận một quan điểm là:

Đừng bao giờ sử dụng những con số thống kê như là một tiêu chí duy nhất để quyết định học một ngôn ngữ lập trình.

Rất ít lập trình viên chọn công việc lập trình vì mục đích tài chính. Có rất nhiều cách dễ hơn rất nhiều để kiếm tiền… như trở thành một “nhà chiến lược về marketing trực tuyến” hoặc một “chuyên gia SEO” (Thành thực xin lỗi tới những “chuyên gia” tận tụy ngoài kia – Tôi chắc chắn rằng bạn có tồn tại, chỉ có điều tôi chưa được gặp bạn mà thôi.)

Lựa chọn một ngôn ngữ lập trình phổ biến thì cũng đồng nghĩa với việc bạn sẽ phải cạnh tranh khốc liệt với hàng ngàn lập trình viên khác để có thể kiếm được một việc làm. Ngược lại, ví dụ như học ngôn ngữ Fortran sẽ không còn hợp thời lắm nữa, nhưng bù lại bạn sẽ có thể dễ dàng tìm được một công việc về bảo trì những hệ thống được viết ra từ hàng chục năm trước đây, những hệ thống mà rất ít lập trình viên muốn đụng tay tới nữa.

Thế giới công nghệ luôn biến đổi không ngừng

Tất cả mọi ngôn ngữ đều tăng hoặc giảm mức độ phổ biến và số lượng yêu cầu công việc liên quan theo thời gian. Bạn hãy để ý ngôn ngữ ActionScript của Flash mà xem, số lượng công việc cho nó đang suy giảm dần và tôi còn ngờ rằng có hàng tá những dự án bằng ActionScript đang bị chuyển sang trạng thái “treo”. Điều tương tự có thể cũng đã xảy ra với các ngôn ngữ như Perl, COBOL và Visual Basic 6, mặc dù chúng đã được ưa thích trong một khoảng thời gian rất dài trước đây.

Nếu bạn thuộc tuýp người không thích mạo hiểm, thì bạn có thể tránh những ngôn ngữ bị giới hạn về nền tảng hỗ trợ như là ActionScript, VB6 và Objective-C. Tuy nhiên, trong khi ngôn ngữ Objective-C thường được sử dụng trên các hệ điều hành và các giao diện lập trình ứng dụng (API) của hãng Apple, thì uy thế của nền tảng này vẫn tiếp tục tăng lên và số lượng các công việc liên quan đến việc phát triển các ứng dụng trên iOS là khá nhiều.

Một số lựa chọn dành cho những lập trình viên đã có kinh nghiệm

Nếu bạn là người đã thành thạo từ 1 đến 2 ngôn ngữ lập trình, thì sự lựa chọn có thể dễ dàng hơn nhiều: đó là hãy lựa chọn một ngôn ngữ mà bạn cảm thấy hứng thú (về mặt trí tuệ hoặc tài chính). Các kỹ năng lập trình có thể chuyển đổi qua lại lẫn nhau, và khi học những ngôn ngữ mới thì mọi việc sẽ dễ hơn rất nhiều so với lúc bạn học ngôn ngữ đầu tiên.

Có rất nhiều điểm thuận lợi mà chúng ta có thể dễ dàng nhận thấy, ví dụ như:

  • Ngôn ngữ ActionScript thì dựa trên ngôn ngữ ECMAScript (cái này được xem như là JavaScript khi thực thi trên các trình duyệt web); do đó các lập trình viên về công nghệ Flash nên có một sự chuyển đổi hợp lý sang công nghệ HTML5
  • Các ngôn ngữ như C++, Java, C#, Objective-C và thậm chí cả PHP thì cơ bản có khái niệm kế thừa lẫn nhau, vì vậy bạn có thể chuyển đổi qua lại giữa chúng một cách khá dễ dàng.
  • Nếu bạn đang phát triển các ứng dụng winform trên Windows sử dụng Visual Studio, thì kiến thức .NET của bạn cũng sẽ rất thích hợp để học thêm các nền tảng web của Microsoft.

Mặc dù cũng gặp một số khó khăn, nhưng bạn đừng có sợ việc phải học thêm một ngôn ngữ lập trình mới. Ví dụ ngôn ngữ JavaScript thì tương tự như ngôn ngữ Java và các ngôn ngữ họ C khác, nhưng rất nhiều lập trình viên lúc mới học đã phải rất vất vả với nó, bởi vì nền tảng của nó cũng có nhiều điểm khác biệt. Bí quyết là hãy kiên trì và bạn sẽ dần dần quen với những đặc tính mà ngôn ngữ JavaScript cung cấp.

Một số lựa chọn cho những lập trình viên mới vào nghề

Thời trước, người ta phải học lập trình trên một máy tính 8-bit và có rất ít lựa chọn để học, ví dụ như bắt đầu bằng ngôn ngữ BASIC sau đó khi cảm thấy khá tự tin thì chuyển qua ngôn ngữ C hoặc Assembly. Thời sơ khai của công nghệ Web cũng diễn ra như vậy; bạn học về các thẻ HTML và có lẽ là một ngôn ngữ kịch bản như Perl chẳng hạn, sau đó bạn bổ sung thêm các kỹ năng liên quan đến HTML như là CSS, JavaScript, PHP, ASP và .NET

Nếu bạn bắt đầu học lập trình trong năm 2014 thì bạn sẽ chọn ngôn ngữ nào?

Tôi nghĩ bạn nên chọn ngôn ngữ JavaScript. Ngôn ngữ này thì được sử dụng ở khắp mọi nơi, đang phát triển rất nhanh và có rất nhiều tài nguyên trực tuyến. Việc học ngôn ngữ JavaScript đầu tiên có thể cũng sẽ giúp bạn tránh được một số vấn đề khó hiểu khi chuyển qua học thêm những ngôn ngữ khác. Điểm hạn chế duy nhất của nó đó là tình trạng xung đột trong việc chạy trên các loại trình duyệt khác nhau. JavaScript có thể yêu cầu thêm các kiến thức về kiến trúc client-server, HTML, CSS và cả những vấn đề cross-browser nữa – thậm chí nếu bạn lập trình bằng Node.js

Ngoài ra, bạn cũng có thể quan tâm đến một ngôn ngữ khác như là Ruby hoặc Python, những ngôn ngữ này thì rất dễ học và ít vướng víu bởi các thư viện và các vấn đề về môi trường sử dụng. Tuy nhiên, chúng lại có khá ít tài nguyên và làm bạn chệch hướng với cú pháp kiểu ngôn ngữ C (nếu ngôn ngữ C là cái đích cuối cùng của bạn).

Lời khuyên tốt nhất mà tôi có thể đưa ra là: hãy chấm dứt việc lấy những lời khuyên từ những bài viết kiểu như thế này!

Bạn hãy tìm một vấn đề và giải quyết nó bằng những công cụ phần mềm mà mình có. Có thể đó là một tác vụ tự động sử dụng Autohotkey hoặc viết một macro tính toán chi phí trong bảng tính Excel. Những kiến thức cơ bản đó sẽ tạo động lực để bạn tiến lên làm những tác vụ lớn hơn và tốt hơn.

Nếu bạn là người mới bước vào thế giới lập trình trong thời gian gần đây, thì bạn đã chọn ngôn ngữ nào? Nó có giúp đỡ hay cản trở việc học của bạn hay không? Bạn có thể giới thiệu nó tới những người khác không?

Các bài viết liên quan:

Về tác giả bài viết:

Craig-BucklerCraig Buckler là giám đốc của OptimalWorks, một công ty tư vấn về công nghệ có trụ sở tại Anh. Công ty chuyên tư vấn xây dựng những website có chất lượng cao, đúng chuẩn, dễ sử dụng, SEO hiệu quả và được phát triển trên những công nghệ tốt nhất.

About these ads

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s