Tham gia một dự án nguồn mở chắc chắn là một cách để bắt đầu. Tuy nhiên, tôi đã sử dụng phần mềm nguồn mở trong nhiều năm và thật lòng mà nói, chất lượng của hầu hết các dự án như vậy nói chung là trong nhà vệ sinh. Nếu bạn học các kỹ năng lập trình và thiết kế hoàn toàn từ họ, có lẽ bạn sẽ chọn một số người rất kém cùng với những người giỏi, không có cách nào để phân biệt sự khác biệt giữa họ.
Bạn muốn học lập trình để làm gì? Câu trả lời cho điều đó sẽ xác định những gì bạn nên tìm kiếm, và ở đâu. Dưới đây là một số câu trả lời phổ biến, và ý kiến chuyên môn của tôi về cách theo đuổi họ (ghi nhớ rằng nó là chỉ là ý kiến, mặc dù IMHO, chính xác):
Chỉ cần nói rằng bạn biết làm thế nào để làm điều đó.
Sau đó, bạn không thực sự cần một người cố vấn và C ++ là một nơi tồi tệ để bắt đầu. Tôi yêu C ++, đó là lựa chọn đầu tiên của tôi cho lập trình chung, nhưng thay vào đó chơi với ngôn ngữ khác. Tôi muốn đề xuất Python; nó có đường cong học tập nhẹ nhàng hơn nhiều so với C ++ và không giống như một số ngôn ngữ (không có tên nào được đề cập, tôi đã không mặc đồ lót amiăng của mình ngày hôm nay), bạn vẫn sẽ học được một vài kỹ năng hữu ích trong trường hợp bạn muốn tiếp tục học thêm sau này. Rất nhiều khái niệm có thể dịch trực tiếp sang C ++ nếu bạn quyết định tiếp tục tuyến đường đó.
Chỉ cần dùng thử và xem nếu bạn thích nó.
Một dự án nguồn mở có thể đủ tốt cho điều đó. Chọn một chương trình mà bạn thích, nhưng bạn đã tìm thấy một số vấn đề hoặc khó chịu và cung cấp trợ giúp cho bất cứ ai đang chạy nó. Hầu hết các dự án nguồn mở đều mở cho các đóng góp, đó thường là lý do tại sao chúng là nguồn mở ngay từ đầu.
Tuy nhiên, trong trường hợp đó, đừng không thử C ++ là ngôn ngữ lập trình đầu tiên của bạn. Không khó để nắm vững những điều cơ bản, nhưng C ++ ở mức độ thấp đến mức bạn có thể gặp một số lỗi nghiêm trọng và rất khó tìm trong các chương trình của mình. Trừ khi bạn biết bạn yêu thích lập trình, hoặc bạn bướng bỉnh như con bò thành ngữ, hoặc đã tìm được một người cố vấn có thể chỉ cho bạn đi đúng hướng, điều đó sẽ giết chết mọi mối quan tâm vừa chớm nở của bạn trong lĩnh vực này. Xem câu trả lời trên về Python, nó phù hợp hơn cho điều đó.
Bởi vì bạn có một ý tưởng cho một chương trình cụ thể mà bạn muốn viết.
(Tôi không nghĩ rằng OP nằm trong danh mục này, tôi sẽ đưa nó cho những độc giả sau này.)
Bạn có ý tưởng nào về thời gian cần thiết để làm chủ thiết kế và thực hiện chương trình không? Như một gợi ý, nó được đo bằng năm. Bạn có thể có được một thiết kế nửa vời chỉ sau vài tháng học, nếu bạn vừa thông minh vừa cực kỳ may mắn, nhưng bất cứ ai có một chút kinh nghiệm phải làm việc với nó (bao gồm cả bạn, sau này) sẽ ước rằng bạn chưa bao giờ được sinh ra - tôi nói từ kinh nghiệm. :-) Trừ khi ý tưởng đó là siêu bí mật mà không ai khác có thể biết về nó cho đến khi nó được thực hiện, đừng bận tâm. Thuê một lập trình viên có kinh nghiệm để làm điều đó cho bạn, hoặc nếu bạn không đủ khả năng nhưng vẫn muốn chương trình đủ tệ, hãy đề nghị hợp tác với một người - bạn xử lý phía doanh nghiệp và để anh ta xử lý phần lập trình. Hầu hết các nhà phát triển giỏi sẽ thích lập trình, vì vậy loại đề nghị đó có thể xứng đáng với họ.
Bởi vì bạn đã biết rằng bạn bị mê hoặc bởi lập trình và muốn tìm hiểu thêm.
Sau đó, bạn đang đi đúng hướng. :-) Cho dù đó chỉ là một sở thích hay là thứ gì đó bạn có thể chuyển sang nghề nghiệp sau này, nếu bạn có loại tính cách thấy nó hấp dẫn vô tận, điều tốt nhất bạn có thể làm là đắm mình vào đó. C ++ là một ngôn ngữ tốt như bất kỳ ai, trong trường hợp đó, và một người cố vấn chắc chắn sẽ giúp đỡ (và không chỉ phát triển các kỹ năng của bạn; nó có thể trở nên cô đơn nếu không có bạn bè chia sẻ niềm đam mê của bạn).