เอาระเบิดไปวางแล้ว

วันพุธที่ 3 มิถุนายน พ.ศ. 2552

ประวัติ ภาษาซี

ภาษา C และ C++

ภาษา C ถูกพัฒนาขึ้นโดย ในปีค.ศ. 1972 ที่ห้องปฏิบัติการเบลล์ของบริษัท AT&T เป็นภาษาที่ใช้เขียนระบบปฏิบัติการ UNIX ซึ่งเป็นระบบปฏิบัติการที่ได้รับความนิยมคู่กับภาษาซี และมีการใช้งานอยู่ในเครื่องทุกระดับภาษา เป็นภาษาระดับสูงที่ได้รับความนิยมในหมู่นักเขียนโปรแกรมเป็นอย่างมาก เนื่องจากภาษา จะเป็นภาษาที่รวมเอกข้อดีของภาษาระดับสูงในเรื่องของความยืดหยุ่นและไวยากรณ์ที่ง่ายต่อการเข้าใจ กับข้อดีของภาษาแอสเซมบลีในเรื่องของประสิทธิภาพและความเร็วในการทำงานทำให้โปรแกรมที่พัฒนาด้วยภาษาซีทำงานได้เร็วกว่าโปรแกรมที่เขียนด้วยภาษาระดับสูงอื่น ๆ ในขณะที่การพัฒนาและแก้ไขโปรแกรมสามารถทำได้ง่ายเช่นเดียวกันภาษาระดับสูงทั่ว ๆ ไป นอกจากนี้ภาษา C ยังได้มีการพัฒนาก้าวหน้าขึ้นไปอีก โดยทำการประยุกต์แนวความคิดของการโปรแกรมเชิงวัตถุเข้ามาใช้ในภาษา ทำให้เกิดเป็นภาษาใหม่คือ C++ (++ ในความหมายของภาษาซีคือการเพิ่มขึ้นอีกหนึ่งนั่นเอง) ซึ่งเป็นภาษาที่ได้รับความนิยมใช้งานพัฒนาโปรแกรมอย่างมาก

ภาษาซี (C programming language) เป็นภาษาโปรแกรมเชิงโครงสร้างระดับสูงที่ได้รับพัฒนาขึ้นในช่วงทศวรรษ 1970 โดย เคน ธอมป์สัน (Ken Thompson) และ เดนนิส ริทชี่ (Dennis Ritchie) สำหรับใช้ในระบบปฏิบัติการยูนิกซ์ ต่อมาภายหลังได้ถูกนำไปใช้กับระบบปฏิบัติการอื่น ๆ และกลายเป็นภาษาโปรแกรมหนึ่งที่ใช้กันแพร่หลายมากที่สุด ภาษาซีมีจุดเด่นที่ประสิทธิภาพในการทำงาน โปรแกรมคอมพิวเตอร์ที่เขียนด้วยเป็นภาษาซีจึงทำงานได้รวดเร็ว ภาษาซีเป็นภาษาโปรแกรมที่นิยมใช้กันมากสำหรับพัฒนาระบบปฏิบัติการและซอฟต์แวร์ระบบ และเป็นภาษาที่ใช้กันทั่วไปในหลักสูตรวิทยาการคอมพิวเตอร์ตัวอย่างโปรแกรมที่เขียนด้วยภาษาซี
#include
int main()
{
printf("hello, world\n");
return 0;
}


ข้อดีของภาษา C
1.ภาษา C ใช้ได้ในไมโครคอมพิวเตอร์ ตั้งแต่ขนาด 8 บิต 16 บิต 32 บิต มินิคอมพิวเตอร์ หรือ คอมพิวเตอร์ระดับเมนเฟรม มีการพัฒนาการใช้งาน เพื่อให้เป็นมาตรฐาน ไม่ขึ้นกับโปรแกรมจัดระบบงาน หรือ อุปกรณ์ทางอิเล็กทรอนิกส์ (ฮาร์ดแวร์)
2.ภาษา C มีหลายรุ่น มีผู้ผลิตต่างบริษัท แต่มีโครงสร้างคล้ายกัน และสามารถใช้ร่วมกันได้
3.ภาษา C มีความอ่อนตัว สามารถเจาะลงระดับลึกให้เข้ากับฮาร์ดแวร์ ทำงานได้รวดเร็ว และที่สำคัญ ภาษา C เป็นคอมไพเลอร์
4.ภาษา C เป็นภาษาที่มีโครงสร้าง
ข้อเสียของภาษา C
ภาษา C ไม่มีตัวจัดการจองหน่วยความจำในตัวเอง เมื่อเวลาเราต้องการจองหน่วยความจำแบบ Dynamic ภาษา C ทำ wrapper เพื่อติดต่อกับ OS เพื่อขอจองหน่วยความจำโดยตรง ปัญหาก็คือ การติดต่อกันระหว่างโปรแกรมของเรากับ OS เป็นไปอย่างหลวมๆ ถ้าโปรแกรมลืมบอก OS ว่าเลิกจองหน่วยความจำดังกล่าว หน่วยความจำนั้นก็จะถูกจองไปเรื่อยๆ เราจะเห็นเครื่องคอมพิวเตอร์ทำงานได้เร็วในตอนเช้า แต่พอตกบ่ายก็ช้าลงจนทำงานไม่ไหว จนสุดท้ายต้อง boot ใหม่ สาเหตุหลักของปัญหานี้คือ สิ่งที่เรียกว่าหน่วยความจำรั่ว หรือ Memory Leak นั่นแหละค่ะ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น