กระโดดไปยังแผงนำทาง

Fusion 28 February 2007 8:15 pm

บันทึกโดย Mr. PeeTai ใน : การสร้างซอฟต์แวร์ , ตรวจย้อนกลับ

เมืองไทยเรามีนักพัฒนาซอฟต์แวร์อยู่น้อยครับ ที่คิดค้นภาษาคอมพิวเตอร์ แล้วทำ 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 ที่น่าสนุกแบบนี้อีกเลย :-P ถ้าใครสนใจ ลองเอาแนวคิดสนุก ๆ แบบนี้ไปทำบ้างก็ดีเน้อะ

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

Technorati Tags: , , , , ,

ความคิดเห็น»

1. sugree - 28 February 2007

crobots น่าจะเป็นตัวที่เก่าที่สุด

2. fatro - 1 March 2007

โอ้ น่าสนุกแฮะ เหมือนแข่งหุ่นยนตร์เลย

3. น้องโอ - 1 March 2007

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

4. น้องโอ - 1 March 2007

งงว่า ทำไมพี่ไท้ตั้งชื่อหัวข้อว่า Fusion หว่า…

5. xinexo - 1 March 2007

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

6. พี่ไท้ - 1 March 2007

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

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

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

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

7. ก้อนหิน - 2 March 2007

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

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

8. house - 2 March 2007

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

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

9. luvfe - 3 March 2007

เหมือนแข่งหุ่นยนต์จิงๆอิ่ะครับ

10. พี่ไท้ - 5 March 2007

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

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

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

11. yimplex - 4 March 2008

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


*
เพื่อพิสูจน์ว่าคุณเป็นมนุษย์ (ไม่ใช่หุ่นยนต์) ดังนั้น กรุณาใส่รหัสป้องกันซึ่งแสดงอยู่ด้านล่างด้วยครับ
Anti-Spam Image