Gần đây nhiều người đang nói về sự cần thiết phải bắt đầu học lập trình. Một số người cho rằng đó là “một dạng kỹ năng mới”. Khi thế giới tập trung vào công nghệ hơn, hàng ngàn người đang đua nhau học lập trình, với hy vọng đảm bảo có việc làm được trả lương cao, hoặc không trở nên dư thừa trong tương lai.

2 điều bí ẩn về việc bắt đầu học lập trình

Đây là một trong những câu hỏi phổ biến nhất mà tôi nhận được – “Có rất nhiều ngôn ngữ, tôi không biết phải bắt đầu từ đâu. Ngôn ngữ nào là tốt nhất có thể giúp ích cho cuộc sống của tôi?

Bạn có thể đã có câu hỏi này trong đầu, hoặc là một cách hỏi khác tương tự.

Rất nhiều người cuối cùng bị hoa mắt trước nhiều sự lựa chọn. Nhiều người trong số các bạn sẽ lướt qua rất nhiều ý kiến ​​(như tôi đã làm trước đây) và mọi người sẽ nói điều gì đó như sau:

“Tôi yêu JavaScript. Nó là ngôn ngữ tốt nhất!”

“Python là ngôn ngữ tốt nhất và tôi không bao giờ hối hận xxx.”

“C là ngôn ngữ nên chọn bởi vì nó bao gồm tất cả các điều căn bản.

“Ruby là thân thiện nhất cho việc lập trình! Hãy chọn nó!”

Đôi lúc mọi thứ dường như là tốt nhất VÀ nó khiến bạn quay lại câu hỏi ban đầu. Dưới đây là 2 điều bí ẩn lớn.

Điều bí ẩn #1: Bạn sẽ chỉ cần gắn bó với một ngôn ngữ lập trình suốt đời

Quên tất cả các ý kiến ​​đó đi bởi vì đây là một cuộc tranh luận không hồi kết. Đây là điều mà tôi thấy mọi người không nói đến. Tình yêu đầu đời của bạn sẽ không phải là người duy nhất bạn sẽ kết hôn trọn đời.

Bối cảnh công nghệ thay đổi quá nhanh, vì vậy bạn sẽ được mong đợi có thể xử lý nhiều hơn 1 ngôn ngữ, sử dụng nhiều framework. Vâng, nó sẽ là một mối quan hệ đa thê dành cho bạn khi nói đến ngôn ngữ lập trình. Một công ty công nghệ sử dụng nhiều framework và ngôn ngữ cho các nhu cầu khác nhau là điều bình thường.

Sự phổ biến thường đến và đi. Những gì phổ biến ngày hôm nay có thể không còn phổ biến vào ngày mai. Ngôn ngữ chỉ là một phần nhỏ trong suốt chuyến hành trình học lập trình.

Những gì bạn cần làm không chỉ đơn thuần là học một ngôn ngữ lập trình. Bạn cần học cách trở thành một lập trình viên để có thể thích nghi khi có thay đổi.

Điều bí ẩn #2: Học lập trình frameworks quan trọng hơn việc xây dựng các nền tảng cơ bản

“Hãy học Nodejs và làm theo từng bước hướng dẫn của framework, thế là đủ rồi.”

“Chỉ cần học Django hoặc Ruby on Rails, tại sao phải học cách xây dựng tất cả từ đầu.”

Những điều này đã được nói ra và nó rất nguy hiểm. Bất cứ ai đang nói với bạn điều này sẽ khiến bạn gặp thất bại trong tương lai.

Bạn muốn trở thành một lập trình viên phần mềm, KHÔNG phải là lập trình viên framework. Các framework đều có thể dần giảm đi sự phổ biến của nó và đây không phải là điều hiếm thấy.

Một số công ty có thể chọn không sử dụng framework để xây dựng nền tảng công nghệ của họ hoặc họ có thể sử dụng framework nhưng sẽ tùy chỉnh nó theo yêu cầu của họ.

Trong trường hợp này, bạn cần có sự hiểu biết tốt về các nền tảng cơ bản. Framework được phát triển để làm cho cuộc sống của bạn dễ dàng hơn. Nó dựa trên các khái niệm về lập trình và bạn cần hiểu cách hoạt động bên trong của các framework.

Sử dụng framework là dễ dàng, NHƯNG hiểu được hoạt động bên trong còn quan trọng hơn. Trong thực tế, nó sẽ giúp bạn đánh giá cao các framework hơn nữa.

Hãy bỏ qua những điều bí ẩn!

Làm thế nào để bắt đầu học lập trình - Nordic Coder
Nguồn: internet

Nếu bạn đã được kể về bất kỳ một trong hai điều bí ẩn trên và đã thực hành theo, việc bạn sẽ phát triển để trở thành một lập trình viên giỏi sẽ rất khó xảy ra.

Chúng ta sẽ nói về những gì tạo ra một lập trình viên giỏi trong tương lai, nhưng trước đó, hãy xem xét một số điều quan trọng mà mọi người không thực sự nói với bạn trong việc học lập trình.

Làm thế nào để bạn bắt đầu học lập trình?

Sự thật là thế này – đừng băn khoăn về những thứ như tại sao bạn nên học ngôn ngữ này hoặc/ framework nọ.

Mục tiêu đầu tiên của bạn nên là “Bắt đầu viết một số dòng code.” (Chắc chắn rồi)

Mục tiêu thứ hai của bạn là “Hãy học cách viết code dễ dàng và nhanh hơn.”

Mục tiêu thứ ba của bạn là “Hãy trở thành một lập trình viên giỏi.”

Học lập trình có thể là niềm vui hoặc trở nên khủng khiếp. Bạn cần giữ kỷ luật VÀ sự quan tâm đến quyền lực thông qua việc lập trình.

Dưới đây là 7 điều giúp bạn lập trình dễ dàng hơn

#1: Bắt đầu với Lập trình Frontend để thấy được kết quả một cách trực quan

Lớp demo lập trình Python tại Nordic Coder
Lớp demo lập trình Python tại Nordic Coder

Sau khi đã điều hành trại huấn luyện lập trình trong 4 năm và dạy > 1000 người, chúng tôi nhận ra rằng mọi người có xu hướng thấy dễ dàng hơn khi bắt đầu với một cái gì đó trực quan.

Mục tiêu đầu tiên của chúng tôi là “BẮT ĐẦU BÀI VIẾT MỘT SỐ DÒNG CODE!”

Với lập trình web frontend, bạn nên bắt đầu học lập trình online các ngôn ngữ đơn giản như HTML và CSS trước. Nó dễ dàng hơn để bắt đầu. Mọi thứ bạn viết sẽ được hiển thị trên trình duyệt của bạn. Bạn muốn đào tạo bộ não của bạn để được thoải mái với code và cũng nhận được phản hồi. Máy tính rất là trung thực vì những gì bạn cung cấp chính là những gì bạn nhận được.

Sau HTML và CSS, bạn nên tiếp tục học JavaScript để tạo tính tương tác trên trang web frontend của bạn. Đây là một ví dụ: nextmy.co/tic-tac-toe

Chúng tôi đã sử dụng HTML và CSS để tạo một trang web tuyệt đẹp và sử dụng JavaScript cho 2 điều:

  1. Bạn có thể tương tác với trang web bằng cách nhấp vào bảng tic-tac-toe và chọn vị trí của bạn.
  2. Chúng tôi đã viết thuật toán / logic bằng JavaScript để xác định ai thắng!

Khi bạn bắt đầu với lập trình frontend, bạn sẽ có thông tin phản hồi trực quan để giúp bạn vượt qua hành trình học lập trình của mình khi bắt đầu. Bạn không cần phải tưởng tượng ra kết quả bởi vì bây giờ bạn có thể nhìn thấy nó bằng chính mắt mình nếu nó hoạt động hay không!

Các điều cần học: HTML, CSS và JavaScript (đối với frontend)

Làm gì sau khi học lập trình frontend?

Chúng tôi đã nói về lý do tại sao học front end là điểm tốt để bắt đầu. Bạn có thể xây dựng các trang web tĩnh đẹp và làm cho nó tương tác được. Đó chỉ là một phần nhỏ về những gì làm cho việc lập trình trở nên mạnh mẽ.

Bạn không muốn bị bế tắc với việc chỉ tạo các trang web tĩnh phải không? Bạn sẽ muốn có thể làm cho trang web của bạn năng động – giống như Facebook, Twitter và Instagram!

Cuối cùng, bạn sẽ muốn học cách viết các kịch bản, cách xây dựng một ứng dụng, làm thế nào để bắt đầu với machine learning, khoa học dữ liệu và trí tuệ nhân tạo, đúng không?

Chúng ta hãy chuyển sang phần tiếp theo, “Hãy làm cho việc học lập trình trở nên dễ dàng và nhanh chóng hơn!”

#2: Bắt đầu với một ngôn ngữ lập trình cấp cao cho người mới bắt đầu

Bắt đầu với một ngôn ngữ lập trình cấp cao cơ bản Nordic Coder
Nguồn: Internet

Tiếp theo, để có được lộ trình học backend dễ dàng, bạn nên chọn ngôn ngữ gì? Bạn sẽ thấy rất nhiều gợi ý về việc này: Java, C, C ++, JavaScript, Ruby, Python, Elixir. Danh sách cứ thế kéo dài.

Điều gì làm cho các ngôn ngữ đó khác nhau? Bạn sẽ tìm ra trong chút ít nữa thôi.

Theo thuật ngữ bình dân, ngôn ngữ cấp thấp gần với những gì máy tính có thể hiểu và ngôn ngữ cấp cao gần với những gì con người có thể hiểu.

Cách hiệu quả nhất để giao tiếp với các máy tính mà chúng ta không thể hiểu được là mã máy.

Mã máy là phương thức giao tiếp trong lập trình hiệu quả - Nordic Coder

Để làm cho cuộc sống của chúng ta dễ dàng hơn, các lập trình viên đã tạo ra các ngôn ngữ cấp cao hơn để giúp bộ não con người lập trình bằng cách thêm sự trừu tượng hoá vào mã máy. Các ngôn ngữ khác nhau sẽ có các mức độ trừu tượng hoá khác nhau.

Tôi muốn viết một thuật toán thực hiện điều này:

Thuật toàn lập trình Nordic Coder

Dưới đây là một ví dụ về những gì mà một số người có thể gọi là ngôn ngữ trung cấp. Đây là viết bằng Java.

Mẫu code javascript - Nordic Coder

Đây là một ví dụ về đoạn mã ngôn ngữ cấp cao hơn, trong trường hợp này,

Python.

Ngôn ngữ lập trình Python - Nordic Coder

Bạn có thấy sự khác biệt giữa cả 3? Mã máy, JavaPython .

Khi bạn muốn bắt đầu học lập trình, hãy chọn một ngôn ngữ cấp cao để bắt đầu. Nó gần hơn với những gì con người có thể hiểu và điều đó có nghĩa là bạn có thể học lập trình nhanh hơn rất nhiều. Nó trông cũng gọn và đẹp hơn!

Những gì bạn muốn làm là có thể nhanh chóng học ngôn ngữ lập trình để bạn có thể đặt code cùng nhau và viết các thuật toán. Bạn có thể xem lại các ngôn ngữ cấp thấp hơn khi các nền tảng cơ bản của bạn vững hơn.

Dưới đây là một bài viết chuyên sâu hơn về sự khác biệt này: Ngôn ngữ lập trình cấp cao và cấp thấp: Bạn nên học gì?

#3: Học lập trình vượt ra khỏi cú pháp lập trình

Học lập trình vượt ra khỏi cú pháp lập trình - Nordic Coder
Nguồn: Internet

Trước đây chúng tôi đã cho bạn thấy sự khác biệt giữa mã máy, ngôn ngữ cấp thấp và cấp cao. Để dễ hiểu, ngôn ngữ lập trình cấp cao hơn rõ ràng sẽ có ý nghĩa hơn đối với bộ não con người.

Một vài lập luận chính về lý do tại sao một số người yêu thích một số ngôn ngữ nhất định chính là cú pháp. Hãy xem một ví dụ đơn giản về sự khác biệt giữa Python, Ruby và JavaScript.

Sự khác biệt giữa Python, Ruby và JavaScript - Nordic Coder

Những gì bạn có thể nhận thấy ở đây là, về cách nó được viết, mỗi ngôn ngữ có những đặc thù riêng. Tuy nhiên về mặt dễ hiểu thì chúng khá giống nhau.

Lưu ý tại sao chúng ta nói ngôn ngữ không quan trọng như bây giờ?

Nếu bạn vững về nền tảng cơ bản với một ngôn ngữ cấp cao, bạn sẽ không gặp quá nhiều vấn đề khi thích nghi với ngôn ngữ cấp cao khác.

Rất thường xuyên, mọi người nghĩ rằng họ đã biết cách lập trình khi họ biết cách viết theo cú pháp. Nhưng sự thật là, viết theo cú pháp là việc dễ dàng. Việc khó khăn hơn là xâu chuỗi các cú pháp lại với nhau để làm cho nó hoạt động.

#4: Hiểu và nắm vững các khái niệm lập trình cốt lõi trước khi tiếp tục

Các khái niệm cốt lõi là điều quan trọng. Nếu chúng tôi sử dụng Python, RubyJavaScript để so sánh, bạn sẽ nhận thấy rằng chúng có các nhóm dữ liệu và luồng điều khiển tương tự nhau. (Không phải tất cả đều giống hệt nhưng chúng tương tự nhau.)

Bạn cũng nên hiểu các khái niệm lập trình cốt lõi như Lập trình hướng đối tượng (OOP), Model-View-Controller (MVC), v.v.

Đây là những khái niệm phổ biến thường được sử dụng trên các ngôn ngữ lập trình. Ruby và Python sẽ là một khởi đầu tốt để tìm hiểu điều này.

Hãy chắc chắn rằng bạn hiểu chúng và biết cách triển khai. Khi bạn có thể làm điều đó với một ngôn ngữ, bạn sẽ có thể nhanh chóng học cách triển khai chúng bằng ngôn ngữ lập trình khác.

Vì vậy, hiểu các khái niệm là chìa khóa và đây được coi là các nền tảng cơ bản cốt lõi mà bạn nên hiểu rõ. Khi bạn đặt điều này làm đường gốc cho mình, bạn sẽ nhanh chóng hiểu các khái niệm khác nhau / tương tự như thế nào về điều này.

Đừng nhảy vào các framework và thư viện phổ biến trước khi bạn hiểu rõ về chúng. Nền tảng cơ bản yếu sẽ tước đi khả năng thích ứng của bạn.

Các điều cần học Python / Ruby để tăng cường các khái niệm OOP và MVC

#5: Thư viện và framework

Thư viện và framework - Nordic coder
Nguồn: Internet

Nhiều người chọn ngôn ngữ lập trình dựa trên quyền truy cập vào các thư viện và framework. Học dựa trên nhu cầu!

Sự tương đồng giữa thư viện và framework sẽ là:

Hãy tưởng tượng bạn muốn xây dựng một ngôi nhà (ứng dụng), bạn sẽ đến phòng lưu trữ để xem những tài liệu nào có sẵn cho bạn mà bạn có thể sử dụng (thư viện). Bạn có thể chọn một kế hoạch chi tiết thiết kế (framework) để làm theo khi bạn xây dựng ngôi nhà của mình.

Thư viện giống như một nơi mà bạn có thể tìm thấy những công cụ có sẵn cho bạn. Framework giống như một bản thiết kế mà bạn làm theo. Để biết thêm thông tin, hãy xem: Sự khác biệt giữa thư viện và framework là gì?

Thư viện và framework Python

Python là một ngôn ngữ được biết đến với khá nhiều thứ. Nhiều người đang học Python vì họ muốn hướng đến machine learning, trí tuệ nhân tạo, khoa học dữ liệu. Nó có các thư viện về toán học rất mạnh và hiện các trường đại học ưu tú ở Hoa Kỳ đang sử dụng Python làm ngôn ngữ giới thiệu vào môn khoa học máy tính.

Thư viện Python được gọi là gói. Bên cạnh machine learning, trí tuệ nhân tạo và khoa học dữ liệu, nhiều người cũng sử dụng nó để lập trình web. Ví dụ về các framework lập trình web là Flask và Django.

Thư viện và framework Ruby

Ruby được biết đến rộng rãi với framework Ruby on Rails. Nếu bạn muốn cạnh tranh về tốc độ phát triển ứng dụng, Ruby on Rails sẽ đứng đầu tất cả vì có rất nhiều thứ được xây dựng trong đó. Thư viện Ruby được gọi là đồ quý.

Phát triển ứng dụng với Ruby on Rails và tích hợp đồ quý gần giống như là plug-and-play. Điều này là thực sự hoàn hảo cho những người muốn xây dựng MVP và khởi nghiệp công ty nhanh.

Ruby on Rails thực hiện rất nhiều điều (đường tắt) cho bạn. Nếu bạn muốn các nền tảng cơ bản của mình vững chắc, trước tiên bạn nên bắt đầu với framework Sinatra.

Thư viện và framework JavaScript

JavaScipt được biết là được sử dụng cho cả frontend và backend trong lập trình ứng dụng.

Frontend

Nếu bạn muốn làm cho trang web của bạn tương tác, bạn sẽ cần sử dụng JavaScript cho nó. Là người mới bắt đầu, bạn sẽ muốn học điều này để làm cho trang web của bạn sinh động.

Một framework phổ biến là React.js. (Tôi muốn giới thiệu điều này với những người đang ở cấp độ trung cấp, những người có kinh nghiệm tốt về lập trình frontend với JavaScript.)

Backend

Một trong những tính năng chính của JavaScript là khả năng hoạt động theo cách không đồng bộ, đó là lý do tại sao mọi người thích Node.js (framework) cho khả năng mở rộng. Nó thực sự là một framework event-loop mạnh mẽ nhưng thường gây nhầm lẫn và mất thời gian để hiểu. Động thái thông minh hơn trong việc học này là để có một số kinh nghiệm lập trình trước tiên.

Đối với người mới bắt đầu, bạn có thể học JavaScript cho backend SAU KHI bạn có kinh nghiệm tốt về lập trình backend với Python hoặc Ruby. Python và Ruby được coi là ngôn ngữ lập trình hướng đối tượng. Nó đúng với khái niệm OOP mà rất nhiều ngôn ngữ cấp thấp khác cũng làm theo.

Mặc dù cả 3 ngôn ngữ đều có thể được sử dụng để thực hiện kịch bản và phát triển các ứng dụng web, nhưng khi mới bắt đầu, hãy học JavaScript cho frontend. Đối với backend, trước tiên hãy tập trung vào viết các dòng lệnh gọn gàng bằng Python hoặc Ruby.

Nếu bạn muốn tìm hiểu về machine learning, trí tuệ nhân tạo và khoa học dữ liệu bên cạnh việc phát triển các ứng dụng, thì Python sẽ là ngôn ngữ lý tưởng cho bạn.

Các điều cần học: Python / Ruby – cả hai đều có thể được sử dụng để lập trình web.

#6: Tìm kiếm cộng đồng để tham gia

Tìm kiếm cộng đồng IT để tham gia - Nordic Coder
Nguồn: Internet

Ruby, Python và JavaScript đều có cộng đồng tuyệt vời. Vì nó là mã nguồn mở nên cộng đồng có thể hợp tác để giúp đỡ với các dự án. Cộng đồng IT là những gì tiếp sức cho sự đổi mới và các trường hợp được sử dụng của ngôn ngữ.

Ruby có một cộng đồng được thành lập đặc biệt là cho framework Rails và thường tập trung vào phát triển web.

Bên cạnh phát triển web, Python cũng có cộng đồng khoa học đã tạo ra những bước đột phá trong các lĩnh vực như khoa học dữ liệu, trí tuệ nhân tạo và machine learning.

Cộng đồng JavaScript chủ yếu tập trung vào frontend. Đối với backend JavaScript, framework phổ biến nhất hiện giờ, Node.js, là khá mới.

Bây giờ, về mục tiêu cuối cùng của chúng tôi – “Hãy trở thành một lập trình viên giỏi.”

#7: Rèn luyện tư duy tính toán & kỹ năng giải quyết vấn đề của bạn

Rèn luyện tư duy lập trình - Nordic Coder
Nguồn: Internet

Định nghĩa của chúng tôi về một lập trình viên giỏi là tháo vát, độc lập, có nền tảng vững chắc VÀ kỹ năng giải quyết vấn đề tốt.

Tư duy tính toán và giải quyết vấn đề là chìa khóa để phân biệt một lập trình viên giỏi với đám đông còn lại.

Có 2 phần trong lập trình:

  1. Ngôn ngữ & framework
  2. Tư duy tính toán & giải quyết vấn đề

Rất thường xuyên, tôi thấy rằng mọi người đã tập trung quá nhiều vào các phần sai của lập trình. Các giảng viên không thành thạo trong việc dạy lập trình đã khiến học viên ghi nhớ code, ghi nhớ các framework thay vì dạy hiểu được vấn đề.

Tôi đã chứng kiến mọi người ghi nhớ code, sao chép và sử dụng code của người khác; miễn là nó hoạt động, và họ tự gọi mình là lập trình viên.

Nếu bạn muốn có được một công việc như một lập trình viên, bạn có thể sẽ cần trải qua các cuộc phỏng vấn kỹ thuật. Thông thường các công ty sẽ nói, tôi không thực sự quan tâm đến ngôn ngữ mà bạn sử dụng. Điều tôi muốn biết là kỹ năng giải quyết vấn đề của bạn.

Bạn có thể hỏi, “Không phải chúng ta cần biết ngôn ngữ sao”?

Một ngôn ngữ chỉ là một hình thức thể hiện. Nó giống như bạn biết ABCs của bạn. Điều làm cho bạn có giá trị là khả năng hình thành câu, khả năng viết tốt và giao tiếp của bạn.

Điều khác biệt giữa một lập trình viên giỏi với đám đông còn lại là khả năng giải quyết vấn đề và khả năng sử dụng ngôn ngữ lập trình mà họ đã học để viết giải pháp.

Tư duy tính toán về cơ bản có nghĩa là “suy nghĩ giống như một cái máy tính”. Bây giờ bạn đã có giải pháp của mình, làm thế nào để bạn viết nó trong các bước chi tiết mà máy tính có thể hiểu được?

Bắt đầu đào tạo tư duy logic và tính toán của bạn! Đây là một kỹ năng bạn nên chú trọng ngay cả khi bạn không học lập trình!

Các điều cần học: Kỹ năng giải quyết vấn đề, logic, tư duy tính toán

Kết luận

Học lập trình với mục tiêu rõ ràng - Nordic Coder
Nguồn: Internet

Chúng tôi thấy rằng việc lập trình được học tốt nhất khi bạn có một mục tiêu trong đầu. Sự thật là, có quá NHIỀU thứ để học và nó có thể rất choáng ngợp. Hãy học dựa trên nhu cầu. Điều này sẽ giúp bạn giữ mối quan tâm về việc học lập trình khi bạn theo đuổi mục tiêu của mình.

Nền tảng cơ bản vững chắc sẽ cho phép bạn thích nghi với các ngôn ngữ khác nhau. Mọi ngôn ngữ có thể có những điều kỳ quặc nhưng nền tảng cơ bản vững chắc vẫn có sự liên quan đến tất cả các ngôn ngữ!

Đây là những gì chúng tôi nói với các sinh viên của mình, bạn phải học cách tự lập và thích nghi. Chúng tôi đánh giá nền tảng cơ bản vững chắc để bạn có thể tự học công nghệ mới.

Đây là một cái nhìn bao quát và nó sẽ không ngừng phát triển. Bạn cần suy nghĩ như một lập trình viên. Framework sẽ xuất hiện và biến mất, ngôn ngữ có thể tăng hoặc mất đi độ phổ biến. Bất kể điều gì cũng có thể xảy ra, nên BẠN cần có khả năng thích nghi.

Mẹo: tham gia trại huấn luyện lập trình

Bạn có thể chọn tự học lập trình. Hoặc bạn có thể chọn học lập trình tại trung tâm dạy lập trình Nordic Coder, vì chúng tôi sẽ hướng dẫn bạn và bạn có thể gặp gỡ những người cùng chí hướng để hỗ trợ bạn trong suốt hành trình lập trình.

Đây sẽ là một chuyến hành trình chuyên sâu và nhập tâm. Hãy mong đợi rất nhiều nỗ lực từ phía bạn. Nhưng vì bạn đã chọn bắt đầu học, tại sao không dành ra 110% cho nó và học cách lập trình trong môi trường nhập tâm.

Lập trình web Full Stack của Nordic Coder bao gồm cả lập trình Frontend + Backend. Ghé thăm trang khóa học lập trình của chúng tôi để tìm hiểu thêm.