Ngôn ngữ lập trình tốt nhất để học là gì?

Bạn nên bắt đầu học ở đâu?

Ảnh của Chris Ried trên Bapt

Ngày nay, có rất nhiều ngôn ngữ lập trình có sẵn trên thị trường và nếu bạn là người mới bắt đầu lập trình máy tính, bạn có thể tự hỏi ngôn ngữ lập trình nào là tốt nhất để chọn và làm thế nào để bắt đầu học nó. Đây là những câu hỏi thường gặp nhất mà tôi đã được hỏi. Ở đây trong bài viết này, tôi muốn trả lời những câu hỏi này về cách tìm ngôn ngữ lập trình tốt nhất để bắt đầu và nơi bắt đầu học nó.

Bất cứ khi nào tôi nghe câu hỏi như vậy mà ngôn ngữ nào là tốt nhất để học, tôi trả lời: Chà, nó phụ thuộc vào. Vâng Có, không có câu trả lời riêng biệt để nói ngôn ngữ nào là tốt nhất cho tất cả các mục đích. Mỗi ngôn ngữ có mục đích, ưu và nhược điểm riêng. Mỗi ngôn ngữ lập trình là tốt và hữu ích cho các công việc cụ thể. Câu hỏi đúng có thể được viết lại là: Ngôn ngữ phù hợp nhất hoặc phù hợp nhất với tôi để chọn là gì? Bây giờ, câu hỏi này có ý nghĩa hơn. Trước khi tôi trả lời điều này, tôi thường hỏi thêm vài câu để hiểu rõ hơn về những gì bạn thực sự muốn.

1. Bạn muốn phát triển cái gì?

Nếu bạn muốn bắt đầu lập trình, bạn phải biết khu vực và loại ứng dụng / phần mềm mà bạn muốn phát triển. Bạn có quan tâm đến việc phát triển trò chơi? phần mềm tự động hóa văn phòng? tính toán khoa học? Phần mềm tiện ích? ứng dụng phần cứng? vân vân Câu trả lời cho thấy hướng của bạn đối với lập trình.

Nhưng nếu bạn không biết câu trả lời, hoặc ít nhất bạn không chắc chắn về câu trả lời?! Có rất nhiều người mà họ không biết câu trả lời, và họ chỉ đơn giản muốn bắt đầu lập trình. Vì vậy, bạn có thể nghĩ về nó như những gì đã khuyến khích bạn quyết định học một ngôn ngữ lập trình? Nó có phải là một phần mềm thú vị không? Có lẽ, bạn muốn phát triển một phần mềm tương tự. Hay đó là một nhà phát triển? Có lẽ, bạn muốn được như anh ấy. Hay đó là tin tức mà bạn đọc? Có lẽ, bạn muốn phát triển điều tương tự như trong tin tức. Do đó, điều quan trọng là phải biết những gì bạn sẽ làm trước khi chọn một ngôn ngữ ngẫu nhiên.

Nếu bạn biết câu trả lời, thì bạn nên điều tra các ngôn ngữ và công nghệ có liên quan nhất trong lĩnh vực đó. Ví dụ: nếu bạn quan tâm đến:

  • tự động hóa một số tác vụ thường xuyên hàng ngày của bạn: ngôn ngữ kịch bản - nghĩa là ngôn ngữ dựa trên trình thông dịch - (ví dụ: Python, JavaScript hoặc VBScript) được khuyến nghị.
  • phát triển các trang web đẹp mắt: nên sử dụng các công nghệ và ngôn ngữ ngoại vi (ví dụ: HTML, CSS, JavaScript, JQuery, v.v.).
  • phát triển các ứng dụng dựa trên web: nên sử dụng các công nghệ và ngôn ngữ phụ trợ (ví dụ: ASP, PHP, Node.JS, Java, Django Python, Go, v.v.).
  • làm việc với dữ liệu và cơ sở dữ liệu: các ngôn ngữ liên quan đến cơ sở dữ liệu (như SQL) và nền tảng (ví dụ: MySQL, SQLServer, Mongo, v.v.) được khuyến nghị.
  • phát triển phần mềm cấp doanh nghiệp: các ngôn ngữ dựa trên trình biên dịch (ví dụ: Java, C ++, C #, v.v.) được khuyến nghị.
  • làm một số thứ tuyệt vời trong trí tuệ nhân tạo hoặc tính toán khoa học: Python, R, Go, Julia. Matlab, vv được khuyến khích.
  • Vân vân.

Như bạn đã thấy, đối với mỗi loại này (không giới hạn trong danh sách trên), có nhiều ngôn ngữ có thể được chọn từ đó. Trong giai đoạn này, nếu bạn biết bạn muốn làm gì, bạn có thể nhắm mục tiêu đến các công ty tương tự và những người thực sự làm công việc tương tự như bạn muốn làm để tìm ngôn ngữ và công nghệ phù hợp nhất. Vì vậy, bây giờ bạn có thể có ít tùy chọn hơn, nhưng vẫn còn rất nhiều ngôn ngữ lập trình. Đó là lý do tại sao tôi hỏi câu hỏi thứ hai.

2. Tại sao và ở đâu bạn muốn sử dụng ngôn ngữ?

Câu hỏi này có thể hơi khó hiểu. Hãy để tôi nói lại câu hỏi của tôi. Bạn có muốn học và sử dụng ngôn ngữ này cho vui và / hoặc chỉ cho bản thân bạn không? hoặc bạn muốn có nó như một kỹ năng để được thuê? Ai sẽ sử dụng phần mềm hoặc mã được phát triển của bạn?

Nếu bạn đang tìm kiếm một ngôn ngữ có nhu cầu cao và mức lương cao, có lẽ một trang web tìm kiếm việc làm hoặc LinkedIn có thể giúp bạn kiểm tra số lượng vị trí công việc có sẵn cho mỗi ngôn ngữ trong khu vực / quốc gia của bạn.

Ví dụ, một người bạn của tôi, một kỹ sư cơ khí, đã từng hỏi tôi rằng ngôn ngữ tốt nhất để học là gì? các kỹ sư có kiến ​​thức lập trình có thể tìm được việc làm dễ dàng với mức lương cao hơn. Vì vậy, tôi đã hỏi anh ấy: những kỹ năng ngôn ngữ mà các công ty này đang mong đợi từ một kỹ sư cơ khí là gì? Anh ấy nói: Mạnh Java và Python. Vì vậy, anh ấy đã tự trả lời. Khi thị trường mục tiêu của anh ấy đang tìm kiếm hai ngôn ngữ này, tôi có thể đề nghị gì?

3. Bạn sẵn sàng dành bao nhiêu thời gian?

Các ngôn ngữ lập trình hiện đại (ví dụ: Python) rất dễ học và viết mã; và họ thường làm rất nhiều thứ đằng sau một cảnh mà bạn không nhận ra chúng. Đó là một điều tuyệt vời, tuy nhiên, nó có một số tác dụng phụ. Nó gây ra một phần mềm chậm hơn với mức tiêu thụ bộ nhớ nhiều hơn. Một tác vụ tương tự trong các ngôn ngữ thông thường khác như C, C ++ hoặc Java có thể yêu cầu nhiều dòng mã hơn và bạn cũng có thể cần phải hiểu logic sâu hơn đằng sau mã mà bạn đang viết. Nhưng chúng thường nhanh hơn, tiết kiệm bộ nhớ hơn, trong khi có thể mất hàng thập kỷ để thành thạo các ngôn ngữ này (đặc biệt là C ++).

Nếu bạn muốn học một cái gì đó nhanh chóng, nếu bạn muốn viết mã nhanh hơn, năng động và ít phức tạp hơn, bạn có thể chọn Python. Nếu bạn muốn một cái gì đó mạnh mẽ, nhanh chóng và hiệu quả, bạn có thể chọn C ++ hoặc Java. Tuy nhiên, cũng mất nhiều thời gian hơn để tìm hiểu và viết mã điều tương tự trong C ++ so với Python. Khái quát này chỉ là một ví dụ, và nó phụ thuộc nhiều vào câu trả lời của bạn cho câu hỏi đầu tiên.

Vì vậy, bằng cách có câu trả lời cho ba câu hỏi trên, bạn có thể có ít tùy chọn hơn cho ngôn ngữ mong muốn của mình. Câu hỏi phổ biến tiếp theo là làm thế nào để học nó?

Làm thế nào để học ngôn ngữ đã chọn?

Có nhiều tài nguyên để học một ngôn ngữ lập trình mới hoặc cải thiện các kỹ năng lập trình, chẳng hạn như sách, YouTube, các khóa học trực tuyến và nhiều hơn nữa. Việc bạn học nó như thế nào không quan trọng, nhưng bạn nên nhớ hai điều bất kể ngôn ngữ bạn đang học là gì:

  1. Tư duy thuật toán (nghĩa là tư duy cấu trúc) là cách bạn cấu trúc một chương trình trong tâm trí của bạn, sau đó bạn chuyển đổi suy nghĩ của mình thành một mã. Đó là kỹ năng quan trọng nhất để lập trình viên phát triển. Khi bạn thành thạo tư duy thuật toán, bạn có thể dễ dàng học các ngôn ngữ khác và mở rộng kiến ​​thức lập trình của mình. Các tài liệu chính cho Tư duy thuật toán là một kiến ​​thức tốt về cấu trúc ngôn ngữ (ví dụ: cú pháp), các tính năng, cũng như toán học.
  2. Tìm hiểu cấu trúc. Tôi đã thấy nhiều lập trình viên rằng họ chỉ đơn giản là nhảy qua một số cấu trúc và khóa học vì họ cho rằng họ biết họ hoặc họ có thể không quan trọng. Đó là sai lầm lớn nhất. Là một người học, ngay cả khi là một lập trình viên chuyên nghiệp, bạn nên xem qua tất cả các cấu trúc ngôn ngữ và chi tiết cú pháp để biết sức mạnh và khả năng của ngôn ngữ lập trình mới. Thiếu một điểm duy nhất có thể khiến bạn tốn nhiều dòng mã hơn và thất vọng trong tương lai.

Điều gì trong tương lai của ngôn ngữ lập trình được chọn?

Trong lịch sử của ngành công nghiệp máy tính, không có gì là dai dẳng. Một ngôn ngữ nóng và thịnh hành ngày hôm nay, có thể là một ngôn ngữ chết và bị lãng quên vào ngày mai. Vì vậy, bạn cũng nên chuẩn bị cho điều đó.

Tại thời điểm viết bài viết này, Python rất phổ biến và nó có nhu cầu cao hiện nay. Cảm ơn cộng đồng lớn lập trình viên Python đã cung cấp các gói khác nhau. Nhưng nó sẽ nóng trong tương lai? Đó là một câu hỏi khác nhau và khó trả lời.

Phần kết luận

Nếu bạn sẵn sàng bắt đầu hành trình trở thành một lập trình viên máy tính, bạn nên tự mình hiểu rõ về những gì bạn sẽ phát triển, nơi bạn sẽ sử dụng nó, ai sẽ sử dụng nó và tại sao bạn lại phát triển nó. Sau đó, bạn có thể dễ dàng tìm thấy các tài nguyên và mọi người để giới thiệu cho bạn ngôn ngữ phù hợp đáp ứng nhu cầu của bạn. Không có ngôn ngữ lập trình tốt nhất rời rạc và tuyệt đối. Mỗi ngôn ngữ được tạo ra cho một mục đích và điều quan trọng là xác định ngôn ngữ của bạn trước khi chọn ngôn ngữ.

Lập trình không phải là một nhiệm vụ dễ dàng, nó đòi hỏi sự kiên nhẫn, thực hành nhiều, suy nghĩ và học hỏi không ngừng. Chúc may mắn cho hành trình của bạn.

Bạn cũng được mời đọc: