What Should I Learn First? The Language Or The Framework?

16-Jan-19

คัมภีร์เทพ IT

See the original english version Click here!

 

เชื่อว่ามีคนไอทีหลายท่าน ที่อาจเคยตั้งคำถามนี้คำตัวเองว่า ระหว่าง ภาษา Programming กับ Framework จะเริ่มต้นจากอะไรก่อนดี วันนี้เราลองหาคำตอบจากความคิดเห็นของคุณ Felix Cabrera กัน เชื่อว่า บทความนี้น่าจะเป็นประโยชน์กับคนที่กำลังลังเลในเรื่องนี้อยู่

คุณ Felix กล่าวว่า ในเส้นทางการทำงานของเขา ได้เคยเรียนรู้การเขียน Code ในภาษา Programming ต่างๆ ได้ใช้เทคโนโลยีและ Framework ที่หลากหลายผ่านการทำ Project ต่างๆ เขาเคยถามตัวเองด้วยคำถามเดิมๆ ว่า ควรเริ่มต้นเรียนรู้ภาษา Programming ก่อนดี หรือ ควรจะเริ่มต้นเรียนรู้ Framework ก่อนดี เพื่อตอบคำถามนี้ เขาเองได้ลองทำทั้ง 2 แนวทาง นั่นคือ มีทั้งเรียนรู้ภาษา Programming ก่อน Framework และเรียนรู้ Framework ก่อนภาษา Programming ซึ่งก็ขึ้นอยู่กับโอกาส

เรียนรู้พื้นฐานเสียก่อน

ขอแนะนำคือ ให้คุณเรียนรู้สิ่งที่เป็นพื้นฐานเสียก่อน โดยขอยกตัวอย่างในเรื่องของกีฬา เช่น เมื่อคุณเริ่มเรียนรู้วิธีการเล่น Basketball เพื่อที่จะเป็นนัก Basketball ที่ประสบความสำเร็จ คุณจะต้องเรียนรู้วิธีชู๊ตลูกบาสอย่างถูกต้องเสียก่อน นอกจากนี้คุณจำเป็นต้องรู้ถึงวิธีการได้คะแนนด้วยวิธีการต่างๆ ด้วย เช่น Layup, Jump Shot, Glass รวมทั้งวิธีอื่นๆ และเพื่อไม่ให้ดูเป็นเรื่องทางเทคนิคมากเกินไป ประเด็นหลักก็คือ ก่อนที่คุณจะ Dunk ลูกบาส คุณต้องรู้จักพื้นฐานการเล่น Basketball ก่อน

คุณคิดว่า นัก Basketball มืออาชีพอย่าง Steph Curry จะสามารถชู๊ต 3 แต้มได้จากครึ่งสนามตั้งแต่เขายังเป็นเด็กเลยหรือเปล่า? เชื่อว่า กว่าที่ Steph Curry จะมาถึงจุดนี้ได้ เขาคงต้องฝึกฝนและทุ่มเทกับพื้นฐานของ Basketball มามากพอสมควร และเมื่อเวลาผ่านไป เขาก็เริ่มสร้างรูปแบบเกมของเขาเองบนพื้นฐานของการเล่น Basketball ซึ่งด้วยแนวคิดเช่นนี้ เราสามารถนำมันมาประยุกต์ใช้ในเรื่องการเขียน Code ได้ด้วย

Felix เชื่อในการเรียนรู้พื้นฐานทั่วไปของการเขียน Program ไม่ว่าจะเป็น Concept อย่างเช่น Decision Structures, Loops (บางภาษาอาจจะไม่มี Loops), Variables รวมถึง Concept อื่นๆ ที่สำคัญในขอบเขตของ Programming นอกจากนี้เขายังให้ความสำคัญกับการใช้ Concept ที่สำคัญเหล่านี้ เพื่อแก้ไขปัญหาในสถานการณ์จริง สิ่งที่ได้เรียนรู้ก็คือ ภาษา Programming แต่ละภาษา ล้วนถูกสร้างขึ้นมาเพื่อเติมเต็มความต้องการที่เฉพาะเจาะจงในโลกเทคโนโลยี อย่างเช่น JavaScript ถูกสร้างขึ้นเพื่อให้ Run ใน Web Browser เป็นหลัก และเช่นเดียวกับ JavaScript ภาษา Programming อื่นๆ ก็ได้รับการออกแบบโดยใช้แนวทางเดียวคือเพื่อแก้ไขปัญหาเฉพาะด้านไป ดังนั้น แต่ละภาษาก็ย่อมมี Syntax และ Use cases เป็นของตัวเอง

ดังนั้น คำแนะนำของ Felix ก็คือ ควรจะเรียนรู้ภาษา Programming ก่อน ให้เรียนรู้ Concept หลักๆ ที่สามารถนำไปใช้ให้เหมาะสมกับ Development Ecosystem ทีนี้เรากลับไปที่ JavaScript กัน ก่อนอื่นควรเรียนรู้ว่า Document Object Model (DOM) คืออะไรและ JavaScript มีการ Interact กับมันอย่างไรบ้าง เรียนรู้วิธีการนำ Concept ที่สำคัญมาใช้กับภาษา เช่น Functions, Variables, Loops และ Decision Structures โดยใช้ Syntax ของ JavaScript นอกจากนี้ควรให้ความสำคัญกับการเรียนรู้สิ่งอื่นๆ ด้วย เช่น Variable Scoping, Automatic Type Conversions, Arrow Functions (ถ้าคุณใช้ ES6) เป็นต้น

Framework เป็นเพียงเครื่องมือ

เมื่อคุณเข้าใจแนวคิดของแต่ละภาษาแล้ว มาเริ่มใช้ Concept เหล่านั้น โดยใช้ Framework ที่มีอยู่ อย่างเช่น ReactAngularJS และ Vue สิ่งที่ Felix ได้เรียนรู้ในเรื่องนี้ ก็คือ Framework เหล่านี้ถูกสร้างขึ้นจาก Programming Concept ของ JavaScript ซึ่งสิ่งนี้ช่วยทำให้เขาสามารถเรียนรู้ Framework และสามารถประยุกต์จากเรื่องหนึ่งไปอีกเรื่องได้ง่ายขึ้น ซึ่งก็ขึ้นอยู่กับ Project ที่ทำ แน่นอนว่ามีความแตกต่างระหว่าง Framework แต่ละตัว เนื่องจากพวกมันถูกนำมาใช้เพื่อแก้ปัญหาในแต่ละกรณีไป ขณะเดียวกันก็ยังช่วยเพิ่มมูลค่าให้กับธุรกิจอีกด้วย และตัวคุณเองก็จะได้รับความรู้ผ่านประสบการณ์ซึ่งเป็นส่วนหนึ่งของกระบวนการเรียนรู้อีกด้วย

นอกจากนี้ Framework เป็นเครื่องมือที่ดีเยี่ยมในการเป็น Developer ที่มีประสิทธิภาพมากขึ้น Framework ส่วนใหญ่ที่เขาเคยใช้สามารถนำ Code และ Library กลับมา reuse ได้ ซึ่งช่วยให้สามารถพัฒนา App โดยใช้ Framework ได้ อย่างเช่น React เอง ก็มี Routing Library (React Router) ซึ่งอนุญาตให้มีการประกาศ Routing สำหรับ React Framework ดังนั้น คุณสามารถใช้ประโยชน์จากเครื่องมือเหล่านี้เพื่อพัฒนา Application ที่ยอดเยี่ยมได้ แต่ก่อนอื่นคุณควรเข้าใจพื้นฐานของภาษา Programming นั้นๆ เสียก่อน สำหรับคำแนะนำของ Felix ก็คือ เรียนรู้ภาษา Programming ควบคู่กับทำความเข้าใจพื้นฐานของภาษานั้นๆ ก่อนที่คุณจะเริ่มใช้ Framework

ที่มา:  https://blog.usejournal.com/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความล่าสุด