2008-11-28 28 views
12

Tôi đã học C++ trong ba tháng và trong thời gian đó đã tạo ra một số ứng dụng cho công ty của tôi. Tôi xem xét bản thân mình khá thoải mái với C + +/MFC và STL, tuy nhiên tôi không chỉ muốn trở thành một lập trình viên OK, tôi muốn trở thành một lập trình viên giỏi. Tôi có một vài cuốn sách về thực hành tốt nhất nhưng tôi đã tự hỏi liệu có ai có thể gợi ý đọc tài liệu giúp họ và bất kỳ ngành nào cần được khuyến khích không?Phát triển làm lập trình viên

Cảm ơn!

+0

Có một số gợi ý tuyệt vời ở đây: http://stackoverflow.com/questions/305691/which-book-dramatically-changed-your-way-of-approaching-problems – Dan

Trả lời

17

tôi sẽ bắt đầu với Pragmatic Programmer, Code Complete, RefactoringDesign Patterns.

+0

Tất cả chúng đều là những cuốn sách ngôn ngữ không chuyên nói chung. Tôi mặc dù OP đang tìm kiếm tài nguyên C++? –

+0

Các op đặc biệt nói, "đề nghị đọc tài liệu đã giúp họ" – GregD

+0

.. và đã có C + + và MFC trong các thẻ ... –

4

3 tháng vào C++ và bạn đã hài lòng với nó? Sheesh, tôi đã học C# trong hơn một năm và đã tham gia rất nhiều khóa học của Microsoft và tôi không thấy thoải mái với nó.

Điều đó đang được nói, bạn sẽ nghe thấy Code Complete được gửi về như một cuốn sách hay. Tôi đang trong quá trình đọc nó ngay bây giờ.

+0

Hoàn thành mã là một cuốn sách tuyệt vời, không có câu hỏi. Nhưng nó sẽ không dạy cho bạn các sắc thái của C++ –

+0

Là một lập trình viên tốt hơn nhiều hơn là học các sắc thái của một ngôn ngữ cụ thể. – tvanfosson

+0

tôi muốn nói rằng tham gia các khóa học là _against_ được thoải mái với bất cứ điều gì sáng tạo như lập trình. tốt nhất, họ có thể học tốt những điều cơ bản và biết mọi người. – Javier

3

Quy mô lớn Thiết kế C++ Software by John Lakos cho hướng dẫn về phương pháp thiết kế mà sẽ làm cho C++ dễ bảo trì hơn. Nó là khá đắt nhưng bạn có thể nhúng vào và vẫn nhận được một số lợi ích.

1

Tôi đã đọc một số (không hoàn chỉnh nhưng một số phần) của sách quặng trên VB.net chúng khá tốt, nhưng nếu bạn muốn chuyên nghiệp và có thời gian ... Bạn có thể thử các diễn đàn MSDN, trợ giúp những người khác và thảo luận với họ những vấn đề khó khăn và phức tạp, tôi nghĩ đó là cách tốt nhất ..

1

học ngôn ngữ khác. ngay cả khi bạn sẽ không sử dụng nó, nó rất tuyệt vời cho việc mở đầu óc.

Tôi khuyên Lua, Scheme và Python. nhưng hầu như bất cứ điều gì khác sẽ làm. (khác nhất từ ​​C, tốt nhất)

2

Hơi chủ đề: thay vì đề xuất sách để tìm hiểu, tôi muốn đề cập đến một số chủ đề rộng để xem xét.

  • Luồng. Điều này là không có nhiều nhu cầu nếu bạn sử dụng MFC, nhưng trong nhiều lĩnh vực khác nó không thể thiếu. Cơ chế của các API luồng dễ dàng nhận, nhưng việc học tất cả các trường hợp góc phải mất rất nhiều thời gian và thực hành.

  • Đóng cửa, Map-Reduce và các kỹ thuật tương tự khác. Tìm hiểu xem chúng là gì, tại sao chúng không được hỗ trợ trong C++ và cách chúng được bắt chước trong C++ (functors và nhiều trường hợp khác của các đối tượng gọi lại stateful). Đối với điều này tôi thực sự có một cuốn sách: "Cấu trúc và giải thích các chương trình máy tính".

  • Dòng lệnh. Điều này cung cấp cho bạn một ý tưởng về khi không mã chương trình của riêng bạn. Dòng lệnh sẽ là dòng lệnh Unix - Tôi không biết về thử nghiệm mới nhất của MS trong này, nhưng cmd.exe là khủng khiếp. Nhận Cygwin và bắt đầu thử nghiệm.

  • Ngôn ngữ lập trình. Điều này cung cấp cho bạn một ý tưởng về khi không chương trình trong C + +. Yêu thích của tôi là Perl, nhưng nhiều người nói Python, Ruby và không có gì. Xin chào, hãy tìm hiểu XSLT nếu bạn có khuynh hướng!

Tôi chắc chắn tôi đã bỏ qua các khu vực khác. Tôi sẽ đánh dấu trang này là Community Wiki - vui lòng thêm.

1

Josuttis và Vandevoorde - Templates: The Guide Complete

1

Như tôi thấy, không ai đề cập Bruce Eckel sách rực rỡ "Suy nghĩ trong C++". IMHO, đó là một trong những cuốn sách hay nhất để bắt đầu phát triển C++ của bạn. Theo quan điểm của tôi, khối lượng đầu tiên hữu ích hơn cho lần thứ hai, nhưng cả hai đều đáng đọc.
http://www.amazon.com/Thinking-C-Introduction-Standard-One/dp/0139798099/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1227890306&sr=8-1

+0

Ah! Chúng tôi có một bản sao này trong văn phòng, sẽ mang nó về nhà vào cuối tuần và cung cấp cho nó một đọc. +1. – Konrad

1

Tôi rất nhiều người có thể đề xuất sách hiện đại, cập nhật hơn. Nhưng tôi vẫn khuyên bạn nên The Annotated C++ Reference Manual bởi Margaret A. Ellis & Bjarne Stroustrup.

ARM đã được xuất bản trở lại vào năm 90. Nó trở nên hơi lỗi thời đối với các mẫu. STL là (rõ ràng) vắng mặt. (Though the website at sgi.com does a good job of covering STL!)

Tuy nhiên, ARM rẻ tiền (được sử dụng). (Vận chuyển sẽ vượt quá chi phí của cuốn sách.) Tỷ lệ tín hiệu trên tạp âm của nó vẫn nằm ngoài quy mô. Nó rất tốt trong việc đào sâu vào các khu vực bẩn của C++, giải thích những gì đã được thực hiện & tại sao.

Tôi vẫn sử dụng nó làm tài liệu tham khảo. Tôi xếp hạng nó ở đó với K&R.

1

Chế độ ăn kiêng/chế độ ăn kiêng "Cách lập trình C++" ... Tôi vẫn có cuốn sách này trên bàn của mình (10 năm) .. Mỗi lần tôi đọc lại một chương.
Tôi chắc chắn sẽ nhận được Mã Hoàn thành, như những người khác đã đề xuất. Infact đọc đầu tiên.

+0

Tôi đang đọc cuốn sách này ngay bây giờ! Chắc chắn là một cuốn sách hay để học hỏi - tuy nhiên, nếu anh ấy thực sự thoải mái với C++ thì nó có thể không đủ chi tiết cho anh ấy. – Sean

1

Để hiểu rõ hơn về định hướng đối tượng, hãy dành chút thời gian trong Smalltalk. Squeak là một bản tải xuống miễn phí. Sau đó đọc các mẫu phần mềm của Richard P. Gabriel và sau đó các đối tượng của anh ta đã thất bại.

1

Suy nghĩ trong C++ - Bruce Eckel Symfonia C++ Standard - Jerzy Grębosz

1

Nếu bạn không làm gì khác, chương trình.

Khi bạn không làm điều đó đọc về lập trình và khi có điều gì đó khiến bạn thú vị, hãy thực hiện điều gì đó với kiến ​​thức đó. Tôi đã thấy rằng đây là cách duy nhất để thực sự thiết lập hiệu trưởng.

Luôn cập nhật trên blog có thể thú vị nhưng đó là kiến ​​thức phân tán. Nó dường như làm sao lãng nhiều hơn sự giúp đỡ. Nhưng kết hợp với google và mong muốn nghiên cứu một cái gì đó cụ thể thực sự có thể ho lên tấn thông tin.Nhưng không 'chỉ cần đăng ký với rất nhiều nguồn cấp dữ liệu rss và mong đợi để có được tốt hơn.

Tôi nghĩ rằng thực sự nghiên cứu các chủ đề cụ thể sẽ giúp mở rộng khả năng của bạn. Các chủ đề nghiên cứu hấp dẫn bạn, gặp gỡ những người làm những việc như bạn (hội nghị, nhóm người dùng, irc, facebook, stackoverflow, v.v.) và trên hết là thực hành nghệ thuật của bạn.

0

Bạn có thể xem thư viện Tăng cường và một số sách được viết về nó. Trong khi đó, IMO, thư viện Boost là ví dụ về các thư viện C++ hiện đại được thiết kế tốt, sử dụng các tính năng của ngôn ngữ theo cách mà chúng được sử dụng để tạo ra các giải pháp hiệu quả nhất cho miền vấn đề của họ. Cấp tất nhiên, có các thư viện kỳ ​​lạ như tiền xử lý và MPL ​​mà làm cho bạn tự hỏi nếu bạn sẽ bao giờ có bất kỳ sử dụng cho họ, nhưng họ đang tất cả các vòng khá tốt. Từ kinh nghiệm của riêng tôi, khám phá thư viện và văn học của nó đã cho tôi cái nhìn sâu sắc về cách sử dụng C++ một cách hiệu quả.

Boost Beyond the C++ Standard Library: An Introduction to Boost

Các vấn đề liên quan