เมืองไทยเรามีนักพัฒนาซอฟต์แวร์อยู่น้อยครับ ที่คิดค้นภาษาคอมพิวเตอร์ แล้วทำ Compiler เพื่อ Compile ภาษาดังกล่าว อย่าว่าแต่ Compiler เพื่อใช้ Compile ภาษาคอมพิวเตอร์ซึ่งออกแบบเป็นภาษาไทยเลย ขนาด Compiler เพื่อใช้ Compile ภาษาคอมพิวเตอร์ซึ่งออกแบบเป็นภาษาอังกฤษยังแทบไม่มีเลยครับ

ก็คิดว่าส่วนหนึ่งเป็นเพราะทำออกมาแล้วคงไม่มีใครสนใจ เพราะปัจจุบันก็มีภาษาคอมพิวเตอร์เจ๋ง ๆ เต็มไปหมดอยู่แล้วเน้อะ อย่าง C, C++, Python, Ruby, Java, PHP เป็นต้น

ภาษาคอมพิวเตอร์พวกนี้นอกจากจะเป็นที่ยอมรับอย่างกว้างขวาง เพราะมีโครงสร้างภาษาที่ดีแล้ว ก็ยังมีใครต่อใครตั้งมากมายคอยสนับสนุน ด้วยการออก Compiler และ IDE เจ๋ง ๆ เพื่อใช้ Compile & Build ภาษาพวกนี้อีก

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

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

ผมเคยพบ Compiler น่าสนุกอยู่ตัวนึงครับ คงไม่มีใครเคยเจอหรอก เพราะผมพบมันในห้องสมุดภาควิชา ไอ้เจ้า Compiler ดังกล่าว เป็นโปรเจคจบของรุ่นพี่ครับ (ผมไม่รู้จักเขาหรอก) มันเป็นอย่างนี้ …

Fusion

กลไกการทำงานเป็นงี้นะ คือพี่เขาคิดภาษาคอมพิวเตอร์ขึ้นมาภาษานึง แล้วเขาก็เขียน Compiler ขึ้นมาเพื่อ Compile ภาษานั้น ๆ ด้วยนะ โดยสามารถที่จะ Compile ให้กลายเป็นไฟล์ EXE เพื่อใช้สำหรับ Run บน MS-DOS ได้ด้วย (ตอนนั้นยังไม่มี Microsoft Windows 3.0 เลย)

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

จากนั้นจึงเอาโปรแกรมของทั้งสองคน มา Compile แล้วจึง Build รวมกันเพื่อให้ได้เป็นไฟล์ EXE เพียงไฟล์เดียว

เมื่อได้ไฟล์ EXE มาแล้วก็สั่ง Run ก็จะปรากฎจอภาพสีดำ และมีภาพกราฟิกหยาบ ๆ ของรถถังสองคันสีขาว (มันไม่ค่อยเหมือนรถถัง เพราะเป็นเพียงรูปหกเหลี่ยมเอง ฮา) ซึ่งวิ่งสะเปะสะปะไปมา, ยิงกระสุนปืนใหญ่สะเปะสะปะ โดยกระสุนจะเป็นจุดวิ่งตรงไปเรื่อย ๆ จนสุดจอ หรือไม่ก็วิ่งไปกระทบถูกรถถังของอีกฝ่าย

ครับ จุดจบของเกมส์ก็คือ รถถังของใครโดนยิง คนนั้นแพ้!!! รถถังของใครโดนชน คนนั้นแพ้!!!

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

เห็นแมะ Compiler แบบนี้น่าสนใจมากเลยนะ และจนถึงปัจจุบันนี้ ผมก็ยังไม่เคยได้เห็น Compiler ที่น่าสนุกแบบนี้อีกเลย 😛 ถ้าใครสนใจ ลองเอาแนวคิดสนุก ๆ แบบนี้ไปทำบ้างก็ดีเน้อะ

ไม่รู้ว่าพวกฝรั่งเขาเรียกแนวการสร้างภาษาคอมพิวเตอร์และ Compiler แบบนี้ว่าอะไร ใครหาเจอบอกด้วยเด้อ 🙂

[tags]Compiler, Compile, Build, คอมพิวเตอร์, ภาษาคอมพิวเตอร์, Fusion[/tags]

Related Posts

11 thoughts on “Fusion

  1. รู้สึกเหมือนเกม Robot Arena เลยครับ(ผมไม่เคยเล่น แต่มีคนเล่าให้ฟัง) ลองหามาเล่นซิครับ น่าสนุกดี

  2. ไม่รู้แนวนี้นะครับ แต่มันมีอีกแนว เรียกว่า Visual Programming ครับ ลองค้นๆ ดู อาจจะมีบางส่วนคล้ายๆ กันก็ได้นะครับ

  3. ผมตามลิงค์ไปแล้วนะ Dr. Sugree แต่ว่ามันดาวน์โหลดไม่ได้แล้วอ่ะ เศร้าจิต T-T

    มันจะน่าสนุกกว่านี้ครับคุณ fatro ถ้ากราฟิกส์มันจะเป็นแบบสามมิติ อยากเล่น T-T

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

    Visual Programming อือม ๆ คุณ xinexo บอกงี้ทำให้นึกถึง Visual Basic เลยอ่ะ

  4. เคยไปแกะ Code ภาษา VC++ ของ Programmer เกาหลีอะครับ เค้าใช้ทับศัพท์ คาราโอเกะ เป็นภาษาเค้า คิดในใจว่า งี้น่าจะไปสร้าง Compiler ภาษา เกาหลีเลยสิ

    เกาหลีมันไม่เอาภาษาอื่นจริงๆครับ เว็บ naver.com เป็น search engine ที่ดังกว่า google อีกอะครับ

  5. เคยเล่น pbot สมัย ม ปลาย

    แพ้เละเทะ กระจุยเป็นเรื่องธรรมชาติ(เจอพวก บ่อกี้ รุม -*-)

  6. ตัวแปรที่ดีควรตั้งตามมาตรฐานที่โปรแกรมเมอร์ฮังกาเรียนกำหนดไว้ครับคุณก้อนหิน โดยให้ตัวอักษรตัวแรกของตัวแปร เป็นตัวบอกประเภทของตัวแปรอ่ะครับ เช่น ตัวแปร iData ก็จะรู้ว่าคือตัวแปร Integer เป็นต้น แต่อ่ะนะ ผมเคยเจอตัวแปรภาษาเยอรมันด้วย เด็ดกว่าอีก T-T

    ดูเหมือนซอฟต์แวร์แบบนี้จะมีเยอะแฮะ เพราะคุณ house ก็เคยเล่นเหมือนกัน

    มันจะเหมือนกว่านี้ครับคุณ luvfe ถ้ากราฟิกมันสวย ๆ ด้วย

  7. ผมเห็นเจ้า Mingw แล้วอยากลองเอามาเขียน Compiler ดูบ้างเหมือนกัน
    ถ้าเป็นเมื่อก่อนผมคงลองสร้างเล่นดู แต่ตอนนี้งานที่ทำมันต้องการ Productivity ซะมากกว่า เลยปล่อยทิ้งไป

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *