ภาษาซี
ภาษาซี

ภาษาซี

ภาษาซี (C) เป็นภาษาโปรแกรมสำหรับวัตถุประสงค์ทั่วไป เริ่มพัฒนาขึ้นระหว่าง พ.ศ. 2512–2516 (ค.ศ. 1969–1973) โดยเดนนิส ริตชี (Dennis Ritchie) ที่เอทีแอนด์ทีเบลล์แล็บส์ (AT&T Bell Labs) [4][5] ภาษาซีเป็นภาษาที่มีความยืดหยุ่นในการเขียนโปรแกรมและมีเครื่องมืออำนวยความสะดวกสำหรับการเขียนโปรแกรมเชิงโครงสร้างและอนุญาตให้มีขอบข่ายตัวแปร (scope) และการเรียกซ้ำ (recursion) ในขณะที่ระบบชนิดตัวแปรอพลวัตก็ช่วยป้องกันการดำเนินการที่ไม่ตั้งใจหลายอย่าง เหมือนกับภาษาโปรแกรมเชิงคำสั่งส่วนใหญ่ในแบบแผนของภาษาอัลกอล การออกแบบของภาษาซีมีคอนสตรักต์ (construct) ที่โยงกับชุดคำสั่งเครื่องทั่วไปได้อย่างพอเพียง จึงทำให้ยังมีการใช้ในโปรแกรมประยุกต์ซึ่งแต่ก่อนลงรหัสเป็นภาษาแอสเซมบลี คือซอฟต์แวร์ระบบอันโดดเด่นอย่างระบบปฏิบัติการคอมพิวเตอร์ ยูนิกซ์ [6]ภาษาซีเป็นภาษาโปรแกรมหนึ่งที่ใช้กันอย่างแพร่หลายมากที่สุดตลอดกาล [7][8] และตัวแปลโปรแกรมของภาษาซีมีให้ใช้งานได้สำหรับสถาปัตยกรรมคอมพิวเตอร์และระบบปฏิบัติการต่าง ๆ เป็นส่วนมากภาษาหลายภาษาในยุคหลังได้หยิบยืมภาษาซีไปใช้ทั้งทางตรงและทางอ้อม ตัวอย่างเช่น ภาษาดี ภาษาโก ภาษารัสต์ ภาษาจาวา จาวาสคริปต์ ภาษาลิมโบ ภาษาแอลพีซี ภาษาซีชาร์ป ภาษาอ็อบเจกทีฟ-ซี ภาษาเพิร์ล ภาษาพีเอชพี ภาษาไพทอน ภาษาเวอริล็อก (ภาษาพรรณนาฮาร์ดแวร์) [3] และซีเชลล์ของยูนิกซ์ ภาษาเหล่านี้ได้ดึงโครงสร้างการควบคุมและคุณลักษณะพื้นฐานอื่น ๆ มาจากภาษาซี ส่วนใหญ่มีวากยสัมพันธ์คล้ายคลึงกับภาษาซีเป็นอย่างมากโดยรวม (ยกเว้นภาษาไพทอนที่ต่างออกไปอย่างสิ้นเชิง) และตั้งใจที่จะผสานนิพจน์และข้อความสั่งที่จำแนกได้ของวากยสัมพันธ์ของภาษาซี ด้วยระบบชนิดตัวแปร ตัวแบบข้อมูล และอรรถศาสตร์ที่อาจแตกต่างกันโดยมูลฐาน ภาษาซีพลัสพลัสและภาษาอ็อบเจกทีฟ-ซีเดิมเกิดขึ้นในฐานะตัวแปลโปรแกรมที่สร้างรหัสภาษาซี ปัจจุบันภาษาซีพลัสพลัสแทบจะเป็นเซตใหญ่ของภาษาซี [9] ในขณะที่ภาษาอ็อบเจกทีฟ-ซีก็เป็นเซตใหญ่อันเคร่งครัดของภาษาซี [10]ก่อนที่จะมีมาตรฐานภาษาซีอย่างเป็นทางการ ผู้ใช้และผู้พัฒนาต่างก็เชื่อถือในข้อกำหนดอย่างไม่เป็นทางการในหนังสือที่เขียนโดยเดนนิส ริตชี และไบรอัน เคอร์นิกัน (Brian Kernighan) ภาษาซีรุ่นนั้นจึงเรียกกันโดยทั่วไปว่า ภาษาเคแอนด์อาร์ซี (K&R C) ต่อมา พ.ศ. 2532 สถาบันมาตรฐานแห่งชาติของสหรัฐอเมริกา (ANSI) ได้ตีพิมพ์มาตรฐานสำหรับภาษาซีขึ้นมา เรียกกันว่า ภาษาแอนซีซี (ANSI C) หรือ ภาษาซี89 (C89) ในปีถัดมา องค์การระหว่างประเทศว่าด้วยการมาตรฐาน (ISO) ได้อนุมัติให้ข้อกำหนดเดียวกันนี้เป็นมาตรฐานสากล เรียกกันว่า ภาษาซี90 (C90) ในเวลาต่อมาอีก องค์การฯ ก็ได้เผยแพร่ส่วนขยายมาตรฐานเพื่อรองรับสากลวิวัตน์ (internationalization) เมื่อ พ.ศ. 2538 และมาตรฐานที่ตรวจชำระใหม่เมื่อ พ.ศ. 2542 เรียกกันว่า ภาษาซี99 (C99) มาตรฐานรุ่นปัจจุบันก็ได้รับอนุมัติเมื่อเดือนธันวาคม พ.ศ. 2554 เรียกกันว่า ภาษาซี12 (C12) [11]

ภาษาซี

ระบบปฏิบัติการ ข้ามแพลตฟอร์ม
กระบวนทัศน์ เชิงคำสั่ง (เชิงกระบวนงาน), เชิงโครงสร้าง
ออกแบบโดย เดนนิส ริตชี
ตัวแปลภาษาหลัก GCC, Clang, Intel C, MSVC, Pelles C, Watcom C
รุ่นเสถียร ภาษาซี11 (ธันวาคม พ.ศ. 2554)
นามสกุลของไฟล์ .c, .h
เริ่มเมื่อ พ.ศ. 2515[1]
ส่งอิทธิพลต่อ มากมาย: เอเอ็มพีแอล, ออว์ก, ซีเชลล์, ซีพลัสพลัส, ซีไมนัสไมนัส, ซีชาร์ป, อ็อบเจกทีฟ-ซี, บิตซี, ดี, โก, รัสต์, จาวา, จาวาสคริปต์, ลิมโบ, แอลพีซี, เพิร์ล, พีเอชพี, ไพก์, โพรเซสซิง, ซี้ด7, เวอริล็อก (เอชดีแอล)[3]
ภาษาย่อย ไซโคลน, ยูนิฟายด์แพเรอเลลซี, สปลิต-ซี, ซิลก์, ซีสตาร์
ระบบชนิดตัวแปร อพลวัต, ไม่รัดกุม, แมนิเฟสต์, nominal
ได้รับอิทธิพลจาก บี (บีซีพีแอล, ซีพีแอล), อัลกอล 68,[2] แอสเซมบลี, พีแอล/วัน, ฟอร์แทรน
ผู้พัฒนา เดนนิส ริตชี & เบลล์แล็บส์ (ผู้สร้าง);
ANSI X3J11 (แอนซีซี);
ISO/IEC JTC1/SC22/WG14 (ไอโซซี)

แหล่งที่มา

WikiPedia: ภาษาซี http://cs.anu.edu.au/courses/ENGN3213/lectures/lec... http://cm.bell-labs.com/cm/cs/who/dmr/chist.html http://www.c-faq.com/ http://www.coding-guidelines.com/cbook/cbook1_2.pd... http://groups.google.com/group/comp.lang.c/msg/20b... http://www.linuxjournal.com/article/6863 http://www.scribd.com/doc/16306895/Draft-ANSI-C-Ra... http://www.cs.ucr.edu/~nxiao/cs10/errors.htm http://doc.cat-v.org/bell_labs/new_c_compilers/new... http://www.catb.org/jargon/html/N/nasal-demons.htm...