ถ้าจะถามถึงรูปแบบการคิดล่ะก็ในภาษา c ก็คงเป็นแบบ top-down design ทั่วไปคือพยายามหาปัญหา แล้วแก้ปัญหานั้นให้อยู่ในรูปแบบที่ย่อยลงมา
ในขณะที่ c++ จะใช้แนวคิดของ object ในการแก้ปัญหา(หรือจะใช้วิธีเดียวกับ c ก็ได้เพราะยังไง c++ ก็เป็น super set ของ c อยู่ดี) โดยพยายามที่จะมองทุกอย่างให้เป็นวัตถุแล้วใช้วัตถุเหล่านั้นในการแก้ปัญหาเป็นแบบ bottom-up design
ถ้าสนใจจะเรียนภาษาตระกูล C ยังมี C# และ Java อีก
C++ ถูกพัฒนาต่อยอดจาก C เพื่อทำให้การพัฒนาโปรแกรมใหญ่ ๆ ง่ายขึ้น
และเรียนรู้แก้ไขโปรแกรมที่เขียนได้สะดวกขึ้นกว่าเดิม โดยเพิ่มในส่วนของ
OOP เข้าไป สำหรับโปรแกรมเมอร์รุ่นใหม่ ๆ หากจะเริ่มศึกษาก็ให้เริ่มที่ C++ เลยจะดีกว่า
เพราะของใหม่ยังไงก็ดีกว่าเก่าอยู่แล้วครับ
เดิมโปรแกรมเมอร์ภาษา C จะสร้างโปรแกรมโดยคิดตาม step 1,2,3,… ซึ่งก็มีข้อดีสำหรับโปรแกรมที่ไม่ซับซ้อนมาก
สามารถเขียนได้อย่างรวดเร็ว แต่นาน ๆ ไปโปรแกรมเริ่มจะมีความสามารถเพิ่มขึ้น สลับซับซ้อนกว่าเดิม ในระหว่างพัฒนา
หรือต้องการแก้ไข อาจสับสนได้ว่าจะไปแก้ไขตรงจุดไหน และทำให้งงหรือเกิด Bug ได้ง่าย ๆ
จึงมีแนวคิดการโปรแกรมแบบ OOP ขึ้นมาคือให้แบ่งโปรแกรมออกเป็นชิ้น ๆ หรือเรียกกันว่าวัตถุ(Object) แล้วพัฒนาแต่ละชิ้นขึ้นมา
แล้วเอามาประกอบกันทีหลัง วิธีการนี้ทำลดความสับสนเวลาพัฒนาหรือแก้ไขโปรแกรมลงไปได้มาก เพราะสามารถ
แก้ไขที่ชิ้นเดียวได้ ไม่ต้องแก้ไขทั้งโปรแกรม และนอกจากนี้เรายังสามารถนำวัตถุ(หรือส่วนที่แบ่งเป็นชิ้นๆ) นำกลับมาใช้ใหม่ หรือนำไปใช้
กับโปรแกรมอื่น ๆ ที่เราต้องการโดยไม่ต้องเสียเวลาเขียนใหม่ ประหยัดเวลาได้อีกมาก
เมื่อ OOP เริ่มฮิตมาก ๆ จึงมีผู้พัฒนา C ให้เป็น C++ ขึ้นมาเพื่อให้รองร้บแนวคิดแบบ OOP และไหน ๆ ก็ไหน ๆ จึงปรับปรุงเพิ่มเติมวิธีการเขียนโปรแกรมใหม่ให้เข้าใจง่ายกว่าเดิม
คนที่ศึกษาคงรู้ว่าระหว่าง prinf(“string”) ของ C กับ cout << string ของ C++ ใช้ง่ายกว่ากันเยอะ
ถ้าจะเปรียบเหมือนกับการสร้างรถยนต์ แทนที่จะหล่อรถยนต์ทั้งคันทีเดียว (ภาษาซี) เวลาเสียก็ต้องทำใหม่หมด หรือส่งไปซ่อมทั้งคัน
แต่ถ้าใช้แนวคิดแบบ OOP แต่ละชิ้นทำขึ้นมาต่างหากเอามาประกอบกันทีหลัง เวลามีปัญหาก็หาสาเหตุและนำมาเปลี่ยนใหม่ได้ง่ายกว่าครับ
ล่าสุดมีภาษา C# (ที่คุณโตโต้โบโบ้บอก) เกิดขึ้นมาใหม่อีก ซึ่งในส่วนไวยากรณ์หลักจะคล้ายกัน แต่ C# ถูกสร้างโดย Microsoft เอาไว้เขียนโปรแกรมแบบไม่ต้องยึดติดกับ
ระบบปฎิบัติการ หมายความว่าคุณเขียนโปรแกรมครั้งเดียวไม่ต้อง complie ใหม่ แต่นำไปใช้ได้ทั้งใน PC, MC หรือแม้กระทั่งมือถือ(เค้าว่าอย่างงั้น) ที่นำไปใช้ใหม่ได้เพราะ
C# ไม่ได้ compile ให้เป็นภาษาคอมพิวเตอร์แล้วใช้งานได้ทันทีเหมือน C หรือ C++ แต่มันจะถูกแปลงไประดับหนึ่งเวลาใช้งานจริงจะมีตัวแปลภาษาแปลให้คอมพิวเตอร์เข้าใจอีกทีหนึ่ง
ตัวแปลนี้ไมโครซอฟท์ตั้งชื่อมันไว้ว่า .NET (ดอทเน็ต) ซึ่งดูเหมือนไมโครซอฟท์ตั้งใจจะออกมาชนกับ JAVA โดยตรง ซึ่งส่วนใหญ่ก็บอกว่า .NET ของไมโครซอฟท์ทำงานได้ไวกว่า Java
เอาแต่ละชิ้นมาประกอบกันเป็นโปรแกรม
ป้องกันความสับสนในการโปรแกรมแบบเก่า (เช่นภาษา C) ที่มองโปรแกรมทั้งหมดเป็นชิ้นเดียวกัน แต่เริ่ม
เวลาจะแก้ไขปรับปรุงก็ยุ่งยาก
หากเปรียบกับการสร้างรถยนต์
เพิ่มในส่วนของ OOP เข้าไป
OOP นี้จะช่วยให้โปรแกรมเมอร์เขียนโปรแกรม