Khởi đầu Nhỏ Thực hành Thường xuyên Mở rộng Kiến thức Tạo Chương trình Đầu tiên Vận dụng Kỹ năng Chọn Ngôn ngữ
Mặc dù các phần của bước này sẽ thay đổi tùy theo ngôn ngữ bạn chọn, nhưng toàn bộ các ngôn ngữ lập trình đều có khái niệm cơ bản thiết yếu để tạo nên chương trình hữu ích. Học và làm chủ các khái niệm này giúp bạn giải quyết vấn đề dễ dàng và tạo ra loại mã mạnh và hiệu quả. Dưới đây là một số khái niệm cốt lõi của từng loại ngôn ngữ:  Biến - Một biến là nơi để lưu trữ và tham chiếu thay đổi dữ liệu. Các biến thường dùng để biểu thị "số nguyên", "chữ cái", v, v , quyết định kiểu dữ liệu được lưu. Khi mã hóa, các biến thường có tên mà ta có thể nhận ra. Điều này giúp ta hiểu được cách thức biến tương tác với phần còn lại của đoạn mã một cách dễ dàng hơn. Câu lệnh có điều kiện - Câu lệnh có điều kiện là một hành động được thực hiện dựa trên tính chính xác của lệnh. Cấu trúc phổ biến nhất của câu lệnh có điều kiện là "If-Then" (Nếu-Thì). Nếu câu lệnh đúng (ví dụ x=5) thì có một điều xảy ra. Nếu câu lệnh sai (ví dụ x!=5) thì lại có một điều khác xảy ra. Hàm (Functions) và Thủ tục (Subroutines) - Tên chính xác của khái niệm này trong từng loại ngôn ngữ sẽ hơi khác nhau. Nó có thể được gọi là "Procedure" (Thủ tục), "Method" (Phương pháp), hoặc "Callable Unit" (Đơn vị có thể gọi tên). Đây thực chất là một chương trình nhỏ trong một chương trình lớn. Một hàm có thể được chương trình "gọi" nhiều lần, cho phép lập trình viên tạo ra một chương trình phức tạp hơn. Dữ liệu đầu vào - Đây là khái niệm rộng, được sử dụng hầu hết trên các ngôn ngữ. Nó liên quan đến việc sử lý đầu vào của người dùng khi lưu trữ dữ liệu. Cách tập trung dữ liệu lại phụ thuộc vào kiểu chương trình và dữ liệu (bàn phím, tập tin, v, v). Nó có liên kết mật thiết với Đầu ra, phần kết quả được trả lại người dùng, thường hiển thị trên màn hình hoặc chuyển thành tập tin. Nhiều ngôn ngữ lập trình yêu cầu trình biên dịch, chương trình được thiết kế để dịch đoạn mã sang một ngôn ngữ mà máy có thể hiểu được. Một số ngôn ngữ khác như Python sử dụng thông dịch viên có thể thực hiện 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ó IDE (Môi trường Phát triển Tích hợp) bao gồm trình soạn thảo mã, trình biên dịch/hoặc thông dịch viên, và trình sửa lỗi. Chúng cho phép lập trình viên chạy bất kỳ chức năng cần thiết nào tại một địa điểm. IDE có thể chứa hình ảnh đại diện của phân cấp đối tượng và thư mục. Có nhiều trình soạn thảo mã từ các nguồn trên mạng. Những chương trình này cung cấp nhiều cách khác nhau để đánh dấu cú pháp và nhiều công cụ phát triển thân thiện khác. Làm chủ ngôn ngữ lập trình tốn rất nhiều thời gian. Ngay cả với ngôn ngữ đơn giản như Python, bạn cũng mất vài ngày để hiểu cú pháp cơ bản, và mất rất nhiều thời gian để sử dụng thành thạo. Cũng giống các kỹ năng khác, luyện tập chính là chìa khóa để thành thạo hơn. Cố gắng dành một chút thời gian mỗi ngày để viết mã, chỉ cần một giờ giữa lúc làm việc và ăn tối. Bằng cách đặt ra những mục tiêu đầy thử thách, bạn có thể bắt đầu giải quyết vấn đề và đề ra giải pháp. Hãy thử suy nghĩ về ứng dụng cơ bản như tính toán, và phát triển để thực hiện nó. Sử dụng cú pháp vầ khái niệm bạn đã được học để áp dụng vào thực tế. Có rất nhiều cộng đồng lập trình chỉ chuyên về một loại ngôn ngữ hay lĩnh vực cụ thể. Tìm và tham gia cộng đồng đó sẽ giúp bạn tiến bộ nhiều. Bạn sẽ được truy cập vào kho mẫu và công cụ vô cùng hữu ích cho quá trìn học. Đọc chương trình của lập trình viên khác có thể truyền cảm hứng cho bản thân và giúp bạn nắm được khái niệm mà bạn chưa làm chủ.  Xem các diễn đàn lập trình và cộng đồng trực tuyến về ngôn ngữ bạn chọn. Bạn cần tham gia nhưng không chỉ với vai trò người đặt câu hỏi. Cộng đồng này được coi là địa điểm hợp tác và thảo luận, không chỉ là nơi hỏi và trả lời. Hãy thoải mái hỏi nếu cần giúp đỡ, tuy nhiên cũng cần chuẩn bị khoe thành quả của bạn và tiếp nhận những ý kiến khác nhau. Khi đã có một vài kinh nghiệm, hãy cân nhắc việc tham gia một cuộc thi lập trình. Sự kiện này là nơi các cá nhân hoặc đội thi đấu với nhau để lập trình chương trình nhiều chức năng, thường dựa theo một chủ đề cụ thể. Sự kiện này kiểu này thường rất vui vẻ và là cơ hội tốt để gặp mặt các lập trình viên khác. Thử làm những điều bạn chưa biết. Nghiên cứu là cách để hoàn thành nhiệm vụ (hoặc thứ gì đó tương tự) sau đó cố gắng thực hiện điều đó trong chương trình. Không được bằng lòng với chương trình hoạt động "một cách cơ bản"; làm mọi thứ có thể để đảm bảo mọi mặt đều hoạt động hoàn hảo. Nhiều trường đại học, cao đẳng, trung tâm cộng đồng có mở các lớp và hội thảo về lập trình, bạn có thể tham gia mà không cần nhập học chính thức. Đây là cơ hội tuyệt vời cho người mới vì bạn sẽ nhận được sự giúp đỡ từ lập trình viên có kinh nghiệm, đồng thời gặp gỡ lập trình viên ở địa phương. Có hàng ngàn quyển sách hướng dẫn cho mọi ngôn ngữ lập trình. Hiểu biết không được tích lũy chỉ từ một quyển sách, bạn cần đọc nhiều sách để tham khảo ví dụ và tích lũy kiến thức cho bản thân. Lập trình liên quan tới số học cơ bản, nhưng có thể bạn muốn nghiên cứu về khái niệm nâng cao. Điều này đặc biệt quan trọng khi bạn phát triển mô phỏng phức tạp hoặc chương trình thuật toán nặng nề khác. Với công việc lập trình hàng ngày, bạn không cần tới toán nâng cao. Nghiên cứu logic, đặc biệt là logic máy tính có thể giúp bạn hiểu được cách tiếp cận vấn đề hiệu quả nhất với những chương trình nâng cao hơn. Một học thuyết nổi tiếng cho rằng để trở thành một chuyên gia bạn cần luyện tập ít nhất 10.000 giờ. Mặc dù điều này hiện vẫn gây nhiều tranh cãi, nhưng nguyên tắc chung vẫn là: để thành thạo cần có thời gian và sự cống hiến. Đừng mong thông thạo mọi thứ chỉ sau một đêm, nếu tập trung nghiên cứu, bạn sẽ dần tiến bộ và có thể trở thành chuyên gia trong lĩnh vực này vào một ngày không xa. Mặc dù bạn có thể thành công chỉ với một ngôn ngữ, nhưng nhiều lập trình viên muốn phát triển sự nghiệp bằng cách học nhiều ngôn ngữ. Ngôn ngữ thứ hai hoặc thứ ba thường bổ sung cho ngôn ngữ đầu tiên, cho phép họ phát triển chương trình phức tạp và thú vị hơn. Sau khi nắm vững được ngôn ngữ đầu tiên, bạn có thể tiếp tục học ngôn ngữ mới. Bạn sẽ thấy việc học ngôn ngữ thứ hai nhanh hơn nhiều so với lần đầu. Nhiều khái niệm cốt lõi của lập trình khá giống nhau, đặc biệt là với những ngôn ngữ có liên quan mật thiết. Một trong những chương trình đầu tiên được dạy cho bất kỳ loại ngôn ngữ lập trình nào chính là "Hello World". Đây là một chương trình đơn giản, hiển thị dòng chữ "Hello, World" (hoặc một vài biến) trên màn hình. Chương trình này sẽ dạy các lập trình viên mới viết cú pháp để tạo nền tảng, chức năng của chương trình, cũng như cách xử lý hiển thị đầu ra. Bằng cách thay đổi dòng chữ, bạn có thể tìm hiểu cách chương trình xử lý dữ liệu cơ bản. Bạn có thể tìm trên mạng một số bài hướng dẫn tạo chương trình "Hello World" trên một số ngôn ngữ lập trình:  Hello World trên Python Hello World trên Ruby Hello World trên C Hello World trên PHP Hello World trên C# Hello World trên Javas Có hàng ngàn mã ví dụ trực tuyến cho mỗi ngôn ngữ lập trình. Sử dụng ví dụ đó để kiểm tra cách thức hoạt động của từng khía cạnh của ngôn ngữ và cách chúng tương tác với nhau. Dựa trên nhiều ví dụ và tạo chương trình của riêng bạn. Cú pháp là cách sử dụng ngôn ngữ sao cho trình biên dịch hoặc thông dịch viên có thể hiểu được. Mỗi ngôn ngữ lại có cú pháp đặc biệt, mặc dù có thể có vài yếu tố giống nhau. Học viết cú pháp là điều thiết yếu khi học lập trình ngôn ngữ, và thường là điều mọi người nghĩ tới khi nói về lập trình máy tính. Trên thực tế, nó đơn giản chỉ là phần nền tảng để từ đó phát triển các khái niệm nâng cao. Thay đổi chương trình mẫu, sau đó kiểm tra kết quả. Bằng cách thử nghiệm trực tiếp, bạn có thể tìm hiểu cách thức hoạt động nhanh hơn nhiều so với đọc sách hoặc hướng dẫn. Đừng sợ phá hỏng chương trình, học cách sửa lỗi cũng là một phần chính trong quá trình phát triển, và những thứ mới không bao giờ hoạt động ngay lần đầu tiên. Khi lập trình, bạn sẽ luôn gặp lỗi. Đây là các lỗi trong chương trình và có biểu hiện ở mọi nơi. Lỗi có thể vô hại với chương trình, nhưng cũg có thể là lỗi chính khiến chương trình không thể hoạt động. Tìm kiếm và sửa lỗi là quá trình quan trọng trong chu trình phát triển phần mềm, vì vậy hãy làm quen với nó từ sớm. Khi bạn thử nghiệm thay đổi chương trình cơ bản, bạn sẽ gặp nhiều thứ không hoạt động. Chỉ ra cách tiếp cận khác là một trong những kỹ năng đắt giá khi trở thành lập trình viên. Hầu hết các ngôn ngữ lập trình đều có chức năng "bình luận" cho phép bạn thêm chữ không cần thông dịch viên hoặc trình biên dịch xử lý. Thao tác này cho phép bạn viết một đoạn giải thích ngắn gọn, rõ ràng về chức năng của đoạn mãm. Nó không chỉ giúp bạn ghi nhớ chức năng của đoạn mã trong một chương trình lớn, đây còn là thói quen quan trọng trong môi trường hợp tác vì nó giúp người khác hiểu được phương thức hoạt động của đoạn mã của bạn. Mặc dù không thật sự cần thiết, nhưng chương trình 4 năm ở cao đẳng và đại học có thể giúp bạn tìm hiểu nhiều loại ngôn ngữ khác nhau, đồng thời có cơ hội gặp gỡ với nhiều giáo sư và sinh viên khác. Phương pháp này không dành cho tất cả mọi người vì có rất nhiều lập trình viên thành công mà không cần học chương trình 4 năm. Khi bạn lập trình chương trình và mở rộng hiểu biết, nhớ lưu những kết quả tốt nhất vào portfolio. Bạn có thể gửi portfolio tới nhà tuyển dụng hoặc người phỏng vấn để họ nắm được công việc của bạn. Nhớ ghi cả những việc bạn làm độc lập cũng như ở công ty khác. Thị trường việc làm tự do cho lập trình viên rất lớn, đặc biệt là phát triển ứng dụng điện thoại. Nhận một vài việc nhỏ để có cảm nhận về công việc lập trình thương mại. Thông thường, bạn có thể sử dụng công việc tự do để xây dựng portfolio và tiến tới công việc chính thức. Bạn không cần phải làm việc cho bất kỳ công ty nào để kiếm tiền. Nếu có kỹ năng, bạn có thể tự phát triển phần mềm và rao bán trên trang web cá nhân hoặc trên thị trường. Cần chuẩn bị để có thể hỗ trợ bất kỳ phần mềm nào được rao bán bởi vì khách hàng cần dịch vụ đó. Phần mềm miễn phí là cách thông dụng để đóng góp chương trình hay tiện ích nhỏ. Nhà phát triển không cần nhận tiền nhưng vẫn có thể gây dựng tên tuổi trong cộng đồng lập trình. Bạn có thể tiến hành học bất kỳ ngôn ngữ lập trình nào (mặc dù có một số được cho là "dễ" hơn những ngôn ngữ khác), bạn nên tự hỏi bản thân xem mục đích học ngôn ngữ lập trình là gì. Điều này giúp bạn đưa ra quyết định theo học loại ngôn ngữ lập trình nào và cung cấp điểm khởi đầu tốt. Nếu quan tâm đến phát triển web, bạn sẽ phải học loại ngôn ngữ khác hoàn toàn với loại dùng để tạo chương trình máy tính. Phát triển ứng dụng điện thoại yêu cầu nhiều kỹ năng khác với lập trình máy móc. Toàn bộ quyết định sẽ ảnh hưởng tới hướng đi của bạn. Dựa trên quyết định của bản thân, bạn có bắt đầu học ngôn ngữ cấp cao, nhưng đơn giản hơn. Ngôn ngữ này đặc biệt hữu ích với người mới vì chúng cung cấp những khái niệm cơ bản và quá trình tư duy mà bạn có thể áp dụng vào bất kỳ ngôn ngữ nào.  Hai loại ngôn ngữ phổ biến nhất trong hạng mục này là Python và Ruby. Cả hai đều là ngôn ngữ hướng tới ứng dụng web, sử dụng cú pháp rất dễ đọc. "Hướng đối tượng" nghĩa là ngôn ngữ được xây dựng từ các khái niệm của "đối tượng" đó, hoặc từ dữ liệu thu thập và thao tác của đối tượng. Đây là khái niệm được sử dụng trong nhiều ngôn ngữ lập trình nâng cao như C++, Java, Objective-C và PHP. Nếu bạn vẫn chưa biết mình nên bắt đầu học loại nào, hãy đọc qua hướng dẫn của một vài ngôn ngữ khác nhau. Nếu bạn thấy loại nào dễ hiểu hơn thì hãy thử học loại đó trước. Có vô số hướng dẫn ngôn ngữ lập trình từ các nguồn trên mạng, bao gồm cả wikiHow:  Python - Một ngôn ngữ tuyệt vời để bắt đầu làm quen với lập trình, vô cùng mạnh mẽ khi bạn đã quen dùng. Được sử dụng cho nhiều ứng dụng web và trò chơi. Java - Được sử dụng trên vô số chương trình từ trò chơi tới ứng dụng web, và cả phần mềm ATM.  HTML - Điểm khởi đầu quan trọng của bất kỳ nhà phát triển web nào. Thành thạo HTML là điều thiết yếu trước khi chuyển sang phát triển web. C - Một trong những ngôn ngữ lâu đời, C là một công cụ mạnh mẽ, là nền tảng của các ngôn ngữ hiện đại như C++, C#, và Objective-C.
Học các khái niệm cốt lõi của ngôn ngữ. Cài đặt phần mềm cần thiết. Viết mã hàng ngày. Đặt mục tiêu cho chương trình. Nói chuyện với người khác và đọc chương trình của họ. Thách thức bản thân để luôn nỗ lực. Tham gia một vài khóa huấn luyện. Mua hoặc mượn sách. Nghiên cứu toán học và logic. Không ngừng lập trình. Học ngôn ngữ lập trình khác. Mỗi lần chỉ tập trung vào một khái niệm. Tìm hiểu thông qua giải mã cấu trúc các ví dụ trực tuyến. Kiểm tra cú pháp. Thử nghiệm với những thay đổi. Bắt đầu thực hành sửa lỗi. Bình luận tất cả đoạn mã. Ghi danh vào chương trình 4 năm. Tạo portfolio (hồ sơ). Nhận một vài việc tự do. Phát triển phần mềm miễn phí hoặc chương trình thương mại của riêng bạn. Quyết định lĩnh vực bạn quan tâm. Cân nhắc việc bắt đầu với một ngôn ngữ "đơn giản". Đọc hướng dẫn cơ bản của nhiều ngôn ngữ khác nhau.
https://www.wikihow.com/Learn-a-Programming-Language https://www.wikihow.com/Learn-a-Programming-Language https://www.wikihow.com/Learn-a-Programming-Language https://www.wikihow.com/Learn-a-Programming-Language https://www.wikihow.com/Learn-a-Programming-Language https://www.wikihow.com/Learn-a-Programming-Language
Starting Small Practicing Regularly Expanding Your Knowledge Creating Your First Program Applying Your Skills Choosing a Language