Tôi nên học ngôn ngữ lập trình nào? Tập trung vào front-end, back-end, machine learning...hay thứ gì khác?

  • 4073
Tourist Đệ Quy 2017-09-26 16:51:05

Bất kỳ ai đã bắt tay vào hành trình học code đều đã trải qua câu hỏi này. Suy nghĩ đầu tiên của bạn là google nó, ngay sau đó bạn nhận ra rằng có quá nhiều nhận định, cái nào dường như cũng tốt, ngập tràn internet, quá nhiều sự lựa chọn. Rồi xong, đọc hết các ý kiến đó chắc là bạn cũng sẽ không chọn được ngôn ngữ hoặc platform tốt nhất để bắt đầu đâu!

Vậy chọn lựa bằng cách nào?

Đây là câu hỏi cực kỳ phổ biến: "Tôi nên bắt đầu bằng ngôn ngữ nào, front-end, back-end, machine learning, data science...?" Khi bạn bắt đầu lập trình, bạn phải học rất nhiều, khoa học máy tính hay lập trình nói chung thực sự khó đối với một tay mơ để biết mình nên bắt đầu từ đâu. Tôi còn nhớ lúc mình bắt đầu, tôi đã...google câu hỏi này và thật tồi tệ là mọi người đều có câu trả lời dựa trên quan điểm của họ, và vì vậy mọi người dường như đúng bởi vì họ có kinh nghiệm, đúng với người này, sai với người khác.

Vì vậy, đây là một câu hỏi hay.

Tôi đã cố gắng gấp đôi để trở thành một kỹ sư phần mềm!

Chọn lựa theo ngành hẹp

Có thể nói rằng tùy vào mỗi người mà có thể đi nhanh hơn, đối với một lĩnh vực hẹp ví dụ như nếu bạn muốn tìm hiểu machine learning hoặc về data science, mobile development, iOS/Android, security...Khi bạn đi sâu vào một ngách như vậy, nó đã có sẵn ngôn ngữ lập trình phù hợp, như machine learning hay data science rất nhiều người dùng Python, hầu hết các data scientist mà tôi quen đều dùng Python, vì vậy có thể nói, nếu bạn đi vào một chuyên ngành hẹp, hãy chọn ngôn ngữ đã chuẩn hóa của nó.

Tôi bắt đầu học Python từ một cuốn sách, dù cố gắng rất nhiều lần nhưng vẫn thất bại sau 2 tuần và lần thứ hai lại thất bại sau 5 tuần. Tôi đã thử vài khóa học online, tôi đã nghĩ rằng học bằng video sẽ giúp ích nhưng đã có lúc nghĩ rằng lập trình không dành cho mình.

Vạn sự khởi đầu đừng quá gian nan

Có một đàn anh của tôi đã tròn mắt khi thấy tôi có gắng học Python, hãy thử học Javascript đi!

Tối đó tôi về và tìm thấy trên codecademy các khóa học Javascript.

Và tôi nhớ là mình đã nghỉ làm ngày hôm sau vì dính chặt lấy nó, không thể dừng lại được, viết vài dòng Javascript, gắn thêm HTML và CSS rồi refresh browser và thấy sự thay đổi, ôi mẹ ơi! Javascript đã đưa tôi đến thế giới code nghiện ngập.

Javascript rất thân thiện với beginner bởi vì nó phản hồi nhanh, viết vài dòng code trên IDE rồi refresh browser để thấy kết quả đúng hay sai, không như Java đòi hỏi các bước compile, rồi môi trường cài đặt phức tạp, hoặc phải set up tá lả như đối với Android/iOS phải cài Android Studio/XCode...

Trong khi đối với Javascript, bạn chỉ cần bất kỳ 1 IDE để viết code, thậm chí có thể dùng notepad!

Javascript là loại ngôn ngữ năng động, bạn không cần phải khai báo thể loại của biến là chuỗi hay số, việc này cũng loại bỏ một mớ lằng nhằng đối với beginner, chỉ cần tập trung vào viết code!

Javascript có thể được dùng như scripting language để build các ứng dụng web phức tạp với NodeJS, viết API, thậm chí là build bot hoặc ứng dụng IoT.

Bạn có thể viết cả ứng dụng desktop, VR, game...bằng Javascript Có thể nói, ngày nay, với Javascript, bạn có thể làm tất cả!

Qua cơn bĩ cực đến hồi thái lai

Điều kỳ lạ là sau khi nắm vững Javascript, tôi lại đã có thể đọc code Python, Ruby và thậm chí là Haskell một cách dễ dàng.

Cũng đừng nghĩ rằng, có ai đó khuyên bạn học Python từ đầu là sai, Javascript phù hợp với tôi, tôi yêu nó và nó là cánh cửa mở ra cho tôi tiến đến các ngôn ngữ khác.

Biết đâu Python hay bất kỳ một ngôn ngữ nào đó cũng đem lại cho bạn cảm xúc mà javascript đem lại cho tôi, rồi từ đó bạn sẽ dễ dàng tiếp cận các ngôn ngữ khác, túm lại là hãy thử vài cái rồi chọn cái đem lại cho bạn cảm giác yêu mến.

Với Python, Ruby tôi chắc rằng nó dành cho backend, và khi tôi muốn làm việc với docker hoặc sâu hơn về hệ thống thì cần phải biết nó, vì vậy tôi đã tiếp tục học ngôn ngữ mới, dù đã master về Javascript và nó có thể làm mọi thứ.

Nhưng điều mà tôi muốn làm ngay bây giờ là nghiên cứu về Blockchain và sẽ tiếp tục học ngôn ngữ mới để theo đuổi công nghệ tương lai này.

Tóm lại, khi bạn chọn một ngôn ngữ lập trình để bắt đầu, hãy tìm một ngôn ngữ nào đó sẽ mở ra cánh cửa cho bạn và gia cố kiến thức nền tảng cốt lõi của ngôn ngữ đó, từ đó bạn sẽ dễ dàng nắm bắt tinh thần của một ngôn ngữ khác về sau này.

2 Bình luận
2017-09-28 18:12:01

Hay!

2017-10-07 00:22:13

Liên quan vãi c :V

Cùng một tác giả