Tutorial

เริ่มเขียนโปรแกรมควรเริ่มจากอะไรดี??

By Arnon Puitrakul - 21 เมษายน 2015

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

  • Problem Solving Skill - การเขียนโปรแกรมมันก็คือ การย่อปัญหาที่ยาก ให้ทำได้โดยง่าย เพราะฉะนั้น การที่จะสร้างโปรแกรมสักตัวนั้น เราจะต้องอาศัย เรื่องของทักษะในการแก้ปัญหาต่างๆ เดี๋ยวมาอธิบายต่อข้างล่าง
  • Programming Language - เมื่อกี้ เรามีวิธีในการแก้ปัญหาแล้ว ตอนนี้เราจะต้องมารู้ภาษาที่ไว้คุยกับคอมพิวเตอร์ หรือเรียกง่ายๆว่า ภาษาโปรแกรมมิ่ง ซึ่งมันก็จะมีตั้งแต่ ภาษาชั้นต่ำ ยัน สูงเลย ความยากง่าย และความเหมาะสมนั้นขึ้นกับงานที่จะทำ โดยภาษาชั้นสูง สำหรับมือใหม่แล้วจะ เรียนรู้ได้ง่ายกว่า เช่นพวก Phyton เป็นต้น
    จากทั้ง 2 สกิล รวมกัน มันจะทำให้เราสามารถที่จะเขียนโปรแกรมเพื่อแก้ปัญหาได้ แรกๆ เราอาจจะแก้ปัญหาง่ายๆได้ หลังๆพอเราทำไปเรื่อยๆ เดี๋ยวก็จะเก่งขึ้น แต่เอาจริงๆจากประสบการณ์ Problem Solving Skill สำคัญกว่าการรู้ Syntax ของ ภาษาซะอีก เพราะเวลาเขียนโปรแกรมจริง ขั้นตอนแรกก่อนจะเขียนโปรแกรมนั่นคือ การวิเคราะห์ปัญหา ถ้าเราทำสิ่งนี้ ไม่ได้ มันก็เหมือนตายตั้งแต่ก่อนเขียนแล้วอะ (เอาฟิลคนเขียนนะ เขียนไม่ออกแน่ๆ) แล้วอันที่ฝึกยากและต้องใช้เวลาก็ Problem Solving เลย นานสุดๆ
    มาถึงอีกเรื่องนั่นคือ เรื่องภาษาที่ใช้ ภาษาแต่ล่ะภาษามันก็มีข้อเด่น ข้อด้อย ของมัน แต่สำหรับคนที่พึ่งเริ่มเขียน ผมแนะนำให้ไปเรียนภาษาล่างๆ เช่น C ไปก่อน เพราะตัวภาษา มันค่อนข้างเรียบง่ายกว่าๆภาษาอื่นๆ (เหรอ) เอาเป็นว่า มันคือพื้นฐานของหลายๆภาษา ถ้าได้ C แล้ว เราอาจจะต่อยอดไป C++ ก็ไม่ใช่เรื่องยากเลย เพราะมันก็เหมือนๆกัน แค่เพิ่มอะไรมาหน่อยเท่านั้นเอง พอเราเริ่มคล่องแล้ว แนะนำให้ไปลองเขียน Java ไม่ก็ C++ ที่เป็น OOP เพราะมันเหมาะสำหรับการแก้ปัญหาที่ซับซ้อนกว่าตัวของ C ที่เป็น Structural Programming ใน Java หรือ C++ เราจะไปเน้นในสิ่งที่เรียกว่า OOP (Object Oriented Programming)
    ซึ่งในปัจจุบัน C เฉยๆก็ไม่ค่อยมีคนใช้เท่าไหร่และ เว้นแต่คนที่ทำงานติดกับ Hardware จริงๆ ส่วนใหญ่จะไปใช้ C++,C#,Java กันซะมากกว่า
    เพิ่มเติม ผมก็สาย Java อะนะ ตอนแรกที่เราเรียนตัว Java พื้นฐานเราจะไปเรียน J2SE มันคือ Standard Edition ของตัว Java แต่หลังที่เรารู้ J2SE ไปแล้ว ผมแนะนำให้ไปหาอ่าน J2EE ก็จะดีมากๆ เพราะเหมือนรู้สึกว่าในเมืองไทยคนที่เก่ง J2EE จริงๆ เอาเก่งจริงๆเลย ผมว่ายังน้อยอยู่นะ อาจจะเพราะไม่มีคนแปล Doc มาให้แน่ๆเลย lol
    สุดท้ายจริงๆและ ไม่รู้จะเรียนที่ไหน เราเลยจะมาแนะนำเว็บที่สอน Coding กัน
    เว็บแรกที่จะแนะนำคือ Code.org เป็นเว็บที่ผมชอบเว็บนึงนะ เพราะมันเป็นเว็บที่ใครๆก็เรียนได้ ตั้งแต่เด็กยันแก่เลย ผมเคยเห็นฝรั่งอายุ 60+ มาเรียนก็เรียนได้จริงๆนะ Anyone can code จริงๆ
    อีกเว็บก็เว็บตัวเองนั่นแหละ lol อาจจะไม่ได้พื้นฐานเหมือนของเขา แต่จะเน้นภาษามากกว่า เหมาะสำหรับคนที่มีพื้นฐานมาแล้ว แล้วอยากจะเรียนภาษาใหม่ ผมก็จะทยอยอัพเดทเรื่อยๆ ตอนนี้อาจจะมาติดๆขัดๆหน่อย ใกล้สอบ Final ที่มหาลัยและ งานเยอะด้วย TT arnondora.in.th/tutorial

Read Next...

ฮาวทูย้าย Synology Add-on Package ไปอีก Volume

ฮาวทูย้าย Synology Add-on Package ไปอีก Volume

เรื่องราวเกิดจากการที่เราต้องย้าย Add-on Package ใน DSM และคิดว่าหลาย ๆ คนน่าจะต้องประสบเรื่องราวคล้าย ๆ กัน วันนี้เราจะมาเล่าวิธีการว่า เราทำยังไง เจอปัญหาอะไร และ แก้ปัญหาอย่างไรให้ได้อ่านกัน...

จัดการ Docker Container ง่าย ๆ ด้วย Portainer

จัดการ Docker Container ง่าย ๆ ด้วย Portainer

การใช้ Docker CLI ในการจัดการ Container เป็นท่าที่เราใช้งานกันทั่วไป มันมีความยุ่งยาก และผิดพลาดได้ง่ายยังไม่นับว่ามี Instance หลายตัว ทำให้เราต้องค่อย ๆ SSH เข้าไปทำทีละตัว มันจะดีกว่ามั้ย หากเรามี Centralised Container Managment ที่มี Web GUI ให้เราด้วย วันนี้เราจะพาไปทำความรู้จักกับ Portainer กัน...

Host Website จากบ้านด้วย Cloudflare Tunnel ใน 10 นาที

Host Website จากบ้านด้วย Cloudflare Tunnel ใน 10 นาที

ปกติหากเราต้องการจะเปิดเว็บสักเว็บ เราจำเป็นต้องมี Web Server ตั้งอยู่ที่ไหนสักที่หนึ่ง ต้องใช้ค่าใช้จ่าย พร้อมกับต้องจัดการเรื่องความปลอดภัยอีก วันนี้เราจะมาแนะนำวิธีการที่ง่ายแสนง่าย ปลอดภัย และฟรี กับ Cloudflare Tunnel ให้อ่านกัน...

จัดการข้อมูลบน Pandas ยังไงให้เร็ว 1000x ด้วย Vectorisation

จัดการข้อมูลบน Pandas ยังไงให้เร็ว 1000x ด้วย Vectorisation

เวลาเราทำงานกับข้อมูลอย่าง Pandas DataFrame หนึ่งในงานที่เราเขียนลงไปให้มันทำคือ การ Apply Function เข้าไป ถ้าข้อมูลมีขนาดเล็ก มันไม่มีปัญหาเท่าไหร่ แต่ถ้าข้อมูลของเราใหญ่ มันอีกเรื่องเลย ถ้าเราจะเขียนให้เร็วที่สุด เราจะทำได้โดยวิธีใดบ้าง วันนี้เรามาดูกัน...