ประวัติความเป็นมาภาษาซี
ภาษาซีเป็นภาษาระดับสูง( High-Level-Language) และภาษาโปรแกรมที่โปรแกรมเมอร์นิยมใช้กันมาก เนื่องจากเป็นภาษาที่มีความเร็วในการทำงานสูงใกล้เคียงกับภาษาเครื่อง มีโครงสร้างที่ชัดเจน เข้าใจง่าย สามารถเขียนโปรแกรมเพื่อติดต่อกับฮาร์ดแวร์ของเครื่องคอมพิวเตอร์ได้อย่างดี ภาษาซีเกิดขึ้นในปี ค . ศ .1972 ผู้คิดค้นคือนายเดนนีส ริทชี (Dennis Ritchi) การศึกษาภาษาซีถือว่าเป็นพื้นฐานในการศึกษาภาษาใหม่ ๆ ได้
ขั้นตอนการพัฒนาโปรแกรมภาษาซี
ขั้นตอนที่ 1 เขียนโปรแกรม (source code)
ใช้ editor เขียนโปรแกรมภาษาซีและทำการบันทึกไฟล์ต้นฉบับให้มีนามสกุลเป็น .C จากนั้นให้คอมไพล์โปรแกรมก็จะได้ไฟล์ออบเจ็กต์โค้ดที่มีนามสกุลเป็น .OBJ เมื่อทำการเชื่อมโยงไฟล์เข้ากับไลบรารีคำสั่งด้วย Link ก็จะได้ไฟล์ที่มีนามสกุลเป็น .EXE ที่พร้อมทำงานได้บนเครื่องคอมพิวเตอร์
editor คือ โปรแกรมที่ใช้สำหรับการเขียนโปรแกรม โดยตัวอย่างของ editor ที่นิยมนำมาใช้ในการเขียนโปรแกรมได้แก่ Notepad, Edit ของ Dos ,Text Pad และ Edit Plus เป็นต้น ผู้เขียนโปรแกรมสามารถเลือกใช้โปรแกรมใดในการเรียนโปรแกรมก็ได้ แล้วแต่ความถนัดของแต่ละบุคคล
ขั้นตอนที่ 2 คอมไพล์โปรแกรม (compile)
นำ source code จากขั้นตอนที่ 1 มาทำการคอมไพล์ เพื่อแปลจากภาษาซีที่มนุษย์เข้าใจไปเป็นภาษาเครื่องที่คอมพิวเตอร์เข้าใจได้ ในขั้นตอนนี้คอมไพเลอร์จะทำการตรวจสอบ source code ว่าเกิดข้อผิดพลาดหรือไม่
• หากเกิดข้อผิดพลาด จะแจ้งให้ผู้เขียนโปรแกรมทราบ ผู้เขียนโปรแกรมจะต้องกลับไปแก้ไขโปรแกรม และทำการคอมไพล์โปรแกรมใหม่อีกครั้ง
• หากไม่พบข้อผิดพลาด คอมไพเลอร์จะแปลไฟล์ source code จากภาษาซีไปเป็นภาษาเครื่อง ( ไฟล์นามสกุล .obj) เช่นถ้าไฟล์ source code ชื่อ work.c ก็จะถูกแปลไปเป็นไฟล์ work.obj ซึ่งเก็บภาษาเครื่องไว้เป็นต้น
compile เป็นตัวแปลภาษารูปแบบหนึ่ง มีหน้าที่หลักคือการแปลภาษาโปรแกรมที่มนุษย์เขียนขึ้นไปเป็นภาษาเครื่อง โดยคอมไพเลอร์ของภาษาซี คือ C Compiler ซึ่งหลักการที่คอมไพเลอร์ใช้ เรียกว่า คอมไพล์ (compile) โดยจะทำการอ่านโปรแกรมภาษาซีทั้งหมดตั้งแต่ต้นจนจบ แล้วทำการ แปลผลทีเดียว
นอกจากคอมไพเลอร์แล้ว ยังมีตัวแปลภาษาอีกรูปแบบหนึ่งที่เรียกว่า อินเตอร์พรีเตอร์ การอ่านและ แปลโปรแกรมทีละบรรทัด เมื่อแปลผลบรรทัดหนึ่งเสร็จก็จะทำงานตามคำสั่งในบรรทัดนั้น แล้วจึงทำการแปลผลตามคำสั่งในบรรทัดถัดไป หลักการที่อินเตอร์พรีเตอร์ใช้เรียกว่า อินเตอร์เพรต (interpret )
ข้อดีและข้อเสียของตัวแปลภาษาทั้งสองแบบมีดังนี้
|
ข้อดี |
ข้อเสีย |
คอมไพเลอร์ |
• ทำงานได้เร็ว เนื่องจากทำการแปลผลทีเดียว แล้วจึงทำงานตามคำสั่งของโปรแกรมในภายหลัง
• เมื่อทำการแปลผลแล้ว ในครั้งต่อไปไม่จำเป็น
ต้องทำการแปลผลใหม่อีก นื่องจากภาษาเครื่องที่แปล
ได้จะถูกเก็บไว้ที่หน่วยความจำ สามารถเรียกใช้งาน
ได้ทันที |
• เมื่อเกิดข้อผิดพลาดขึ้นกับโปรแกรมจะตรวจสอบ
หาข้อผิดพลาดได้ยาก เพราะทำการแปลผลทีเดียวทั้ง
โปรแกรม |
อินเตอร์พรีเตอร์ |
• หาข้อผิดพลาดของโปรแกรมได้ง่าย เนื่องจาก
ทำการแปลผลทีละบรรทัด
• เนื่องจากทำงานทีละบรรทัดดังนั้นจึงสั่งให้ โปรแกรมทำงานตามคำสั่งเฉพาะจุดที่ต้องการได้
• ไม่เสียเวลารอการแปลโปรแกรมเป็นเวลานาน
|
• ช้า เนื่องจากที่ทำงานทีละบรรทัด |
ขั้นตอนที่ 3 เชื่อมโยงโปรแกรม (link)
การเขียนโปรแกรมภาษาซีนั้นผู้เขียนโปรแกรมไม่จำเป็นต้องเขียนคำสั่งต่าง ๆ ขึ้นใช้งานเอง เนื่องจากภาษาซีมีฟังก์ชั่นมาตรฐานให้ผู้เขียนโปรแกรมสามารถเรียกใช้งานได้ เช่น การเขียนโปรแกรมแสดงข้อความ “Lampangkanlayanee” ออกทางหน้าจอ ผู้เขียนโปรแกรมสามารถเรียกใช้ฟังก์ชั่น printf() ซึ่งเป็นฟังก์ชั่นมาตรฐานของภาษาซีมาใช้งานได้ โดยส่วนการประกาศ (declaration) ของฟังก์ชั่นมาตรฐานต่าง ๆ จะถูกจัดเก็บอยู่ในเฮดเดอร์ไฟล์แต่ละตัว แตกต่างกันไปตามลักษณะการใช้งาน
ด้วยเหตุนี้ภาษาเครื่องที่ได้จากขั้นตอนที่ 2 จึงยังไม่สามารถนำไปใช้งานได้ แต่ต้องนำมาเชื่อมโยงเข้ากับ library ก่อน ซึ่งผลจากการเชื่อมโยงจะทำให้ได้ executable program ( ไฟล์นามสกุล .exe เช่น work.exe) ที่สามารถนำไปใช้งานได้
ขั้นตอนที่ 4 ประมวลผล (run)
เมื่อนำ executable program จากขั้นตอนที่ 3 มาประมวลผลก็จะได้ผลลัพธ์ (output) ของโปรแกรมออกมา ( ถ้ามี )

โปรแกรมเทอร์โบซี สามารถทำงานบนระบบปฏิบัติการดอสได้เมื่อติดตั้งโปรแกรมในฮาร์ดดิสก์แล้ว ระบบจะเก็บไฟล์ทั้งหมดในไดเร็กทอรีย่อย C:\TC จากนั้นสามารถเรียกใช้ไฟล์ TC.EXE ที่เก็บอยู่ใน C:\TC\BIN จะได้โปรแกรมที่มีหน้าจอดังรูป โดยชื่อไฟล์ที่ตั้งไว้จะชื่อ NONAME00.CPP

สำหรับการใช้งานเทอร์โบซีครั้งแรกควรเซ็ตไดเร็กทอรีต่าง ๆ ให้พร้อมที่จะทำงานเสียก่อนโดยไปที่เมนู Options แล้วเลือกเมนูย่อย Directories แล้วกดคีย์ <Enter> ดังรูป


เลือกไดเร็กทอรี Include และไดเร็กทอรีของไลบรารี โดย include จะเป็นที่สำหรับเก็บไฟล์ส่วนหัวที่โปรแกรมต้องการใช้ ส่วนไลบรารีจะเก็บไลบรารีไฟล์ต่าง ๆ ที่เทอร์โบซีต้องใช้ในการลิงก์ สำหรับไดเร็กทอรีเอาต์พุตจะเป็นตัวกำหนดว่าไฟล์ที่มีนามสกุลเป็น . EXE จะให้เก็บในที่ใด ถ้าหากไม่กำหนดโปรแกรมจะเก็บไว้ในไดเร็กทอรีย่อย C:\TC\BIN
File
|
เป็นเมนูที่ใช้ในการเก็บหรือ save โปรแกรม และเรียกโปรแกรมที่เก็บเอาไว้ขึ้นมา การเข้าสู่เมนู File ทำได้โดยคลิกเมาส์ที่ File จากนั้นจะเกิดเมนูย่อยขึ้นมา |
New |
ใช้สำหรับสร้างไฟล์โปรแกรมใหม่ |
Open |
ใช้สำหรับเปิดไฟล์ที่มีอยู่แล้วขึ้นมาแก้ไขหรือมาแสดงบนหน้าจอ |
Save |
ใช้สำหรับจัดเก็บไฟล์ที่สร้างเอาไว้ |
Save as |
ใช้สำหรับจัดเก็บโดยสามารถตั้งชื่อไฟล์ใหม่ได้ |
Quit |
ใช้สำหรับออกจากโปรแกรม |

เมื่อต้องการคอมไฟล์โปรแกรมให้เลือกเมนู Compile โดยคลิกเมาส์ ถ้าหากมีข้อผิดพลาดโปรแกรมจะแจ้งเตือนออกมาทางหน้าจอ

เมื่อคอมไพล์โปรแกรมเรียบร้อยแล้ว ถ้าหากต้องการรันโปรแกรมดูการทำงาน ก็สามารถเลือกเมนู RUN ได้เลย

สรุป
ภาษาคอมพิวเตอร์ที่ใช้สำหรับเขียนโปรแกรม มีทั้งภาษาระดับต่ำและภาษาระดับสูง ภาษาระดับต่ำได้แก่ ภาษาแอสแซมบลี ส่วนภาษาระดับสูงเป็นภาษาที่ใกล้เคียงกับภาษามนุษย์ ได้แก่ ภาษาปาสคาล ภาษาซี เป็นต้น ในการเขียนโปรแกรมภาษาซี จะต้องใช้โปรแกรมคอมไพเลอร์ในการแปลภาษาให้เป็นภาษาที่เครื่องคอมพิวเตอร์สามารถเข้าใจได้ ตัวแปรภาษาซีที่ใช้งานง่าย ได้แก่ โปรแกรมเทอร์โบซี ในการเขียนโปรแกรมนั้นผู้พัฒนาโปรแกรมจะต้องออกแบบขั้นตอนการพัฒนาอย่างชัดเจน เพื่อใช้ในการเขียนโปรแกรมและแก้ไขโปรแกรมในภายหลัง ขั้นตอนการพัฒนาโปรแกรมได้แก่ การกำหนดและวิเคราะห์ปัญหา การเขียนผังงานและซูโดโค้ด การเขียนโปรแกรม การทดลอง และการแก้ไขโปรแกรม การทำเอกสารประกอบ