เขียนโปรแกรม ภาษาซี ภาษาของโปรแกรม

C language program

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

ภาษาซี ภาษาโปรแกรมที่ควรค่าแก่การเรียนรู้

ความจริงแล้วภาษาที่ใช้สำหรับการเขียนโปรแกรมนั้นมีเยอะมาก ไม่ว่าจะเป็น JAVA, Python, TCL, Perl, PHP เป็นต้น แต่ภาษาที่มีความคลาสสิคมากที่สุดก็คือภาษาซี เพราะมันเป็นต้นแบบของภาษาโปรแกรมอีกหลายตัว ว่ากันว่าการเรียนรู้ภาษาซีนั้นยุ่งยาก ซับซ้อนกว่าการเรียนภาษาอื่นๆ การเขียนโค้ดมีรูปแบบที่หลากหลาย ยังประยุกต์ปรับใช้ตามสไตล์ของโปรแกรมเมอร์แต่ละคนได้อีกด้วย เรียกว่าเขียนได้ภาษาเดียวก็สามารถทำงานได้อย่างครอบคลุมที่สุด ในขณะที่ภาษาอื่นๆ ที่เกิดขึ้นทีหลังจะมีข้อจำกัดบางประการที่ไม่สามารถทำได้ และบางโปรแกรมก็ไม่รองรับภาษาเหล่านั้น

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

โครงสร้างภาษาซีที่ดูเหมือนมีกรอบ แต่แท้จริงแล้วไม่มี

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

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