ไพทอน คือชื่อภาษาที่ใช้ในการเขียนโปรแกรมภาษาหนึ่ง ซึ่งถูกพัฒนาขึ้นมาโดยไม่ยึดติดกับแพลตฟอร์ม คือสามารถรันภาษาไพทอนได้ทั้งบนระบบ Unix, Linux , Windows หรือแม้แต่ระบบ FreeBSD ภาษาไพทอนเป็น Open Source เหมือนกับภาษา PHP ทำให้ทุกคนสามารถที่จะนำภาษาไพทอนมาพัฒนาโปรแกรมได้ฟรี ๆ โดยไม่ต้องเสียค่าใช้จ่าย และความเป็น Open Source ทำให้มีผู้เชี่ยวชาญเข้ามาช่วยกันพัฒนาให้ภาษาไพทอนมีความสามารถสูงขึ้น และใช้งานได้ครอบคลุมกับทุกลักษณะงาน
การเขียนโปรแกรมไพทอนจะใช้เครื่องมือในการพัฒนาที่เรียกว่า ไอดีอี (Integrated Development Environment : IDE) ซึ่งประกอบด้วยเครื่องมือแก้ไขโปรแกรมต้นฉบับ (Source Code Editor) เครื่องมือแก้ไขจุดบกพร่อง (Debugger) และเครื่องมือช่วยให้โปรแกรมทำงาน (Run) โดยทั่วไป Python IDE จะทำงานตามคำสั่งได้ใน 2 โหมด คือ
1. โหมดอิมมีเดียท (immediate mode) เป็นโหมดที่ผู้ใช้จะพิมพ์คำสั่งลงไปในส่วนที่เรียกว่าเชลล์ (shell) หรือคอนโซน (console) ทีละคำสั่ง และตัวแปลภาษาจะแปลคำสั่ง หากไม่มีข้อผิดพลาดจะทำงานตามคำสั่งดังกล่าว
2. โหมดสคริปต์ (script mode) ในโหมดนี้ผู้เขียนโปรแกรมต้องพิมพ์คำสั่งหลายคำสั่งประกอบกันแล้วบันทึกเป็นไฟล์ไว้ก่อน เพื่อจะสั่งให้ตัวแปลภาษาทำงานตามคำสั่งตั้งแต่คำสั่งแรก จนถึงคำสั่งสุดท้าย ถ้าหากต้องการตรวจสอบความถูกต้องสามารถใช้โหมดอิมมีเดียทในการทดสอบได้
สำหรับประวัติของภาษาโปรแกรม Python ได้เริ่มต้นขึ้นในเดือนธันวาคมปี 1989 โดยนาย Guido van Rossum โปรแกรมเมอร์ชาวดัตช์ ในตอนนั้นทำงานอยู่ที่สถาบันวิจัยแห่งชาติ Centrum Wiskunde & Informatica (CWI) ซึ่งเป็นสถาบันวิจัยทางด้านคณิตศาสตร์และวิทยาการคอมพิวเตอร์ในเมืองอัมสเตอร์ดัม ประเทศเนเธอร์แลนด์ ในเวลานั้น Guido ต้องพัฒนาโปรแกรมสำหรับผู้ดูแลระบบ เพื่อใช้ในโครงการ Amoeba ซึ่งเป็นโครงการเกี่ยวกับระบบปฏิบัติการแบบกระจาย (Distributed operating system) อย่างไรก็ตามเขารู้สึกว่าภาษาโปรแกรม ABC, C และ Bourne shell มีข้อจำกัดมากมาย ทั้งเรื่องใช้เวลาในการพัฒนานานมากและไม่สามารถตอบโจทย์หลายประการ ดังนั้น Guido จึงได้ตัดสินใจเริ่มพัฒนาภาษาโปรแกรมระดับสูงขึ้นมาใหม่เพื่อใช้งานเองเป็นงานอดิเรก โดยนำเอาสิ่งที่ชอบในภาษา ABC มาพัฒนาลงไปในภาษาโปรแกรม Python รวมถึงได้พัฒนาส่วนอื่น ๆ เพิ่มเติมเข้าไป และในเวลาต่อมาจึงได้เผยแพร่ Python 1.0 เวอร์ชันแรกในปี 1994 หากเทียบกับภาษา Java ที่ได้ทำการเผยแพร่เวอร์ชันแรกในปี 1996 จะเห็นได้ว่าภาษา Python มีอายุมากกว่าภาษา Java ถึง 2 ปี
สำหรับที่มาของชื่อภาษาโปรแกรม Python นั้นไม่ได้มีที่มาเกี่ยวข้องกับงูเหมือนกับชื่อของมันแต่อย่างใด แต่ในช่วงที่ตัดสินใจเลือกชื่อนั้น ชื่อแรกที่เข้ามาในความคิดของ Guido ก็คือ มอนตี้ ไพธอน: ละครสัตว์เหินหาว (Monty Python’s Flying Circus) ซึ่งเป็นชื่อรายการโทรทัศน์ทางช่อง BBC แนวตลกชื่อดังจากฝั่งอังกฤษที่เขาชื่นชอบมาก ๆ โดยเขาให้เหตุผลว่า “Python” เป็นชื่อที่สั้น จำได้ง่าย ฉีกแนวนิดๆ และดูลึกลับ ในตอนนั้นโดยทั่วไปมักจะนิยมเอาชื่อของบุคคลที่มีชื่อเสียงมาใช้เป็นชื่อภาษาโปรแกรมคอมพิวเตอร์ เช่น Ada, Pascal และ Eiffel ถึงแม้ว่าทีมนักแสดงในรายการจะไม่ได้มีชื่อเสียงทางด้านวิทยาศาสตร์และเทคโนโลยี แต่ก็เป็นที่ชื่นชอบในกลุ่มชาว Geek อย่างมาก รวมถึงกลุ่มคนที่ทำงานใน CWI ก็มักจะนิยมเอาชื่อรายการทีวีโชว์มาตั้งชื่อในงานของตัวเองอีกด้วย นี่คือเหตุผลที่มาที่ไปของชื่อภาษา Python นอกจากนั้น Guido ยังใช้ชื่อของนักแสดงตลกชาวอังกฤษชื่อดังและเป็นหนึ่งในสมาชิกผู้ก่อตั้งทีม Monty Python ที่ชื่อ Eric Idle มาใช้เป็นชื่อ IDE หรือเครื่องมือที่ใช้ในการพัฒนาโปรแกรมว่า “IDLE” อีกด้วย
นาย Guido van Rossum
ภาษาโปรแกรม Python คือภาษาโปรแกรมคอมพิวเตอร์ระดับสูง โดยถูกออกแบบมาให้เป็นภาษาสคริปต์ที่อ่านง่าย โดยตัดความซับซ้อนของโครงสร้างและไวยกรณ์ของภาษาออกไป ในส่วนของการแปลงชุดคำสั่งที่เราเขียนให้เป็นภาษาเครื่อง Python มีการทำงานแบบ Interpreter คือเป็นการแปลชุดคำสั่งทีละบรรทัด เพื่อป้อนเข้าสู่หน่วยประมวลผลให้คอมพิวเตอร์ทำงานตามที่เราต้องการ นอกจากนั้นภาษาโปรแกรม Python ยังสามารถนำไปใช้ในการเขียนโปรแกรมได้หลากหลายประเภท โดยไม่ได้จำกัดอยู่ที่งานเฉพาะทางใดทางหนึ่ง (General-purpose language) จึงทำให้มีการนำไปใช้กันแพร่หลายในหลายองค์กรใหญ่ระดับโลก เช่น Google, YouTube, Instagram, Dropbox และ NASA เป็นต้น
1. เรียนรู้ได้ง่าย
คุณสมบัติที่โดดเด่นข้อแรกของ Python คือเป็นภาษาที่สามารถเรียนรู้ได้ง่ายเนื่องจากถูกออกแบบมาให้สามารถเขียนได้คล้ายๆกับภาษาอังกฤษธรรมดา ตัดเอา symbol บางอย่างที่ไม่จำเป็นออกไป และใช้ย่อหน้า (Indentation) เหมือนภาษาอังกฤษในการแบ่งแยกโปรแกรมออกเป็นส่วนๆ นอกจากนี้การเขียนโปรแกรม Python สามารถเขียนเป็นแบบ Dynamically typed ได้(แต่ในภายหลังถ้าอยากเขียนแบบ Statically typed ก็สามารถทำได้ใน Python3) ซึ่งหมายถึงสามารถลดไปอีกขั้นตอนหรืออีกเรื่องซึ่งยังไม่จำเป็นในการเรียนรู้การเขียนโปรแกรมเบื้องต้น
2. ใช้งานได้จริงใน Scale ระดับโลก
ถึงแม้จะเรียนรู้ง่าย แต่สิ่งที่มหัศจรรย์ของ Python คือเป็น Industrial-grade คือสามารถใช้งานได้จริงใน Scale ระดับโลก ตัวบริการที่ใช้กันอยู่ทุกวันนี้หลายบริการที่เขียนด้วยภาษา Python เป็นหลักเช่น Youtube, Instagram, Netflix เป็นต้น
3. มี Library ที่หลากหลายมาก
ตามที่ได้เปรียบเทียบ Vocabulary ของภาษาคนกับ Library ของภาษาคอมฯในข้างต้น Python นับเป็นภาษาหนึ่งที่มี Library ให้ใช้งานได้หลากหลายมากมายอลังการอย่างไม่น่าเชื่อ ทั้งที่เป็นภาษาที่เป็น Opensource
ซึ่งหมายถึงคนที่สามารถเขียนภาษา Python จะสามารถประยุกต์ใช้ความสามารถนี้ไปทำงานซอฟท์แวร์ในแขนงต่างๆ (โดยการเรียนรู้ Library เพิ่มเติมในเรื่องนั้นๆที่ถูกเขียนขึ้นมาด้วยภาษา Python) ได้อย่างแทบไม่มีขีดจำกัด ตัวอย่างความสามารถในด้านต่างๆของ Python เช่น
System Admin - Python ถือเป็นทางเลือกหรืออาจจะว่าเป็นคู่แข่งตัวฉกาจของภาษาตระกูล scripting language อื่นๆเช่น bash script หรือ ภาษา perl นั่นหมายถึงถ้าจะเขียนโปรแกรมเพื่อควบคุมการทำงานของ System (โดยเฉพาะ Linux) การเขียนภาษา Python ได้ทำให้ System Admin คนนั้นมีความได้เปรียบอย่างมาก
Web Application - ในแขนงนี้มีภาษาอื่นๆที่เป็นที่นิยมมากมายไม่ว่าจะเป็น PHP, Ruby, Java, Grail, ฯลฯ โดยในแต่ละภาษาก็จะมี Web Application Framework ที่นักพัฒนาเลือกใช้เพื่อทุ่นแรงในการเขียนโปรแกรมที่เกี่ยวข้องกับการทำ Web Application ซึ่งในสาขานี้ Python ก็มี Framework ที่แข็งแกร่งหลายตัว เช่นตัวที่เด่นสุดก็น่าจะเป็น Django ซึ่งได้รับการยกย่องว่าเป็น Web Application Framework ที่สามารถทุ่นเวลาการพัฒนาได้อย่างมากมายมหาศาล นั่นหมายถึงในโปรเจกต์เดียวกัน คนที่ใช้ Python/Django เขียนอาจจะสามารถเขียนได้ในเวลาที่รวดเร็วกว่า ต้นทุนต่ำกว่า ความผิดพลาดน้อยกว่า และมีความยืดหยุ่นกว่าสำหรับการเพิ่มเติมฟังก์ชั่นในอนาคต
Data Analytics และ Machine Learning - ด้วยความที่ Python ถูกประยุกต์ใช้งานทางด้านวิทยาศาสตร์อย่างมากตั้งแต่แรกเริ่ม ทำให้ Python มี Library ที่เกี่ยวข้องกับการคำนวณทางคณิตศาสตร์ชั้นสูงมากมายซึ่งรวมถึง สถิติ, อัลกอริธึม, Machine Learning, Artificial Intelligence ถ้าพูดถึงในเรื่องของ Data Science แล้วน่าจะมีคู่ท้าชิงในแง่ของภาษาคอมพิวเตอร์เด่นๆอยู่สองภาษานั่นคือ ภาษา Python และ ภาษา R นั่นหมายถึงการเป็น Python ก็เท่ากับได้อานิสงส์ในแง่ของความสามารถในด้าน Data Science เข้าไปด้วยโดยปริยาย (เมื่อได้เรียนรู้ Library เพิ่มเติม)
4. สามารถเขียนได้หลาย Paradigm
ในโลกของซอฟท์แวร์มี Paradigm ที่ใช้ในการเขียนที่หลากหลายมากเช่น procedural, object-oriented, functional, imperative, reactive, ฯลฯ (อาจจะเปรียบได้กับ ร้อยแก้ว โคลงสี่สุภาพ กลอนแปด ฯลฯ ในภาษาไทย) ในแต่ละช่วงเวลา แฟนคลับ ของแต่ละ Paradigm ก็จะพยายามชวนเชื่อว่า Paradigm ที่ตัวเองชื่นชอบนั่นเจ๋งสุด โปรแกรมทุกอย่างควรด้วย Paradigm เดียวที่เจ๋งสุดที่ว่า ภาษาบางภาษาที่ค่อนข้างคลั่งศาสนาเรื่อง paradigm ที่ว่าก็จะพยายามตีกรอบตัวเอง บังคับให้ผู้เขียนเขียนด้วย paradigm นั่นๆ ตัวอย่างเช่น Java ในยุคก่อนหน้าที่บังคับให้ทุกอย่างต้องเขียนเป็น Object-oriented ทั้งหมดทั้งที่ในบางสถานการณ์อาจจะไม่ practical
สิ่งที่น่าประทับใจของ Python คือไม่ตีกรอบตัวเองอยู่ที่ paradigm ใด paradigm หนึ่ง แต่ออกแบบภาษาให้มีความยืดหยุ่นให้ผู้เขียนสามารถเลือก paradigm ที่เหมาะสมกับงานที่ต้องใช้นั้นๆ เมื่อมี paradigm ใหม่ที่ดีๆก็จะถูกนำมาใส่ใน Python ใหสามารถเขียนใน paradigm แบบนั้นได้ นั่นหมายถึงคนที่เขียน Python ได้จะไม่ต้องตีกรอบตัวเองอยู่ใน paradigm อันใดอันหนึ่งแต่สามารถเลือกสิ่งที่เหมาะกับงานนั่นได้อย่างมีอิสระภาพ
5. มี Community ที่แข็งแกร่งและมีแต่จะแข็งแกร่งขึ้นไปอีกเรื่อยๆ
เหตุผลสุดท้ายเป็นเหตุผลที่สำคัญที่สุด ซึ่งจริงๆแล้วเป็นที่มาของ 4 เหตุผลข้างต้นนั่นก็คือ "ความแข็งแกร่ง" ของ Community ต้องกล่าวว่าการออกแบบภาษา Python ดีมาตั้งแต่แรกเริ่ม ด้วยความที่เขียนได้ง่าย มีความยืดหยุ่นสูง และเหตุผลอื่นๆอีกหลายอย่างทำให้ Python ดึงดูดเอาคนเก่งจากทุกสาขาเข้ามาใช้ และร่วมกันต่อยอด พัฒนา Library ต่าง เติมแต่ง feature ที่เกิดจากไอเดียใหม่ๆ ทำให้ภาษามีประโยชน์มากขึ้นก็ยิ่งเป็นการดึงดูดคนเก่งๆเข้ามาช่วยกัน Contribute ให้กับภาษา Python เข้าไปอีก