Nếu bạn từng ngồi nhìn màn hình và tự hỏi "hôm nay mình nên học ngôn ngữ lập trình nào?", bài viết này có thể sẽ giúp bạn tìm ra câu trả lời.
Với hàng trăm ngôn ngữ lập trình để lựa chọn, việc xác định ngôn ngữ nào đáng đầu tư thời gian có thể khá mệt mỏi. Câu trả lời ngắn gọn là: tất cả đều hữu ích vì mỗi ngôn ngữ đều có mục đích riêng. Nhưng nếu bạn không có thời gian vô hạn, tập trung vào các lựa chọn phổ biến sẽ khôn ngoan hơn.
Nhiều ngôn ngữ mới xuất hiện liên tục, nhưng có một vài ngôn ngữ "thử thách thời gian" đã chứng minh được vị thế của mình. Những ngôn ngữ này luôn có nhu cầu cao, ổn định và thường mở ra nhiều cơ hội việc làm.
Như đã nói, việc học nhiều ngôn ngữ rất có lợi, đặc biệt với lập trình viên và nhà phát triển cấp cao, vì nó cung cấp thêm công cụ cho "hộp công cụ nghề nghiệp" của bạn.
Việc nắm vững một vài (hoặc tất cả) ngôn ngữ trong danh sách dưới đây sẽ trang bị cho bạn bộ kiến thức热门 mà các vị trí lập trình trả lương cao đang tìm kiếm.
Mình nên học ngôn ngữ lập trình nào?
Chúng tôi đã tổng hợp 8 ngôn ngữ lập trình phổ biến nhất (và một vài ngoại lệ) đóng vai trò nền tảng cho bất kỳ ai muốn bước vào lĩnh vực lập trình và phát triển phần mềm.
Java
Java có lẽ là ngôn ngữ lập trình nổi tiếng nhất thế giới. Mục đích của nó là phát triển ứng dụng phía máy chủ, ứng dụng di động và trò chơi điện tử có thể triển khai trong môi trường đa nền tảng.
Đây là nền tảng để phát triển ứng dụng Android, trở thành yêu cầu bắt buộc cho bất kỳ ai quan tâm đến phát triển ứng dụng Android. Không chỉ vậy, những người mong muốn trở thành kỹ sư phần mềm cũng nên coi Java như "chân lý" của mình.
Nó cũng được dùng trong phát triển ứng dụng web và desktop tận dụng khả năng "viết một lần, chạy khắp nơi". Ngôn ngữ này khá dễ học và là kỹ năng được các nhà tuyển dụng trên toàn cầu săn đón.
Nơi học Java
Có rất nhiều tài liệu miễn phí để học Java. Khóa học phổ biến nhất là "The Complete Java Masterclass" trên Udemy - được coi là khóa học toàn diện nhất, phù hợp cho cả người mới bắt đầu và lập trình viên Java có kinh nghiệm.
Python
Được đánh giá là ngôn ngữ lập trình đơn giản nhất để học, Python là "bánh váng" trong thiết kế ứng dụng web. Các trang web như Pinterest và Instagram đều được xây dựng bằng Python.
Đây là một trong những ngôn ngữ được săn đón nhất hiện nay và có thể là ngôn ngữ quan trọng nhất để học năm 2020 bất kể con đường nghề nghiệp. Python đã vượt qua Java trở thành ngôn ngữ được dạy nhiều nhất trong các trường đại học.
Python hỗ trợ đa nền tảng, giúp nâng cao năng suất lập trình và hướng đối tượng (OOP). Mức lương trung bình năm khoảng 112.000 USD cho những người theo đuổi machine learning, trí tuệ nhân tạo và khoa học dữ liệu.
Nơi học Python
Muốn bắt đầu với Python? Python.org là điểm khởi đầu tuyệt vời. Nếu không ngại đầu tư một chút, khóa "Python Fundamentals" cũng rất phù hợp cho người mới.
C/C++
C và C++ thường là ngôn ngữ đầu tiên bạn học nếu từng học khoa học máy tính tại đại học hoặc trung học. Cả hai được coi là các ngôn ngữ "evergreen" (luôn xanh, không lỗi thời). Tuy nhiên, hiểu rằng kiến thức cấp 3 không đủ để đáp ứng yêu cầu việc làm thực tế.
Có nhiều khóa học C++ miễn phí trực tuyến từ cơ bản đến trung cấp. Nếu mới bước vào lập trình hoặc chưa chắc chắn về con đường nghề nghiệp, C/C++ là điểm khởi đầu lý tưởng.
Sau khi học C, bạn sẽ thấy ngôn ngữ "dễ học" này thực chất là nền tảng của các ngôn ngữ cấp cao hơn. Điều này giúp bạn dễ dàng làm quen với Java, Python và các ngôn ngữ热门 khác.
Nơi học C/C++
Udemy cung cấp nhiều khóa học chất lượng. Thử "C++ Tutorial for Complete Beginners" hoặc "C++ Programming Basics" - cả hai đều miễn phí.
C#
C# là một trong những ngôn ngữ tốt nhất để phát triển ứng dụng Microsoft. Ai quan tâm đến phát triển giao diện người dùng (GUI) cho PC và web sẽได้ lợi từ ngôn ngữ này.
Kiến thức về Java sẽ hỗ trợ đắc lực cho C# vì chúng có cú pháp tương tự. C# chịu trách nhiệm về framework .NET và được dùng mạnh trong phát triển game trên PC và console.
Yêu cầu chính của C# ngày nay tập trung vào phát triển game với engine Unity. Nếu muốn tự phát triển game, Unity là lựa chọn không tồi - miễn phí và khá đơn giản (dù có hạn chế). C# không còn phổ biến hay "săn tiền" như xưa nhưng không thừa nếu thêm vào kho công cụ của bạn.
Nơi học C#
Nếu mục đích là phát triển game Unity, khóa "Complete C# Unity Developer 2D: Learn to Code Making Games" trên Udemy là lựa chọn tuyệt vời. Cho các mục đích khác, hãy đăng ký "Introduction to C# Programming and Unity" trên Coursera.
JavaScript
Nếu bạn muốn một ngôn ngữ luôn hữu ích, JavaScript là đáp án. JS khá dễ học, phối hợp tốt với nhiều ngôn ngữ khác, chạy nhanh trên trình duyệt client-side (và server-side với NodeJS), và xuất hiện hầu như khắp nơi trên internet.
Phát triển web, mobile, game, ứng dụng desktop - JavaScript là ngôn ngữ không thể thiếu và vẫn không ngừng cải tiến.
TypeScript (siêu tập của JavaScript) được đánh giá là một trong những ngôn ngữ "được yêu thích nhất" năm 2019. Thậm chí Facebook cũng chuyển Jest (testing JS) từ Flow sang TypeScript đầu năm ngoái.
Nơi học JavaScript
Không có thời điểm tốt hơn 2020 để học JS - nó đã là một trong những ngôn ngữ được săn đón nhất suốt thập kỷ qua.
Điểm khởi đầu tốt: "The Complete JavaScript Course 2020: Build Real Projects!" trên Udemy. Nếu thích học theo từng phần, Code Academy có nhiều khóa JS chất lượng.
PHP
Một ngôn ngữ khác thống trị internet, chủ yếu dưới dạng website động nặng dữ liệu và phát triển ứng dụng, là PHP. Những đóng góp lớn của PHP thấy được ở WordPress và Facebook.
PHP đã tồn tại rất lâu và được coi là ngôn ngữ "bắt buộc phải biết". Nó mã nguồn mở nhưng được đánh giá chậm hơn so với các đối thủ trong phát triển web.
Vốn mã nguồn mở nghĩa là PHP không phải ngôn ngữ an toàn nhất, nhưng có cộng đồng mã nguồn mở lớn hỗ trợ. Học PHP tốn ít thời gian và có thể giúp tìm việc (dù nhu cầu giảm) trong ứng dụng web, CMS và thương mại điện tử.
Nơi học PHP
Lập trình viên web quan tâm PHP sẽ thấy nhiều kiến thức tại khóa "Building Web Applications in PHP" của Coursera. Muốn xây dựng trang thương mại điện tử? Thử "Learn E-Commerce Website in PHP & MySQL From Scratch" trên Udemy.
Swift
Swift được thiết kế riêng cho ứng dụng iOS. Năm 2010, Apple quyết định không muốn ép các nhà phát triển iOS dùng Objective-C, nên Swift ra đời như một lựa chọn thay thế. Những ai vẫn dùng thư viện Cocoa Touch có thể tiếp tục dùng Objective-C vì framework của cả hai không đổi.
Swift cung cấp đầu ra real-time cho tính tương tác và phản hồi nhanh với thay đổi code hoặc debug. Hệ thống debug tự động là yếu tố then chốt mang lại tính tương tác giống các ngôn ngữ scripting như Python.
Ưu điểm của Swift so với Objective-C: giảm code gần 75%, dễ học hơn, và cộng đồng nhà phát triển có tiềm năng tăng trưởng mạnh nhờ chất lượng ứng dụng cao hơn. Ai muốn vào phát triển iOS hoặc tìm ngôn ngữ có thu nhập cao nhất tương lai nên học Swift.
Nơi học Swift
Udemy lại là nguồn tuyệt vời. Thử "iOS 11 & Swift 4 – The Complete iOS App Development Bootcamp" từ cơ bản đến chuyên nghiệp.
Chỉ muốn tìm hiểu sơ lược? DZone.com có tutorial hữu ích. Để hiểu nền tảng iOS 11, khóa học trên pluralsight.com sẽ giúp bạn bắt đầu.
SQL & NoSQL
SQL đã tồn tại rất lâu. Mục đích của SQL là làm cơ sở dữ liệu backend cho ứng dụng. Độc lập, SQL có vẻ không quá có ích. Nhưng với nhà phát triển phần mềm, bất kể chọn ngôn ngữ nào, hiểu cả database và SQL là bắt buộc.
Về truy vấn dữ liệu, tính sẵn sàng và nhất quán, SQL đáp ứng tốt. Nếu cần lấy dữ liệu từ nhiều bảng, SQL xử lý nhanh chóng. Toàn bộ ngôn ngữ được tối ưu cho lượng lớn hàng và tìm kiếm nhanh trên toàn database.
Mặc dù mạnh, SQL có nhược điểm: khó chuyển đổi dữ liệu từ object sang bảng database, chỉ single server, và mọi thứ phải viết thủ công (khác với ORM cho phép tự động). Tuy nhiên, viết SQL thủ công thường cho truy vấn hiệu năng cao hơn ORM. Ai quan tâm Data Science nên học SQL.
NoSQL đang được ưa chuộng nhờ hiệu năng trên phần cứng rẻ, độ co giãn (elasticity) và khả năng mở rộng (scalability) vượt trội, và loại bỏ việc cấu trúc model database. Nó có tiềm năng vượt SQL trong Data Science nhưng chưa có bằng chứng xác thực. Vì mới, NoSQL thiếu hỗ trợ cộng đồng (đang mở rộng nhanh) và nền tảng chuẩn hóa.
So sánh SQL vs NoSQL: dữ liệu có cấu trúc, hỗ trợ tích hợp và schema của SQL làm nó trở thành lựa chọn ưu tiên cho doanh nghiệp, trong khi NoSQL phù hợp hơn với phát triển ứng dụng nhanh.
Nơi học SQL & NoSQL
Cho SQL, Code Academy có khóa học khởi động. Yêu thích NoSQL có thể học tại edX: "Introduction to NoSQL Data Solutions" và "Amazon DynamoDB: Building NoSQL Database-Driven Applications".
Các ngôn ngữ lập trình hữu ích khác
Đọc danh sách, bạn có thể nhận ra thiếu một vài ngôn ngữ mình dự đoán. Đáng chú ý nhất là Ruby và framework Ruby on Rails (RoR) - dùng trong nhiều web app và vẫn có nhu cầu khá tốt. Đã dùng trong Shopify, Airbnb, Fiverr, Github, Bloomberg... Tuy nhiều công ty vẫn dùng, nhưng Ruby đã mất nhiều "sóng" gần đây và không thể khuyến nghị là "bắt buộc học".
Các ngôn ngữ ít biết hơn như R, Rust, Kotlin, Golang chưa đủ phổ biến để khuyến nghị "đáng biết" lúc này. Tuy nhiên, Kotlin sẽ có lợi cho ai nghiêm túc về phát triển Android - tin đồn cho rằng nó sẽ là "điều lớn tiếp theo".
Golang (Go) khá khó học nhưng ai quan tâm phát triển framework có thể thấy đáng giá. Tương tự Go, Rust cũng rất khó nhưng rất bồi dưỡng - có thể tạo thư viện liên kết với ngôn ngữ khác. Quan tâm thì "Rust for Undergrads" sẽ giúp khởi động.