โปรเจกต์สุดสัปดาห์: สนุกกับภาษา C

  • ภาษา C เรียบง่ายแต่ทรงพลัง จนสามารถเขียนระบบปฏิบัติการทั้งระบบได้ไม่ยาก
  • ไวยากรณ์ที่กระชับของภาษา C มีอิทธิพลต่อภาษาที่ตามมาจำนวนมาก เช่น Java และ Go
  • ยังมีส่วนทำให้เกิดศิลปะแห่งการทำโค้ดให้อ่านยากอีกด้วย

การประกวด IOCCC

  • การประกวด IOCCC เป็นตัวอย่างตัวแทนของการทำโค้ดให้อ่านยาก
  • ผลงานที่ส่งเข้าประกวดมักใช้ preprocessor macro ที่ชวนสับสน การจัดรูปแบบที่ไร้ตรรกะ และชื่อตัวแปรที่ไม่ช่วยอะไร
  • โค้ดลักษณะนี้อ่านยาก แต่ภาษา C ก็สามารถทั้งอ่านง่ายและชวนสับสนได้ในเวลาเดียวกัน

คำสั่ง switch

  • คำสั่ง switch เช่นเดียวกับ if หรือ for คือไม่จำเป็นต้องมีวงเล็บปีกกา
  • หากใช้โดยไม่มีวงเล็บปีกกา จะใส่ได้เพียงหนึ่งคำสั่งเท่านั้น
  • โดยพื้นฐานแล้ว switch ก็แทบไม่ต่างจาก glorified goto
  • การกำหนดค่าเริ่มต้นตัวแปรภายใน switch อาจก่อให้เกิดพฤติกรรมที่ไม่คาดคิด

ป้ายกำกับ case

  • ป้ายกำกับ case ไม่จำเป็นต้องอยู่ระดับบนสุดของบล็อก switch
  • สามารถใช้ร่วมกับเงื่อนไข if (0) ได้
  • ทำงานได้แม้ไม่มีคำสั่ง break

การผสม else กับ if

  • สามารถใช้ else และ if แทนคำสั่ง switch ได้
  • จัดการหลายเงื่อนไขได้แม้ไม่มีวงเล็บปีกกา

ส่วนขยายของ GNU

  • สามารถใช้ตัวดำเนินการ && เพื่อรับ address ของ label แล้วกระโดดด้วย goto ได้
  • ทำให้สามารถใช้แทนคำสั่ง switch ได้

การแทนที่คำสั่ง for

  • สามารถทำลูปได้ด้วยการใช้ label ภายในการประกาศตัวแปร
  • แม้จะใช้ได้เฉพาะกับ GCC แต่ก็ยังสามารถเขียนโค้ดที่ทั้งสร้างสรรค์และชวนสับสนมากด้วยภาษา C ได้

บทสรุป

  • ภาษา C เปิดโอกาสให้เขียนโค้ดที่สร้างสรรค์และชวนสับสนได้อย่างมาก
  • แม้โค้ดลักษณะนี้จะอ่านยาก แต่ก็แสดงให้เห็นถึงพลังของภาษา C

ความเห็นของ GN⁺

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

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น