Links on Python information in Thai
ISO 639-1 Code: th
ภาษาไทย
ภาษา Python นั้นเป็นภาษาโปรแกรมประเภทภาษาสคริปต์ มีความสามารถหลากหลาย แต่สามารถเรียนรู้ได้รวดเร็วมาก ในต่างประเทศเป็นที่นิยม ส่วนในเมืองไทยก็กำลังเติบโตขึ้นเรื่อย ๆ ขณะนี้เริ่มมีมหาวิทยาลัยต่าง ๆ นำภาษานี้ไปเป็นภาษาโปรแกรมแรกสำหรับนักศึกษา เช่น มหาลัยกรุงเทพ มหาวิทยาลัยพระจอมเกล้าพระนครเหนือ มหาวิทยาลัยเกษตรศาสตร์ ฯลฯ ผมขอแนะนำเลยว่ามันทำอะไรได้บ้าง ตามนี้ครับ
เว็บโปรแกรมมิง
ได้แก่ CGI, Zope, Django, TurboGears, XML โดยเฉพาะตัว Zope นี่ถือว่าเป็นระดับ enterprise เพราะมีเครื่องมือครบครัน ส่วน Django จะเด่นในเรื่องของ admin ที่เราไม่ต้องสร้างเองเลย ระบบสร้างให้เสร็จไม่ว่าจะ add, edit, delete ส่วน TurboGears นั้นจะเด่นในเรื่องของการผสมตัว Ajax เข้ามาไว้ในระบบ
การพัฒนาโปรแกรมที่มีส่วนติดต่อผู้ใช้แบบกราฟิก (GUI)
ก็มีเฟรมเวิร์กได้แก่ wxPython, tkInter, PyGtk, PyQt แต่เท่าที่ผมใช้มาผมว่า wxPython โอเคสุด นับตั้งแต่ เครื่องมือ, คู่มือ, ตัวอย่าง
* เกมและกราฟิก 3D
ใครที่ชอบดูหนังคงจะไม่รู้ว่าพวกอนิเมชันหรือพวกเอฟเฟ็กซ์ต่าง ๆ นั้นก็ใช้ Python ได้ ส่วน framework ได้แก่ PyGame, PyKyra, 3D Rendering และ Panda3D ตัวที่ผมว่าดีสุดก็คือ panda3d เพราะมีวอลต์ดีสนีย์เป็นผู้ให้การสนับสนุน
และมีการใช้งานที่ครบถ้วนทั้ง ตัวละคร เสียง และภาพ มีบริษัทในไทยชื่อว่า monkstudio บริษัทที่รับงานพวก 3D หรือ เอฟเฟ็กซ์ จากฮอลีวูดมาทำเป็นบริษัทที่มีชื่อเสียงที่ดังมาเป็น ของคนไทยจะมีนักศึกษาจากประเทศต่าง ๆ ต่างพยายามขอเข้ามาฝึกงานที่นี่ ทั้งหมดที่ผมจะบอกก็คือเขาใช้ Python ในการทำงานครับ และเป็นคนไทยด้วย
* ชีวสารสนเทศศาสตร์และวิทยาศาสตร์ ในด้านชีวสารสนเทศศาสตร์และวิทยาศาสตร์นั้น ผมยังไม่ได้ทำการศึกษาสักเท่าไหร่ แต่ก็จะมี framework ดังนี้ SciPy, ScientificPython, ScientificPython ยังมีอีกหลายตัวหากใครสนใจก็ค้นหาได้ครับ
ฐานข้อมูล
ในส่วนของการติดต่อกับฐานข้อมูล ตัว Python เองก็สามารถเชื่อมกับฐานข้อมูลได้หลากหลายมากเท่าที่ผมเคยใช้งานมาก็ได้แก่ MySQL, MSSQL, Oracle หรือจะเป็น ODBC ซี่งหากลองมาไล่กันจริง ๆ ก็จะมีดังนี้
relational database
- IBM DB2
- Firebird (รวม Interbase)
- Informix
- Ingres
- MySQL
- Oracle
- PostgreSQL
- SAP DB (ปัจจุบันเรียกว่า "MaxDB")
- Microsoft SQL Server
- Sybase
embedded applications
- SQLite
- ThinkSQL
ODBC และ non-relational databases
- ZODB
- BerkeleyDB
- Durus
- atop
- buzhug
ยังมีอีกหลายด้านแต่ผมคงจะหาตัวอย่างมาได้ไม่หมดขอจบเท่านี้ดีกว่า เลยขอมาบอกว่ามันรันได้บนแพลตฟอร์มอะไรได้บ้างดีกว่า
- Windows
- Linux/Unix
- Mac OS X
- OS/2
- Amiga
- AS/400
- BeOS
- iPod
- OS/390 และ z/OS
- Palm OS
PlayStation และ PSP
- Psion
- Series 60 (Symbian OS-based Series 60)
- Windows CE หรือ Pocket PC
อีกส่วนที่ผมคิดว่าเป็นข้อดีของ Python อีกอย่างก็คือ เอา Python ไปผสมกับภาษาโปรแกรมมิ่งภาษาอื่น ๆ แต่ที่เด่นก็ได้แก่ Jython (Java) และ IronPython (.NET) ส่วนภาษาอื่น ๆ คงลองหากันดูครับ เช่น
Java ก็ได้โครงการ Jython ก็คือเอาคุณสมบัติที่มีของ Java มาเขียนโดยใช้ Python หรือจะให้งานก็คือ รู้ Java แต่ไม่อยากเขียนโดย Java ก็ใช้ Python แทน หรือว่าใครอยากเปลี่ยนภาษาแต่ยังไม่อยากแก้ไขอะไรมาก
.Net ก็จะได้โครงการ IronPython เกิดโดยการสนับสนุนของ Microsoft ก็คือเอา Python มาเขียนใช้งาน .Net นั้นเอง
มาดูกันว่าแล้วมีที่ใดบ้างที่เขาเอา Python ไปทำงานกันจริง ๆ บ้าง
Red Hat เขาใช้ทำตัวติดตั้งของ Linux
Google เจ้านี้บริษัท Python ขนานแท้ครับเอาเป็นว่างานหลัก ๆ ก็อยู่กับ Python หมด
Microsoft มีบางส่วนของโปรแกรมที่ใช้ Python เขียน
Infoseek ใช้ในการ implementation และ end-user customization language ของส่วน search web
Yahoo บริษัทนึ้ จะช้เยอะมากในส่วนของ webservices
NASA ใช้ในระบบควบคุม (mission-control-system)
Lawrence Livermore Labs ใช้ในงานการโปรแกรมเกี่ยวกับตัวเลข
Industrial Light and Magic ใช้ในการทำแอนิเมชันระดับพาณิชย์ (commercial-grade animation) บริษัทผู้ทำแอนนิเมชั่นให้กับหนังเรื่อง Iron Man, Harry Potter and the Half-Blood Prince, Indiana Jones and the Kingdom of the Crystal, Speed Racer ฯลฯ
ผมว่ามาถึงบรรทัดนี้ทุกคนคงรู้แล้วว่า Python ทำอะไรได้บ้าง แล้วจะเอาไปทำอะไร ต่อไปผมจะเขียนในการติดตั้งและการเขียนโปรแกรมต่อ หากอ่านแล้วข้อมูลไม่ถูกต้องอะไรก็บอกได้ครับ
ข้อมูลสำหรับผู้ศึกษา Python
One Day of IDLE Toying in Thai เอกสารการพัฒนาเว็บโดย Django แปลโดยคุณ roofimon เขียน Django ใน30นาที
เว็บบอร์ดสำหรับถามตอบเกี่ยวกับ Python
เอกสารสอนการเขียนโปรแกรมด้วยไพธอนเบื้องต้น จัดทำโดยคณะวิทยาศาสตร์ ม.นเรศวร ภาษาโปรแกรมมิ่งไพธอน
ขอบคุณ คุณ annop@fordantitrust.com
Blogs
rpgkan - Python blogger
pooh-rider - several Python posts
gampolt - entry on Python lists
faker-programmer - py2exe
forum thread - mySQL, UTF-8, Thai - some code
codenone - blog - a little code - reading Thai text from a file
numvarn - blog - more reading Thai text from a file
isiam - Let's run Python on mobile - lots of code and accompanying Thai text.
codenone - forum - IronPython and Oracle code
plynoi.exteen - ironpython and me - some code
xcode3x.exteen - jython interpreter demo
happy24hours - การติดตั้ง python ให้ใช้งานบน IIS (windows xp)
sawarino - brief entry on 2.6 and setting path.
itcyber - general info
narisa - forum thread - socket code.
phondanai - network addressing/CIDR notation/socket
diva-phoo - general info with interpreter flowchart.
pythai - assert-statements
thaibioinfonetwork - python functions
enumap - gps data from text file
thaibioinfonetwork - functions
nukz - python-cookie-howto
7xment - Basic Python
ofebia - smtplib
conan - regex-match-group
orcapy - Python programming tips