สำหรับหลายๆคน อาจจะยังไม่เคยเจอคำนี้กัน Live-Coding
ถ้าแปลตรงๆ ก็แปลดังนี้
Coding = การเขียนโปรแกรม (การพิมพ์โค้ด, รวมไปถึง วิธีการโปรแกรมภาษาคอมพิวเตอร์อื่นๆ)
Live = สด (เช่น Live Concert ก็แปลว่า คอนเสิร์ตที่เล่นสด อะไรงี้)
เราอาจจะเคยเห็น นักเขียนโปรแกรม
เขียนโค้ดภาษาต่างๆ ไม่่ว่าจะเป็น การเขียนโปรแกรม application ทั่วไป
จนไปถึงพวก การทำเว็บ.. การทำ web programming นี่แหละ
แต่ Live Coding ที่พูดถึงนี้
จะพูดถึงด้าน Multimedia ล้วนๆ
และ... สด!
สดก็คือหมายถึง ถ้าต้องไปแสดง Multimedia สด (เช่น ภาพ, เสียง..)
โดยใช้คอมพิวเตอร์
(และสำหรับคนในวงการนี้ ก็คงจะพึ่งพา laptop
โดยเฉพาะ เครื่อง Mac ทั้งหลาย)
นั่นคือ.. คิดซะว่า
ถ้ามีคนกำลังดูคุณอยู่
และรอคอยคุณให้ทำ ภาพ หรือเสียง
เพื่อให้เขาสนใจเนี่ย...
คุณจะทำได้อย่างไร!
ด้วยการเขียนโปรแกรมสด??
ใช่เลย ฮ่าๆๆ นี่ล่ะครับ ที่มาของคำว่า Live Coding ในความหมายนี้
ในเว็บ toplap.org นี่เป็น wiki รวมคนด้าน Live Coding ไว้
(ก็จะเป็นคนที่เป็นแนว Live Coding แบบ เสียง เยอะเหมือนกัน)
แล้วก็มีการแบ่งเกรดระดับความเทพ (Grade) ไว้ดังนี้
http://toplap.org/index.php/LivecodingGrades
ตลกดี เลยเอามาแปลให้ฟังง่ายๆ
Grade 1
Grade 4
Grade 5
ถ้าแปลตรงๆ ก็แปลดังนี้
Coding = การเขียนโปรแกรม (การพิมพ์โค้ด, รวมไปถึง วิธีการโปรแกรมภาษาคอมพิวเตอร์อื่นๆ)
Live = สด (เช่น Live Concert ก็แปลว่า คอนเสิร์ตที่เล่นสด อะไรงี้)
เราอาจจะเคยเห็น นักเขียนโปรแกรม
เขียนโค้ดภาษาต่างๆ ไม่่ว่าจะเป็น การเขียนโปรแกรม application ทั่วไป
จนไปถึงพวก การทำเว็บ.. การทำ web programming นี่แหละ
แต่ Live Coding ที่พูดถึงนี้
จะพูดถึงด้าน Multimedia ล้วนๆ
และ... สด!
สดก็คือหมายถึง ถ้าต้องไปแสดง Multimedia สด (เช่น ภาพ, เสียง..)
โดยใช้คอมพิวเตอร์
(และสำหรับคนในวงการนี้ ก็คงจะพึ่งพา laptop
โดยเฉพาะ เครื่อง Mac ทั้งหลาย)
นั่นคือ.. คิดซะว่า
ถ้ามีคนกำลังดูคุณอยู่
และรอคอยคุณให้ทำ ภาพ หรือเสียง
เพื่อให้เขาสนใจเนี่ย...
คุณจะทำได้อย่างไร!
ด้วยการเขียนโปรแกรมสด??
ใช่เลย ฮ่าๆๆ นี่ล่ะครับ ที่มาของคำว่า Live Coding ในความหมายนี้
ในเว็บ toplap.org นี่เป็น wiki รวมคนด้าน Live Coding ไว้
(ก็จะเป็นคนที่เป็นแนว Live Coding แบบ เสียง เยอะเหมือนกัน)
แล้วก็มีการแบ่งเกรดระดับความเทพ (Grade) ไว้ดังนี้
http://toplap.org/index.php/LivecodingGrades
ตลกดี เลยเอามาแปลให้ฟังง่ายๆ
Grade 1
- เลือก ระบบสภาพแวดล้อม หรือ ภาษาเขียนโปรแกรม สำหรับการแสดงของตัวเอง
- ฝึกพิมพ์ฺดีด กับคีย์บอร์ด (ไม่ว่าจะคีย์บอร์ดคอมรูปแบบปกติ คือแบบ QWERTY หรือแบบอื่นๆที่จะใช้)
- ฝึกความคล่องของ การใช้ Mouse (ถ้าต้องใช้)
- ฝึกความคล่องของการใช้ Text Editor หรือโปรแกรมที่มีการโยงสาย Object ต่างๆ
- ฝึกการใช้งาน ตัวแปร, input, output ของระบบนั้นๆ
- เล่นเสียง beep ของระบบนั้นๆ (เช่น เล่นกับ เสียง ปี๊ป ของ PC Speaker)
- ใช้ audio device ของระบบ (เช่นใน linux / mac)
- การใช้งาน MIDI
- การคำนวณเชิง ตรรกะ และ ตัวเลข กับค่าและตัวแปรต่างๆ: การบวก, การหาเศษจากการหาร (modulus), การคำนวณทางตรรกะ
- การเชื่อมต่อ โมดูลต่างๆ
- ใช้งาน functions/procedures/patches/handlers (แล้วแต่ลักษณะของ โมดูล ของภาษานั้นๆ)
- Polyrhythm (การใช้ จังหวะซ้อนจังหวะ)
- Recursion (การคำนวณที่ซ้อนๆ เข้าไป แบบ รีเคอซีฟ นี่แหละ)
- การเปลี่ยนการโยงสาย หรือส่งข้อมูลการคำนวณ (โดยไม่ใช้ lookup table <-- lookup table คือตารางข้อมูล ที่เราสามารถสร้างขึ้นมาได้ ก่อนการใช้งาน)
- data sonification (การสามารถแสดง ข้อมูลดิบ ออกมาในรูปแบบของ เสียง ได้)
- สามารถเป็นเทพระดับ 2 ได้ ใน Environment การเขียนโปรแกรม อย่างน้อย 2 ชนิืด
- สามารถทำการวิจารณ์ระบบทั้งสองที่รู้จักได้โดยไม่มีอคติ
- สามารถนำเอาระบบเขียนโปรแกรม ที่ไม่ได้เกิดมาเพื่อการทำ live-coding มาทำมิดีมิร้าย เพื่อให้เกิดผลสร้างสรรค์ทางการแสดงได้
Grade 4
- สามารถใช้ประโยชน์จาก algorithm การคำนวณที่โ่ด่งดังต่างๆได้ (โดยที่ สามารถจะนำมาใช้ได้ สดๆ ในขณะทำการสอบกับกรรมการ กรรมการจะเป็นคนบอกว่าต้องทำ algorithm แบบไหน!)
- สามารถรับมือกับเหตุการณ์แบบนี้ได้: การคำนวณผิดพลาด / algorithm ทำงานผิดปกติ, error ชนิดต่างๆ - runtime error
- และคีย์บอร์ดของคุณ มีอย่างน้อยสามปุ่ม ที่เริ่มมีอาการเหนียวเหนอะหนะจากการเผลอทำเครื่องดื่มหกใส่ -_-"
Grade 5
- สามารถรักษาให้คนเที่ยวผับ 100 คน เต้นอย่างต่อเนื่องได้ 30 นาทีเป็นอย่างต่ำ
- สามารถทำให้การแสดงไม่ล่มได้แม้เกิดการล่มของระบบ หรือโปรแกรม หรือคอม
- ต้องทำข้างบนนี้ได้ในขณะที่เมาอยู่
- สามารถรักษาให้นักดนตรีอิเลคโทรนิกส์ 100 คน เต้นอย่างต่อเนื่องได้ 30 นาที โดยไม่ต้องมีเครื่องดื่มแอลกอฮอล์และของมึนเมาอื่นๆ!
- สามารถรักษาระบบ ไม่ให้เกิดการล่มได้จากการแสดงของเขา
- สร้างระบบ Live Coding ในแบบฉบับของตัวเองขึ้นมา สำหรับเอามาแสดงสดได้ (อาจจะพัฒนาเพิ่มเติมมาจาก ภาษาคอมพิวเตอร์ ที่เคยใช้อยู่แล้ว)
- เมื่อกรรมการบอกชื่อ Algorithm (หรือการคำนวณลักษณะใดๆ) ต้องสามารถเต้นให้กรรมการดูได้ แม้ไม่มีเสียงเพลง แล้วให้กรรมการเชื่อว่า เต้น algorithm นั้นจริงๆ (ดูแล้วเชื่อว่ะ มึงถึงจริงๆ ใจมาก)
- ตั้งใจ ทำลาย หรือทำความเสียหายให้กับเซ็ต Live Coding ของเขาได้ (เพื่อประโยชน์ทางการแสดงและความสร้างสรรค์ ไม่ใช่ทำลายให้ล่มแล้วหายวับไปกับตาไม่เกิดอะไรขึ้น แบบนั้นไม่สร้างสรรค์)
- ปฏิเสธแนวทางการทำเพลงในแบบดั้งเดิม ได้อย่างมีสุขภาพจิตดี ไม่ป่วย ไม่เครียด
- รวมเป็นหนึ่งเดียวกับดนตรี -_-