Giới thiệu 

Các tài năng STEM đang có nhu cầu việc làm rất lớn và được trả lương cao. Các bài đăng online về các công việc phần mềm trên khắp Hoa Kỳ đã tăng 31% từ năm 2007 đến 2012 - nhanh hơn gần 3 lần so với các bài đăng công việc nhìn chung. Cục Thống kê Lao động Hoa Kỳ ước tính công việc của nhà phát triển phần mềm sẽ tiếp tục tăng trưởng ở mức 22% từ năm 2012 ~ 2022, với mức lương trung bình là 100.080 đô la cho các nhà phát triển ứng dụng phần mềm kể từ tháng 5 năm 2016.

Nếu bạn đang tìm cách học cách viết code, số lượng ngôn ngữ lập trình tuyệt đối có thể áp đảo - vậy thì bạn thực sự nên học ngôn ngữ nào? Bài viết này hy vọng sẽ cung cấp cho bạn một số gợi ý bằng cách so sánh mức lương, mức độ phổ biến và tương lai tương lai liên quan đến các ngôn ngữ lập trình khác nhau.

Đây là một Fun Quiz để giúp bạn quyết định ngôn ngữ lập trình tốt nhất bạn nên học.

Nội dung

  • Toàn cảnh các ngôn ngữ lập trình 
  • Các cơ hội việc làm
  • Các nguồn lập trình
  • Tương lai của mỗi một ngôn ngữ lập trình 
  • Kết luận

Toàn cảnh các ngôn ngữ lập trình 

Trước khi chúng ta so sánh các ngôn ngữ lập trình, trước tiên, hãy tìm hiểu các ngôn ngữ mà chúng tôi sẽ trình bày sau đây. 

Các ngôn ngữ động

Các ngôn ngữ động thường dễ hơn đối với toàn bộ người mới bắt đầu học vì chúng linh hoạt và vui nhộn. Bạn có thể nhanh chóng xây dựng một ứng dụng từ đầu với ít dòng code hơn và không có quy tắc cứng nào về cách viết mọi thứ để hoạt động theo cách bạn muốn. Vì ngôn ngữ động thường là ngôn ngữ cấp độ rất cao, bạn sẽ mất ít thời gian hơn để cố gắng hiểu chi tiết và nhiều thời gian hơn để học các khái niệm lập trình, đó là một lý do khác khiến ngôn ngữ được động phổ biến với những người mới bắt đầu có động lực để có thể xây dựng mọi thứ và thấy kết quả nhanh chóng.

JavaScript

Không nên nhầm lẫn với Java, JavaScript chủ yếu là ngôn ngữ kịch phía máy khách được sử dụng để phát triển giao diện người dùng. JavaScript tương thích trên tất cả các trình duyệt và được dùng để tạo các ứng dụng web tương tác, thường thông qua các thư viện như jQuery và các front-end framework như AngularJS, Ember.js, React, v.v.

JavaScript cũng có thể được sử dụng làm ngôn ngữ phía máy chủ thông qua nền tảng Node.js. Hai năm trước, Node.js vẫn còn khá trẻ, nhưng cộng đồng của nó đã phát triển rất nhiều kể từ đó và bây giờ bạn có thể tìm thấy nhiều tài nguyên ở đây. Bạn cũng có thể xây dựng các ứng dụng di động lai với JavaScript thông qua việc sử dụng các framework như phonegap, trong khi Facebook, React Native cho phép bạn xây dựng các ứng dụng di động gốc bằng JavaScript.

Tuy nhiên, JavaScript cũng được biết đến như một ngôn ngữ khó bởi vì nó được gỡ bỏ và do đó, khó gỡ lỗi. Có các phiên bản được nhập tĩnh, chẳng hạn như TypeScript của Microsoft hoặc JSX mà React sử dụng.

Ruby

Ruby được phát triển để các nhà phát triển có thể giải trí và làm việc hiệu quả cùng một lúc. Ruby được phổ biến bởi framework Ruby on Rails, một full-stack framework web  được tối ưu hóa cho lập trình. Vì Ruby đọc giống như tiếng Anh và Rails có các công cụ giúp cho các tác vụ phát triển chung trở nên dễ dàng hơn, nên nhiều người khuyên bạn nên học Ruby như ngôn ngữ lập trình đầu tiên của bạn.

Ruby chủ yếu được sử dụng để phát triển back-end và các trang web phổ biến như Airbnb, Shopify, Bloomberg, Hulu, Sl slideshoware, v.v., tất cả đều được xây dựng với Ruby on Rails.

Python

Python là một ngôn ngữ rất được khuyến khích cho người mới bắt đầu và là ngôn ngữ giới thiệu phổ biến nhất tại các trường đại học hàng đầu của Hoa Kỳ.

Các nhà phát triển đã sử dụng Python để xây dựng các ứng dụng máy tính để bàn, các ứng dụng web giống nhau và có các công cụ khai thác dữ liệu tuyệt vời. Ngoài ra, Python đặc biệt phổ biến trong các cộng đồng học thuật về điện toán khoa học, phân tích dữ liệu và tin sinh học.

Google, Dropbox, Pinterest, Instagram, Reddit, BitTorrent, Civilization IV, v.v., đều được xây dựng bằng Python.

PHP

PHP là ngôn ngữ kịch phía máy chủ và thường được coi là thân thiện với người mới bắt đầu. Người ta dễ dàng khái niệm hóa những gì mã PHP sẽ làm, giúp dễ dàng chọn lựa. Hầu hết các trang web đã được xây dựng với PHP vì ngôn ngữ này rất chuyên về web.

Facebook, Wikipedia, Yahoo!, Tumblr, Wordpress, v.v., được xây dựng bằng PHP.

Các ngôn ngữ nhập tĩnh

Các ứng dụng được xây dựng với các ngôn ngữ được nhập tĩnh có khả năng mở rộng hơn, ổn định hơn và có thể bảo trì. Các ngôn ngữ tĩnh thường nghiêm ngặt hơn trong việc bắt lỗi thông qua kiểm tra kiểu và cần nhiều mã hơn để xây dựng nguyên mẫu. Các công cụ trò chơi, ứng dụng di động và back-end cấp doanh nghiệp thường được xây dựng với các ngôn ngữ được nhập tĩnh.

Java

Là ngôn ngữ có mục đích chung, Java được sử dụng để xây dựng các ứng dụng Android, các ứng dụng máy tính để bàn và các trò chơi. Java cũng thường được sử dụng làm ngôn ngữ phía máy chủ để phát triển back-end cấp doanh nghiệp - 90 phần trăm các công ty Fortune 500 đều sử dụng Java.

Hơn nữa, Hadoop là một framework dựa trên Java phổ biến được sử dụng để lưu trữ và xử lý dữ liệu lớn và được triển khai bởi các doanh nghiệp như Yahoo, Facebook và Amazon Web Services.

C

C thường được sử dụng để lập trình phần mềm hệ thống và là ngôn ngữ chung của Các hệ điều hành.

C đã ảnh hưởng đến hầu hết mọi ngôn ngữ lập trình mà chúng tôi sẽ phân tích trong bài viết này, đặc biệt là Objective-C và C ++. Vì vậy, nếu bạn biết rõ về C, có lẽ bạn sẽ chọn các ngôn ngữ phổ biến khác một cách dễ dàng hơn. Vì C cần mã phức tạp hơn để thực hiện các tác vụ đơn giản, người mới bắt đầu có thể thấy khó khăn để duy trì động lực nếu đây là ngôn ngữ đầu tiên của họ. Tuy nhiên, kiến thức về C chắc chắn sẽ giúp bạn trở thành một lập trình viên về lâu dài. 

Objective-C/ Swift (đối với phát triển IOS)

Objective-C là một layer được xây dựng bên trên ngôn ngữ C, làm cho nó tĩnh. Như đã nói, nó cũng có thể được sử dụng để gõ động. Swift của Apple là một ngôn ngữ tĩnh được thiết kế để tương thích với Objective-C, nhưng kiểu gõ tĩnh của nó làm cho nó trở nên linh hoạt hơn với các lỗi.

Lấy cảm hứng từ Python, Swift được thiết kế để mã hóa người mới để nhận nó dễ dàng và nhằm khắc phục một số vấn đề của Objective-C.

C++

C ++ là ngôn ngữ mạnh mẽ dựa trên C. Nó được thiết kế cho việc lập trình các hệ thống phần mềm, nhưng cũng được sử dụng để xây dựng trò chơi / công cụ trò chơi, các ứng dụng máy tính để bàn, các ứng dụng di động và các ứng dụng web. C ++ mạnh mẽ và nhanh - thậm chí Facebook đã phát triển một số thành phần hiệu suất cao có độ tin cậy cao với ngôn ngữ lập trình này.

Nhiều phần mềm đã được xây dựng với C ++, bao gồm Adobe Systems, Amazon, Paypal, Chrome, v.v. Giống như C, C ++ thường được coi là khó hơn cho người mới bắt đầu tự học. Vì vậy, nếu bạn quyết định học C ++ như ngôn ngữ lập trình đầu tiên của mình, hãy thoải mái tìm kiếm một người cố vấn thông qua Meetups hoặc tìm C ++ Codementor

C#

C # ("C Sharp") được phát triển để sử dụng cho Microsoft .NET framework, chạy chủ yếu trên Microsoft Windows.

C # được sử dụng để phát triển web, phát triển trò chơi và phát triển Microsoft nói chung. Mặc dù trước đây Microsoft không được biết đến là tương thích đa nền tảng, Xamarin đã làm việc trên một dự án nguồn mở có tên Mono, nhằm mục đích chuyển C # sang các nền tảng khác và mang các công cụ phát triển tốt hơn cho các nhà phát triển Linux. Gần đây, bạn cũng có thể sử dụng C # để xây dựng các ứng dụng di động gốc cho iOS và Android thông qua Xamarin. 

Các loại khác

SQL

SQL ("Sequel) hoặc Ngôn ngữ truy vấn có cấu trúc, là ngôn ngữ truy vấn được sử dụng để giao tiếp với cơ sở dữ liệu. Mặc dù SQL không thể được sử dụng để xây dựng ứng dụng, nhưng nó được sử dụng để quản lý dữ liệu trong các ứng dụng sử dụng hệ thống quản lý cơ sở dữ liệu quan hệ (RDMS).

Các cơ hội việc làm

Bây giờ bạn biết một chút về các ngôn ngữ lập trình khác nhau và khó khăn nhận thức của chúng. Như đã nói, không phải tất cả các ngôn ngữ đều có cùng nhu cầu hoặc mức lương. Nếu mục tiêu của bạn khi học cách lập trình là tăng cơ hội việc làm và bạn sẽ không được khuyến khích bởi cách mọi người nói một ngôn ngữ khó, thì đây là một số gợi ý để giúp bạn tìm ra ngôn ngữ nào bạn nên học.

Dựa trên ước tính mức lương từ phân tích quảng cáo việc làm thật sự, chúng tôi có thể chia ngôn ngữ lập trình thành 9 bậc:

Dựa trên kết quả này, có vẻ như Ruby / Ruby on Rails sẽ kiếm được nhiều tiền nhất, trong khi Python, C ++, iOS và JavaScript cũng là những lựa chọn hợp lý. Ngoài ra, nếu tiền lương là mối quan tâm chính của bạn, thì có lẽ C, PHP và SQL không phải là lựa chọn lý tưởng nhất. 

Mức lương trung bình có thể bị ảnh hưởng bởi nhiều thứ như nhu cầu (có bao nhiêu bài đăng công việc), nguồn cung (bao nhiêu nhà phát triển biết ngôn ngữ này) và kinh nghiệm (một nhà phát triển cơ sở sẽ tự nhiên kiếm được ít hơn một nhà phát triển cao cấp), vì vậy đó là một ý tưởng tốt để xem xét sâu hơn về các yếu tố này trước khi đưa ra bất kỳ kết luận nào.

Xu hướng nghề nghiệp 

Bạn có khả năng có được một công việc dựa trên ngôn ngữ lập trình mà bạn biết? Dưới đây, một cái nhìn nhanh về xu hướng công việc từ indeed.com: 

Chúng ta có thể thấy rằng C, SQL, Java và JavaScript thường được đề cập trong các bài đăng công việc, trong khi C #, C ++ và Python cũng là những ngôn ngữ tiện dụng. 

Tuy nhiên, nếu mục tiêu của bạn là làm việc tại một công ty khởi nghiệp, thì có lẽ xu hướng nghề nghiệp từ indeed.com không phải là chỉ số tốt nhất. AngelList gần như là nơi thích hợp cho các bài đăng công việc khởi nghiệp, vì vậy chúng tôi sẽ xem xét nhu cầu về kỹ năng lập trình dựa trên quảng cáo của nhà phát triển phần mềm quảng cáo trong AngelList. 

Một lần nữa, JavaScript là kỹ năng được yêu cầu nhiều nhất, nhưng các công ty khởi nghiệp dường như ủng hộ Python và Java (đó là Ruby (trên Rails) 2 năm trước!) Hơn Ruby, PHP, C hoặc C #.

Thị trường cung cấp các nhà phát triển

Tất nhiên, đây không phải là mô tả chính xác về thị trường thực tế, nhưng nó sẽ cung cấp cho bạn một ý tưởng tốt về nguồn cung cấp cho nhà phát triển. Như bạn có thể thấy, mặc dù kinh doanh ứng dụng di động đã bùng nổ một thời gian, các chuyên gia của Objective-C vẫn còn rất khan hiếm. Với nguồn cung khan hiếm các nhà phát triển Objective-C tốt, số tiền lương của họ đương nhiên sẽ cao hơn.

PHP, mặt khác, dường như có một nguồn cung cấp ổn định trong lực lượng lao động, điều đó có nghĩa là các nhà tuyển dụng sẽ có nhiều lựa chọn hơn, và do đó, có khả năng thương lượng cao hơn về mặt lương. Như đã nói, các nhà phát triển PHP không đòi hỏi cao như các nhà phát triển Java, SQL hoặc JavaScript. Do đó, các nhà phát triển PHP thường kiếm được ít tiền hơn.

JavaScript là một trường hợp khá đặc biệt. Mặc dù có nguồn cung cao nhất, các nhà phát triển JavaScript không nằm ở cuối mức lương - chúng ta sẽ xem xét JavaScript sau trong bài viết này.

Mức lương

Bây giờ bạn đã có hình dung về nhu cầu cũng như nguồn cung của mỗi ngôn ngữ, vậy hãy xem mức lương khả năng bạn có thể kiếm được dựa trên thông ttin lương từ các  quảng cáo việc làm nhé. Số liệu này từ gooroo.io, trong đó tiền lương thường được tính là giá trị trung bình của phạm vi lương được cung cấp bởi quảng cáo việc làm cá nhân. 

Bạn có thể thấy rằng các nhà phát triển biết Ruby, C ++ hoặc Java dường như có mức lương khởi điểm cao hơn. Các nhà phát triển Python và Ruby dường như có mức lương tiềm năng cao nhất, điều đó có nghĩa là các nhà phát triển Ruby / Python giỏi đang khan hiếm và đòi hỏi cao. JavaScript dường như đã trải qua một sự sụt giảm lớn về mức lương tiềm năng, đạt cao ở mức 188.168 USD vào tháng 4 năm 2015 - hiện tại nó ở mức khoảng 107 nghìn đô la. Tuy nhiên, JavaScript vẫn là một trường hợp đặc biệt và hãy xem tại sao. 

Trường hợp đặc biệt: JavaScript Frameworks

Việc chỉ so sánh ngôn ngữ JavaScript với các ngôn ngữ lập trình khác là một điều không chính xác về số tiền bạn có thể kiếm được nếu bạn biết JavaScript. 

Như đã đề cập trong tổng quan về ngôn ngữ lập trình, JavaScript là một danh mục rất lớn. Nhiều frameworks đã được phát triển để tạo điều kiện phát triển front-end website, vì vậy nếu bạn chỉ biết JavaScript và jQuery, bạn có thể kiếm được ít tiền hơn các nhà phát triển JavaScript khác biết một số loại khung JavaScript.

Chúng ta hãy xem mức lương trung bình cho các nhà phát triển framework JavaScript khác nhau ở Hoa Kỳ (lưu ý: có thể nói, React & Backbone là các thư viện, không phải  và Node.js là một môi trường)

Mức lương trung bình không tệ M. Node.js nói riêng, có một triển vọng tương lai rất tốt đẹp. Vì bạn phải biết JavaScript để học các công nghệ này, JavaScript là một kỹ năng khá có lợi.

Chúng ta cũng hãy xem nhu cầu về các nhà phát triển của các framework này nhé:

Node.js thường được dùng cho phát triển beck-end do đó nếu bạn chỉ đang tìm các framework cho front-end, bạn có thể thấy rằng AngularJS dường như là một người chiến thắng rõ ràng với nhu cầu tăng vọt. Do đó, nếu bạn muốn tham gia phát triển JavaScript từ trước, bạn có thể muốn tìm hiểu AngularJS.

Mặt khác, React là một công nghệ khá mới và đã đạt được động lực ở tốc độ cạnh tranh với giai đoạn đầu của AngularJS. Nó có thể vẫn đang trong giai đoạn lấy đà và có khả năng trở thành có nhu cầu rộng rãi hơn, vì nó có hiệu suất cao hơn AngularJS và do đó sẽ cung cấp trải nghiệm người dùng tốt hơn.
 

Các nguồn lập trình

Nếu bạn biết một chút về thế giới lập trình, bạn sẽ biết tầm quan trọng và hữu ích khi có sự hỗ trợ từ các nhà phát triển khác như thế nào, đặc biệt là khi bạn lên kế hoạch tự học một mình. 

Trở thành một phần của một cộng đồng hỗ trợ chắc chắn sẽ giúp cuộc sống phát triển của bạn dễ dàng hơn

StackOverflow

Cho đến nay, StackOverflow là cộng đồng lớn nhất được các nhà phát triển trên thế giới sử dụng để giúp đỡ và nhận sự giúp đỡ từ các lập trình viên khác, vì vậy, chúng ta cùng phân tích xem cộng đồng ngôn ngữ lập trình lớn / phổ biến cũng như cộng đồng hữu ích như thế nào đối với các ngôn ngữ khác nhau nhé. 

Ngôn ngữ phổ biến 

Dựa trên những người theo dõi thẻ trên StackOverflow, chúng ta có thể thấy mức độ phổ biến của ngôn ngữ:

Từ việc kiểm tra xu hướng công việc chúng ta biết rằng các nhà phát triển Java và JavaScript có nhu cầu cao nhất, do đó, không có gì ngạc nhiên khi họ cũng có nhiều người theo dõi thẻ nhất. JavaScript hiện là thẻ được sử dụng nhiều nhất trong StackOverflow, thay thế Java. (Thật thú vị khi Đại học Stanford gần đây đã quyết định thay thế Java bằng JavaScript trong khóa học lập trình giới thiệu!)

SQL, Ruby và Swift có ít người theo dõi nhất, mặc dù điều này có thể là do Ruby gần như được sử dụng nghiêm ngặt để phát triển web, trong khi Swift là một ngôn ngữ tương đối mới.

Tỷ lệ trả lời StackOverflow 

StackOverflow có một quy tắc bất thành văn trong đó bạn phải diễn đạt câu hỏi của mình một cách chính xác, hoặc mọi người không thể trả lời câu hỏi của bạn. Với ý nghĩ đó, hãy để Hãy xem xét khả năng các câu hỏi của bạn sẽ được trả lời cho mỗi ngôn ngữ:

Dựa trên các thông tin của chúng tôi, mặc dù ít người dùng StackOverflow theo dõi các ngôn ngữ C, SQL và C ++, nhưng hơn 60% câu hỏi liên quan đến các ngôn ngữ này đã được trả lời. Trong đó là những người biết tranh luận rằng C và C ++ là ngôn ngữ nâng cao, điều đó có nghĩa là những người dùng đang hỏi những câu hỏi này rất có thể là những lập trình viên có kinh nghiệm hơn, biết cách diễn đạt câu hỏi của họ tốt hơn. Mặt khác SQL không được sử dụng để xây dựng nhiều thứ.

 Điều đáng chú ý là các nhà phát triển Python và Ruby cũng hỗ trợ trên StackOverflow. Vì Python và Ruby là ngôn ngữ được khuyên dùng nhiều nhất cho người mới bắt đầu, nên có nhiều câu hỏi hơn về hai ngôn ngữ này. Như chúng tôi đã gợi ý trước đó, những người mới bắt đầu thường gặp khó khăn khi đặt câu hỏi chính xác. Mọi người sẽ cho rằng các câu hỏi dành cho người mới bắt đầu sẽ không được trả lời - thật đáng ngạc nhiên, gần 60% câu hỏi về Python và Ruby được trả lời chỉ trong vòng 30 ngày.

Mặt khác, trong khi PHP là một ngôn ngữ được theo dõi rộng rãi lại một trong những ngôn ngữ có tỷ lệ trả lời thấp nhất. Nghĩa là rất nhiều người đang hỏi về PHP, nhưng không nhiều người đang trả lời câu hỏi về PHP. 

GitHub

Khi đi vào   ↵

 phát triển, bạn cuối cùng sẽ biết rằng sử dụng một giải pháp sẵn có khi còn có thể cho project riêng của mình là cách tốt nhất. Bạn thường nhận ra điều này từ các dự án có nguồn mở và GitHub là cách để thực hiện những điều này. Người dùng có thể gắn dấu sao cho các dự án họ thích và dự án càng có nhiều ngôi sao thì càng có ích.

Do đó, từ việc kiểm tra dữ liệu từ GitHub, chúng ta cũng có thể xác định mức độ dễ dàng tương đối trong việc phát triển các dự án sử dụng các loại ngôn ngữ khác nhau. Chúng ta cũng có thể có một ý tưởng về việc một ngôn ngữ đang đổi mới công nghệ mới nhanh như thế nào. Đây là một biểu đồ đơn giản để trực quan hóa việc phân phối các dự án GitHub phổ biến:

Rõ ràng JavaScript có các công cụ mới nhất, ngay cả khi chúng ta xóa tất cả các hướng dẫn về style , tài nguyên học tập và hướng dẫn. JavaScript được biết đến là một ngôn ngữ chuyển động cực nhanh với tốc độ cao cho các framework và công nghệ mới - các nhà phát triển đôi khi có thể gặp khó khăn trong việc theo kịp các đổi mới liên tục. Ngoài ra, ngoài nền tảng Node.js, JavaScript chủ yếu được sử dụng để phát triển front-end, do đó, nó không trực tiếp cạnh tranh với các ngôn ngữ back-end khác như Ruby, Python, Java và PHP. Do đó không có gì đáng ngạc nhiên khi có một khoảng cách lớn như vậy giữa JavaScript và các ngôn ngữ lập trình khác.

Mặt khác, Ruby và Objective-C cũng có rất nhiều công cụ và tài nguyên để phát triển. Bây giờ, chúng ta đã thấy trong so sánh StackOverflow, cả hai ngôn ngữ đều phổ biến như các ngôn ngữ như Java. Trái ngược với StackOverflow, các nhà phát triển thường thấy các dự án nguồn mở trong GitHub khá hữu ích. Dưới đây là tổng quan về số lượng kho GitHub cho các ngôn ngữ cụ thể:

Bên cạnh đó, hầu hết các dự án nguồn mở được viết bằng C / C ++ không thể tự phát triển C / C ++ - chúng chỉ là công cụ được viết để giúp phát triển nói chung (ví dụ, trình thông dịch Python được sử dụng phổ biến nhất là CPython, được viết bằng C). Như đã đề cập trước đó trong phần giới thiệu về ngôn ngữ lập trình, C/C++ chủ yếu được sử dụng để phát triển các ứng dụng hệ thống, do đó, các dự án nguồn mở trên GitHub là các công cụ hệ thống. Tuy nhiên, bạn có thể học được rất nhiều từ các dự án nguồn mở này.

Cuối cùng, SQL và Swift bị tụt lại phía sau về lĩnh vực các tài nguyên có sẵn. 

Tương lai của mỗi một ngôn ngữ lập trình

Làm thế nào để biết được tương lai của một ngôn ngữ lập trình cụ thể? Trước hết, tương lai của một ngôn ngữ sẽ phụ thuộc phần lớn vào sự phát triển của cộng đồng, vì tỷ lệ chấp nhận là thứ giữ cho ngôn ngữ trở nên phổ biến và đảm bảo rằng nó sẽ tiếp tục có tài nguyên. Vì vậy, chúng ta hãy xem những ngôn ngữ mà mọi người quan tâm nhất khi học:

Có vẻ như Python, JavaScript, Java (C # đứng thứ ba vào năm 2014) và C ++ đã nhận được sự tăng trưởng đáng quan tâm nhất. Dựa trên các xu hướng đã biết hiện tại, chúng ta có thể rút ra kết luận sau:

JavaScript

Không còn nghi ngờ gì nữa, JavaScript sẽ ngày càng trở nên phổ biến, đặc biệt là vì giờ đây nó có thể được sử dụng để phát triển back-end và thậm chí có khả năng xây dựng các ứng dụng di động gốc (thông qua React Native). JavaScript tiếp tục nhận được nhiều công cụ và cập nhật hơn với tốc độ khá nhanh, vì vậy bạn có thể hy vọng nó sẽ vẫn cực kỳ quan trọng trong tương lai.

Ruby

Các công ty khởi nghiệp yêu thích Ruby on Rails. Nhiều trang web nổi tiếng chẳng hạn như Airbnb, Twitch, Hulu, v.v., được xây dựng với Rails, có nghĩa là họ luôn luôn tìm kiếm các nhà phát triển Ruby. Ngoài ra, vì các nhà phát triển thường có nhiều niềm vui với Rails và khá dễ dàng lựa chọn nên Rails rất có thể sẽ tiếp tục phổ biến trong số những người mới viết code.

Có thể nói rằng sự nổi lên của Node.js chắc chắn sẽ có tác động đến sự phổ biến của Ruby on Rails - Node.js đã vượt qua Rails trên Github. Mặc dù đây không phải là một dấu hiệu tuyệt đối rằng Node.js sẽ vượt qua Rails, nhưng chúng ta nên lưu ý rằng một vài năm trước, Rails đã vượt qua khung web lớn nhất của Python, Django, để phát triển back-end và Rails có nhiều điểm mạnh hơn Django.

Hơn nữa, một xu hướng mới cho các ứng dụng "đẳng cấu" có thể sẽ ảnh hưởng đến việc áp dụng Rails, một thực tế được cho là cải thiện hiệu suất ứng dụng web. Do các ứng dụng đẳng cấu khá cần chạy trên nền tảng Node.js, vốn là JavaScript (cùng ngôn ngữ được sử dụng trong front-end), nên Node.js sẽ trở nên phổ biến hơn theo thời gian. Sự hấp dẫn của việc chỉ cần thành thạo một ngôn ngữ (JavaScript) cũng có thể khiến một số lập trình viên tiềm năng ra không học Ruby. Google Go là một giải pháp thay thế khác đã nhận được sự chú ý trong hai năm qua.

Tuy nhiên, vì Rails tiếp tục được cập nhật thường xuyên nên nó sẽ vẫn còn liên quan trong một thời gian. Chưa kể, nó có một cộng đồng cực kỳ trung thành với hàng tấn công cụ hữu ích để giúp phát triển dễ dàng hơn. Do đó, mặc dù suy giảm về mức độ phổ biến, Ruby vẫn sẽ duy trì ở vị trí quan trọng.

Python

Python rất phổ biến đối với các nhà nghiên cứu học thuật và nhà khoa học dữ liệu, và như đã đề cập trước đây, nhiều trường chọn giới thiệu cho người mới bắt đầu viết mã thông qua Python. Điều này có nghĩa là Python sẽ tiếp tục tăng trưởng ổn định và vẫn có liên quan. Mặc dù Python giành chiến thắng đang phát triển nhanh hoặc đạt được sự tăng trưởng bùng nổ về mức độ phổ biến và có nhu cầu như JavaScript, nhưng nó sẽ tiếp tục phát triển mạnh mẽ, đặc biệt là có nhu cầu cao đối với các nhà khoa học dữ liệu.

PHP

Trào lưu phát triển back-end đã thay đổi đối với PHP trong một vài năm nay, nhưng 80% trang web trên web vẫn được xây dựng bằng PHP - rốt cuộc đó là ngôn ngữ được thiết kế cho web.

Tuy nhiên, nếu bạn search Google về người mới bắt đầu học ngôn ngữ lập trình, bạn sẽ thấy rằng các nhà phát triển thường không khuyến khích học PHP. Trong thực tế, nhiều nhà phát triển dường như ghét nó.

Cộng đồng PHP đang cố gắng rũ bỏ tiếng xấu của mình bằng các hướng dẫn mới về cách mã hóa PHP đúng cách và các công cụ mới, nhưng nói chung, tương lai của PHP có vẻ khá trì trệ vào năm 2015 (ít nhất là ở Hoa Kỳ). Mặc dù một số người đã hy vọng rằng PHP7 sẽ hồi sinh cộng đồng nhưng nó vẫn khá rời rạc.

Java

Android đã là một cú thúc lớn trong việc giữ cho Java trở thành ngôn ngữ lập trình phổ biến nhất và hầu hết các doanh nghiệp cũng yêu thích Java vì tính ổn định và khả năng mở rộng tương đối của nó.

Với sự nổi lên của Spark (sử dụng ngôn ngữ Scala) và Cassandra (hỗ trợ các ngôn ngữ khác), thật khó để nói Hadoop sẽ tiếp tục giữ ngôi big data framework phổ biến nhất trong bao lâu. Như đã nói, do các doanh nghiệp lớn hành động như thế nào khi thay đổi mà Hadoop không thể biến mất được. Điều tương tự cũng có thể nói về ngôn ngữ lập trình Java nói chung, vì Java có các công cụ tuyệt vời để phát triển back-end và được thiết lập nhiều hơn cho phát triển doanh nghiệp.

Do đó, Java sẽ tiếp tục mạnh mẽ là một trong những ngôn ngữ lập trình phù hợp nhất trong vài năm tới.

Objective-C/Swift

Kể từ khi Apple phát hành Swift và Objective-C chỉ hoạt động cho các sản phẩm của Apple, người ta không thể mong đợi Objective-C sẽ tồn tại quá lâu trong tương lai. Mặt khác, Swift lại có liên quan trong những năm tới, miễn là mọi người tiếp tục sử dụng các sản phẩm của Apple.

Điều này không có nghĩa là bạn không nên học Objective-C vào năm 2017, vì hầu hết các dự án nguồn mở để phát triển iOS vẫn được viết bằng Objective-C. Nói chung, sử dụng một cái gì đó bạn không hiểu được không phải là một ý tưởng tốt. Chưa kể, bạn không khó để học Objective-C nếu bạn biết Swift hoặc ngược lại.

C

C ở trình độ khá thấp so với các ngôn ngữ lập trình khác, nhưng vì có hệ điều hành và nhiều công cụ phát triển được viết bằng C, bao gồm cả Linux, nên nó sẽ tiếp tục được sử dụng.

SQL

SQL hầu như được hiểu bởi các quản trị viên cơ sở dữ liệu. Trong một thời gian, SQL dường như đã mất đi sự liên quan với sự phát triển của các dịch vụ NoQuery, như MongoDB và Redis và các nền tảng điện toán Big Data không sử dụng SQL, ví dụ như Hadoop, Spark và Cassandra. Nhiều người đã gào thét lên về việc SQL đã chết như thế nào.

Rõ ràng không cần cãi nữa. Kết quả là, ngay cả NoSQL cũng phải xác định lại chính mình là "không chỉ SQL".

Với sự gia tăng của big data và các khó khăn trong việc quản lý nó, SQL đang nóng hơn bao giờ hết (như bạn đã biết từ các xu hướng công việc). Google gần đây cũng đã cập nhật dịch vụ BigQuery của mình để giờ đây nó có thể đạt tới 100.000 hàng mỗi giây trên mỗi bảng và BigQuery sử dụng SQL. Spark's cũng có Spark SQL Module kể từ phiên bản 1.3. Đối với các sản phẩm như ClustrixDB, DeepQuery, MemQuery và VoltDB, tất cả những gì bạn cần làm là thêm các nút commodity thay vì làm hỏng máy chủ cơ sở dữ liệu.

Nói chung, SQL có liên quan một lần nữa bởi vì nó cần để quản lý và phân tích (nhưng không lưu trữ) big data . Cộng đồng các nhà phát triển thậm chí còn dự đoán một số loại hợp nhất SQL và NoQuery. Dù bằng cách nào, không chỉ có SQL ở khắp mọi nơi, mà còn có thể nói rằng SQL sẽ tiếp tục có liên quan.

C++

C ++ vẫn được coi là ngôn ngữ mạnh nhất về hiệu suất và khả năng (thậm chí so với Rust), C ++ rất có thể sẽ tiếp tục có liên quan trong một số lĩnh vực nhất định như những thứ cần hiệu suất cao (ví dụ: công cụ trò chơi). Vì ISOCPP (Tổ chức Tiêu chuẩn hóa Quốc tế) đã hoàn thành công việc của mình trên C ++ 17, đang trong quá trình bỏ phiếu ISO cuối cùng, nên nhiều khả năng nó sẽ bắt đầu hoạt động trên C ++ 20 vào tháng 7 năm 2017. Nó vẫn là một ngôn ngữ đang phát triển.

Trong tương lai, Rust có thể có khả năng thay thế C ++ trong một số lĩnh vực lập trình hệ thống, vì Rust nhằm mục đích có thể sản xuất phần mềm ít bị lỗi hơn C ++. Đọc thêm về cách Rust so sánh với các ngôn ngữ khác ở đây. Bất kể liệu Rust có thực sự tiếp quản C ++ hay không, bây giờ là thời điểm tốt để tìm hiểu Rust nếu bạn là nhà phát triển nâng cao.

C

Bị giới hạn trong các nền tảng của Microsoft và trở thành mã nguồn đóng không hoạt động trong sự ưu ái của C #, trước đây, nhưng may mắn là Mono giải cứu (mặc dù Mono có một số vấn đề về hiệu suất trong quá khứ, nhưng các bản cập nhật gần đây đã cải thiện hơn).

Các nhà phát triển đã làm việc với C # dường như yêu thích ngôn ngữ lập trình C # và niềm đam mê ấy tiếp tục thúc đẩy cộng đồng mạnh mẽ. Chưa kể, C# là ngôn ngữ chính cho Unity 3D, một công cụ trò chơi khá phổ biến cũng có thể hoạt động trên iOS, Linux, v.v. Sự phát triển của Unity3D như một công cụ trò chơi thực tế và ứng dụng VR đã củng cố tương lai của C #. Vì VR là một điều lớn, và sẽ tiếp tục là một điều lớn, C # chắc chắn sẽ có một tương lai khá tươi sáng.

Bên cạnh đó, C# cũng khá phổ biến để phát triển doanh nghiệp ở các quốc gia khác ngoài Hoa Kỳ, chẳng hạn như Vương quốc Anh. Rõ ràng, Microsoft sẽ giữ C# tồn tại trong một thời gian và giữ cho nó phù hợp với nền tảng .NET. Trên thực tế, họ đã tích cực mở nguồn cho các sản phẩm của mình và làm cho nó dễ tiếp cận hơn để các nhà phát triển có thể áp dụng nó.

Kết luận

Vậy người mới bắt đầu học code nên học ngôn ngữ nào? Rõ ràng, nếu bạn muốn tham gia phát triển web, bạn phải học JavaScript, dù muốn hay không. Nếu bạn muốn phát triển web back-end, bạn phải học một số dạng SQL.

Hơn nữa, nếu bạn muốn khai thác các trang web để lấy dữ liệu hoặc nếu bạn muốn trở thành một nhà khoa học dữ liệu, thì Python là một ngôn ngữ tốt để học. Nếu bạn muốn làm việc cho một doanh nghiệp, thì Java là con đường để đi. Nếu bạn thực sự không quan tâm đến việc xây dựng mọi thứ và bạn có hứng thú hơn với các cơ hội việc làm, thì có lẽ SQL là một nơi tốt để bắt đầu (đặc biệt nếu bạn thích môn toán).

Nhìn chung, ngôn ngữ lập trình bạn nên học trong năm 2017 cuối cùng sẽ phụ thuộc vào những gì bạn muốn làm.