30 กันยายน 2560

Published กันยายน 30, 2560 by with 3 comments

ประวัติความเป็นมาของ Python

โลโก้ภาษาไพธอน Python

ภาษา Python เป็นภาษาโปรแกรมมิ่งระดับสูงของคอมพิวเตอร์ เป็นภาษาสคริปต์ และ เป็นภาษาโอเพนซอร์ซ นิยมใช้งานอย่างแพร่หลายในหลาย ๆ ด้าน ไม่ว่าจะเป็น ปัญญาประดิษฐ์ , เว็บ , วิทยาศาสตร์ข้อมูล เป็นต้น ปัจจุบัน ภาษา Python เป็นที่นิยมอย่างมากในการโปรแกรมมิ่ง เนื่องจากเป็นภาษาที่ง่ายต่อการเข้าใจ และ มีประสิทธิภาพความเร็วในการเขียนโค้ดเร็วที่สุด

ประวัติความเป็นมาของ Python


ภาษา Python มีการพัฒนามาอย่างยาวนานมากกว่า 20 ปี โดยเรียงลำดับประวัติความเป็นมาของ Python ได้ดังนี้

1989 จุดเริ่มต้นความคิดในการสร้างภาษา Python :


ภาษา Python ถูกสร้างขึ้นในต้นยุค 90 โดย Guido van Rossum ที่ Stichting Mathematisch Centrum (CWI) ในประเทศเนเธอร์แลนด์ โดยต้นแบบภาษาสืบทอดมาจากภาษา ABC

ภาษา ABC เป็นภาษาที่ถูกออกแบบให้ง่ายต่อการเรียนรู้ ซึ่ง Van Rossum เคยช่วยเหลือในการพัฒนาภาษา ABC ก่อนหน้านี้ในอาชีพที่เขาทำ แต่ Van Rossum ได้มองเห็นปัญหาของภาษา ABC แต่เขาก็ยังคงชอบลักษณะเด่น ๆ จำนวนมากของภาษา ABC อยู่ เขาจึงสร้างภาษาสคริปต์ (scripting language) ใหม่ที่ใช้ไวยากรณ์ของ ABC ที่ได้แก้ไขปัญหาที่เขาพบบางอย่างลงไป เช่น สนับสนุนการจัดการกับข้อผิดพลาด (Exception Handling) เป็นต้น

Van Rossum เริ่มต้นพัฒนาภาษาใหม่ในช่วงวันหยุดคริสต์มาส เดือนธันวาคม ค.ศ.1989 แต่ช่วงนั้นเขายังไม่ได้ตั้งชื่อภาษาใหม่นี้ จนกระทั่ง เขาได้อ่านอ่านสคริปต์ที่ตีพิมพ์จากซีรีส์ตลก "Monty Python’s Flying Circus" ของบีบีซี ซีรีส์ตลกจากช่วงยุค 1970  เขาจึงเลือกชื่อ "Python" กลายเป็นจุดเริ่มต้นของภาษา Python

1990 Python ถูกเผยแพร่ภายใน CWI


1991 Python เวอร์ชันแรกที่ออกสู่สายตาชาวโลก :


20 กุมภาพันธ์ ค.ศ.1991 Python 0.9.0 ได้ออกมาสู่สายตาชาวโลกครั้งแรก โดยถูกเผยแพร่บน USENET (สามารถโหลดโค้ด Python 0.9.1 ได้จาก https://www.python.org/download/releases/early/) โดยมาพร้อมกับ classes พร้อมด้วย inheritance, การจัดการกับข้อผิดพลาด (Exception Handling) , ฟังก์ชัน (functions), และชนิดข้อมูลหลัก อย่างเช่น list, dict, str และอื่น ๆ โดยทั้งหมดเป็นระบบโมดูลที่ยืมมาจาก Modula-3 เขาอธิบายว่า "one of Python's major programming units."

1994 Python 1.0 :


26 มกราคม ค.ศ.1994 Python 1.0 ได้ถูกปล่อยออกมา พร้อมกับเครื่องมือสำหรับ functional programming เช่น lambda,  map, filter และ reduce เป็นต้น

1995 van Rossum ย้ายไปทำงานที่ CNRI :


หลังจากที่ van Rossum ออก Python 1.2 แล้วได้ไปทำงานที่ Corporation for National Research Initiatives (CNRI) และออก Python หลายเวชั่นต่อมาภายใต้ CNRI

2000 ทีมนักพัฒนา Python ย้ายไป BeOpen.com :


ทีมนักพัฒนา Python ย้ายจาก CNRI ไป BeOpen.com เป็นส่วนหนึ่งทีม PythonLabs แต่ทาง CNRI ได้ร้องขอ Python 1.6  ทีมนักพัฒนาจึงปล่อย Python 1.6 และ Python 2.0 โดยมีช่วงเวลาใกล้เคียงกัน

การพัฒนาของ Python 2.0 เปิดกว้างมากยิ่งขึ้น โดยมุ่งเน้นการพัฒนาที่โปร่งใสมากยิ่งขึ้นและได้มีการย้ายโค้ดไปฝากไว้บน SourceForge ทำให้ผู้คนสามารถรายงานข้อผิดพลาดและส่งการแก้ไขข้อผิดพลาด (patches) ได้ง่ายขึ้น

หลังจากที่ปล่อย Python 2.0 ภายใต้ BeOpen.com แล้วทั้ง Van Rossum และ PythonLabs ได้ย้ายไปทำงานที่ Digital Creations (ปัจจุบันกลายเป็น Zope Corporation) จึงทำให้ Python 2.0 เป็นเวอร์ชันเดียวที่ออกภายใต้ BeOpen.com

แต่ในขณะเดียวกันทาง FSF (Free Software Foundation) ได้ออกมาแย้งว่าใบอนุญาตของ CNRI อันใหม่ที่เข้ากับ Python 1.6 ทำให้ Python 1.6 เกิดปัญหาเข้ากันไม่ได้กับ GPL และใบอนุญาตของ Python 2.0 ก็มีปัญหาใบอนุญาตเข้ากันไม่ได้กับ GPL เช่นกัน จึงทำให้ทาง BeOpen, CNRI และ FSF เกิดการเจรจาต่อรองต่อมาเพื่อที่จะทำให้ Python เป็น Free software license โดยเข้ากันได้กับ GPL

Python 1.6.1 จึงถูกปล่อยออกมาโดยแก้ไขข้อผิดพลาดและใบอนุญาตที่เข้ากันได้กับ GPL แต่ทาง FSF กลับกล่าวว่า ใบอนุญาตของ Python 1.6.1 เข้ากันไม่ได้กับใบอนุญาต GPL [1]

2001 Python Software Foundation ถูกก่อตั้งขึ้นมา :


Python Software Foundation หรือ PSF ถูกก่อตั้งขึ้นมาเป็นมูลนิธิเพื่อเป็นเจ้าของทรัพย์สินทางปัญญาที่เกี่ยวกับ Python โดย Zope Corporation เป็นผู้ร่วมสนับสนุน และได้มีการพัฒนา Python 2.1 แต่ติดปัญหาใบอนุญาตเข้ากันไม่ได้กับใบอนุญาต GPL จึงออก Python 2.1.1 [2] ตามมาและออก Python 2.0.1 [3] ตามมา โดยใบอนุญาตของทั้งสองรุ่นเข้ากันได้กับ GPL ซึ่ง Python ได้ใช้ใบอนุญาต Python Software Foundation มาจนถึงปัจจุบันนี้

2006 เริ่มต้นพัฒนา Python 3000


ค.ศ.2006 ทาง PSF ได้เริ่มต้นพัฒนา Python 3000 โดยโค้ดส่วนใหญ่เข้ากันไม่ได้กับ Python 2.X ที่ผ่านมา ถือเป็นการยกเครื่องครั้งใหญ่ของภาษา Python

2008 Python 3.0 ออกเวชั่นจริง



ค.ศ.2008 Python 3.0 ออกเวอร์ชันจริง พร้อมกับ Python 2.6 ในเวลาใกล้เคียงกัน โดย Python 3.0 มาพร้อมความสามารถใหม่และสนับสนุน Unicode

2010 Python 2.7 และ Python 3.1 :


Python 2.7 ได้ถูกปล่อยออกมา และได้ปล่อย Python 3.1 ตามมา

2011 PEP404 - ไม่มี Python 2.8 :


จาก PEP404 ทำให้ Python 2.7 กลายเป็นเวอร์ชันสุดท้ายของสาย Python 2 หลังจากนี้ Python 2.7 จะได้รับการสนับสนุนด้านความปลอดภัยจนถึงปี ค.ศ.2020 [4]



2018 Guido van Rossum ออกจากตำแหน่งผู้นำ Python

12 กรกฎาคม 2018 Guido van Rossum ผู้ก่อตั้งภาษา Python และดำรงตำแหน่งผู้นำภาษา Python มาตั้งแต่ก่อตั้ง ได้ประกาศออกจากตำแหน่งผู้นำ Python หรือ "Benevolent dictator for life" (BDFL) สาเหตุมาจากการออกมาตรฐาน PEP 572 [5]

อ้างอิง


[1] Python 1.6.1 https://www.python.org/download/releases/1.6.1/

[2] Python  2.1.1 https://www.python.org/download/releases/2.1.1/

[3] Python  2.0.1 https://www.python.org/download/releases/2.0.1/

[4] PEP 404 https://www.python.org/dev/peps/pep-0404/

[5] Guido van Rossum resigns as Python leader https://lwn.net/Articles/759654/

Erin Holmes, A. (2013, September 5). A Brief History of Python. Retrieved September 29, 2017, from http://silshack.github.io/fall2013/post/2013/09/05/history-of-python.html

Sam Wood, A. (2015, October 14).A Brief History of Python. Retrieved September 30, 2017, from  https://www.packtpub.com/books/content/brief-history-python

Python Software Foundation, A. HISTORY OF THE SOFTWARE. Retrieved September 29, 2017, from https://github.com/python/cpython/blob/master/LICENSE

Python Software Foundation, A. General Python FAQ. Retrieved September 29, 2017, from https://docs.python.org/3/faq/general.html

History of Python. Retrieved September 29, 2017, from https://people.rit.edu/cpc1007/140/project2/history.html

Guido Van Rossum, A. (2000, May 30).PythonLabs: Python Development Team Moves to BeOpen.com. Retrieved September 30, 2017, from http://www.linuxtoday.com/infrastructure/2000053001406NWCY

3 ความคิดเห็น:

แสดงความคิดเห็นได้ครับ :)