“C++ được thiết kế để cho phép bạn diễn đạt ý tưởng, nhưng nếu bạn không có ý tưởng hoặc không có manh mối nào về cách diễn đạt chúng, thì C++ không giúp được gì nhiều. ” ~ Bjarne Stroustrup [nhà khoa học máy tính người Đan Mạch, người tạo ra C++]
C++ có khó học không?
Đúng vậy, C++ khó học đối với cả những người hoàn toàn mới làm quen với lập trình và những người khác đã từng lập trình nhưng chưa bao giờ thực hiện cụ thể lập trình cấp thấp trước đó [như C hoặc Assembly]
Nhưng có hy vọng
Tôi sẽ phân tích một số lĩnh vực bạn cần để thành thạo C ++ nhanh chóng nhưng trước tiên hãy nói về dòng thời gian
Nếu bạn hoàn toàn mới với lập trình, bạn sẽ mất ít nhất 3 tháng để học C++. Đó là làm việc ít nhất 2 đến 3 giờ mỗi ngày. Tuy nhiên, nếu bạn đã lập trình trước đó, làm việc ít nhất một giờ mỗi ngày, bạn sẽ mất từ 1 đến 3 tháng để nắm bắt cơ bản
Và nếu bạn muốn thành thạo C++ thì sẽ mất ít nhất 2 năm
Trình độ lập trìnhThời gian cần thiếtNgười mới bắt đầu Tối thiểu 3 tháng Đã là lập trình viên 1 - 3 tháng Xây dựng thành thạo C++ 2 năm - mãi mãi
C++ cho người mới bắt đầu và cách tiếp cận nó
Bạn có phải là một lập trình viên mới bắt đầu tuyệt đối?
Nếu có, sẽ là một ý kiến tồi nếu bạn là người hoàn toàn mới với lập trình và chuyển sang ngôn ngữ đầu tiên là C++
Đặc biệt nếu bạn là một lập trình viên tự học
Tại sao?
Bởi vì có những ngôn ngữ đầu vào tốt hơn. Là một người hoàn toàn mới bắt đầu, bạn nên bắt đầu với thứ gì đó như Python hoặc JavaScript
Nếu bạn đang đi học và bạn không có lựa chọn nào khác – nhiều trường vẫn bắt đầu học sinh bằng C++ như ngôn ngữ đầu tiên của họ, điều này khiến học sinh xa lánh – chỉ cần học càng nhiều C++ càng tốt
Nhưng đừng bỏ cuộc nếu bạn không thích nó
Có nhiều ngôn ngữ lập trình khác có thể khiến bạn hứng thú với lập trình nói chung
Nếu C ++ không làm điều đó cho bạn, hãy thử những người khác
Có nên học C trước C++ không?
Nếu bạn đang tự hỏi liệu mình có nên học C trước C++ hay không, thì câu trả lời là hoàn toàn không – bạn có thể và nên học ngay C++. C++ được xây dựng trên C nhưng C++ có các tính năng và thư viện mạnh mẽ giúp bạn tiết kiệm thời gian
Những gì bạn sẽ cần để học những điều cơ bản của C ++
Giống như bất kỳ ngôn ngữ lập trình nào, bạn cần biết cách
- khai báo biến
- thu thập đầu vào của người dùng
- lưu trữ thông tin
- lặp lại một hành động thông qua các vòng lặp
- viết các hàm để lặp lại các khối mã
Đây là những tiêu chuẩn
Và nếu bạn đã biết cách viết mã, thì đó sẽ không phải là vấn đề lớn
Có thể có một chút khó chịu ở đây và ở đó, đặc biệt là những tranh luận giữa những người hâm mộ C++ về việc sử dụng ;
hoặc liệu nó có nên bị loại bỏ hoàn toàn hay không
Đó là một cuộc tranh luận thú vị để có. Nhưng đừng quá bận tâm về nó
Tại sao phải mất nhiều thời gian để học C ++
Lý do C ++ mất nhiều thời gian hơn để học là vì những điều kỳ quặc của nó
Những thứ như
- Quản lý bộ nhớ
- Tham khảo và con trỏ
- Thư viện mẫu chuẩn
- Chủ đề và xử lý ngoại lệ
Đây là những khái niệm mạnh mẽ để làm chủ. Nhưng họ sẽ bắt bạn đập đầu vào tường
Hết lần này đến lần khác
Và sau khi học chúng, điều đó không có nghĩa là bạn đã hoàn thành. Như với bất kỳ ngôn ngữ nào, luôn có nhiều thứ để học
Trong C++, càng học càng thấy nhiều điều chưa biết
Nó làm cho bạn cảm thấy đặc biệt mặc dù
Các lập trình viên hiện tại muốn học C ++
Nếu bạn là một lập trình viên C, bạn sẽ yêu thích C++
Nhưng nếu bạn không, C ++ có thể sẽ vẫn là một rắc rối. Ngay cả khi bạn đã biết cách viết mã, C ++ vẫn là một con quái vật để xử lý, đặc biệt nếu bạn chưa bao giờ viết mã bằng ngôn ngữ cấp thấp như C hoặc hợp ngữ
Chẳng hạn, hầu hết những người viết mã bằng Python, Laravel, JavaScript không bao giờ phải nghĩ đến việc quản lý bộ nhớ
Vì vậy, C ++ có thể gây sốc vì tất cả các con trỏ và việc học quản lý bộ nhớ liên tục. Chúng có vẻ không cần thiết nhưng bạn nhất thiết phải nắm vững chúng
Học C++ trong bao lâu nếu đã thông thạo Java?
Nếu bạn đã biết cách viết mã bằng Java, bạn có thể tăng tốc với những kiến thức cơ bản về C++ sau 3 ngày vì cả hai đều có chung cú pháp. Tuy nhiên, học cách quản lý bộ nhớ trong C++ có thể mất 3 tuần hoặc hơn để bạn hiểu
Có rất nhiều điểm khác biệt giữa C++ và Java nhưng điểm khác biệt lớn nhất là hiểu cách quản lý bộ nhớ, đặc biệt là cách sử dụng con trỏ. Trong Java, việc quản lý bộ nhớ được hệ thống kiểm soát và tự động thực hiện cho bạn
Nhưng đây không phải là trường hợp của C++
Bạn có khả năng quản lý bộ nhớ với tư cách là một lập trình viên C++ và bạn phải học cách làm tốt điều đó
Một số điểm tương đồng giữa Java và C++
Có rất nhiều điểm tương đồng giữa Java và C++ nhưng là một lập trình viên Java, bạn nên biết rằng cả hai ngôn ngữ đều hỗ trợ. trừu tượng, đóng gói, đa hình, liên kết tĩnh và động
Cụ thể ở cấp độ cú pháp, cả hai ngôn ngữ
- có chức năng
main
làm điểm vào của họ - các kiểu dữ liệu giống nhau [e. g. int, float, bool, char, chuỗi, v.v.]
- sử dụng các câu điều kiện là như nhau
- các vòng lặp theo cùng một cấu trúc
- nhận xét mã là tương tự trong cả hai ngôn ngữ
Những điểm tương đồng này là điều khiến việc chuyển từ Java sang C++ trở nên khá dễ dàng trong vài ngày
Sự khác biệt chính giữa Java và C ++
Có rất nhiều điểm khác biệt giữa cả Java và C++ nhưng điểm khác biệt lớn nhất là bạn chịu trách nhiệm quản lý bộ nhớ trong C++ nhưng điều này sẽ tự động được xử lý trong Java
sự khác biệt khác là
- đa thừa kế trong C++ so với chỉ thừa kế đơn lẻ trong Java
- đối số mặc định trong C++ nhưng không có trong Java
- hàm tạo và hàm hủy trong C++ nhưng Java chỉ có hàm tạo
- nạp chồng toán tử trong C++ nhưng không phải trong Java
- cấu trúc trong C++ nhưng không có trong Java
Và nhiều cái khác. Rất nhiều trong số này cực kỳ thú vị để sử dụng trong C ++ nhưng chúng cũng đi kèm với sự phức tạp hơn, mở ra cơ hội cho những lỗi điên rồ
Nắm vững từng thứ cần có thời gian, đó là lý do tại sao phải mất rất nhiều thời gian để bạn hoàn toàn tập trung vào C ++
Vì vậy, bạn vẫn nên học C ++?
Hoàn toàn có - học một ngôn ngữ mới luôn tốt cho dù bạn đang ở trình độ nào
Bây giờ, “khi nào bạn nên học C++?”
- Bạn có phải là người mới bắt đầu hoàn toàn có thể chọn ngôn ngữ nào để bắt đầu không? . Và hãy tìm Python hoặc JavaScript
- Bạn đang học C++ ở trường vì bạn không có lựa chọn nào để bắt đầu với ngôn ngữ nào? . Bạn sẽ có sự đánh giá cao về cách lập trình hoạt động ở cấp độ thấp hơn
- Đã là một lập trình viên muốn tìm hiểu thêm? . Nếu bạn là một lập trình viên Java, chào mừng bạn đến với thế giới của C++. Nếu bạn không, không phải lo lắng nhưng bạn phải chuẩn bị tinh thần
Cuối cùng, hãy học càng nhiều càng tốt. Và sau đó, hãy xem lập trình chức năng như điểm dừng tiếp theo của bạn
C ++ là một con thú
Vì vậy, hãy sẵn sàng để cảm thấy như bạn đang cắt răng bằng đá
Nhưng nó cũng là một ngôn ngữ tuyệt vời mà mọi lập trình viên nên chơi với nó vào một lúc nào đó
Cảm ơn vì đã đọc
- Bảng cheat MIỄN PHÍ. Tôi giúp các lập trình viên mới và các nhà phát triển cơ sở tập trung vào những gì quan trọng thay vì thử và sai vô tận. Nếu bạn quan tâm đến việc nâng cao sự tự tin và kỹ năng của mình, hãy xem trang phục miễn phí của chúng tôi
- Theo dõi trên Twitter. Có câu hỏi, tôi hoạt động tích cực nhất trên Twitter – vui lòng liên hệ với tôi. DM của tôi đang mở
Lưu ý - Tôi thích nghiên cứu nên tôi có xu hướng ủng hộ lời khuyên và cách tiếp cận của mình với các khái niệm từ Tâm lý học hành vi và Khoa học thần kinh