ฉันจะปรับปรุง C ++ ให้ทันสมัยด้วยการพัฒนาที่ทันสมัยได้อย่างไร [ปิด]


9

ฉันจะทำให้ C ++ เป็นสนิมขึ้นมาได้อย่างไรเพราะฉันแน่ใจว่าภาษาและแนวทางปฏิบัติที่ดีที่สุดได้พัฒนาไปแล้ว? ฉันรู้ว่านี่อาจใกล้เคียงกับการปิดหัวข้อดังนั้นให้ฉันชี้แจงรายละเอียดบางอย่าง ประมาณ 10 ปีที่แล้วฉันคิดว่าฉันเป็นโปรแกรมเมอร์ C ++ ที่ดีฉันจะกินหนังสือ Scott Meyers ฉันสามารถไขปริศนาในโฆษณาผ้าสำลีใน Dr. Dobbs ได้ ฉันอาจเป็นทนายความด้านภาษา ฉันเขียนโปรแกรมเป็นจาวาส่วนใหญ่เป็นงูหลามในช่วง 10 ปีที่ผ่านมาดังนั้นทักษะ OO ของฉันจึงยังคงเป็นที่น่าสนใจ แต่การเข้าร่วม บริษัท ที่ C ++ เป็นเรื่องธรรมดาฉันก็รู้ว่าฉันต้องยอมรับกับตัวเองว่าฉันทั้งสองเป็นสนิมจริงๆและมีคุณสมบัติทางภาษาซึ่งตอนนี้เป็นภาษาใหม่หรือใหม่กว่าที่ฉันจำได้ - สิ่งต่าง ๆ เช่น namespaces เป็นต้น

ฉันรู้ว่าการอ่านและการเขียนโค้ด (โดยเฉพาะการจับคู่) เป็นวิธีที่ดีในการเพิ่มความเร็ว แต่มีทรัพยากรอื่น ๆ ที่ผู้คนจะแนะนำในการนี้เพื่อให้ฉันเริ่มต้นเร่ง Book? หน้าเว็บ? สอน?

เพื่อสรุป:

  • คำแนะนำสำหรับแหล่งอ้างอิงเฉพาะ C ++?
  • ไม่ใช่ OO / การเขียนโปรแกรมโดยทั่วไป
  • สิ่งที่นอกเหนือไปจากเพียงแค่การอ่านและการเขียนโค้ด

คำตอบ:


10

หากคุณอยู่แล้ว "กินหนังสือสกอตต์เมเยอร์ส " แล้วคุณเป็นจำนวนมากต่อไปว่าคนที่แต่งตัวประหลาดเฉลี่ยที่ไม่ C ++ 10 ปีที่ผ่านมา (IMHO) รับ C ++ ฉบับที่ 3 ที่มีประสิทธิภาพ (และหนังสือ C ++ มาตรฐานการเข้ารหัสโดย Sutter / Alexandrescu) เพื่อรับการรีเฟรชระยะสั้นและแน่นอนคุณควรพร้อมที่จะไป

คำแนะนำในหนังสือเหล่านี้ (แต่เดิมฉันคิดว่าปี 2005) มีผลบังคับใช้ในวันนี้เท่าที่เคยเป็นมา

โอ้แล้วติดตั้งบูสต์ถ้าคุณยังไม่ได้ทำ

โชคดีที่คุณได้เริ่มต้นใหม่ใน C ++ เนื่องจากฉันมั่นใจมากว่าจะมีแหล่งข้อมูลและหนังสือประเภทการเริ่มต้นระบบใหม่จำนวนมากในปีนี้และครั้งต่อไปเมื่อมาตรฐาน C ++ 11 เริ่มต้น


คำแนะนำที่ยอดเยี่ยม สก็อตเมเยอร์สมาที่ บริษัท ของเราเมื่อปีที่แล้วและให้นักพัฒนาของเราได้ทบทวนหลักสูตรสองวันเกี่ยวกับเทคนิค C ++ ที่ทันสมัย เขารู้ว่า C ++ ทำงานอย่างไรในโลกแห่งความเป็นจริงและไม่ได้เป็นเพียงวิชาการอีกทฤษฎีหนึ่ง
Karl Bielefeldt

2

1) เริ่มต้นด้วยคอมไพเลอร์ที่ทันสมัยซึ่งมีคุณสมบัติ c ++ 11 (สมมติว่างานของคุณจะต้องใช้เร็วกว่านั้นในภายหลังหากยังไม่ได้ทำการแก้ไข)

2) ใช้โปรแกรมที่มีอยู่ (อาจเป็นโครงการสัตว์เลี้ยงของคุณ) และอัปเดตหรือขยายให้ใช้ไลบรารีที่ทันสมัยกว่า (เช่นไลบรารีมาตรฐาน c ++ 11 หรือเพิ่ม )

3) อ่านคุณสมบัติล่าสุดของ C ++ นอกจากนี้ยังมีหนังสือดี ๆ อีกจำนวนหนึ่ง หากคุณยังไม่ได้อ่านการออกแบบ C ++ ที่ทันสมัยฉันขอแนะนำ มันคลาสสิกสำหรับการออกแบบขั้นสูงโดยใช้เทคนิค c ++ ซึ่งได้รับการแนะนำและฝึกฝนในระหว่างที่คุณไม่อยู่

นั่นคือจุดเริ่มต้น


1

นิค

ฉันขอแนะนำให้คุณมีส่วนร่วมกับโครงการโอเพ่นซอร์ส คุณได้ดูsourceforge แล้วหรือยัง สิ่งนี้สามารถนำไปใช้กับภาษาใด ๆ ก็ได้ แต่ข้อดีที่สำคัญคือการเรียนรู้จากนักพัฒนาอื่น ๆ ในขณะที่มีส่วนร่วมในโครงการซอฟต์แวร์ คุณสามารถเลือกสไตล์ที่น่าสนใจและการใช้คุณสมบัติภาษาจากการทำงานในโครงการโอเพ่นซอร์ส ดีบ้างไม่ดีบ้าง .... ธรรมดาธรรมดา :)


4
บางทีฉันอาจจะโชคไม่ดี แต่โครงการโอเพนซอร์สที่ฉันเคยเห็นมีโค้ดที่น่ากลัวที่สุดที่ฉันเคยพบมาพวกเขาสามารถใช้เป็นตัวอย่างที่สมบูรณ์แบบของวิธีที่จะไม่เขียน C / C ++ ดังนั้นหากคุณตัดสินใจที่จะดูโอเพนซอร์สเพื่อประโยชน์ในการเรียนรู้ฉันขอแนะนำให้คุณเลือกโครงการที่โปรแกรมเมอร์จำนวนมากเข้ามามีส่วนร่วมโครงการดังกล่าวมีแนวโน้มที่จะมีรหัสคุณภาพดีกว่า

1

ทำรหัสกะตะใน c ++: หอคอยฮานอย, บัฟเฟอร์วงแหวนและสิ่งต่าง ๆ การทำเช่นนี้จะมีประสิทธิภาพมากกว่าการอ่านหนังสือถึงแม้ว่าการอ่านหนังสือจะช่วยให้คุณเรียนรู้สิ่งที่คุณไม่รู้จัก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.