ประวัติความเป็นมาของภาษาซี
รายงานภาษาคอมพิวเตอร์ ภาษาคอมพิวเตอร์ หมายถึง ภาษาใดๆ ที่ผู้ใช้งานใช้สื่อสาร กับคอมพิวเตอร์ หรือคอมพิวเตอร์ด้วยกัน แล้วคอมพิวเตอร์สามารถ ทำงานตามคำสั่งนั้นได้ คำนี้มักใช้เรียกแทนภาษาโปรแกรม แต่ความ เป็นจริงภาษาโปรแกรมคือส่วนหนึ่งของภาษาคอมพิวเตอร์เท่านั้น และมี ภาษาอื่นๆ ที่เป็นภาษาคอมพิวเตอร์เช่นกัน ยกตัวอย่าง เช่น HTML เป็นทั้งภาษามาร์กอัปและภาษาคอมพิวเตอร์ด้วย แม้ว่ามัน จะไม่ใช่ภาษาโปรแกรม หรือภาษาเครื่องนั้นก็นับเป็นภาษาคอมพิวเตอร์ ซึ่งโดยทางเทคนิคสามารถใช้ในการเขียนโปรแกรมได้ แต่ก็ไม่จัดว่าเป็น ภาษาโปรแกรม ภาษาคอมพิวเตอร์สามารถแบ่งออกเป็นสองกลุ่มคือ ภาษาระดับ สูง (high level) และภาษาระดับต่ำ (low level) ภาษา ระดับสูงถูกออกแบบมาเพื่อให้ใช้งานง่ายและสะดวกสบายมากกว่าภาษา ระดับต่ำ โปรแกรมที่เขียนถูกต้องตามกฎเกณฑ์และไวยากรณ์ของภาษา จะถูกแปล (compile) ไปเป็นภาษาระดับต่ำเพื่อให้คอมพิวเตอร์ สามารถนำไปใช้งานหรือปฏิบัติตามคำสั่งได้ต่อไป ซอฟต์แวร์สมัยใหม่ ส่วนมากเขียนด้วยภาษาระดับสูง แปลไปเป็นออบเจกต์โค้ด (object code) แล้วเปลี่ยนให้เป็นชุดคำสั่งในภาษาเครื่อง ภาษาคอมพิวเตอร์อาจแบ่งกลุ่มได้เป็นอีกสองประเภทคือ ภาษาที่ มนุษย์อ่านออก (human-readable) และภาษาที่มนุษย์อ่านไม่ ออก (non human-readable) ภาษาที่มนุษย์อ่านออกถูก ออกแบบมาเพื่อให้มนุษย์สามารถเข้าใจและสื่อสารได้โดยตรงกับ คอมพิวเตอร์ (แทบทุกชนิดเป็นภาษาอังกฤษ) ส่วนภาษาที่มนุษย์อ่าน ไม่ออกจะมีโค้ดบางส่วนที่ไม่อาจอ่านเข้าใจได้ แต่ออกแบบมาเพื่อให้ โค้ดกระชับซึ่งคอมพิวเตอร์จะสามารถประมวลผลได้ง่ายกว่า ภาษา C
ภาษาซี เป็นการเขียนโปรแกรมพื้นฐาน สามารถประยุกต์ใช้กับ
งานต่างๆได้มากมาย ระบบปฏิบัติการคอมพิวเตอร์ ทางคณิตศาสตร์
โปรแกรมทางไฟฟ้า อิเล็กทรอนิกส์ ไมโครคอนโทรลเลอร์ เช่น
โปรแกรม MATLAB (The MathWorks - MATLAB and
Simulink for Technical Computing) ซึ่งเวลาใช้สามารถ
พิมพ์ชุดคำสั่งภาษาซีเพิ่มเข้าไปในโปรแกรมคำนวณทางคณิตศาสตร์
ประมวลผลทางสัญญาณไฟฟ้า ทางไฟฟ้าสื่อสารก็ได้ ทำให้
ประสิทธิภาพของงานที่ทำดียิ่งขึ้นครับ และยังมีโปรแกรมอื่นๆ ที่มี
ภาษาซีประยุกต์ใช้กันอีกมากมาย ไม่สามารถนำมากล่าวได้หมด ถึง
แม้ว่าภาษาซีอาจจะดูเก่าไปสำหรับคนอื่น แต่ผมว่าควรศึกษาภาษาซีที่
เป็นรากฐานของภาษาอื่นๆเสียก่อน เพราะภาษา C++ จาวา
(Java) ฯลฯ และ ระบบลีนุกซ์ เป็นระบบที่ถูกพัฒนามาจากระบบ
ยูนิกซ์ซึ่งก็เป็นที่รู้กันทั่วไปว่า ภาษาคู่บารมีของระบบปฏิบัติการตระกูล
ยูนิกซ์มีการพัฒนามาจากภาษาซีเช่นกัน
ภาษาซีเป็นภาษาที่บางคนเรียกว่าภาษาระดับกลาง คือไม่เป็น
ภาษาระดับต่ำแบบแอสเซมบลีหรือเป็นภาษาสูงแบบเบสิค โคบอล
ฟอร์แทรน หรือ ปาสคาล เนื่องจากคุณสามารถจะจัดการเกี่ยวกับเรื่อง
ของพอยน์เตอร์ได้อย่างอิสระ และบางทีคุณก็สามารถควบคุมฮาร์ดแวร์
ผ่านทาง ภาษาซี ได้ราวกับคุณเขียนมันด้วยภาษาแอสเซมบลี ด้วย
ข้อดีเหล่านี้เองทำให้โปรแกรมที่ถูกเขียนด้วยภาษาซีมีความเร็วในการ
ปฏิบัติงานสูงกว่าภาษาทั่วๆไป แต่ก็ต้องแลกกับการเรียนรู้และการ
ฝึกฝนอย่างหนัก
ประวัติภาษาซี
ภาษาซีเป็นภาษาที่ถือว่าเป็นทั้งภาษาระดับสูงและระดับต่ำ ถูก
พัฒนาโดยเดนนิส ริดชี (Dennis Ritche) แห่งห้องทดลอง
เบลล์ (Bell Laboratories) ที่เมอร์รีฮิล มลรัฐนิวเจอร์ซี่
โดยเดนนิสได้ใช้หลักการของภาษา บีซีพีแอล (BCPL : Basic
Combine Programming Language) ซึ่งพัฒนาขึ้นโดยเคน
ทอมสัน (Ken Tomson) การออกแบบและพัฒนาภาษาซีของ
เดนนิส ริดชี มีจุดมุ่งหมายให้เป็นภาษาสำหรับใช้เขียนโปรแกรมปฏิบัติ
การระบบยูนิกซ์ และได้ตั้งชื่อว่า ซี (C) เพราะเห็นว่า ซี (C) เป็น
ตัวอักษรต่อจากบี (B) ของภาษา BCPL ภาษาซีถือว่าเป็นภาษา
ระดับสูงและภาษาระดับต่ำ ทั้งนี้เพราะ ภาษาซีมีวิธีใช้ข้อมูลและมี
โครงสร้างการควบคุมการทำงานของโปรแกรมเป็นอย่างเดียวกับภาษา
ของโปรแกรมระดับสูงอื่นๆ จึงถือว่าเป็นภาษาระดับสูง ในด้านที่ถือว่า
ภาษาซีเป็นภาษาระดับต่ำ เพราะภาษาซีมีวิธีการเข้าถึงในระดับต่ำที่สุด
ของฮาร์ดแวร์ ความสามารถทั้งสองด้านของภาษานี้เป็นสิ่งที่เกื้อหนุน
ซึ่งกันและกัน ความสามารถระดับต่ำทำให้ภาษาซีสามารถใช้เฉพาะ
เครื่องได้ และความสามารถระดับสูง ทำให้ภาษาซีเป็นอิสระจาก
ฮาร์ดแวร์ ภาษาซีสามารถสร้างรหัสภาษาเครื่องซึ่งตรงกับชนิดของ
ข้อมูลนั้นได้เอง ทำให้โปรแกรมที่เขียนด้วยภาษาซีที่เขียนบนเครื่อง
หนึ่ง สามารถนำไปใช้กับอีกเครื่องหนึ่งได้ ประกอบกับการใช้พอยน์
เตอร์ในภาษาซี นับได้ว่าเป็นตัวอย่างที่ดีของการเป็นอิสระจากฮาร์ดแวร์
วิวัฒนาการของภาษาซี
- ค.ศ. 1970 มีการพัฒนาภาษา B โดย Ken Thompson ซึ่ง
ทำงานบนเครื่อง DEC PDP-7 ซึ่ง ทำงานบนเครื่องไมโคร
คอมพิวเตอร์ไม่ได้ และยังมีข้อจำกัดในการใช้งานอยู่
(ภาษา B สืบทอดมาจาก ภาษา BCPL ซึ่งเขียนโดย Marth
Richards)
- ค.ศ. 1972 Dennis M. Ritchie และ Ken
Thompson ได้สร้างภาษา C เพื่อเพิ่มประสิทธิภาพ ภาษา B ให้ดี
ยิ่งขึ้น ในระยะแรกภาษา C ไม่เป็นที่นิยมแก่นักโปรแกรมเมอร์โดย
ทั่วไปนัก
- ค.ศ. 1978 Brian W. Kernighan และ Dennis M.
Ritchie ได้เขียนหนังสือเล่มหนึ่งชื่อว่า The C Programming
Language และหนังสือเล่มนี้ทำให้บุคคลทั่วไปรู้จักและนิยมใช้
ภาษา C ในการเขียน โปรแกรมมากขึ้น
- แต่เดิมภาษา C ใช้ Run บนเครื่องคอมพิวเตอร์ 8 bit ภายใต้
ระบบปฏิบัติการ CP/M ของ IBM PC ซึ่งในช่วงปี ค.ศ. 1981
เป็นช่วงของการพัฒนาเครื่องไมโครคอมพิวเตอร์ ภาษา C จึงมี
บทบาทสำคัญในการนำมาใช้บนเครื่อง PC ตั้งแต่นั้นเป็นต้นมา และมี
การพัฒนาต่อมาอีกหลาย ๆ ค่าย ดังนั้นเพื่อกำหนดทิศทางการใช้
ภาษา C ให้เป็นไปแนวทางเดียวกัน ANSI (American
National Standard Institute) ได้กำหนดข้อตกลงที่เรียก
ว่า 3J11 เพื่อสร้างภาษา C มาตรฐานขึ้นมา เรียนว่า ANSI C
- ค.ศ. 1983 Bjarne Stroustrup แห่งห้องปฏิบัติการเบล
(Bell Laboratories) ได้พัฒนาภาษา C++ ขึ้นรายละเอียด
และความสามารถของ C++ มีส่วนขยายเพิ่มจาก C ที่สำคัญ ๆ
ได้แก่ แนวความคิดของการเขียนโปรแกรมแบบกำหนดวัตถุเป้าหมาย
หรือแบบ OOP (Object Oriented Programming) ซึ่งเป็น
แนวการเขียนโปรแกรมที่เหมาะกับการพัฒนาโปรแกรมขนาดใหญ่ที่มี
ความสลับซับซ้อนมาก มีข้อมูลที่ใช้ในโปรแกรมจำนวนมาก จึงนิยมใช้
เทคนิคของการเขียนโปรแกรมแบบ OOP ในการพัฒนาโปรแกรมขนาด
ใหญ่ในปัจจุบันนี้
|
ไม่มีความคิดเห็น:
แสดงความคิดเห็น