วันเสาร์ที่ 16 พฤษภาคม พ.ศ. 2558

คนโง่เขียนโค้ดให้คอมพิวเตอร์เข้าใจ ,Any fool can write code that a computer can understand.

Any fool can write code that a computer can understand.
Good programmers write code that humans can understand.
แปล
คนโง่เขียนโค้ดให้คอมพิวเตอร์เข้าใจ
แต่โปรแกรมเมอร์ที่ดีเขียนโค้ดให้คนอื่นเข้าใจ
มาร์ติน โฟลเลอร์ (Martin Fowler) นักเขียนหนังสือ (หนังสือดังเช่น Refactoring: Improving the Design of Existing Code) นักพูด นักออกแบบซอฟต์แวร์ระดับองค์กร (Enterprise Software) เขาได้กล่าวว่า โปรแกรมเมอร์ที่ดีควรเขียนโค้ด เพื่อให้คนอื่นอ่านเข้าใจด้วย (แต่ส่วนใหญ่มักจะเขียนโค้ดเทพ …เทพที่ว่าคือ มันเขียนโค้ดอะไรของมัน ตูอ่านยากตาลาย จนอ่านแทบไม่รู้เรื่อง เรียกว่าสร้างปัญหาให้กับคนอื่นที่ต้องมาตามเช็ดตามล้างโค้ดที่ตัวเองไม่ได้เขียน)

If debugging is the process of removing software bugs

If debugging is the process of removing software bugs
,then programming must be the process of putting them in.
แปล
ถ้าการดีบั๊กคือกระบวนการเอาบั๊กซอฟแวร์ออกไปละก็
เมื่อนั้นการเขียนโปรแกรมต้องเป็นกระบวนการใส่บั๊กเข้าไปแน่ ๆ
แอ็ดส์เคอร์ ไดก์สตรา (Edsger Wybe Dijkstra) นักวิทยาศาสตร์คอมพิวเตอร์ชาวดัตช์ชื่อดัง เจ้าของรางวัล Turing Award (ค.ศ. 1972) และเจ้าของ Dijkstra’s algorithm (ขั้นตอนวิธีของไดก์สตรา) เขาได้เปรียบเทียบคำว่า “บั๊ก” กับ “ดีบั๊ก” (ในรูปข้างบน) จนเห็นภาพชัดเจนว่า การเขียนโปรแกรมคือต้นตอปฐมบทแห่งการสร้างบั๊ก ส่วนวิธีเอามันออกมาเรียกว่าการดีบั๊ก

Programming is like Sex. การเขียนโปรแกรมก็เหมือน SEX










Programming is like sex. 
One mistake and you have to support it for the rest of your life. แปล 
การเขียนโปรแกรมก็เหมือน SEX พลาดครั้งเดียว
คุณต้อง Support มันไปชั่วชีวิตคุณ 
คำพูดล้อเล่นขำ ๆ มิแชล ซินซ์ (Michael Sinz) 


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