ความเป็นมาของภาษาคอมพิวเตอร์
Ans ภาษาคอมพิวเตอร์เป็นภาษาชนิดหนึ่งที่ใช้ในการสื่อสาร ระหว่างผู้ใช้งานคอมพิวเตอร์กับคอมพิวเตอร์ เพื่อถ่ายทอดความต้องการของผู้ใช้งานให้คอมพิวเตอร์ได้รับทราบถึงความต้องการ เราจึงได้มีการกำหนดภาษาขึ้นมาเพื่อใช้เป็นสื่อกลางระหว่างคนกับคอมพิวเตอร์เพื่อใช้ในการป้อนคำสั่งให้มีความเข้าใจตรงกัน
ซึ่งภาษานี้เราเรียกว่า “ ภาษาคอมพิวเตอร์” และภาษาคอมพิวเตอร์ยังมี สัญลักษณ์
ต่างๆ ที่ใช้กำหนด เช่นเดียวกับทุกๆ ภาษา ภาษาคอมพิวเตอร์มีอยู่หลายชนิดแต่มีลักษณะที่คล้ายคลึงกันทุกภาษาคือ คำสั่งต่อไปนี้
1. คำสั่งรับข้อมูลและแสดงผล
2. คำสั่งคำนวณ โปรแกรม
3. คำสั่งที่มีการเลือกทิศทาง
4. คำสั่งให้นำโปรแกรมหรือข้อมูล
ภาษาเครื่อง (Machine Language) ซึ่งประกอบด้วยเลขฐานสองล้วน ๆ ภาษาคอมพิวเตอร์ แบ่งออกได้ ดังนี้ * ภาษาระดับต่ำ (Low Level Languages) * ภาษาระดับสูง (High Level Languages) * ภาษาระดับสูงมาก (Very High Level Languages) * ภาษาเชิงวัตถุ (Object-oriented Languages) * ภาษาธรรมชาติ (Natural Languages)
ความแตกต่างระหว่างภาษาระดับต่ำและภาษาระดับสูง
Ans ภาษาระดับต่ำ
หมายถึง ภาษาที่ยังใกล้เคียงกับภาษาเครื่องมาก ภาษานี้ยังใช้สัญลักษณ์ต่างๆแทนตัวเลขฐานสองซึ่งยุ่งยาก เช่น ถ้าสั่งให้บวกก็ใช้สัญลักษณ์ A ถ้าสั่งให้ลบก็ใช้สัญลักษณ์ S ผู้ใช้ต้องเขียนคำสั่งเองโดยใช้เลขฐานสอง ภาษาระดับต่ำเป็นภาษาที่ใช้ในยุคแรก ๆ จะมีความยุ่งยากในการเขียนมาก
Ans ภาษาระดับสูง
ภาษาระดับสูง เป็นภาษาที่ง่ายต่อการเรียนรู้และการนำไปใช้งาน สามารถทำงานบนเครื่องคอมพิวเตอร์ต่างชนิดกันได้ โปรแกรมที่เขียนขึ้นด้วยภาษาระดับสูง จำเป็นต้องมีตัวแปลภาษาเพื่อให้เป็นภาษาเครื่องที่คอมพิวเตอร์เข้าใจ โดยโปรแกรมแปลภาษามี 2 ประเภท คือ คอมไพเลอร์ และอินเตอร์พรีเตอร์ เป็นภาษาที่ใช้ง่ายขึ้นกว่าภาษาสัญลักษณ์ โดยผู้คิดค้นภาษาได้ออกแบบคำสั่ง ไวยากรณ์ และ กฏเกณฑ์ต่างๆ ออกมาให้รัดกุม และจำได้ง่าย
สัญลักษณ์คือ ตัวแปลภาษาให้เป็นโปรแกรมภาษาเครื่องก่อน คอมพิวเตอร์จึงจะเข้าใจและทำงานให้ได้ ได้แก่
- ภาษาฟอร์แทรน - ภาษาโคบอล - ภาษาเบสิค - ภาษาปาสคาล - ภาษาซี
ภาษาที่น่าสนใจ
Ans ภาษาที่น่าสนใจในชีวิตประจำวันสำหรับตัวข้าพเจ้าคิดว่า ภาษาซี
เหตุผลเพราะ ภาษาซีนั้นจัดเป็นภาษาที่ใช้ในการเขียนโปรแกรมที่นิยมใช้งาน ซึ่งภาษาซีจัดเป็นภาษาระดับกลาง (Middle-Level Language) เหมาะกับการเขียนโปรแกรมแบบโครงสร้าง (Structured Programming) โดยมีคุณสมบัติโดดเด่นอย่างหนึ่งคือ มีความยืดหยุ่นมาก คือ สามารถทำงานกับเครื่องมือต่างๆ สามารถปรับเปลี่ยนการเขียนโปรแกรมในรูปแบบต่างๆได้ เช่น สามารถเขียนโปรแกรมที่มีความยาวหลายบรรทัดให้เหลือความยาว 2-3 บรรทัดได้ โดยมีการผลการทำงานที่เหมือนเดิมครับเหตุผลที่ควรเรียนภาษาซีก็เนื่องจากภาษาซีเป็นภาษาแบบโครงสร้างที่สามารถศึกษาและทำความเข้าใจได้ไม่ยาก อีกทั้งยังสามารถเป็นพื้นฐานในการเขียนโปรแกรมภาษาอื่นๆ ได้อีก เช่น C++, Perl, JAVA เป็นต้น
ประวัติความเป็นมาของภาษา C
ภาษา C คิดค้นขึ้นเป็นครั้งแรกโดย เดนนิส ริทชี่[Dennis Ritchie] ที่ห้องแล็บเบล [Bell Labs] ในปี ค.ศ.1972 โดยได้แนวคิดมาจากภาษา BCPL พัฒนาขึ้นโดย มาร์ติน ริชาร์ด[Martin Richards] และภาษา B ที่เขียนขึ้นโดย เคน ทอมพ์สัน[Ken Thompson] เพื่อนำมาพัฒนาต่อจนได้ภาษาใหม่ที่มีประสิทธิภาพการทำงานสูง หลังจากนั้นในปี ค.ศ.1978 ภาษา C จึงได้รับการเผยแพร่อย่างเป็นทางการโดยเคอร์นิกแฮน[Kernighan]และเดนนิสริทชี่เป็นภาษาที่เก่าแก่ถือกำเนิดมายาวนาน โดยแต่เดิมนั้นภาษา C ถูกพัฒนาขึ้นเพื่อให้เป็นภาษาสำหรับการสร้างระบบปฏิบัติการยูนิกซ์ เนื่องจากในขณะนั้นระบบปฏิบัติการยูนิกซ์เขียนด้วยภาษาแอสเซมบลี [Assembly] ซึ่งเป็นภาษาที่ยึดติดกับฮาร์ดแวร์ของเครื่อง ดังนั้นการที่จะย้ายระบบปฏิบัติการไปใช้ กับเครื่องอื่นจึงเป็นเรื่องที่เป็นไปไม่ได้เลยซึ่งนับเป็นข้อเสียใหญ่ของภาษาแอสเซมบลีดังนั้นภาษาCซึ่งเป็นภาษาที่ไม่ยึดติดกับฮาร์ดแวร์จึงถูกพัฒนาขึ้นมาในปัจจุบันภาษาCไม่ ได้จำกัดอยู่เพียงแค่งานสร้างระบบปฏิบัติการเท่านั้น แต่สามารถนำไปใช้สร้างโปรแกรมเพื่องานในทุกประเภท เช่น งานเกี่ยวกับการคำนวณ ควบคุมการทำงานของอุปกรณ์/ฮาร์ดแวร์ชนิดต่างๆ การจัดการฐานข้อมูล หรือสร้างโปรแกรมสำหรับจัดพิมพ์เอกสาร เป็นต้น
จุดกำเนิดของภาษา C นั้น เกิดมาจาก UNIX ผู้ออกแบบภาษา UNIX ต้องการให้ OS ของตัวเอง สามารถใช้งานได้บนเครื่องต่างๆ กัน แต่การที่จะต้อง Implement UNIX โดยใช้ภาษา Assembly ของแต่ละเครื่อง เป็นสิ่งที่ยุ่งยากเกินไป ผู้ออกแบบ UNIX จึงสร้างภาษากลางภาษาหนึ่ง ซึ่ง UNIX ทั้งตัวเขียนจากภาษาดังกล่าว ดังนั้นเมื่อต้องการ ให้ UNIX ใช้ งานได้บนเครื่องใด ก็ให้สร้างคอมไพเลอร์ของภาษากลางบนเครื่องนั้นก่อน คอมไพเลอร์จะแปล โปรแกรมให้เป็นภาษาเครื่อง ทำให้ลดความซับซ้อนลงมาก ภาษากลางดังกล่าวก็คือ ภาษา C นั่นเองครับ
จุดเด่นของภาษาซี
ภาษา C มีจุดเด่น คือ สั้น กะทัดรัด ภาษา C มี รูปแบบย่อทำให้เขียนสั้นลงอยู่มาก ซึ่งข้อดีก็คือ สั้นดีครับ แต่ข้อเสีย ก็คือ ซับซ้อน อ่านยาก เวลาอ่านก็เหมือนกับการแก้สมการ คุณอาจจะบอกว่า คุณเลือกที่จะเขียนแบบไม่ซับซ้อนก็ได้ แต่พูดยากครับ คุณไม่เขียน แต่คนอื่นเขาเขียนครับ ถ้าคุณไม่เรียนรู้เสียเลย คุณก็อ่าน Code คน อื่นไม่รู้เรื่อง และการใช้ วงเล็บปีกกา ซึ่งดูคล้ายกับวงเล็บธรรมดา เวลาเขียนโปรแกรมก็สับสนพอสมควร จุดอ่อนอีกจุดหนึ่งที่สำคัญของภาษา C ก็คือ ภาษา C มองทุกอย่างเป็น Case Sensitive ทำให้เขียนโปรแกรมแล้วหลงเรื่อง Case เป็นประจำ
จุดเด่นที่สุดของภาษา C คือการรองรับ pointer นั้นอาจจะมองได้ว่าคือจุดอ่อนที่สุดของภาษา C ทำไมถึงเป็นเช่นนั้น pointer คือความสามารถที่ภาษา อนุญาตให้เราสามารถอ่านเขียนหน่วยความจำได้โดยตรง ซึ่งประสิทธิภาพสูงมาก (สูสีกับภาษา Assembly) เปรียบ ได้กับเราเปิดร้านขายของชำ แล้วบอกลูกค้าว่า เพื่อความรวดเร็ว ไปหยิบของเองเลย แล้วมาจ่ายเงินก็แล้วกัน ซึ่งวิธีนี้เร็วมากครับ ลูกค้าไม่ต้องรอเราเป็นผู้หยิบให้เลย เขาหยิบได้เอง แต่ความสะดวกนี้ ก็ต้องแลกครับ ถ้าลูกค้าคนนั้นเมา เดินเตะของพังหมด หรืออาจจะขโมยด้วยซ้ำ ยุ่งมากครับ โดยความเห็นส่วนตัวแล้ว ผมว่าจุดนี้มีผลเสียร้ายแรง โปรแกรมที่เขียนด้วยภาษา C ส่วนมากแล้ว ถึงแม้จะคอมไพล์ผ่านแล้ว น้อยโปรแกรมครับ ที่จะทำงานได้โดยไม่รวนระบบ เวลาเขียนโปรแกรมภาษา C ต้องเผื่อว่าการ debug โปรแกรมไว้ให้มาก
อีกปัญหาหนึ่ง ก็คือตัวของภาษา C ไม่มีตัวจัดการจองหน่วยความจำในตัวเอง เมื่อเวลาเราต้องการจองหน่วยความจำแบบ Dynamic ภาษา C ทำ wrapper เพื่อติดต่อกับ OS เพื่อขอจองหน่วยความจำโดยตรง ปัญหาก็คือ การติดต่อกันระหว่างโปรแกรมของเรากับ OS เป็นไปอย่างหลวมๆ ถ้าโปรแกรมลืมบอก OS ว่า เลิกจองหน่วยความจำดังกล่าว หน่วยความจำนั้นก็จะถูกจองไปเรื่อยๆ เราจะเห็นเครื่องคอมพิวเตอร์ทำงานได้เร็วในตอนเช้า แต่พอตกบ่ายก็ช้าลงจนทำงานไม่ไหว จนสุดท้ายต้อง boot ใหม่ สาเหตุหลักของปัญหานี้คือ สิ่งที่เรียกว่าหน่วยความจำรั่ว หรือ Memory Leak ก็เรื่องจองแล้วลืมเอาคืนนั่นแหละครับ
ภาษาเคย C ถูกใช้เป็นบทพิสูจน์ว่าคุณเป็นโปรแกรมเมอร์ระดับดีหรือไม่ ถ้าโปรแกรมเมอร์คนไหน เขียนภาษา C ไม่ได้ เขาจะดูถูกเอา ภาษา C จึงดูเป็นของโก้เก๋ เอาไปคุยข่มกันได้ ในยุคหนึ่งมีการกล่าวกันว่า ถ้าคุณเขียนภาษา C ไม่เป็น คุณไม่ใช่โปรแกรมเมอร์ที่แท้จริง แต่ผมว่า โปรแกรมเมอร์ที่แท้จริงตายไปเยอะแล้วครับ
เห็นผมบ่นภาษา C แต่คงต้องบอกก่อนว่า ผมรักภาษา C มากที่สุด ก็ผมโตมากับมันนี่ครับ วันนี้ภาษา C ก็เสื่อมความนิยมไปมากแล้ว ตั้งแต่ GUI OS อย่าง Windows เข้ามามีบทบาท ภาษา C ปรับตัวเองเข้ากับการเขียนโปรแกรมแบบ GUI ไม่ค่อยได้ จึงเสื่อมความนิยมไปเกือบหมด คงเหลือแต่การใช้งานบน UNIX เท่านั้นครับ ที่ยังคงพอใช้ภาษา C กันอยู่
จุดเด่นของภาษาซีอีกข้อก็คือ เรามีหนังสือ Algorithms ดีๆ ที่ใช้ภาษา C อ้างอิงอยู่มากครับ ถ้าคุณต้องการศึกษา Algorithm คุณจะไม่ผิดหวังครับจากหนังสือภาษา C
จุดเด่นของภาษาซีในปัจจุบันภาษา C ได้รับการยอมรรับและใช้งานกันอย่างกว้างขวาง ซึ่งน่าจะเป็นสาเหตุมาจากภาษา C เป็นภาษาที่มีการกำหนดมาตรฐานสำหรับเครื่องคอมพิวเตอร์ทุกรุ่น [IBM PC, Mac, …] และระบบปฎิบัติการทุกชนิด [Windows, Unix, Linux, …] ทำให้โครงสร้างทางภาษา ฟังก์ชันและไลบราลี[Library] ต่างๆสามารถนำไปใช้งานระหว่างเครื่องแต่ละรุ่นและระบบปฏิบัตการแต่ละชนิดได้ ปัจจุบันนี้มีการพัฒนาตัวแปลภาษา C ขึ้น มา สำหรับใช้กับเครื่องทุกรุ่น และระบบปฏิบัตการทุกชนิด ดังนั้นไม่ว่าจะใช้เครื่องรุ่นใด และใช้ระบบปฏิบัติการชนิดใดก็ตาม ก็สามารถเขียนโปรแกรม
ภาษาซีได้
โปรแกรมที่เขียนด้วยภาษา C มีขนาดเล็กและทำงานได้เร็ว
ภาษา C มี โครงสร้างทางภาษาที่ดี และเครื่องหมายสำหรับดำเนินการ ไม่ว่าจะเป็นการคำนวณทางคณิตศาสตร์ ตรรกศาสตร์ หรือการเปรียบเทียบ มีประสิทธิภาพการทำงานสูงสามารถเขียนคำสั่งภาษา C เพื่อ ควบคุมการทำงานของอุปกรณ์ฮาร์ดแวร์บางส่วนได้มีฟังก์ช้นสำเร็จรูปสำหรับงาน ประเภทต่างๆ ให้เลือกใช้มากมาย ซึ่งช่วยประหยัดเวลาใสการเขียนคำสั่ง นอกจากนี้ถ้าฟังก์ชันที่ภาษา C เตรียมไว้ให้ ใช้งานได้ไม่ตรงตามต้องการทั้งหมด เราสามรถ
เขียนคำสั่งเพิ่มเติมลงไปได้
การนำภาษา C ไปใช้งาน
ถึงแม้ว่าเริ่มแรกของการพัฒนาภาษาcถูกใช้งานเกี่ยวกับการสร้างระบบปฏิบิตการเป็นหลักแต่เนื่องจากข้อดีหลายประการและความง่ายของภาษา ทำให้ภาษา C ได้รับความนิยมอย่างแพร่หลาย โดยมีการเขียนโปรแกรมด้วยภาษา C เพื่อใช้งานประเภทต่างๆมากมาย สรุปเป็นหัวข้อได้ดังนี้สร้างระบบปฏิบัติการ ภาษา C ถูกนำไปใช้เขียนโปรแกรมเพื่อสร้างระบบปฏิบัติการ [Operating System] อย่างเช่น ยูนิกซ์ ซึ่งเป็นวัตถุประสงค์แรกที่ทำให้มีการคิดค้นภาษา C ขึ้นมางานทางด้านควบคุมอุปกรณ์ฮาร์ดแวร์ เนื่องจากภาษา C เป็นภาษาระดับกลาง ทำความเข้าใจได้ง่ายและสามารถเขียนคำสั่งเพื่อติดต่อกับอุปกรณ์ฮาร์ดแวร์ได้สะดวก ดังนั้นภาษา Cจึง ถูกนำมาใช้เพื่อควบคุมการทำงานของเครื่องจักรกล อุปกรณ์พวกไอซี หรือสร้างเป็นไดรเวอร์ของอุปกรณ์ฮาร์ดแวร์สร้างโปรแกรมสำหรับจัดพิมพ์เอกสาร และโปรแกรมเกี่ยวกับการป้อนงานและจัดลำดับการพิมพ์งานของเครื่องพิมพ์สร้าง ตัวแปลภาษาอื่น ภาษา C สามารถนำไปใช้เพื่อสร้างตัวแปลภาษาอื่นได้ จากที่กล่าวไปแล้วว่าภาษา C เขียนง่ายและติดต่อกับอุปกรณ์ฮาร์ดแวร์ได้สะดวก ดังนั้นภาษา C จึงถูกนำไปใช้สร้างตัวแปลภาษาเพื่อแปลจากภาษาระดับสูงเป็นภาษาเครื่องสร้างโปรแกรมเพื่อใช้สำหรับงานทั่วไป อย่างเช่น โปรแกรมคำนวณบัญชี โปรแกรมจัดการฐานข้อมูล[Database] โปรแกรมสำหรับการจัดการกับไดเร็คทอรีและไฟล์ หรือโปรแกรมอำนวยความสะดวกกับการทำงานทั่วไปตามความต้องการของเราภาษา C เป็นรากฐานที่สำคัญของภาษาใหม่จำนวนมาก หลังจากที่ภาษา C คิดค้นขึ้นมา และมีการยอมรับกันอย่างแพร่หลาย ภาษา C จึงถูกนำไปใช้เป็นต้นแบบของภาษาใหม่ๆ ที่เกิดขึ้นมาในระยะหลังเป็นจำนวนมาก โดยเฉพาะภาษาที่ใช้สำหรับการเขียนโปรแกรมบนเว็บ อย่างเช่น Perl, PHP ดังนั้นถ้าสามารถเขียนโปรแกรมด้วยภาษา C ได้ จึงเป็นเรื่องง่ายที่จะเรียนรู้ภาษาอื่นๆต่อไป
การออกแบบภาษา C เข้าลักษณะภาษาเฉพาะกิจ ผู้ออกแบบ คงไม่ได้คาดว่า มันจะเป็นที่นิยมมากในเวลาต่อมา ดังนั้นเป้าหมายตอนออกแบบคือเน้น Productivity มากกว่าเน้นความสวยงาม ดังนั้นภาษา C จึงดูค่อนข้างยากเมื่อเทียบกับภาษาอื่นๆ ภาษา C มี จุดเด่นอยู่หลายข้อ แต่ที่กล่าวว่าเป็นจุดเด่น แต่ละข้อนั้น บางคนก็ว่า มันคือจุดด้อยต่างหาก ผมว่ามันขึ้นอยู่กับรสนิยมของผู้ใช้งานเหมือนกัน
ตัวอย่างภาษาC
#include
#include
main()
{
clrscr();
cout<<"My name is Chotikan phoo-ra-worn \n";
cout<<"Nick name pair \n";
cout<<"age 18 year old\n";
cout<<"Address 89 T.Tatai A.Sanhaio Chiangmai 50210\n";
cout<<"Institute Samutsongkhram Technical College\n";
cout<<"Section Information Technorogy\n";
cout<<"Father Name\n";
cout<<"Ranawan phoo-ra-worn \n";
cout<<"Mother Name\n";
cout<<"Sujitarpa Duongkun\n";getch();
return 0;
}
ไม่มีความคิดเห็น:
แสดงความคิดเห็น