ลองตั้งดูเผื่อจะมีอะไรคุย
Last posted
Total of 1000 posts
ลองตั้งดูเผื่อจะมีอะไรคุย
เจิม
จากคนจบคอมกากๆ
ไอที + GB + Programmer ราบงานตัว
ชื่อกระทู้นี่......
สวัสดี ชาวโลก
เจิม จากคนที่ไม่รู้จบมาได้อย่างไร
กูขอเปิดหน่อยละกัน ต่อจากกระทู้วันศุกร์
ถ้ากูจะสอนเด็กเรื่องวิธีแก้ปัญหา กูจะควรจะเริ่มสอนยังไงดีวะ?
คือกูบ่นไปก็จริง แต่กูก็อยากช่วยให้มันได้ดีกว่านี้นะ
เอาโจทย์พื้นฐานมาให้ทำเลย
ต้องเข้าใจ flow การวิ่งของโปรแกรม
ต้องเข้าใจว่าค่าตัวไหน ณ เวลาไหนเป็นเท่าไหร่
ส่วน db มันลำบากจัง ตอนเรียนกูได้ชีทมาชุดนึง ไม่มีหนังสือ เลยช่วยอะไรไม่ได้
มันต้องยกตัวอย่างให้เห็นภาพทุกเรื่องนะสิ
ว่าไป ทำไมหัดเขียนโปรแกรมตอนเรียน โปรแกรมแรกต้องเป็น Hello world. ด้วยวะ
เลือกคำพลาดไปหน่อย หมายถึงพวกเด็กจบใหม่น่ะ
flow พื้นฐานนั่นน่าจะเข้าใจว่ะ แต่ที่เจอมันประเภทสมมุติกูมี create_activity(article) ที่จะสร้าง activity พร้อม key แบบ "article.create"
ทีนี้กูอยากให้ create_activity มันรับค่าเป็น object อื่นได้ด้วย เช่น upload
แทนที่มันจะทำให้ create_activity มันอ่าน key จากชื่อคลาส มันดันก็อปปี้ create_activity เป็น create_activity_upload
แล้ว replace คำว่า article ทุกคำใน create_activity_upload เปลี่ยนเป็น upload แล้วก็เอามาส่ง
ปัญหาประเภทนี้นะ
ที่ตรงที่สุดที่คิดได้ มึงต้องสอนให้เด็กนั่นมันเห็นความสวยงามของโค้ดล่ะ ว่าทำให้ดีมันดียังไง
ต้องเตือนมันด้วยนะ ทุกอย่างที่เขียนไปเนี่ย มีความน่าจะเป็นที่ต้องแก้เพิ่มในอนาคตอยู่แล้ว
ถ้ามันทำแย่ๆ ก็มีเรื่องแย่ๆ รอมันข้างหน้าเอง
ถ้าสอนให้เห็นความสวยงามของการโค้ดดิ้งได้
กูอยากให้เป็นอาจารย์พิเศษซักมหาลัยจังว่ะ
ขอใส่ไว้อ้างอิงหน่อย
กระทู้นี้แตกมาจากที่คุยกันในกระทู้วันศุกร์ที่สาม เม้นที่ 472-496
https://fanboi.ch/lounge/286/472-496/
สมเป็นโซนคำสาป ย้ายมาปุ๊ป เงียบทันที
กูทักไปเรื่องให้โค้ดมันออกมาสะอาดนะ แต่โดน manager ออกมาบอกว่าทำไปทำไมในเมื่อมันก็ใช้ได้เหมือนกัน
เลยตอบไปว่าเพื่อ maintainability ในระยะยาว แต่ดูเหมือนฝั่งนั้นไม่เห็นคุณค่าเท่าไหร่
อาจจะไม่ตรงประเด็นเท่าไร (เพราะไม่ใช่สายดาต้าเบส) กูดูแลโครงการโอลิมปิกวิชาการ (เป็นผู้สอนและจัดเนื้อหา) ที่โรงเรียนแห่งหนึ่งมา 5 ปีแล้ว และกูเรียนมาทางสายคอมพิวเตอร์ด้วย โดยเนื้อหาในโครงการนี้จะสอนตั้งแต่เริ่มเขียนโปรแกรมภาษา C จนถึงโครงสร้างข้อมูลขั้นสูงอย่าง Fenwick tree, Link-cut tree และอัลกอริทึมอย่างพวก maximum flow, dynamic programming เป็นต้น ซึ่งกูจะพูดถึงนักเรียนในความหมายของเด็กมัธยมนะ ไม่ใช่นักศึกษา เพราะไม่มีประสบการณ์ตรงนั้น
สิ่งที่สังเกตมากหลายอย่างคือ นักเรียนหลายคนไม่มีความสามารถในการแก้ปัญหาเลย เวลาให้โจทย์ที่ไม่ยากมากไป (ระดับเดียวกับวิชา 101 ในมหาลัย) บางทีทำไม่ได้ แต่พออธิบายขั้นตอนให้ฟังก็เขียนได้ พอลองให้โจทย์ที่ปรับปรุงจากข้อเก่าไปนิดหน่อย กลับทำไม่ได้อีกแล้ว แต่เด็กบางคนที่ไปไว เค้าก็ไปเองได้โดยแค่ชี้ทางหลักๆ (แค่หัวข้อ เนื้อหาไปหาอ่านเอง) ก็ทำได้เต็มไปหมด (ซึ่งจริงๆ ก็ไม่ได้ต่างจากวิชาอื่นเท่าไร) แต่พอดีว่าเป็นโครงการโอลิมปิก เด็กตัดใจออกจากโครงการง่ายเมื่อรู้ว่าไปต่อไม่ไหว (แต่ก็ยังมานั่งเล่นเกมตากแอร์ในห้องคอม - -) บางทีเจอคำถามแบบ "ใช้ตัวแปรกี่ตัวดีอ่ะ" ก็อึ้งไปเหมือนกัน (โน้ต: นี่ไม่ใช่โปรแกรมใหญ่ๆ ไม่ต้องห่วงเรื่องจำนวนตัวแปร)
จำได้ว่าเคยมีกระทู้นึงในพันทิบ ออกมาบ่นว่าเหตุผลที่นักเรียนไทยไปสายคอมพิวเตอร์ไม่ค่อยรุ่งเพราะเป็นสายที่ต้องสังเคราะห์อะไรใหม่ๆ ออกมาตลอดเวลา ขณะที่ระบบการศึกษาไทยไม่เคยสนับสนุนการสังเคราะห์เลย ซึ่งคิดว่ามาจากประเด็นนี้แหละ ทำให้สกิลการแก้ปัญหาต่ำ เวลาสอบเข้ามหาลัย/ในมหาลัยก็ใช้วิธีจำแนวโจทย์ให้ได้เยอะๆ แทนที่จะเข้าใจเนื้อหาให้ปรับใช้ได้ สังเกตว่าส่วนใหญ่ในระดับมัธยม/มหาวิทยาลัย เด็กจากโครงการโอลิมปิก หรือเด็กที่เคยเขียนโปรแกรมมักจะเรียนเก่งกว่าเด็กทั่วๆ ไป (หรืออย่างๆ น้อยๆ ที่ๆ ผมเรียนก็เป็นงี้นะ)
ที่กูทำงานมาก็เซ็งเรื่อยๆ นะ เวลาคิดอะไรออก ว่าทำไงดี ไอ้ตอนคิดได้มันก็ดีใจล่ะนะ
แต่ถ้าหันกลับมาดู มันก็เป็นเรื่องง่ายๆ นั่นแหละ แต่ทำไมตอนแรกไม่คิดจะทำยังงี้
ไม่เกี่ยวกับข้างบน แต่สงสัยว่าเหตุผลที่เด็กไปสายคอมกันเยอะส่วนหนึ่งเพราะ "อยากทำเกม" กันหรือเปล่าวะ
>>20 ที่ๆกูจบมานะ
หลายคน (เกินครึ่งสาขา) มาเพราะสอบตรงติดเลยเอาไว้ก่อน (สาขากูสอบตรงมันรับเยอะๆไว้ก่อนแล้วคัดทิ้งตอนเรียน) หรือไม่ก็ไม่รู้เลยว่า IT เค้าเรียนอะไรกัน นึกว่าสอนใช้คอมใช้ออฟฟิซทำเอกสารมั่งไรงี้
พวกที่มาเพราะอยากทำเกม อยากทำหุ่นยนต์นี่มีแค่นิดๆหน่อยๆว่ะ 2 อย่างนี้รวมกัน ไม่น่าถึง 15% ของคนที่เข้ามา
กูเขียนโปรแกรมไม่เป็นนะ แต่กูชอบดูพวกโปรแกรมเมอร์คุยกัน โลจิคมันแปลกดี
ที่กูถามแค่กูเคยโดนเพื่อนๆ ของน้อง (ม.ปลาย) ที่รู้ว่ากูทำงานเขียนโปรแกรมมาถามอยากให้สอนเขียนเกม
เลยสงสัยว่ามันเป็นกี่เปอร์เซ็นกันที่เข้าสายคอมเพราะเหตุผลนี้
แต่กูมองว่าถ้าเข้าด้วยเหตุผลนี้ แล้วไม่ใช่พวกที่มุ่งมั่นจริงๆ ไม่น่าไปรอดนะ
ตอนแรกกูก็อยากจะทำเกมน่ะนะ
แต่ในประเทศนี้ก็ยังงี้... ยังดีที่กูชอบเขียนโปรแกรมอยู่บ้าง
เป็นงานฝีมือไม่กี่อย่างที่กูพอจะทำได้
เพื่อนที่สนใจเขียนโปรแกรมก็ไปต่อหมอนะ
กูไม่สนใจเขียนโปรแกรม แต่มาต่อคอม
กูเคยเจอคุณหมอที่ดีบั๊กโปรแกรมได้.....
เผื่อไม่รู้ เด็กโอลิมปิกคอมจำนวนพอสมควรเข้าหมอศิริราช เวลาแข่ง ACM ที (เขียนโปรแกรมระดับมหาวิทยาลัย) ทีมหมอศิริราชชนะประจำเลย - -"
หมวดนี้แม่งอาถรรพ์จริงๆวุ๊ย ตอนอยู่เล้าจน์ยังคึกคัก มาอยู่นี่เงียบเป็นป่าช้า
คิดว่าคนเข้าเยอะนะ แต่ไม่รู้จะคุยอะไรดี เอ้า ใครเปิดประเด็นหน่อยซิ!
จะให้อวดสเป็คเครื่องคอมเป็นซูเนโอะก็คงไม่ได้ล่ะนะ เปิดประเด็นละกัน มีความสุขกับงานโปรแกรมเมอร์ที่ทำอยู่ตอนนี้มั้ย ?
ที่บริษัทตอนนี้มีปัญหาอยู่ว่าลูกค้าคิดว่าจำนวนโปรแกรมเมอร์เยอะแล้วจะช่วยให้งานเร็วขึ้น
แต่กลายเป็นว่าคนที่ทำมาก่อนแล้วต้องมานั่งเสียเวลาแก้ให้โค้ดมันเป็นไปตามที่เขียนมา
โดยสรุปแล้วทำให้งานช้าลง เพราะต้องมานั่งแก้แม่งทุกอัน บางอันแก้เยอะขนาดเขียนใหม่ยังจะเร็วกว่า
กูควรจะบอกลูกค้ายังไงดีให้ดูไม่น่าเกลียด
กูเคยบอกไปแล้วววววววววว แล้วแม่งก็เอาแต่หามาเพิ่มมมมมม
คุยอะไรกันดี !
ลองเปิดประเด็นว่าช่วงนี้มีภาษาใหม่ๆ อันไหนน่าลองจับมั่ง พวก Go, Rust, Clojure, Scala, Groovy, Kotlin etc.
> Scala
> ใหม่
ถ้า่เขียน Java อยู่แล้วก็ลอง Scala/Groovy ดูก็ได้ (Kotlin คิดว่ามัน vendor lock-in ไปหน่อยเพราะมันของ JetBrain)
Rust คิดว่าให้มันออก 1.0 ก่อนดีกว่า ตอนนี้ยังไม่ stable เลย
จริงๆ พวก Rust, Go เป็นภาษาที่ดีนะ แค่ส่วนมากทำได้แค่ backend นั่นแหละ (เป็นของถนัดมันเลย) เพราะ library binding กับ gui library ดีๆ ไม่ค่อยมี เท่าไร เคยพยายามเอามาเขียน GUI อยู่เหมือนกัน แต่สุดท้ายกลับไป C++ ตลอด
ตัวไหนน่าจะมีแววรุ่งโรจน์ นิยมใช้ในอนาคตมั่งมั้ย จะได้หัดๆจับๆตั้งอต่ตอนนี้
Go มีใช้ในบริษัทใหญ่ๆ หลายที่อยู่ แต่ในไทยอย่างหวัง
Scala น่าจะเป็นทางเลือกที่ดีที่สุด
เล่น Clojure อยู่ แต่คำสาปภาษาตระกูล Lisp มันจะไม่เป็นที่นิยม
บอร์ดกามเปิดมาวิ่งเร็วกว่า tech
กูจะบ้าตาย
บอร์ดกามวันนึงแม่งคงเท่า Tech ทั้งปี
There was a joke back in the 80s when Reagan's SDI program was in full
swing that someone stole the Lisp source code to the missile interceptor
program and to prove it he showed the last page of code...
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
Topic has reached maximum number of posts.
Please start a new topic.
Be Civil — "Be curious, not judgemental"
All contents are responsibility of its posters.