ถ้าอยากหัดเขียนโปรแกรมควรเริ่มต้นด้วยภาษาอะไรดี?

Last modified date

Comments: 0

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

อ่านกันเล่นๆว่าโลกนี้เขามีภาษาคอมพิวเตอร์มากน้อยขนาดไหน
https://en.wikipedia.org/wiki/List_of_programming_languages

** สำหรับเนื้อหาต่อไปนี้เป็นความเห็นส่วนตัวนะครับ เพราะเรื่องนี้ถาม 10 คนก็อาจได้คำตอบ 10 อย่าง **

photo-1454165205744-3b78555e5572

ถ้าวัตถุประสงค์การเขียนโปรแกรมของคุณคือต้องการแค่หัดคิดอะไรให้เป็น Logic อยากทำความเข้าใจในหลักการเขียนโปรแกรม ไม่ได้ต้องการไปเขียนโปรแกรมใช้งานจริงจัง หรือเป็นอาชีพ ผมก็อยากจะแนะนำให้ลอง Java หรือไม่ก็ Python เพราะ

  1. โครงสร้างภาษาเป็นมาตรฐาน ในยุคหนึ่งการสอน Programming Language ก็ใช้ Java ในการสอนเกือบทุกที่ ส่วน Python ก็มาแรงเหลือเกินในยุคนี้เกินกว่าจะไม่พูดถึง
  2. สามารถลองหัดเขียนบนเครื่องตัวเองได้ ไม่ต้องมี Server หรือเครื่ออะไรพิเศษ
  3. สามารถต่อขยายไปพัฒนาโปรแกรมระดับสูงได้ไม่ยาก
  4. มีชุมชนให้เราเข้าไปสอบถามได้หากเราติดปัญหาอะไร (แต่ส่วนใหญ่ Google ก็ได้แล้ว)

แต่ถ้าจริงจังขึ้นมาอีกหน่อย ก็คงต้องแบ่งกันแล้วหละครับว่าอยากพัฒนาโปรแกรมสำหรับใช้ทำอะไร เช่น

  1. อยากเขียนโปรแกรมแบบ Stand alone บนเครื่องคอมพิวเตอร์ของเรา ที่ส่วนใหญ่เขาจะเรียกว่า Desktop Application
  2. อยากเขียนโปรแกรมสำหรับทำงานบนเว็บ หรือที่เรียกว่า Web Application
  3. อยากเขียนโปรแกรมบนอุปกรณ์พกพา หรือที่เรียกว่า Mobile Application ไม่ว่าจะเป็น Android หรือ iOS (ขออนุญาตไม่พูดถึง Mobile Platform อื่นนะครับ  เพราะถือเป็นส่วนน้อย)

Desktop Application

สำหรับการเขียนโปรแกรมประเภทนี้ ความยุ่งยากจะไม่มาก เพราะสามารถเขียนบนเครื่องตัวเอง และ run บนเครีื่องตัวเองได้เลย เพียงแต่คุณต้องหา Editor สำหรับเขียนโปรแกรมเหมาะๆสักตัว ซึ่ง Editor นี้จะมีชื่อเรียกเฉพาะว่า IDE หรือ Integrated Development Environment

ปัจจัยอีกอย่างที่ควรนำมาพิจารณาก็คือว่าเราจำเป็นต้องพัฒนาโปรแกรมแบบ Cross Platform หรือไม่ คือพัฒนาครั้งเดียวให้สามารถใช้ได้ทั้งบนระบบปฏิบัติ Windows, OSX และ Linux

ภาษาที่แนะนำก็จะมี Java กับ C# ในส่วนของ Java เป็นเครื่องมือแบบ Cross Platform แน่นอน ส่วน C# ก็จะมี Mono ที่เป็น development platform ที่ทำให้สามารถใช้ C# พัฒนาได้

Web Application

ส่วนตัวชอบ PHP เพราะคิดว่าเป็นภาษาที่อยู่มานาน มี framework ดีๆให้เลือกใช้งานมาก แต่ตอนนี้ผมกำลังสนใจ Python เป็นพิเศษ เอาไว้ถ้ามีโอกาสจะเล่าเรื่อง Python ให้ฟังบ้าง

หรือถ้าใครสนใจจะใช้ Java (JSP) ในการพัฒนาก็ยังเห็นมีใช้งานกันอยู่พอสมควร

ผมจะไม่ถือ HTML5 เป็นภาษานึงนะครับ เพราะคิดว่าถ้าจะให้ work จริงๆตัวมันเองยังทำอะไรได้ไม่มาก เวลาจะใช้งานจริงจังก็ต้องเขียนร่วมกับภาษาอื่นอยู่ดี

การพัฒนาโปรแกรมบนเว็บจะยุ่งยากกว่าพัฒนาบน Desktop หน่อย เพราะต้องมีส่วนประกอบหลายอย่างมาประกอบกัน เช่น ต้องมี Web Server ติดตั้งอยู่ด้วย หรือไม่ก็ต้อง upload code ต่างๆขึ้นไปไว้บน Web Hosting ต่างๆในอินเทอร์เน็ตเพื่อทำการทดสอบโปรแกรมของเรา

Mobile Application

เลือกได้ 2 ทางว่าจะเขียนเป็น Mobile Web App คือใช้เทคโนโลยีเดียวกับการเขียน Web App มาใช้งาน หรือจะเลือกเขียนเป็น Native App ไปเลย คือภาษาที่เขียนแล้วทำงานได้กับระบบปฏิบัติการนั้นๆ เช่น Android หรือ iOS

Swift เริ่มเป็นเครื่องมือพัฒนาที่น่าสนใจ เพราะนอกจากปัจจุบันมันใช้พัฒนาโปรแกรมบน iOS แล้ว กำลังมีแนวโน้มว่าจะสามารถนำมาใช้พัฒนาโปรแกรมบน Android ได้ด้วย อ่านเพิ่มเติมได้ที่นี่ครับ

photo-1429051883746-afd9d56fbdaf

สรุป

สุดท้ายที่่อยากแนะนำคือ อยากให้ลองเลือกเริ่มต้นด้วยภาษาที่เราดูแล้วสนใจ แล้วลองฝึกพัฒนาดู จากนั้นมันมีโอกาสสูงมากที่เราจะปรับเปลี่ยนไปหัดพัฒนาด้วยภาษาอื่นๆอีก โดยประเด็นที่อยากสรุปไว้ก็คือ

ไม่มีภาษาไหนที่สามารถเขียนโปรแกรมทุกประเภทได้อย่างมีประสิทธิภาพ

มีภาษาใหม่ๆเกิดขึ้นอยู่ตลอด ก็เหมือนกับมีเครื่องมือใหม่ๆให้เลือกใช้นั่นเอง

บาง platform เช่น web จะต้องพัฒนาโดยใช้เทคนิคหลายๆอย่างไปพร้อมกัน ซึ่งอาจจะหมายถึงต้องเขียนโปรแกรมคนละภาษาด้วย เช่น ต้องใช้ทั้ง PHP และ JavaScript พัฒนาไปพร้อมๆกัน เป็นต้น

โปรแกรมเมอร์ปัจจุบันหลายคนจะเขียนโปรแกรมได้มากกว่า 1 ภาษา (เป็นข้อได้เปรียบ เหมือนรู้จักเครื่องมือในการทำงานหลากหลาย)

ครับ จบแล้วสำหรับคำแนะนำเบื้องต้น สำหรับคนที่อยากจะเริ่มหัดเขียนโปรแกรมคอมพิวเตอร์ครับ หาตำราที่อ่านเข้าใจสักเล่มแล้วลงมือเลยครับ

 

 

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

Leave a Reply

Your email address will not be published. Required fields are marked *

Post comment