ก่อนหน้าที่เราจะเริ่มทำ “CodeLoma” คำถามที่เราเจอบ่อยคือ ทำไม? เลือกให้น้องๆ เขียน Python ทำไมไม่ให้น้องเรียนภาษา “C” วันนี้ เราจะมาเล่าให้ฟัง
ในอาชีพ Programmer ที่เขียนโปรแกรมมาตั้งแต่ พ.ศ. 2535 เรากล้าบอกว่า…. ไม่มีภาษาอะไรที่ดีที่สุดหรอก
มีแต่ภาษาที่เหมาะสมที่สุด ในเวลาที่ถูกต้อง เท่านั้นเอง
ในงานเขียนโปรแกรมจริงๆ เมื่อเราเขียนแบบอาชีพ เราจะไม่ได้ใช้เพียงภาษาใด ภาษาหนึ่ง เพราะเราอาจจะเจอข้อจำกัดของภาษาได้ ดังนั้นแม้แต่การเขียนโปรแกรม เราจึงจำเป็นต้องศีกษาหลายภาษาตลอดเวลา
แล้วทำไม CodeLoma จึงเลือกภาษา Python มาให้สำหรับผู้ที่ไม่มีประสบการณ์ด้านเขียนโปรแกรมมาก่อน ทำไมไม่เลือกเป็นภาษา C แบบเท่ๆ ไปเลย วันนี้ เราจะมาเปรียบเทียบให้ดูกันครับ
ภาษา Python ใช้โครงสร้างภาษาที่ใกล้กับภาษามนุษย์ ทำให้คนที่ไม่มีความรู้ด้านเขียนโปรแกรมมาเลย สามารถทำความเข้าใจทักษะการเขียนโปรแกรมได้ง่ายกว่า เช่น หากเราต้องการพิมพ์คำว่า “Hello” เราก็จะใช้แค่คำว่า print(“Hello”) ในขณะที่ C ต้อง #include แล้วก็ต้องสร้าง main() ซึ่งซับซ้อนกว่ามาก
จุดสำคัญของ Python คือมีสังคมนักพัฒนาขนาดใหญ่ ที่สร้าง ไลบารี่เสริม ที่ช่วยคำนวณซับซ้อนได้ โดยที่เราไม่จำเป็นต้องเริ่มต้นจาก 0 เช่น NumPy, Pandas, Matplotlib ทำให้เราสามารถสร้างโปรแกรมทางวิทยาศาสตร์ AI หรือ Web ได้ง่ายมาก โดยไม่ต้องเริ่มสร้างเองทั้งหมด
Python มี Garbage Collector จัดการหน่วยความจำอัตโนมัติ ในขณะที่ C ต้อง malloc และ free เอง
หมายถึง ตัวมันสามารถเขียนโปรแกรมครั้งเดียว แล้วนำไปทำงานกับระบบปฏิบัติการได้หลากหลาย ไม่ว่าจะเป็น Windows, macOS, Linux โดยแทบไม่ต้องแก้ไขอะไรเลย
ภาษา Python เป็นภาษาที่เราเรียกว่า Interpreted คือ ใช้การแปลทุกครั้งที่ทำงาน ซึ่งต่างจากภาษา C ที่ต้องมีการ Compile ให้พร้อมทำงานก่อนเริ่มใช้
เช่น หากเราใช้การเขียนโปรแกรมกับอุปกรณ์ Embedded หรือการทำงานแบบ Realtime ภาษา C จะยังสามารถทำงานได้ดีและรวดเร็วกว่า Python
ภาษา C สามารถเข้าถึงข้อมูลระดับ Bit ได้ รวมถึงการทำงานกับหน่วยความจำโดยตรง หากเขียนโปรแกรมเชิงลึก เรายังสามารถเขียนโปรแกรมภาษา C ร่วมกับภาษา Assembly ในการเชื่อมต่อตรงกับอุปกรณ์ได้อีกด้วย
เพราะเป็นภาษาแบบ Interpreted ดังนั้นจึงต้องติดตั้งตัวแปลภาษา Python ในเครื่องก่อน จึงสามารถเรียกใช้งานโปรแกรมได้ ซึ่งต่างจาก C ที่เป็น Compiler สามารถนำมาเรียกใช้ได้ทันที
โดยสรุป หัวใจสำคัญของการเขียนโปรแกรม สิ่งที่จะบอกได้ว่า เราสามารถเขียนโปรแกรมได้หรือไม่อยู่ที่ “Algorithm” หรือกระบวนการคิด มากกว่า การเลือกใช้ภาษา เพราะตัวภาษาเอง ก็จะมีการพัฒนาตัวเองไปเรื่อยๆ
ในช่วงเวลาที่เขียนโปรแกรมมา เราพบว่า มีการสร้างภาษาใหม่ และมีภาษาที่สูญหายไปตลอดเวลา
การอยู่ในวงการ Development จึงต้องมีการพัฒนาตัวเองอยู่ตลอดเวลา มากกว่า การยึดมั่นกับภาษาใด ภาษาหนึ่ง
ดังนั้น หากวันนี้ คุณไม่เคยเขียนโปรแกรมมาก่อนเลย Python จึงเป็นตัวเลือกที่ดีที่สุดในการศึกษาเริ่มต้น แต่เมื่อเขียนได้แล้ว คุณควรเริ่มศึกษาภาษาอื่นๆ ควบคู่ไปด้วย เพราะเชื่อเถอะว่า ภาษาเดียว ไม่สามารถรองรับงานได้ทุกรูปแบบที่คุณต้องการ