Làm thế nào để học một ngôn ngữ lập trình

Nếu bạn quan tâm đến việc tạo ra các chương trình máy tính, ứng dụng di động, trang web, trò chơi hoặc bất kỳ phần mềm nào khác, bạn sẽ cần phải học cách lập trình. Các chương trình được tạo ra thông qua việc sử dụng một ngôn ngữ lập trình. Ngôn ngữ này cho phép chương trình hoạt động với máy đang chạy, có thể là máy tính, điện thoại di động hoặc bất kỳ phần cứng nào khác.

1. Chọn Ngôn ngữ

Xác định lĩnh vực bạn quan tâm. Bạn có thể bắt đầu học với bất kỳ ngôn ngữ lập trình nào (mặc dù một số có “dễ” hơn các ngôn ngữ lập trình khác), vì vậy bạn sẽ muốn bắt đầu bằng cách tự hỏi mình muốn đạt được điều gì bằng cách học một ngôn ngữ lập trình. Điều này sẽ giúp bạn xác định loại chương trình bạn nên theo đuổi, và cung cấp cho bạn một điểm khởi đầu tốt.

  • Nếu bạn muốn tham gia phát triển web, bạn sẽ có một bộ ngôn ngữ hoàn toàn khác mà bạn sẽ cần phải học, trái ngược với phát triển các chương trình máy tính. Phát triển ứng dụng dành cho thiết bị di động đòi hỏi phải có một “skill set” khác với lập trình máy. Tất cả các quyết định này sẽ ảnh hưởng đến sự tư duy của bạn.
 

Hãy xem xét bắt đầu bằng một ngôn ngữ “đơn giản hơn”. Bất kể quyết định của bạn, bạn có thể muốn xem xét bắt đầu bằng một trong những ngôn ngữ cấp cao, đơn giản hơn. Những ngôn ngữ này đặc biệt hữu ích cho người mới bắt đầu, vì chúng dạy các khái niệm cơ bản và các quy trình suy nghĩ có thể áp dụng cho hầu hết ngôn ngữ.

  • Hai ngôn ngữ phổ biến nhất trong thể loại này là Python và Ruby . Đây là cả hai ngôn ngữ ứng dụng web hướng đối tượng sử dụng cú pháp rất dễ đọc.
  • “Định hướng đối tượng” có nghĩa là ngôn ngữ được xây dựng xung quanh khái niệm “đối tượng”, hoặc bộ sưu tập dữ liệu và thao tác của chúng. Đây là một khái niệm được sử dụng trong nhiều ngôn ngữ lập trình cao cấp như C ++, Java, Objective-C, và PHP.

Đọc qua một số hướng dẫn cơ bản cho nhiều ngôn ngữ. Nếu bạn vẫn không chắc chắn về ngôn ngữ nào bạn nên bắt đầu học, hãy đọc qua một số hướng dẫn cho một số ngôn ngữ khác nhau. Nếu một ngôn ngữ có ý nghĩa hơn những ngôn ngữ khác, hãy dùng thử một chút để xem nó có nhấp chuột không. Có vô số hướng dẫn cho mỗi chương trình có sẵn trực tuyến:

  • Python – Một ngôn ngữ khởi đầu tuyệt vời cũng khá mạnh khi bạn làm quen với nó. Được sử dụng cho nhiều ứng dụng web và một số trò chơi.
  • Java – Được sử dụng trong vô số loại chương trình, từ trò chơi đến các ứng dụng web cho phần mềm ATM.
  • HTML – Một nơi bắt đầu thiết yếu cho bất kỳ nhà phát triển web. Có một xử lý về HTML là rất quan trọng trước khi chuyển sang bất kỳ loại khác của phát triển web.
  • C – Một trong những ngôn ngữ cũ hơn, C vẫn là một công cụ mạnh mẽ và là nền tảng cho C + +, C #, và Objective-C hiện đại hơn.

2. Khởi động Nhỏ

Tìm hiểu các khái niệm cốt lõi của ngôn ngữ. Mặc dù các phần của bước này áp dụng sẽ thay đổi tùy theo ngôn ngữ mà bạn chọn, tất cả ngôn ngữ lập trình đều có các khái niệm cơ bản cần thiết để xây dựng các chương trình hữu ích. Học và làm chủ các khái niệm này sớm sẽ làm cho nó dễ dàng hơn trong việc giải quyết các vấn đề và tạo mã mạnh mẽ và hiệu quả. Dưới đây chỉ là một số khái niệm cốt lõi được tìm thấy trong nhiều ngôn ngữ khác nhau:

  • Variables (Biến) – Một biến là một cách để lưu trữ và tham chiếu đến việc thay đổi các mẩu dữ liệu. Các biến có thể được thao tác và thường có các loại được xác định như “số nguyên”, “ký tự”, và các loại khác xác định loại dữ liệu có thể được lưu trữ. Khi mã hóa, các biến thường có các tên làm cho chúng có thể nhận dạng được một người đọc. Điều này làm cho nó dễ hiểu hơn cách biến tương tác với phần còn lại của mã.
  • Conditional Statements (Báo cáo có điều kiện) – Báo cáo có điều kiện là một hành động được thực hiện dựa trên việc tuyên bố có đúng hay không. Hình thức phổ biến nhất của câu lệnh có điều kiện là câu lệnh “If-Then”. Nếu tuyên bố là đúng (ví dụ x = 5) thì một điều sẽ xảy ra. Nếu tuyên bố là sai (ví dụ x! = 5), sau đó cái gì khác xảy ra.
  • Functions or Subroutines (Các hàm hoặc các thủ tục con) – Tên thực tế của khái niệm này có thể được gọi là một cái gì đó khác nhau tùy thuộc vào ngôn ngữ. Nó cũng có thể là “Thủ tục”(Procedure), “Phương pháp”(Method), hoặc “Đơn vị gọi được”(Callable). Đây thực chất là một chương trình nhỏ hơn trong một chương trình lớn hơn. Một chức năng có thể được “gọi” bởi chương trình nhiều lần, cho phép lập trình để có hiệu quả tạo ra các chương trình phức tạp.
  • Data input (Dữ liệu đầu vào) – Đây là một khái niệm rộng được sử dụng trong hầu hết các ngôn ngữ. Nó bao gồm việc xử lý đầu vào của người dùng cũng như lưu trữ dữ liệu đó. Làm thế nào mà dữ liệu được thu thập phụ thuộc vào loại chương trình và đầu vào có sẵn cho người sử dụng (bàn phím, tập tin, vv). Đây là kết nối chặt chẽ với Đầu ra, đó là cách kết quả được trả lại cho người dùng, có thể nó được hiển thị trên màn hình hoặc được gửi trong một tệp tin.

Cài đặt bất kỳ phần mềm cần thiết. Nhiều ngôn ngữ lập trình yêu cầu trình biên dịch, là các chương trình được thiết kế để dịch mã thành một ngôn ngữ mà máy có thể hiểu được. Các ngôn ngữ khác, chẳng hạn như Python, sử dụng một thông dịch viên có thể thực hiện các chương trình ngay lập tức mà không cần biên dịch.

  • Một số ngôn ngữ có IDEs (Integrated Development Environment) thường chứa trình biên tập mã, trình biên dịch và / hoặc thông dịch viên, và một trình gỡ lỗi. Điều này cho phép lập trình thực hiện bất kỳ chức năng cần thiết ở một nơi. IDE cũng có thể chứa các biểu diễn trực quan của các phân cấp đối tượng và thư mục.
  • Có rất nhiều trình soạn thảo mã có sẵn trực tuyến. Các chương trình này cung cấp cách khác nhau để làm nổi bật cú pháp và cung cấp các công cụ thân thiện với người phát triển khác.

3. Tạo Chương trình Đầu tiên của bạn

Tập trung vào một khái niệm tại một thời điểm. Một trong những chương trình đầu tiên được giảng dạy cho bất kỳ ngôn ngữ nào là chương trình “Hello World”. Đây là một chương trình rất đơn giản hiển thị văn bản “Hello, World” (hoặc một số biến thể) trên màn hình. Chương trình này dạy người lập trình lần đầu tiên cú pháp để tạo ra một chương trình hoạt động cơ bản, cũng như cách xử lý hiển thị đầu ra. Bằng cách thay đổi văn bản, bạn có thể tìm hiểu cách dữ liệu cơ bản được xử lý bởi chương trình. Dưới đây là một số hướng dẫn Laca.Blog về việc tạo ra một chương trình “Hello World” bằng nhiều ngôn ngữ khác nhau (Update):

Tìm hiểu thông qua deconstructed các ví dụ trực tuyến. Có hàng ngàn ví dụ mã trực tuyến cho hầu hết các ngôn ngữ lập trình. Sử dụng các ví dụ này để kiểm tra các khía cạnh khác nhau của công việc ngôn ngữ và cách các phần khác nhau tương tác. Lấy các mảnh và các mảnh từ các ví dụ khác nhau để tạo các chương trình của riêng bạn.

Kiểm tra cú pháp. Cú pháp là cách ngôn ngữ được viết để trình biên dịch hoặc thông dịch viên có thể hiểu nó. Mỗi ngôn ngữ có một cú pháp duy nhất, mặc dù một số phần tử có thể được chia sẻ qua nhiều ngôn ngữ. Học cú pháp là cần thiết để học cách lập trình bằng ngôn ngữ và thường là những gì mọi người nghĩ đến khi họ nghĩ đến lập trình máy tính. Trong thực tế, nó chỉ đơn giản là nền tảng mà theo đó các khái niệm tiên tiến hơn được xây dựng.

Thử nghiệm với những thay đổi. Thực hiện các thay đổi cho chương trình ví dụ của bạn và sau đó kiểm tra kết quả. Bằng cách thử nghiệm, bạn có thể tìm hiểu những gì hoạt động và những gì không nhanh hơn nhiều bằng cách đọc một cuốn sách hoặc hướng dẫn. Đừng ngại phá vỡ chương trình của bạn; Học tập để sửa lỗi là một phần quan trọng của quá trình phát triển, và những điều mới gần như không bao giờ làm việc ngay lần đầu tiên.

Bắt đầu thực hành gỡ lỗi. Khi bạn lập trình, bạn luôn gặp phải lỗi. Đây là những sai sót trong chương trình và có thể hiển thị hầu như bất cứ đâu. Bugs có thể là vô hại quirks trong chương trình, hoặc họ có thể là lỗi chính mà giữ cho chương trình từ biên dịch hoặc chạy. Săn bắn xuống và sửa các lỗi này là một quá trình chính trong chu kỳ phát triển phần mềm, vì vậy hãy quen với việc này sớm.

  • Khi bạn thử nghiệm với việc thay đổi các chương trình cơ bản, bạn sẽ gặp phải những thứ không hiệu quả. Tìm ra cách tiếp cận khác nhau là một trong những kỹ năng có giá trị nhất mà bạn có thể có như là một lập trình viên.

Nhận xét tất cả các đoạn code của bạn. Gần như tất cả các ngôn ngữ lập trình đều có một hàm “comment” cho phép bạn đưa văn bản không được xử lý bởi trình thông dịch hoặc trình biên dịch. Điều này cho phép bạn để giải thích ngắn gọn, rõ ràng, con người về những gì các mã nào. Điều này không chỉ giúp bạn ghi nhớ mã của mình trong một chương trình lớn, đó là một thực tiễn thiết yếu trong môi trường hợp tác vì nó cho phép những người khác hiểu mã của bạn đang làm gì.

4. Thực hành thường xuyên

Mã hàng ngày. Làm chủ về ngôn ngữ lập trình cần nhiều thời gian hơn tất cả các lĩnh vực khác. Ngay cả một ngôn ngữ đơn giản như Python, mà chỉ mất một hoặc hai ngày để hiểu được cú pháp cơ bản, mất rất nhiều thời gian để trở nên thành thạo. Giống như bất kỳ kỹ năng nào khác, thực hành là chìa khóa để trở nên thành thạo hơn. Cố gắng dành ít nhất một thời gian mỗi ngày để viết mã, ngay cả khi nó chỉ trong một giờ giữa công việc và bữa tối.

Đặt mục tiêu cho các chương trình của bạn. Bằng cách đặt ra các mục tiêu có thể đạt được nhưng đầy thử thách , bạn sẽ có thể bắt đầu giải quyết các vấn đề và đưa ra các giải pháp. Hãy thử nghĩ ra một ứng dụng cơ bản, chẳng hạn như một máy tính, và phát triển một cách để làm cho nó. Sử dụng cú pháp và các khái niệm mà bạn đã học và áp dụng cho các ứng dụng thực tiễn.

Trao đổi với người khác, đọc và tìm hiểu các chương trình lập trình. Có rất nhiều cộng đồng lập trình dành riêng cho các ngôn ngữ cụ thể hoặc kỷ luật. Tìm và tham gia vào một cộng đồng có thể làm kỳ diệu cho việc học của bạn. Bạn sẽ được truy cập vào một loạt các mẫu và công cụ có thể trợ giúp bạn trong quá trình học tập của bạn. Đọc mã của các lập trình viên khác có thể truyền cảm hứng cho bạn và giúp bạn nắm bắt các khái niệm mà bạn chưa nắm vững. 

  • Kiểm tra các diễn đàn lập trình và cộng đồng trực tuyến cho ngôn ngữ của bạn được lựa chọn. Hãy đảm bảo tham gia và không chỉ liên tục đặt câu hỏi. Các cộng đồng này thường được xem như là nơi hợp tác và thảo luận chứ không chỉ là Hỏi & Đáp. Bạn có thể yêu cầu trợ giúp, nhưng hãy chuẩn bị để thể hiện công việc của bạn và sẵn sàng chấp nhận những cách tiếp cận khác nhau.
  • Một khi bạn có một số kinh nghiệm dưới vành đai của bạn, hãy xem xét tham dự một số các sự kiện về lập trình hoặc liên kết lập trình. Đây là những sự kiện mà các cá nhân hoặc các đội cạnh tranh với thời gian để phát triển một chương trình chức năng, thường dựa trên một chủ đề cụ thể. Những sự kiện này có thể là rất nhiều niềm vui và là một cách tuyệt vời để đáp ứng các lập trình viên khác.

Thử thách mình để giữ nó vui vẻ. Cố gắng làm những việc mà bạn không biết làm thế nào để làm được nêu ra. Nghiên cứu cách để hoàn thành nhiệm vụ (hoặc công việc tương tự), và sau đó cố gắng thực hiện nó trong chương trình của riêng bạn. Cố gắng tránh làm việc với một chương trình “cơ bản” hoạt động; Làm tất cả mọi thứ bạn có thể để đảm bảo rằng mọi khía cạnh hoạt động hoàn hảo.

5. Mở rộng kiến ​​thức của bạn

Tham gia một vài khóa học. Nhiều trường đại học, cao đẳng cộng đồng, và các trung tâm cộng đồng cung cấp các lớp lập trình và hội thảo mà bạn có thể tham dự mà không cần phải ghi danh vào trường. Đây có thể là tuyệt vời cho các lập trình viên mới vì bạn có thể nhận được sự trợ giúp từ một lập trình viên giàu kinh nghiệm cũng như mạng với các lập trình viên địa phương khác.

Mua hoặc mượn sách. Có hàng ngàn cuốn sách giảng dạy có sẵn cho mọi ngôn ngữ lập trình có thể hiểu được. Mặc dù kiến ​​thức của bạn không phải là từ sách, nhưng chúng có những tài liệu tham khảo tuyệt vời và thường có rất nhiều ví dụ điển hình.

Học toán học và logic. Hầu hết các chương trình bao gồm số học cơ bản, nhưng bạn có thể muốn nghiên cứu các khái niệm nâng cao hơn. Điều này đặc biệt quan trọng nếu bạn đang phát triển mô phỏng phức tạp hoặc các chương trình thuật toán nặng khác. Đối với hầu hết các chương trình hàng ngày, bạn không cần toán học tiên tiến. Học logic, đặc biệt là logic máy tính, có thể giúp bạn hiểu làm thế nào tốt nhất để tiếp cận giải quyết vấn đề phức tạp cho các chương trình tiên tiến hơn.

Không bao giờ ngừng lập trình. Có một lý thuyết phổ biến mà trở thành một chuyên gia có ít nhất 10.000 giờ thực hành. Mặc dù đây là vấn đề tranh luận nhưng nguyên tắc chung vẫn là sự thật: sự làm chủ đòi hỏi thời gian và sự cống hiến. Đừng mong đợi để biết mọi thứ qua đêm, nhưng nếu bạn tập trung và tiếp tục học, bạn có thể kết thúc tốt một chuyên gia trong lĩnh vực của bạn.

Học một ngôn ngữ lập trình khác. Trong khi bạn chắc chắn có thể nhận được bằng cách làm chủ một ngôn ngữ, nhiều người lập trình giúp cơ hội của họ thành công trong lĩnh vực này bằng cách học nhiều ngôn ngữ. Ngôn ngữ thứ hai hoặc thứ ba của chúng thường bổ sung cho ngôn ngữ đầu tiên, cho phép họ phát triển các chương trình phức tạp và thú vị hơn. Một khi bạn có một nắm bắt tốt về chương trình đầu tiên của bạn, có thể là thời gian để bắt đầu học một mới.

  • Bạn có thể sẽ thấy rằng việc học ngôn ngữ thứ hai của bạn nhanh hơn nhiều so với ngôn ngữ thứ nhất. Nhiều khái niệm cốt lõi của chương trình mang theo qua các ngôn ngữ, đặc biệt là nếu các ngôn ngữ có liên quan chặt chẽ.

6. Áp dụng các kỹ năng của bạn

Ghi danh vào một chương trình bốn năm. Mặc dù không cần thiết, một chương trình bốn năm tại một trường cao đẳng hoặc đại học có thể cho bạn nhiều ngôn ngữ khác nhau, đồng thời giúp bạn kết nối với các chuyên gia và các sinh viên khác. Phương pháp này chắc chắn không phải dành cho tất cả mọi người, và rất nhiều người lập trình thành công không bao giờ tham dự một tổ chức bốn năm.

Tạo danh mục đầu tư. Khi bạn tạo ra các chương trình và mở rộng kiến ​​thức của bạn, đảm bảo rằng tất cả các công việc tốt nhất của bạn được lưu trong một danh mục đầu tư . Bạn có thể hiển thị danh mục này cho nhà tuyển dụng và người phỏng vấn làm ví dụ về công việc bạn làm. Đảm bảo bao gồm bất kỳ công việc nào được thực hiện vào thời gian của bạn và đảm bảo rằng bạn được phép bao gồm bất kỳ công việc nào được thực hiện với công ty khác.

Làm một số công việc tự do. Có một thị trường tự do rất lớn cho các lập trình , đặc biệt là các nhà phát triển ứng dụng di động. Thực hiện một vài công việc tự do nhỏ để có được một cảm giác về cách hoạt động chương trình thương mại. Thông thường, bạn có thể sử dụng các công việc tự do để giúp xây dựng danh mục đầu tư của bạn và chỉ ra các tác phẩm được xuất bản.

Phát triển các chương trình phần mềm miễn phí hoặc thương mại của riêng bạn. Bạn không phải làm việc cho một công ty để kiếm tiền lập trình. Nếu bạn có các kỹ năng, bạn có thể tự phát triển phần mềm và phát hành nó để mua , thông qua trang web của riêng bạn hoặc qua một thị trường khác. Chuẩn bị sẵn sàng để có thể cung cấp hỗ trợ cho bất kỳ phần mềm nào bạn đưa ra để bán thương mại, vì khách hàng mong đợi việc mua hàng của họ hoạt động.

  • Freeware là một cách phổ biến để phân phối các chương trình nhỏ và các tiện ích. Nhà phát triển không nhận được bất kỳ khoản tiền nào, nhưng đó là một cách tuyệt vời để xây dựng sự nhận diện tên và làm cho bạn có thể nhìn thấy được trong cộng đồng.