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...

เสริมความ"แข็งแกร่ง" ให้ SSH ด้วย fail2ban

เสริมความ"แข็งแกร่ง" ให้ SSH ด้วย fail2ban

จากตอนที่แล้ว เราเล่าในเรื่องของการ Harden Security ของ SSH Service ของเราด้วยการปรับการตั้งค่าบางอย่างเพื่อลด Attack Surface ที่อาจจะเกิดขึ้นได้ หากใครยังไม่ได้อ่านก็ย้อนกลับไปอ่านกันก่อนเด้อ วันนี้เรามาเล่าวิธีการที่มัน Advance มากขึ้น อย่างการใช้ fail2ban...

5 วิธีการทำให้ SSH ของคุณ "แข็ง(แกร่ง) อึด ทน"

5 วิธีการทำให้ SSH ของคุณ "แข็ง(แกร่ง) อึด ทน"

SSH น่าจะเป็น Protocol ที่หลาย ๆ คนใช้ในการเข้าถึง Shell ของเครื่องปลายทาง สำหรับควบคุมการทำงานของเครื่องคอมพิวเตอร์ต่าง ๆ แต่มันไม่น่าจะดีเท่าไหร่ หาก SSH Server ไม่แข็งแกร่งมากเพียงพอ วันนี้เราจะมาแนะนำ 5 วิธีการที่จะช่วยลด Attack Surface ของ SSH Server ในเครื่องของเรากัน...

สร้าง Book Tracking Library ด้วย Obsidian

สร้าง Book Tracking Library ด้วย Obsidian

เราเป็นคนที่อ่านกับซื้อหนังสือเยอะมาก ปัญหานึงที่ประสบมาหลายรอบและน่าหงุดหงิดมาก ๆ คือ ซื้อหนังสือซ้ำเจ้าค่ะ ทำให้เราจะต้องมีระบบง่าย ๆ สักตัวในการจัดการ วันนี้เลยจะมาเล่าวิธีการที่เราใช้ Obsidian ในการจัดการหนังสือที่เรามีกัน...

Garbage Collector บน Python ทำงานอย่างไร

Garbage Collector บน Python ทำงานอย่างไร

หากเราเรียนลงลึกไปในภาษาใหม่ ๆ อย่าง Python และ Java โดยเฉพาะในเรื่องของการจัดการ Memory ว่าเขาใช้ Garbage Collection นะ ว่าแต่มันทำงานยังไง วันนี้เราจะมาเล่าให้อ่านกันว่า จริง ๆ แล้วมันทำงานอย่างไร และมันมีเคสใดที่อาจจะหลุดจนเราต้องเข้ามาจัดการเองบ้าง...