C/C++
ภาษา C++ คืออะไร
ในบทเรียนนี้ คุณจะได้เรียนรู้พื้นฐานของภาษา C++ ก่อนที่คุณจะเริ่มต้น คุณจำเป็นต้องรู้ก่อนว่าภาษา C++ คืออะไร
C++ เป็นภาษาคอมพิวเตอร์เพื่อวัตถุประสงค์ทั่วไป ซึ่งสามารถเขียนโปรแกรมได้ทั้งแบบออบเจ็ค และการเขียนแบบปกติทั่วไป และยังมีเครื่องมืออำนวยความสะดวกในการจัดการและเข้าถึงระดับหน่วยความจำนอกจากนี้มันยังถูกนำไปใช้ในการเขียนโปรแกรมแบบต่างๆ มากมาย เช่น โปรแกรมคอมพิวเตอร์ ระบบฝังตัว (Embedded) เว็บเซิร์ฟเวอร์ การพัฒนาเกม และแอพพลิเคชันที่ต้องการประสิทธิภาพอย่างสูง
ภาษา C++ เป็นภาษาที่ถูกออกแบบมาในการเขียนโปรแกรมระบบ ซึ่งมีประสิทธิภาพและความยืดหยุ่นในการออกแบบโปรแกรมสูง C++ เป็นภาษาที่ต้องคอมไพล์ก่อนที่จะนำไปใช้งาน ซึ่งสามารถพัฒนาได้ในหลายๆ แพลตฟอร์ม ซึ่งได้รับการสนับสนุนโดยองค์กรต่างๆ ที่ประกอบไปด้วย Free Software Foundation (FSF's GCC) LLVM Microsoft Intel และ IBM
C++ นั้นถูกกำหนดให้เป็นภาษาที่เป็นมาตรฐานโดย International Organization for Standardization (ISO) ซึ่งเวอร์ชันล่าสุดนั้นเผยแพร่ในธันวาคม 2014 คือ ISO/IEC 14882:2014 หรือที่รู้จักกันในชื่อของ C++14 โดยที่ภาษา C++ ได้เริ่มกำหนดมาตราฐานครั้งแรกในปี 1998 คือ ISO/IEC 14882:1998 ภาษา C++ ถูกพัฒนาโดย Bjarne Stroustrup ที่ Bell Labs ตั้งแต่ปี 1979 ซึ่งในตอนแรกเป็นส่วนขยายของภาษา C โดยที่เขาต้องการที่จะพัฒนาภาษาที่มีประสิทธิภาพและยืดหยุ่นเหมือนกับภาษา C และยังมีคุณสมบัติใหม่ที่สูงกว่าสำหรับพัฒนาโปรแกรม
Bjarne Stroustrup นักวิทยาศาสตร์คอมพิวเตอร์ชาวเดนมาร์ก ได้สร้างภาษา C++ ขึ้นในปี 1979 โดยเขาเริ่มจาก "C with Classes" ซึ่งเป็นภาษาก่อนหน้าของภาษา C++ แรงจูงใจสำหรับการสร้างภาษาใหม่นั้นมีต้นกำเนิดมาจากประสบการณ์ในการเขียนโปรแกรมสำหรับงานวิจัยในการศึกษาระดับปริญญาเอกของเขา ในขณะที่ Stroustrup เริ่มต้นการทำงานที่ AT&T Bell Labs เขามีปัญหาในการวิเคราะห์ UNIX kernel ซึ่งเกี่ยวกับ distributed computing จากการจดจำในประสบการณ์ปริญญาเอกของเขา Stroustrup ตั้งใจว่าจะเพิ่มความสามารถให้ภาษา C กับคุณสมบัติที่เหมือนภาษา Simula เขาเลือกภาษา C เพราะว่ามันเป็นภาษาเขียนโปรแกรมเพื่อวัตถุประสงค์ทั่วไป ที่ทำงานเร็ว สะดวกใช้งานง่ายและใช้กันอย่างแพร่หลาย จนกระทั่งในปี 2011 มาตฐานของ C++11 ได้ถูกเผยแพร่ โดยการเพิ่มคุณสมบัติใหม่เข้ามามากมาย รวมทั้งการเพิ่มเติมขนาดของไลบรารี่มาตรฐาน และให้ความสะดวกแก่โปรแกรมเมอร์ภาษา C++ เป็นอย่างมาก
คอมไพเลอร์
คอมไพเลอร์คือโปรแกรมคอมพิวเตอร์หรือกลุ่มของโปรแกรมที่แปลงซอสโค้ดที่เขียนขึ้นในภาษา C++ ไปเป็นภาษาคอมพิวเตอร์ (Target language) หลังจากที่ทำการแปลงแล้วจะได้ข้อมูลในรูปแบบของฐานสอง (Binary) ที่เรียกกันว่า Object code เหตุผลที่ต้องแปลงโปรแกรมจากภาษาเขียนโปรแกรมไปเป็นภาษาเครื่องโดยคอมไพเลอร์ก็เพื่อสร้างโปรแกรมที่สามารทำงานได้ (Executable program)
คอมพิวเตอร์สามารถเข้าใจแค่ภาษาเครื่อง ภาษาที่ประกอบไปด้วยตัวเลข 1 และ 0 เราจำเป็นต้องใช้คอมไพเลอร์เพื่อแปลงโปรแกรมที่เราเขียนไปเป็นภาษาเครื่องที่ให้คอมพิวเตอร์สามารถทำงานได้
คอมไพเลอร์ช่วยให้โปรแกรมเมอร์พัฒนาโปรแกรมของพวกเขาได้อย่างง่ายดายในการเขียนโปรแกรมด้วยภาษาระดับสูง อย่างเช่น ภาษา C++
เครื่องมือพัฒนาโปรแกรม
ทางที่ง่ายที่สุดที่คุณจะสามารถเขียนโปรแกรมในภาษา C++ ได้นั้นคือการใช้ IDE ซึ่ง IDE เป็นการรวบรวมชุดโปรแกรมที่จำเป็นสำหรับในการพัฒนาโปรแกรม มันเป็นโปรแกรมที่อำนวยความสะดวกและให้เครื่องมือที่จำเป็นสำหรับในการพัฒนาโปรแกรม โดยปกติแล้ว IDE จะประกอบไปด้วยโปรแกรมสำหรับเขียนและแก้ไขโค้ดที่มาพร้อมกับเครื่องมือโดยอัตโนมัติ คอมไพเลอร์ และตัวดีบักโปรแกรม
สำหรับในบทเรียนนี้ โปรแกรมที่เป็นที่นิยมที่สุดที่เราจะแนะนำคือ Code blocks มันสามารถใช้ได้บนแพลตฟอร์มต่างๆ เช่น Windows Linux และ MacOS ซึ่งมากับคอมไพเลอร์ GCC (MingW / GNU GCC) MSVC++ clang Digital Mars Borland C++ 5.5 Open Watcom และอื่นๆ Code blocks นั้นสนับสนุนการเขียนทั้งภาษา C++ และภาษา C