🔥 จุดกำเนิดภาษา C++
.
ใคร ๆ ก็รู้จัก “ภาษา C++” ...แต่ใครบ้างที่จะรู้ว่าภาษานี้เกิดขึ้นได้ยังไง !
.
🚀 ภาษา C++ ถูกพัฒนาขึ้นโดย เบียเนอ สเดราสดร็อบ (Bjarne Stroustrup) จากห้องวิจัยเบลล์ (Bell Labs) ในปีค.ศ. 1983 โดยมีชื่อเดิมคือ "C with classes"
.
เบียเนอได้นำเอาภาษา C มาพัฒนาและใส่แนวคิดการเขียนโปรแกรมเชิงวัตถุ หรือ OOP (Object Oriented Programming) เข้าไปด้วย
.
👨💻 โดยมีการเพิ่มเติมการสร้าง Class และเพิ่มคุณสมบัติต่าง ๆ จากภาษา C ดั้งเดิม ได้แก่ Virtual Function, Overload Operator, Inheritance, Template, Exception Handling
.
แม้ว่า ภาษา C++ จะมีความซับซ้อนมากกว่าภาษา C แต่ในอีกทางหนึ่งก็ได้รับการออกแบบเพื่อให้เข้ากันได้กับภาษา C ในเกือบทุกกรณี และ ถือเป็นภาษาโปรแกรมคอมพิวเตอร์อเนกประสงค์ เพราะถูกออกแบบมาเพื่อไม่ให้มีการเจาะจงแพลตฟอร์มคอมพิวเตอร์ <3
.
😎 นอกจากนี้ ภาษา C++ ยังสนับสนุนรูปแบบการเขียนโปรแกรมที่หลากหลาย (Multi-Paradigm Language) ได้แก่ Imparative Programming (การเขียนโปรแกรมเชิงคำสั่ง), Data Definition (การนิยามข้อมูล), OOP (การเขียนโปรแกรมเชิงวัตถุ), และ Generic Programming
.
📌 ซึ่งภาษา C++ เวอร์ชันล่าสุด ยังได้รับการรับรองมาตรฐาน ISO/IEC 14882:2020 อีกด้วย !!!
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
c virtual inheritance 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的精選貼文
เกรียนไทยยังชิดซ้าย คุณครูยังอายม้วน เมื่อเจอเด็กนอก ทำข้อสอบ อย่างฮา 555 ++ ...ถ้าตอบตามรูป อาจารย์ให้คะแนน 0 นะ
จะได้คะแนนควรตอบแบบนี้
1) ภาษา C++ มีที่มาจากภาษา C และก็เป็นซุปเปอร์เซต (Superset) ของ C
2) เริ่มต้นทีเดียว C++ จะรู้จักกันว่ามันคือ ภาษา c ที่มีคลาส (class)
3) ใน C++ ได้มีการเปลี่ยนแปลงครั้งใหญ่ โดยการเพิ่มคลาส และมีกลไกลการสืบทอดคลาสของออบเจ็กต์ ไปยังคลาสอื่น ๆ ได้
4) โปรแกรมที่เขียนด้วย C ส่วนใหญ่ สามารถคอมไพล์ด้วย คอมไพลเลอร์ของภาษา C++
5) นิพจน์ (expressions) ใน C++ จะเหมือนในภาษา C
6) ตัวดำเนินการ (operators) ของภาษา C ทั้งหมด สามารถใช้ได้ใน C++
7) ชื่ออย่างไม่เป็นทางการของมาตรฐาน C++ รุ่นใหม่คือ C++14 ประกาศเมื่อ 2014 แต่ในปี 2017 แพลนจะออกเป็นมาตรฐาน C++17 หรือ C++1z
ข้อแตกต่างระหว่าง ภาษา C กับ C++ ทั้งหมด15 ข้อ (เป็นแค่ตัวอย่าง)
####### ภาษา C
1) เป็นภาษาเชิงกระบวนการ (Procedural Language)
2) ไม่มี virtual Functions
3) ไม่มี Polymorphism
4) ไม่มี Operator overloading
5) การออกแบบโปรแกรมเป็นวิธีจากบนลงล่าง "Top down"
6) ไม่มี namespace
7) อนุญาตให้การประกาศตัวแปรโกลบอล (global variables)
8) scanf() ใช้เป็นอินพุต และ printf() ใช้เป็นเอาท์พุต
9) mapping ระหว่างข้อมูลกับฟังก์ชัน จะยากและซ้ำซ้อน
10) สามารถเรียก main() ผ่านฟังก์ชั่นอื่นได้
11) ตัวแปรทั้งหมดต้องประกาศตั้งแต่แรก เมื่อเริ่มเขียนโปรแกรม
12) ไม่มี inheritance
13) malloc() กับ calloc() ใช้จัดสรรหน่วยความ ส่วน free() ใช้ยกเลิกหน่วยความจำที่จัดสรร
14) มีทั้งชนิดข้อมูลแบบ built-in กับแบบพื้นฐาน (primitive data types)
15) ไม่มีกลไกล Exception Handling
####### ภาษา C++
1) เป็นภาษาเชิงวัตถุ (Object oriented Language)
2) มีใช้ virtual Functions
3) มีใช้ Polymorphism ซึ่งเป็นฟีเจอร์สำคัญมากใน OOP
4) Operator overloading เป็นหนึ่งในฟีเจอร์ที่จำเป็น
5) การออกแบบโปรแกรมเป็นวิธีจากล่างไปสู่บน "Bottom up"
6) ใช้ namespace เพื่อหลีกเลี่ยงชื่อซ้ำกัน
7) ไม่อนุญาตให้การประกาศตัวแปรโกลบอล
8) Cin>> ใช้เป็นอินพุต และ Cout<< ใช้เป็นเอาท์พุต
9) mapping ระหว่างข้อมูลกับฟังก์ชัน โดยทำเป็น Objects
10) ไม่สามารถเรียก main() ผ่านฟังก์ชั่นใด ๆ ได้
11) สามารถประกาศตัวแปรที่ใดก็ได้ โดยขอให้อยู่ใน scope ของการเรียกใช้งานครั้งแรก
12) มี inheritance
13) มีตัวดำเนินการอย่าง new กับ delete เพื่อใช้จัดสรรหน่วยความ และยกเลิกหน่วยความจำที่จัดสรร
14) มีทั้งชนิดข้อมูลแบบ built-in กับ define data types
15) มี Exception Handling โดยใช้ Try กับ Catch Block
ข้อแตกต่างมากกว่านี้ ก็ตามลิงค์นี้ (เครดิตคุณ Santi Lertpichitkul)
http://david.tribble.com/text/cdiffs.htm
ที่มา http://www.patanasongsivilai.com/…/เกรียนไทยยังชิดซ้าย-คุณ…/
http://loledhard.com/real-programmers-what-is-difference-be…