เหตุผลที่ใช้ Python

คิดเล่นๆ เมื่อมาเทียบกะ PHP

– สมัย PHP ไม่กล้าเปิดโค๊ด มีความหลังสมัยเพิ่งเริ่ม เปิด phpnuke แล้วรีบปิดไม่ทัน ตอนที่ใช้ ipb ก็เห็นโค๊ดแล้วตาลาย ไฟล์บ้าอะไรพันกว่าบรรทัด แต่มา Python เปิดดู library ต่างๆ เป็นว่าเล่น เพราะ doc ที่มี มันไม่ได้ doc ไว้หมดเหมือนตัวภาษา ก็ต้องเปิด แต่เปิดแล้วไม่งง ค่อยๆ อ่านได้ หรือเพราะ Python เป็น OOP ดีกว่า? (จริงๆ ไม่ชอบ OOP บางส่วน และเกลียด OOP ที่ไม่ใช้จุดคั่น เช่น PHP)
– ใช้ Python มา URL งามขึ้น เพราะมันมีระบบ mapping แต่ php ไม่ค่อยมีคนทำ ทำยาก (python นี่เหมือนบังคับแล้ว)
– ของเล่นเยอะ เช่น ใน PHP จะใช้ json ก็ต้องใช้ตัวของ pecl ซึ่งเคยใช้แล้วไม่ work แต่เคยเห็น function ของ [theDtTvB](http://dt.in.th) อันนี้ค่อนข้างดี แต่ใน python มี json หลายค่ายมากมาย ดีบ้างไม่ดีบ้าง แต่ตอนที่จะใช้ประมวลผลนั้น สุดท้ายแล้วใช้ eval ซึ่งมันก็ evil นั่นแหละครับ แต่มันไม่ work จะทำยังไงได้
– regex ใช้ง่ายมาก ตอนใช้ PHP นี่ไม่ใช้เลย จะใช้ strstr ตลอด ยกเว้นจำเป็นจริงๆ คือใน tree ของ willwillBot (พูดแล้วก็ช้ำใจ โค๊ดหาย) ตอนนั้นจำได้ว่าเขียนไว้ให้มัน concat ข้อความ ENDOFSTRINGISHERE ประมาณนี้ ต่อท้าย แล้วใช้ regex ~blah blah (.*?) ENDOFSTRINGISHERE~ เพราะไม่เคยใช้ และเกลียดการใช้ด้วย แต่พอมา python ทัศนคติก็เปลี่ยน เพราะมันใช้ง่ายจริงๆ จนจำวิธีใช้ได้
– จุดเป็นอำนาจทรงพลังที่สุด กล่าวคือผมจะทำอะไรกับข้อความ ก็ “mystring”.replace(“my”, “your”) ซึ่งผมจะจุดไปกี่ชั้นก็ได้ แล้วถ้ายาวๆ จะขึ้นใหม่ก็ได้ เอาจุดไว้หน้าบรรทัด กด tab หนึ่งที โค๊ดดูสวย แต่ใช้ php ใช้ str_replace มากๆ เนี่ยครับ มันก็ต้องกด tab ซ้อนเข้าไปเรื่อยๆ ถึงจะดูถูกหลัก indent (หลักของผมละกัน :P) ซึ่งออกมาน่าเกลียด
– Python กันผมทำโค๊ดบ้าๆ ได้ดี เพราะผมชอบเขียนแบบรวบ คือ if(true){do1;do2;do3;}else{do4;do5;} ในบรรทัดเดียว ถ้าคำสั่งไม่ยาวมาก แต่ใน python ตอนนั้นผมทำแล้วมันพัง ไม่รู้ว่าเขียนผิดรึเปล่า เลยไม่กล้าทำอีก และก็ Python บังคับการ Indent

ปล. ไว้ว่างๆ น่าจะเขียน [Style Guide for WHS’s Python codes](http://www.python.org/dev/peps/pep-0008/) บ้าง

คิดเล่นๆ เมื่อมาเทียบกะ PHP

– สมัย PHP ไม่กล้าเปิดโค๊ด มีความหลังสมัยเพิ่งเริ่ม เปิด phpnuke แล้วรีบปิดไม่ทัน ตอนที่ใช้ ipb ก็เห็นโค๊ดแล้วตาลาย ไฟล์บ้าอะไรพันกว่าบรรทัด แต่มา Python เปิดดู library ต่างๆ เป็นว่าเล่น เพราะ doc ที่มี มันไม่ได้ doc ไว้หมดเหมือนตัวภาษา ก็ต้องเปิด แต่เปิดแล้วไม่งง ค่อยๆ อ่านได้ หรือเพราะ Python เป็น OOP ดีกว่า? (จริงๆ ไม่ชอบ OOP บางส่วน และเกลียด OOP ที่ไม่ใช้จุดคั่น เช่น PHP)
– ใช้ Python มา URL งามขึ้น เพราะมันมีระบบ mapping แต่ php ไม่ค่อยมีคนทำ ทำยาก (python นี่เหมือนบังคับแล้ว)
– ของเล่นเยอะ เช่น ใน PHP จะใช้ json ก็ต้องใช้ตัวของ pecl ซึ่งเคยใช้แล้วไม่ work แต่เคยเห็น function ของ [theDtTvB](http://dt.in.th) อันนี้ค่อนข้างดี แต่ใน python มี json หลายค่ายมากมาย ดีบ้างไม่ดีบ้าง แต่ตอนที่จะใช้ประมวลผลนั้น สุดท้ายแล้วใช้ eval ซึ่งมันก็ evil นั่นแหละครับ แต่มันไม่ work จะทำยังไงได้
– regex ใช้ง่ายมาก ตอนใช้ PHP นี่ไม่ใช้เลย จะใช้ strstr ตลอด ยกเว้นจำเป็นจริงๆ คือใน tree ของ willwillBot (พูดแล้วก็ช้ำใจ โค๊ดหาย) ตอนนั้นจำได้ว่าเขียนไว้ให้มัน concat ข้อความ ENDOFSTRINGISHERE ประมาณนี้ ต่อท้าย แล้วใช้ regex ~blah blah (.*?) ENDOFSTRINGISHERE~ เพราะไม่เคยใช้ และเกลียดการใช้ด้วย แต่พอมา python ทัศนคติก็เปลี่ยน เพราะมันใช้ง่ายจริงๆ จนจำวิธีใช้ได้
– จุดเป็นอำนาจทรงพลังที่สุด กล่าวคือผมจะทำอะไรกับข้อความ ก็ “mystring”.replace(“my”, “your”) ซึ่งผมจะจุดไปกี่ชั้นก็ได้ แล้วถ้ายาวๆ จะขึ้นใหม่ก็ได้ เอาจุดไว้หน้าบรรทัด กด tab หนึ่งที โค๊ดดูสวย แต่ใช้ php ใช้ str_replace มากๆ เนี่ยครับ มันก็ต้องกด tab ซ้อนเข้าไปเรื่อยๆ ถึงจะดูถูกหลัก indent (หลักของผมละกัน :P) ซึ่งออกมาน่าเกลียด
– Python กันผมทำโค๊ดบ้าๆ ได้ดี เพราะผมชอบเขียนแบบรวบ คือ if(true){do1;do2;do3;}else{do4;do5;} ในบรรทัดเดียว ถ้าคำสั่งไม่ยาวมาก แต่ใน python ตอนนั้นผมทำแล้วมันพัง ไม่รู้ว่าเขียนผิดรึเปล่า เลยไม่กล้าทำอีก และก็ Python บังคับการ Indent

ปล. ไว้ว่างๆ น่าจะเขียน [Style Guide for WHS’s Python codes](http://www.python.org/dev/peps/pep-0008/) บ้าง