Làm cách nào để đưa C ++ của tôi trở lại cập nhật với các phát triển hiện đại? [đóng cửa]


9

Làm thế nào tôi nên cập nhật một số C ++ rất cũ, vì tôi chắc rằng ngôn ngữ và các thực tiễn tốt nhất đã phát triển? Tôi nhận ra điều này có thể gần với việc lạc đề vì vậy hãy để tôi làm rõ một số chi tiết. Khoảng 10 năm trước tôi nghĩ rằng tôi là một lập trình viên C ++ khá giỏi, tôi đã nuốt chửng những cuốn sách của Scott Meyers, tôi có thể giải các câu đố trong các quảng cáo lint trong Dr. Dobbs. Tôi có lẽ là một chút của một luật sư ngôn ngữ. Tôi đã lập trình chủ yếu là Java, một số con trăn trong 10 năm qua vì vậy các kỹ năng OO của tôi vẫn còn khó khăn. Nhưng khi gia nhập một công ty có C ++ là phổ biến, tôi nhận ra rằng tôi phải thừa nhận bản thân mình, tôi thực sự rất gỉ và có những tính năng ngôn ngữ mới hoặc phổ biến hơn nhiều so với tôi nhớ - những thứ như không gian tên, v.v.

Tôi nhận ra việc đọc và viết mã (đặc biệt là ghép nối) là một cách tốt để tăng tốc, nhưng có tài nguyên nào mà mọi người muốn giới thiệu trong đây để giúp tôi bắt đầu nhanh hơn không. Sách? Trang web? Hướng dẫn?

Để tóm tắt:

  • Đề xuất cho tài nguyên bồi dưỡng cụ thể C ++?
  • Không phải OO / lập trình nói chung.
  • Những thứ ngoài việc chỉ đọc và viết mã.

Câu trả lời:


10

Nếu bạn đã "nuốt chửng những cuốn sách của Scott Meyers ", thì bạn sẽ còn xa hơn nữa là anh chàng bình thường đã làm C ++ 10 năm trước (IMHO). Nhận phiên bản thứ 3 của C ++ hiệu quả (và cuốn sách Tiêu chuẩn mã hóa C ++ của Sutter / Alexandrescu) để có một bản làm mới ngắn, và, thực sự, bạn nên sẵn sàng để đi.

Các khuyến nghị trong những cuốn sách này (ban đầu là năm 2005 tôi nghĩ) có giá trị như ngày nay.

Oh, và cài đặt boost nếu bạn chưa có.

Thời gian may mắn để bạn khởi động lại trong C ++, vì tôi rất chắc chắn sẽ có rất nhiều tài nguyên và sách loại khởi động lại trong năm nay và tiếp theo khi tiêu chuẩn C ++ 11 bắt đầu ổn định.


Khuyến nghị tuyệt vời. Scott Meyers đã đến công ty của chúng tôi vào năm ngoái và đã cho tất cả các nhà phát triển của chúng tôi một khóa bồi dưỡng kéo dài hai ngày về các kỹ thuật C ++ hiện đại. Anh ta biết C ++ hoạt động như thế nào trong thế giới thực và không chỉ là một học thuật khác với các lý thuyết.
Karl Bielefeldt

2

1) bắt đầu với trình biên dịch hiện đại có các tính năng c ++ 11 (giả sử công việc của bạn sẽ yêu cầu điều đó sớm hơn sau này, nếu chưa có)

2) lấy các chương trình hiện có (có lẽ là các dự án thú cưng của bạn) và cập nhật hoặc mở rộng chúng để sử dụng các thư viện hiện đại hơn (như thư viện tiêu chuẩn c ++ 11 hoặc boost ).

3) đọc các tính năng mới nhất của C ++. cũng có số lượng sách hay nếu bạn chưa đọc Modern C ++ Design , tôi muốn giới thiệu nó. đó là một cổ điển cho các thiết kế tiên tiến sử dụng các kỹ thuật c ++ được giới thiệu và mài giũa trong thời gian bạn vắng mặt.

đó là một điểm khởi đầu.


1

Nick,

Tôi khuyên bạn nên tham gia với một dự án nguồn mở. Bạn đã xem sourceforge chưa? Điều này có thể áp dụng cho bất kỳ ngôn ngữ nào, nhưng lợi ích chính ở đây là học hỏi từ các nhà phát triển khác trong khi đóng góp cho một dự án phần mềm. Bạn có thể chọn một số phong cách thú vị và sử dụng các tính năng ngôn ngữ để làm việc trong một dự án nguồn mở. Một số tốt, một số xấu, một số .... chỉ đơn giản là kỳ lạ :).


4
Có thể tôi đã không may mắn, nhưng các dự án nguồn mở mà tôi đã thấy chứa một số mã khủng khiếp nhất tôi từng gặp - chúng có thể được sử dụng như một ví dụ hoàn hảo về cách không viết C / C ++. Vì vậy, nếu bạn quyết định xem lén nguồn mở vì mục đích học tập, tôi sẽ khuyên bạn nên chọn một dự án mà rất nhiều lập trình viên đang tích cực tham gia. Các dự án như vậy có nhiều khả năng có mã chất lượng tốt trong đó.

1

Làm một số mã kata trong c ++: hanoi tower, vòng đệm, và những thứ đó. Làm điều đó sẽ hiệu quả hơn rất nhiều so với việc chỉ đọc sách về nó - mặc dù, đọc sách sẽ giúp bạn học được những điều bạn chưa biết.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.