Đừng Sai Từ Đầu: Lập trình viên nên học Ngôn ngữ nào?

Ngày đăng: 10/01/2021   -    Cập nhật: 14/04/2021
Mình có nhận được câu hỏi: Lập trình viên nên học Ngôn ngữ nào? của một bạn học sinh lớp 12 (Năm nay mới vào Đại học)


Mình thấy câu hỏi này khá thú vị, và cũng có thể là câu hỏi tương tự của nhiều bạn. Nên mình quyết định viết hẳn một bài để trả lời.



Lập trình viên nên học Ngôn ngữ nào?

Lập trình viên nên học Ngôn ngữ nào?

 

> Lưu ý: Trước tiên, những bạn chưa hiểu rõ về Lập trình viên thì nên đọc để hiểu LẬP TRÌNH VIÊN LÀ GÌ? rồi hãy quay lại bài viết này.


Tại sao mình thấy câu hỏi "Lập trình viên nên học Ngôn ngữ nào" thú vị?



Đầu tiên, mình thấy khá thú vị là học sinh lớp 12 mà đã có câu hỏi định hướng sớm như vậy.


Và mình nhận định câu hỏi này là của những bạn chưa tìm hiểu nhiều về nghề Lập trình viên (hoặc hơi bị mông lung bởi đã đọc quá nhiều tin tức PR), cụ thể là giống như bạn học sinh này.



Trong thế giới công nghệ có đến hàng trăm ngôn ngữ Lập trình và thi thoảng lại có một ngôn ngữ mới ra đời.


Và một sản phẩm công nghệ không phải được làm bằng chỉ một ngôn ngữ Lập trình hoặc chỉ 1 công nghệ nào đó...


Mà ...


Được kết hợp từ nhiều ngôn ngữ Lập trình và nhiều công nghệ khác nhau.


Chính vì thế câu hỏi "Lập trình viên nên học ngôn ngữ nào" ở đây có thể điều chỉnh lại là:



"Lập trình viên nên sử dụng ngôn ngữ nào làm ngôn ngữ chính?"


Câu hỏi này có lẽ "đúng hơn" và giải quyết được nhiều vấn đề hơn.


Vậy,


 

Lập trình viên nên chọn học ngôn ngữ nào làm ngôn ngữ chính?



Rất có thể nhiều người sẽ trả lời là:


"Nên HỌC JAVA đi em vì Java quá bá đạo, tốc độ cao, đa nền tảng (Số 1 thế giới nhiều năm liền)"


Hay có người sẽ nói là:


"Năm nay là năm nào rồi mà còn học Java. HỌC JAVASCRIPT đi, làm được mọi thứ từ App đến Web ..."


Hoặc cũng có thể có người nói là:


"Xu hướng tương lai là Trí tuệ nhân tạo, Machine Learning, Big Data... Em nên chọn HỌC PYTHON, nó cũng là ngôn ngữ lập trình dễ học nhất."


Ok, ĐỒNG Ý là như vậy cũng được, câu trả lời nào cũng đúng.


Nhưng, khi nhận được câu hỏi của bạn đó, mình đã không trả lời ngay mà hỏi lại là:



"Vậy bản thân em sau này em thích làm gì? Công việc mà em nghĩ là 5 năm sau em muốn làm đó?"
 

Em ấy mới trả lời rằng:


"Em cũng không rõ lắm, nhưng em thấy thích Startup, mở công ty riêng."


OK, vậy là đã biết được thông tin sơ bộ về mong muốn của em nó...


(Tạm dừng câu chuyện của bạn học sinh lớp 12 tại đây. Câu trả lời của mình dành cho em ấy ở đoạn cuối bài.)


Vấn đề là ở đoạn này, Tại sao mình bắt đầu hỏi "Bản thân em thích làm gì và Tại sao lại muốn học lập trình?" mà không trả lời luôn?



ĐĂNG KÝ TƯ VẤN LỘ TRÌNH HỌC LẬP TRÌNH VIÊN!


Trở thành Lập trình viên từ Đam mê



Nếu bạn học một ngôn ngữ Lập trình bởi vì nó kiếm được nhiều tiền, bởi vì người nhiều người nói rằng nó tốt.


Vậy đến khi bạn không kiếm được như người ta nói thì bạn sẽ nghĩ thế nào?


Bạn có nghĩ rằng mình đã bị lừa?


Khi thấy công nghệ khác hot hơn, dễ kiếm tiền hơn thì sao?


Bạn sẽ nhảy sang học nó?


Hoặc nếu bạn thấy học nó cực kỳ khó thì sao?


Động lực nào sẽ giúp bạn kiên trì học lập trình?


Lúc này cố bám víu vào khả năng kiếm tiền hay là đổ tội cho thằng lúc đầu tư vấn "đểu" cũng đều không thay đổi được sự thật là bạn đã:



"THẤT BẠI"


Mình chắc chắc lúc này bạn sẽ "NẢN".


* Và tin vui cho bạn là cũng nhiều người đồng cảnh ngộ như bạn lắm :D



Bắt đầu tư Đam mê, ước mơ - Để biết quyết định học Ngôn ngữ gì

Bắt đầu tư Đam mê, ước mơ - Để biết quyết định học Ngôn ngữ gì

 

Chính vì thế mình mới hỏi:


"Bản thân em thích gì? Ước mơ làm gì?"


Không có công việc nào là không thể kiếm tiền được cả.


Chính vì vậy, tập trung vào thứ mà mình thích sẽ khiến mình "Phải làm bất cứ thứ gì, học bất cứ thứ gì" để đạt mục tiêu.


Điều này khiến bạn có được cảm giác:



"HẠNH PHÚC & THÀNH TỰU"


Thứ mà TIỀN rất khó mua được. (Nhiều tiền sẵn thì đã không ngồi đâu. Nhiều tiền sẵn thì đừng học Lập trình làm gì. Vất lắm :v).


Điều này thực sự đúng trong thế giới công nghệ hay trong sự nghiệp của một Lập trình viên.


Hãy tập trung vào mục tiêu và học bất cứ thứ gì để có thể đạt được mục tiêu đó. Đây mới là con đường đúng đắn khi muốn trở thành Lập trình viên hoặc kể cả những công việc khác.



Tặng bạn câu nói:


"Khi bạn muốn bỏ cuộc, hãy nghĩ đến lý do khiến bạn bắt đầu"


Hãy nghĩ rằng bạn đã đi xa được như thế này rồi, bỏ cuộc thì nhục lắm!


Một số gợi ý "Tại thời điểm này". Ở một số lĩnh vực nên chọn học Ngôn ngữ Lập trình nào để làm ngôn ngữ chính?



Như ở trên đã nói qua, tại vì cách bắt đầu chưa được chuẩn lắm. Chính vì vậy, chúng ta NÊN BẮT ĐẦU TỪ MỤC TIÊU, và suy ngược lại để xem học cái gì có thể đến được đích.


Nếu bạn muốn sau này làm về mảng Lập trình Web:



  • PHP là thứ bạn nên chọn nếu muốn làm việc nhiều với CMS
  • Java là ngôn ngữ bạn nên chọn nếu muốn làm hệ thống lớn, phức tạp (Đây được coi là ngôn ngữ tiêu chuẩn của mọi lập trình viên)
  • C# là ngôn ngữ nếu muốn làm việc với hệ sinh thái của Microsoft (hay là muốn có lợi thế để xin vào Microsoft làm việc)
  • Javascript cũng là một lựa chọn rất tốt nếu muốn học 1 thứ làm nhiều thứ (Web, App, Ứng dụng đa nền tảng...)


 

Nếu bạn muốn sau này làm về mảng Lập trình Ứng dụng Di động:



  • Swift hoặc Objective - C là ngôn ngữ lập trình nên chọn nếu muốn làm Ứng dụng cho iOS
  • Chọn học Javascript và học lên ReactNative để làm ứng dụng cho cả Android, iOS. (Cũng có thể chọn Typescript và học lên NativeScript)
  • C, C++, C# hoặc Ruby cũng là ngôn ngữ bạn nên tham khảo khi thích mảng Lập trình ứng dụng di động.


 

Nếu bạn muốn sau này làm về mảng Phân tích dữ liệu:



  • R là ngôn ngữ lập trình rất mạnh trong phân thích dữ liệu
  • Python là ngôn ngữ Lập trình khá mạnh trong mảng này và cũng dễ học hơn R
  • Java là ngôn ngữ đa năng là một ngôn ngữ được yêu thích nhất


 

Nếu bạn muốn sau này làm về mảng Trí tuệ Nhân tạo (AI):



  • Python là ngôn ngữ lập trình phổ biến nhất trong mảng Trí tuệ Nhân tạo
  • Lisp, C++ là ngôn ngữ lập trình AI bạn nên thử.



Nếu bạn muốn sau này làm về lĩnh vực Robotic:



  • C, C++ là một lựa chọn tốt
  • Java cũng là một lựa chọn có thể sử dụng.


 

Nếu bạn muốn sau này làm về lĩnh vực IOT (Internet of Things):



  • C là một lựa chọn hàng đầu
  • Java là ngôn ngữ Lập trình phổ biến được cách chuyên gia khuyên dùng cho IOT
  • Python là ngôn ngữ dễ học, khả năng ứng dụng khá nhiều trong IOT
  • Bạn cũng có thể sử dụng Swift, Javascript hoặc PHP để phát triển IOT


 

Nếu bạn muốn sau này làm về lĩnh vực Game:



  • C có thể là một lựa chọn tốt để bắt đầu với các Game đơn giản.
  • C++ nếu bạn muốn làm những game bom tấn
  • C# nếu bạn muốn làm việc với Game Engine Unity
  • Java cũng là một lựa chọn tốt
  • Python cũng có thể


....


Tham khảo mục đích sử dụng theo ngôn ngữ


 
Bạn muốn tạo ra các nguyên mẫu nhanh?

 
  • Ruby on Rails
  • Python Django


Bạn muốn làm trực quan hóa dữ liệu?

 
  • Javascript -> D3.js
  • ChartJS
  • Chartkick
     

Bạn muốn tự động hóa & viết kịch bản

 
  • Python
  • Ruby
  • Bash
  • Powershell
  • AutoHotKey
  • Perl
     

Bạn muốn viết các ứng dụng PC

 
  • Java
  • C / C ++
  • C #
     

Bạn muốn trang web tĩnh của bạn có chút hình động

 
  • JavaScript và jQuery
  • CSS
     

Bạn muốn làm hoạt hình

 
  • Processing
     

Bạn muốn làm nhạc

 
  • Chuck
     

Bạn muốn lưu trữ một chút dữ liệu thay đổi và tôi là người dùng duy nhất. Nó là một ứng dụng cho tôi (bây giờ).

 
  • SQLite
     

Bạn muốn lưu trữ một lượng lớn dữ liệu thay đổi trong môi trường tải cao và bạn sẽ thực hiện nhiều truy vấn.

 
  • SQL
  • NoSQL
     

Bạn muốn thu thập nhiều dữ liệu nhưng bạn không chắc chắn chính xác những gì bạn sẽ làm với nó.

 
  • NoSQL (MongoDB ...)
     

Bạn muốn lưu trữ dữ liệu không thay đổi

 
  • JSON
  • YAML
  • XML
     

Bạn muốn làm Toán

 
  • R
  • Python
  • Haskell
  • OCAML
  • Lisp
     

Bạn muốn làm về khoa học

 
  • Erlang
     

Bạn muốn tương tác thời gian thực, phía khách hàng

 
  • React
  • Angular
  • Sockets.io
     

Bạn muốn tạo một trang web tĩnh

 
  • HTML & CSS
     

Bạn muốn phát triển trò chơi cho các trang web

 
  • JavaScript
     

Bạn muốn có thể lập trình cho bất cứ điều gì

 
  • JavaScript
  • Python
  • C ++
     

Bạn muốn phát triển trò chơi cho consoles và ứng dụng laptop

 
  • C ++
  • C #
     

Bạn muốn làm ứng dụng di động

 
  • C ++ / Mục tiêu C / C #
  • Apple: Swift
  • Android: Java
     

Bạn muốn phát triển trên một thiết bị IoT

 
  • JavaScript
  • Python
  • Java
  • C / C ++ / C #



Đó, bạn nào muốn theo mảng nào thì có thể lựa chọn ngôn ngữ Lập trình có thể làm mảng đó.


> Lưu ý: Cũng có những ngôn ngữ có thể sẽ không phù hợp với người mới bắt đầu. Và ngôn ngữ đầu tiên bạn học cũng chỉ như người dẫn dắt bạn vào thế giới lập trình. Không phải là bạn sẽ gắn bó với nó suốt đời.


Vậy, bạn đã biết nên học ngôn ngữ nào chưa?



Phải nhớ, nếu muốn đi thật xa, đừng vội chọn ngôn ngữ để gắn bó suốt đời. Hãy chỉ chọn ngôn ngữ chỉ để bắt đầu mà thôi.


Nên học Ngôn ngữ Lập trình nào?
 
Tham khảo Infographics trên để biết chọn ngôn ngữ lập trình nào để bắt đầu tốt hơn. (Xem ảnh lớn hơn tại đây)

 
"Quan trọng là em thích gì và muốn làm gì?"


Em hãy tập trung vào cải thiện kiến thức toán học, tiếng Anh, tư duy logic.


Sau đó mới thử nghĩ đến ngôn ngữ Lập trình nào đó.


Ví dụ: Em có thể thử học ngôn ngữ Lập trình C (hoặc Python) (Ngôn ngữ bắt đầu với hầu hết các Lập trình viên)



Sau đó xác định học thật vững những môn làm nền tảng cho Lập trình như:


  • Cấu trúc dữ liệu


Đây là 2 phần kiến thức cực kỳ quan trọng đối với nghề lập trình, nên tự tìm hiểu sớm rồi bạn sẽ thấy học các công nghệ khác nhàn hạ là như thế nào.


Sau khi học được những kiến thức lập trình căn bản, cốt lõi nhất, nếu em thích làm Startup em có thể chọn thử với Javascript / Python cũng đều rất tốt.


Khi đã có nền tảng cơ bản thật vững chắc, vấn đề ngôn ngữ không còn là vấn đề.


> Bật mí: Các lập trình viên chuyên nghiệp thường chỉ mất khoảng 1 tuần đến 3 tháng để học một ngôn ngữ hoặc công nghệ mới.


> Tham khảo ngay KHÓA HỌC LẬP TRÌNH FULL STACK chỉ 12 tháng tại NIIT - ICT Hà Nội. Đi làm ngay từ tháng thứ 6.


Và trong lĩnh vực công nghệ thông tin, lập trình thì nên học càng nhiều để có càng nhiều cơ hội.


Hi vọng câu trả lời của mình dành cho em học sinh lớp 12 về việc "Lập trình viên nên học Ngôn ngữ nào?" cũng có thể giải đáp thắc mắc, định hướng lại cho các bạn muốn tham gia mảng Lập trình.


Chúc các bạn thực hiện được mong muốn của mình!



Sơn Vũ
 
---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Học Lập trình chất lượng cao (Since 2002). Học thực tế + Tuyển dụng ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0383.180086
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
#niit #niithanoi #icthanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp

Bình luận Facebook
Khóa học liên quan đến bài viết

KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS

56 giờ
Học Lập trình Front end hiện đại với ReactJS. Học làm chủ HTML, CSS, JS và thư viện JavaScript phổ biến nhất hiện nay. Sẵn sàng đi thực tập / đi làm ngay sau khóa học.

Khóa học PHP Full stack [2023] cho người mới bắt đầu

96 giờ
Khóa học Lập trình PHP Full stack, phiên bản cập nhật lần thứ 8. Dạy Lập trình PHP bài bản từ Front end đến Back end + Laravel. Hướng dẫn làm 2 Dự Án Web lớn

KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG

50 giờ
Khóa học giúp học viên sử dụng thành thạo ngôn ngữ Lập trình Python (3x). Hiểu và phát triển được Ứng dụng Web với Django Framework. Học thực hành với Giảng viên cao cấp.

Lập trình PHP với Laravel Framework

42 giờ
Khóa học Lập trình PHP với Laravel Framework được NIIT - ICT HÀ NỘI xây dựng nhằm hoàn thiện kỹ năng lập trình web các các bạn đã biết Lập trình Web PHP thuần.

Khóa học Java Full stack (IJFD)

104 giờ
Học lập trình Java Fullstack với khóa học được xây dựng theo lộ trình bài bản, từ JAVA CƠ BẢN đến JAVA WEB và nâng cao về JAVA FRAMEWORK như: Spring Boot, Hibernate
Mục lục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!