วันพฤหัสบดีที่ 24 ตุลาคม พ.ศ. 2556

โพสแรก รื้อฟื้นการเขียนโปรแกรม


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

การเขียนโปรแกรมนั้นผู้เขียนเองก็มีโอกาสได้เรียนรู้มาพอสมควรแต่เนื่องจากงานที่ทำไม่ได้ใช้ ทำให้ความรู้ที่เรียนมาก็เริ่มถดถอย อาคมเสื่อม ตอนนี้ก็จะมีเขียนโปรแกรมแบบลงมือโค้ดโปรแกรมเองอยู่บ้างนิดหน่อยโดยใช้ภาษา Visual Basic for Application(VBA) ที่มากับโปรแกรม Microsoft Office เขียนสูตรในโปรแกรม Crystal Report ภาษา SQL สำหรับการดึงข้อมูลต่าง ๆ จากระบบฐานข้อมูล นอกจากนั้นก็เป็นการสื่อสารกับทางโปรแกรมเมอร์ถึงความต้องการรูปแบบที่ต้องการแล้วก็รอรับโปรแกรม พอดีได้อ่านข่าวเรื่องการส่งเสริมการเขียนโปรแกรมของทางเว็บ code.org จาก blognone ที่จริงก่อนหน้านี้ก็ได้ดูวีดีโอโปรโมทเว็บนี้ไปบ้าง ก็กำลังคิด ๆ อยู่เหมือนกันว่าจะเขียนโปรแกรมอีกดีไหมนะ ในที่สุดก็ตัดสินใจจะรื้อฟื้นศึกษาการเขียนโปรแกรมอีกครั้ง เนื่องจากโดยส่วนตัววางโครงการที่จะใช้ทักษะนี้ทำอะไรบางอย่างเร็ว ๆ นี้

ก่อนอื่นเลยต้องขอเลือกภาษาที่จะศึกษาก่อน เพราะเดี๋ยวนี้ภาษาโปรแกรมสามารถแตกไปหลายแขนงเหลือเกินถ้าดูฝั่งที่มีการติดต่อกับผู้ใช้ทั่วไปโดยตรงก็จะสามารถเขียนทั้งแบบ เดสก์ทอป เว็บ มือถือ แทปเล็ต ทีวี ฯลฯ ไม่ต้องนับถึงการเขียนโปรแกรมระบบลึก ๆ ยาก ๆ กลัวจะท้อหมดแรงไปซะก่อน เอาละงั้นตั้งคุณสมบัติที่ต้องการไปก่อน

  • ฟรี

ภาษาโปรแกรมส่วนมากที่มีในโลกนี้มักจะแจกฟรีอยู่แล้ว ดังนั้นไม่ต้องห่วงเรื่องตัวแปลภาษาเลย ยกเว้นตัวแปลภาษาบางอย่างแค่นั้นเองที่ค่อนข้างเฉพาะตัว เช่นตัวคอมไพล์เลอร์ภาษาซีของอินเทล หรือ ตัวแปลภาษาของแมทแล็บ (MATLAB) เป็นต้นที่ต้องเสียเงินซื้อ ส่วนเครื่องมือที่ใช้ในการพัฒนาก็ควรต้องฟรีด้วย โดยตัวเครื่องมือก็มีให้เลือกตั้งแต่โปรแกรมแก้ไขเทกซ์ไฟล์ แบบฟรีก็พวก Notepad, Notepad++, VIM, Emac, Komodo Edit หรือพวกที่ขายแต่ให้ทดลองใช้ฟรีก็ Sublime Text และยังมีพวกเสียเงินอีกแต่คงไม่พูดถึงเพราะเราต้องการของฟรี ถ้าต้องการพวกเครื่องมือช่วยเขียนแบบเยอะหน่อยก็ต้องเป็นพวก IDE (Integrated Development Environment) แบบฟรีก็มีแต่ส่วนใหญ่จะเสียเงิน

  • ใช้ได้หลายแพลตฟอร์ม

ไหน ๆ ก็เรียนรู้แล้วก็อยากให้ตัวโปรแกรมที่เขียนสามารถนำไปรันที่ระบบได้หลาย ๆ แบบทั้ง Windows (อันนี้เป็นหลักเลย), Linux, OSX หรือจะรันบนพวก Embedded Device ไปจนถึงเว็บ มือถือ ทีวี หรืออุปกรณ์อื่น ๆ อีกถ้าเป็นไปได้ เผื่อโปรแกรมที่พัฒนาขึ้นมาอาจจะตามผู้ใช้ไปทุกหน้าจอ ที่จริงต้องการให้เขียนโค้ดน้อยครั้งหน่อยถ้าเขียนบนจอนึงแล้วอยากเอาไปใช้บนจออื่นด้วยแบบแก้น้อย ๆ หน่อย

  • ภาษาเขียน/อ่านง่าย

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

  • มีเครื่องมือเยอะ

แน่นอนว่าพวกไลบราลีหรือเฟรมเวิร์กของภาษานั้นก็จำเป็นเพราะบางทีถ้ามัวแต่เขียนเองทุกอย่างรับรองได้ว่าไม่ไปไหนเลิกเขียนซะก่อน ยิ่งมีเยอะก็จะมีตัวเลือกเยอะ หาตัวที่เหมาะสมกับงานได้ดีที่สุด หรือถ้าเก่งไปอีกหน่อยอาจจะเขียนไลบราลีขึ้นมาเองก็ได้ (ท่าจะยาก)

  • มีผู้ใช้เยอะพอปรึกษาได้

ขอผู้ที่เขียนภาษานั้นเยอะ ๆ หน่อยเผื่อเกิดปัญหา ไปไม่ถูกจะได้ถามหาคนช่วยได้บ้าง ไม่งั้นลุยไปไม่ถูก ข้อนี้ก็คงดูจากความนิยมของภาษา จำนวนงานที่ตลาดต้องการ อันนี้ไม่เกี่ยงว่าจะคุยกันเป็นภาษาไทยหรือภาษาอังกฤษ พอเอาตัวรอดกับภาษาต่างชาติได้
เมื่อได้ความต้องการแบบนี้ ก็ต้องไปทำการบ้านต่อละว่าจะเลือกตัวไหน แต่ก็ยากจะตัดสินใจเหมือนกันเพราะตัวเลือกเดี๋ยวนี้มากมายก่ายกอง คุณสมบัติแต่ละตัวก็เยอะสุด ๆ ไว้มาต่อกัน