ได้มีโอกาสทำงานด้วย ภาษา C โดย run บน DOS ตอนเริ่มทำ project ก็เริ่มจากอ่าน text book จำชื่อไม่ค่อยได้ อาจจะชื่อ C Programming หรือ Programming in C ประมาณนี้ เล่มไม่ใหญ่มาก แต่เขียนอ่านง่าย ทีนี้ระบบงานส่วนใหญ่ที่ทำนั้นสิ่งสำคัญก็คือ การออกแบบหน้าจอ การจัดตำแหน่งของ field ต่างๆ การทำสี ตัวหนา ตัวกระพริบ ถ้าใช้ C คงจะเหนื่อยหนักทีเดียว ก็เลยใช้ซอฟแวร์ชื่อว่า PowerScreen มาเป็นตัวช่วย คือจะช่วยจัดการในเรื่องต่างๆ ที่เกี่ยวกับ user interface ทั้งหลายบนจอภาพ วิธีการก็คือ ที่ตัว PowerScreen จะมีหัวข้อให้กำหนดรูปภาพของจอภาพ (ต็องไม่ลืมว่าสมัยที่เป็น dos นั้น เป็น text mode ไม่ใช่ GUI อย่างปัจจุบันนี้) แล้วก็กำหนด attribute ให้กับ field ต่างๆบนจอภาพ เมื่อจะใช้งาน ก็ไป call PowerScreen และก็ส่ง parameter ต่างๆ ให้สอดคล้องกับ field ที่กำหนดของจอภาพนั้นๆ รายละเอียดและวิธีการจำไม่ได้แล้ว จากนั้น control จะย้ายไปที่ PowerScreen จนกว่า user จะกดปุ่มที่กำหนดไว้ ก็จะกลับมาที่โปรแกรม แล้วก็จะเป็นส่วนของ process ของโปรแกรมที่จะทำงานตามขั้นตอนของตัวเอง
สำหรับข้อมูลนั้นใช้ Betrieve มาเป็นตัวจัดการ file เนื่องจาก Btrieve ในยุคนั้นมีชื่อเสียงมากเรื่องการจัดการ file บน PC มีความเสถียร และก็ file ไม่พังง่าย (ไม่รวม hard disk crash) คือเคยลองทดสอบโปรแกรมที่อ่านข้อมูลขึ้นมา แต่ยังไม่บันทึกกลับไป คือมีการ open file ค้างไว้ read ข้อมูลมารอไว้ แตยังไม่ได้กด save ก็ทำการปิดสวิทซ์เครื่องเลย ลองเปิดเครื่องมาเรียกดูข้อมูล ก็ยังทำงานได้ปกติดี ในสมัยนั้นการจัดการ file บน PC ถ้าไม่ดีพอ file ที่ open ค้างไว้อาจพังได้ ก็นับว่า Btrieve ได้รับความเชื่อถือในการนำมาเป็น file management ที่กว้างขวางทีเดียว
การจัดการในส่วนของ Btrieve ก็ต้องทำขั้นตอนต่างๆ open file ให้ครบทุก file ที่ต้องใช้งาน read record ที่ต้องการ โดยจะต้องกำหนด key เริ่มต้นเพื่อที่จะได้ record ที่ต้องการ แล้วการ read record ก็ต้องไม่ลืม open file ให้เรียบร้อยก่อน ก็มีบ้างที่ลืมเพราะบางครั้ง มีหลาย file ที่ต้องถูกเรียกใช้งานในโปรแกรม พอมาเพิ่มทีหลังก็ลืมไปเพิ่มในส่วนการ open file และสิ่งที่ลืมไม่ได้คือ ต้องไม่ลืม close file เมื่อตอนจะจบโปรแกรมด้วย โดยเฉพาะ file ที่มีการ udpate record ไปบ้างแล้ว ถ้าไม่ close file ให้เรียบร้อย ข้อมูลอาจจะ physical write ไม่ครบ หรือถ้าโชคร้าย file damage เลยก็มี
การ read record ก็สามารถทำได้ทั้ง read next หรือ previous ขึ้นอยู่กับโปรแกรมนั้นๆ ว่าต้องการให้สามารถทำงานได้หรูหราขนาดไหน จะมีทั้งเลื่อนทีละ record หรือทีละหน้า ก็ต้องกำหนด logic ขึ้นมาเอง แต่ถ้ามี pattern ที่ดีแล้ว ไม่ว่าจะเป็นงานแบบไหน หรือใช้ภาษาอะไร ก็สามารถนำหลักการไปประยุกต์ใช้ได้ดีทีเดียว
งานที่เขียนด้วย C ยุคนั้นมักจะเจอบักประเภท โปรแกรมตายแบบ error exception เครื่อง hang หรือ reset ไปเลย เพราะเป็น dos ถ้าตายก็ตายทั้งเครื่องเลย ไม่มีตายเฉพาะโปรแกรมเหมือนใน Windows ส่วนสาเหตุเท่าที่พอจำได้ ก็จะได้แก่ ประเภท String ลืมปิดท้ายบ้าง, control การทำงานในแบบ array ไม่ดีบ้าง, การคำนวณทางคณิตศาสตร์ด้วยตัวแปรที่ไม่ใช่ numeric บ้าง เพราะ error เหล่านี้จะเจอตอนที่ run program ตอน compile จะไม่เจอ ถึงตอนนั้นก็ต้องไล่โปรแกรมดูว่ามันไปตายตรงไหน ยังดีที่ตัวที่ใช้ทำโปรแกรม C นั้นมีตัวช่วยในการ trace โปรแกรม set break point, ดูค่าในตัวแปรต่างๆได้ ก็เป็นเครื่องมือช่วยเช็คเวลาโปรแกรมทำงานได้ดีทีเดียว
เมื่อจบ project ที่เขียนด้วย C แล้วมีความรู้สึกอย่างหนึ่งคือ งานที่เกี่ยวกับ Business Application แล้ว Cobol เขียนง่ายกว่า แต่ Cobol บน PC นั้นแทบไม่มีให้ใช้เลย ที่มีอยู่ก็มีปัญหาเรื่อง โปรแกรม hang, crash error ไปเลย หรือมีข้อจำกัดที่ขนาดโปรแกรม ใหญ่เกินกว่านี้ๆไม่ได้ อะไรทำนองนี้ ในตอนนั้นเลยหันมาพึ่ง C บน dos เพราะ compile แล้วได้ exe ที่เล็กกว่า แต่ก็ต้องแลกกับรูปแบบของภาษาที่ไม่ค่อยเหมากับลักษณะของงานที่ต้องการนัก แต่ก็ไม่เหลือวิสัยที่จะทำได้ แต่จะเหนื่อยและต้องตั้งหลักกันหน่อยเท่านั้นเอง
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น