วันจันทร์ที่ 29 ธันวาคม พ.ศ. 2557

ประวัติและวิวัฒนาการของภาษาซี


        ภาษาซี เป็นการเขียนโปรแกรมพื้นฐาน สามารถประยุกต์ใช้กับงานต่างๆได้มากมาย ระบบปฏิบัติการคอมพิวเตอร์ ทางคณิตศาสตร์ โปรแกรมทางไฟฟ้า อิเล็กทรอนิกส์ ไมโครคอนโทรลเลอร์ เช่น โปรแกรม MATLAB (The MathWorks - MATLAB and Simulink for Technical Computing) ซึ่งเวลาใช้สามารถพิมพ์ชุดคำสั่งภาษาซีเพิ่มเข้าไปในโปรแกรมคำนวณทางคณิตศาสตร์ ประมวลผลทางสัญญาณไฟฟ้า ทางไฟฟ้าสื่อสารก็ได้ ทำให้ประสิทธิภาพของงานที่ทำดียิ่งขึ้นครับ และยังมีโปรแกรมอื่นๆ ที่มีภาษาซีประยุกต์ใช้กันอีกมากมาย ไม่สามารถนำมากล่าวได้หมด ถึงแม้ว่าภาษาซีอาจจะดูเก่าไปสำหรับคนอื่น แต่ผมว่าควรศึกษาภาษาซีที่เป็นรากฐานของภาษาอื่นๆเสียก่อน เพราะภาษาC++ จาวา (Java) ฯลฯ และ ระบบลีนุกซ์ เป็นระบบที่ถูกพัฒนามาจากระบบยูนิกซ์ซึ่งก็เป็นที่รู้กันทั่วไปว่า ภาษาคู่บารมีของระบบปฏิบัติการตระกูลยูนิกซ์มีการพัฒนามาจากภาษาซีเช่นกัน
        ภาษาซีเป็นภาษาที่บางคนเรียกว่าภาษาระดับกลาง คือไม่เป็นภาษาระดับต่ำแบบแอสเซมบลีหรือเป็นภาษาสูงแบบ เบสิค โคบอล ฟอร์แทรน หรือ ปาสคาล เนื่องจากคุณสามารถจะจัดการเกี่ยวกับเรื่องของพอยน์เตอร์ได้อย่างอิสระ และบางทีคุณก็สามารถควบคุมฮาร์ดแวร์ผ่านทาง ภาษาซี ได้ราวกับคุณเขียนมันด้วยภาษาแอสเซมบลี ด้วยข้อดีเหล่านี้เองทำให้โปรแกรมที่ถูกเขียนด้วยภาษาซีมีความเร็วในการปฏิบัติงานสูงกว่าภาษาทั่วๆไป แต่ก็ต้องแลกกับการเรียนรู้และการฝึกฝนอย่างหนัก

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

เดนนิส ริดชี (Dennis Ritche)   ผู้ให้กำเนิดภาษาซี

                ภาษาซีเป็นภาษาที่ถือว่าเป็นทั้งภาษาระดับสูงและระดับต่ำ ถูกพัฒนาโดยเดนนิส ริดชี (Dennis Ritche) แห่งห้องทดลองเบลล์ (Bell Laboratories) ที่เมอร์รีฮิล มลรัฐนิวเจอร์ซี่ โดยเดนนิสได้ใช้หลักการของภาษา บีซีพีแอล (BCPL : Basic Combine Programming Language) ซึ่งพัฒนาขึ้นโดยเคน ทอมสัน (Ken Tomson) การออกแบบและพัฒนาภาษาซีของเดนนิส ริดชี มีจุดมุ่งหมายให้เป็นภาษาสำหรับใช้เขียนโปรแกรมปฏิบัติการระบบยูนิกซ์ และได้ตั้งชื่อว่า ซี (C) เพราะเห็นว่า ซี (C) เป็นตัวอักษรต่อจากบี (B) ของภาษา BCPL ภาษาซีถือว่าเป็นภาษาระดับสูงและภาษาระดับต่ำ ทั้งนี้เพราะ ภาษาซีมีวิธีใช้ข้อมูลและมีโครงสร้างการควบคุมการทำงานของโปรแกรมเป็นอย่างเดียวกับภาษาของโปรแกรมระดับสูงอื่นๆ จึงถือว่าเป็นภาษาระดับสูง ในด้านที่ถือว่าภาษาซีเป็นภาษาระดับต่ำ เพราะภาษาซีมีวิธีการเข้าถึงในระดับต่ำที่สุดของฮาร์ดแวร์ ความสามารถทั้งสองด้านของภาษานี้เป็นสิ่งที่เกื้อหนุนซึ่งกันและกัน ความสามารถระดับต่ำทำให้ภาษาซีสามารถใช้เฉพาะเครื่องได้ และความสามารถระดับสูง ทำให้ภาษาซีเป็นอิสระจากฮาร์ดแวร์ ภาษาซีสามารถสร้างรหัสภาษาเครื่องซึ่งตรงกับชนิดของข้อมูลนั้นได้เอง ทำให้โปรแกรมที่เขียนด้วยภาษาซีที่เขียนบนเครื่องหนึ่ง สามารถนำไปใช้กับอีกเครื่องหนึ่งได้ ประกอบกับการใช้พอยน์เตอร์ในภาษาซี นับได้ว่าเป็นตัวอย่างที่ดีของการเป็นอิสระจากฮาร์ดแวร์

วิวัฒนาการของภาษาซี
ค.ศ. 1970 มีการพัฒนาภาษา โดย Ken Thompson ซึ่งทำงานบนเครื่อง DEC PDP-7 ซึ่ง ทำงานบนเครื่องไมโครคอมพิวเตอร์ไม่ได้ และยังมีข้อจำกัดในการใช้งานอยู่ (ภาษา สืบทอดมาจาก ภาษา BCPL ซึ่งเขียนโดย Marth Richards)
ค.ศ. 1972 Dennis M. Ritchie และ Ken Thompson ได้สร้างภาษา เพื่อเพิ่มประสิทธิภาพ ภาษา ให้ดียิ่งขึ้น ในระยะแรกภาษา ไม่เป็นที่นิยมแก่นักโปรแกรมเมอร์โดยทั่วไปนัก
ค.ศ. 1978 Brian W. Kernighan และ Dennis M. Ritchie ได้เขียนหนังสือเล่มหนึ่งชื่อว่า The C Programming Language และหนังสือเล่มนี้ทำให้บุคคลทั่วไปรู้จักและนิยมใช้ภาษา ในการเขียน โปรแกรมมากขึ้น
แต่เดิมภาษา ใช้ Run บนเครื่องคอมพิวเตอร์ 8 bit ภายใต้ระบบปฏิบัติการ CP/M ของ IBM PC ซึ่งในช่วงปี ค. ศ. 1981 เป็นช่วงของการพัฒนาเครื่องไมโครคอมพิวเตอร์ ภาษา จึงมี บทบาทสำคัญในการนำมาใช้บนเครื่อง PC ตั้งแต่นั้นเป็นต้นมา และมีการพัฒนาต่อมาอีกหลาย ๆ ค่าย ดังนั้นเพื่อกำหนดทิศทางการใช้ภาษา ให้เป็นไปแนวทางเดียวกัน ANSI (American National Standard Institute) ได้กำหนดข้อตกลงที่เรียกว่า 3J11 เพื่อสร้างภาษา มาตรฐานขึ้นมา เรียนว่า ANSI C
ค.ศ. 1983 Bjarne Stroustrup แห่งห้องปฏิบัติการเบล (Bell Laboratories) ได้พัฒนาภาษา C++ ขึ้นรายละเอียดและความสามารถของ C++ มีส่วนขยายเพิ่มจาก ที่สำคัญ ๆ ได้แก่ แนวความคิดของการเขียนโปรแกรมแบบกำหนดวัตถุเป้าหมายหรือแบบ OOP (Object Oriented Programming) ซึ่งเป็นแนวการเขียนโปรแกรมที่เหมาะกับการพัฒนาโปรแกรมขนาดใหญ่ที่มีความสลับซับซ้อนมาก มีข้อมูลที่ใช้ในโปรแกรมจำนวนมาก จึงนิยมใช้เทคนิคของการเขียนโปรแกรมแบบ OOP ในการพัฒนาโปรแกรมขนาดใหญ่ในปัจจุบันนี้

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

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

Disney Mickey Mouse Glitter Disney Mickey Mouse Glitter