ลองตั้งดูเผื่อจะมีอะไรคุย
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...
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
แล้วก็ร้างเหมือนเดิม orz
อาถรรพ์แม่งแรงจริงๆห้องนี้
กูไม่ได้จบสาย Coding แต่เริ่มสนใจงานด้าน Coding เอาหลังจบ มันจะไหวมั้ยวะ
ตอนนี้ก็เรียนรู้อยู่ ก็สนุกดี เข้าใจมั่งไม่เข้าใจมั่ง ถ้าเก่งๆแล้วกูอยากทำพวก App ขาย
ถ้าทำแค่แอพเล็กๆ ถึงกลางๆ อย่างเกมหรืออะไรพวกนี้ไม่มีปัญหาหรอก
ถ้าทำงานใหญ่ๆ พวก embeded system, network, hardware, low-level, dsp หรือบ้าจี้เขียน C++ อาจจะมีปัญหาบ้าง แต่ก็หาหนังสืออ่านเองได้ (แต่ยากหน่อย)
อาจจะเป็นกูคนเดียว แต่เขียนไปเรื่อยๆ แล้วกูชอบ statically typed language มากกว่าว่ะ
ไม่หรอกว่ะ static language ก็โอเค กูยังอยากให้ Python มันเป็น static typing เลย
ลองนั่งเล่น Rust แล้วมันส์มากกกกกก
อยากให้ภาษามัน stable เร็วๆ จะเอามาเขียนอะไรเล่น ตอนนี้แม่งเปลี่ยน syntax ทุกเวอร์ชั่นเลยสาด
ส่วนตัวชอบ Go มากกว่า Rust
แต่ Rust คงเป็นความหวังสุดท้ายของ unmanaged.... (ยังไง std::unique_ptr มันก็ยาวมากกอยู่ดีแหละ)
จะต้องหางานแล้วเขียนได้หลายภาษาแต่เป็นแบบเป็ดเป็นอันนั้นอันนี้พอสมควรไม่มีถนัดจริงจัง หรือเก่งไป เลย ทำไงดีวะ
เป็ดนี่ขนาดไหนอ่ะ? โดยทั้วไปงานสายโปรแกรมเมอร์มันต้องเรียนรู้งานจริงเยอะ ถ้าไม่ได้แบบเขียนได้กะท่อนกะแท่นจริงๆ ไม่น่าทีปัญหา
การเขียนโปรแกรม สิ่งที่สำคัญมันไม่ใช่เรื่องภาษาที่เขียนได้เลย มันอยู่ที่กระบวนความคิดกับความสามารถในการแก้โจทย์ที่เจอซะมากกว่า
เรื่องภาษาที่ใช้มันสามารถ transfer ข้ามไปข้ามมาได้ พอเขียนได้ภาษานึง (และเข้าใจหลักการพื้นฐาน) การไปเริ่มอีกภาษาไม่ใช่เรื่องยาก
เวลาเรียนภาษาใหม่ สิ่งที่เรียนคือ syntax กับคอนเซปใหม่ของในภาษานั้นๆ (แล้วก็ stdlib lol) ที่เหลือคือความรู้เดิมที่มีอยู่แล้วที่ถูก generalize
วิธีที่อยากจะแนะนำคือเขียนภาษานึงให้คล่องก่อน อะไรก็ได้ แล้วก็ไปหัดภาษาใกล้ๆ กันต่อให้คล่องอีกภาษา แล้วจะเข้าใจเอง
ส่วนถ้าต้องการเดิน career ด้านนี้จริงๆ ขึ้นอยู่กับว่าจะทำอะไรล้วนๆ เลยหว่ะ
ถ้าสายเว็บก็ควรจะมีความรู้ด้าน RDBMS มีความรู้เรื่อง web stack (ตั้งแต่ client ยัน server อย่างละนิดหน่อยก็ได้) ถ้าได้ frontend ด้วยจะยิ่งดี
EXP งานจริงน้อยอะไปตอนฝึกงานก็ได้แต่เขียนเว็บสินค้านิดหน่อยตอนนั้น Jquery boom ก็ ได้ Jquery มาเสริม PHP HTML SQL ฯลฯ เรื่องแก้โจทย์คิดว่าไม่น่ามีปัญหาคิดว่าอัลกริทึมน่าจะดีแต่มีปัญหาเรื่องไม่เคยเขียนอะไรที่มันดูเหมือนจะเอาไปทำการทำงานได้จริงทำให้แม่งไม่ค่อยมั่นใจสมัครตำแหน่งอะไรดีความรู้ทีมีพอรึยัง รึสมัครไปไม่ผ่านลองงานค่อยว่ากันดี
>>59 ขอแย้งครับ เขียน C เป็นไม่ทำให้เขียน Clojure, Scheme, Prolog หรือ Haskell เป็นเลยครับ โอเค จริงจังก็ได้ จริงๆ มันย้ายได้แค่ในพาราดามเดียวกันแหละ ข้ามพาราดามก็ต้องเรียนใหม่พอสมควร
>>60 สมัครไปก่อนก็ได้แหละ ไม่ลองจะรู้ไหมว่าทำได้หรือเปล่า ถ้าได้บริษัทดีมีคนช่วยก็ดีไป ปัญหาที่อาจจะเจอคืออาจจะเริ่มโปรเจคใหม่ๆ ยาก คงต้องดูเรื่อง design pattern หน่อย แล้วลองอ่านโค้ดโปรเจค open source ก็พอช่วยได้ ถ้าในไทยรู้ HTML/PHP/jQuery ก็พอแล้ว (ไม่อยากใช้คำว่ารู้ภาษา SQL เพราะคิดว่าโปรแกรมเมอร์สายเว็บทั่วๆ ไปอ่าน SQL เป็นหน้าๆ ที่มี sub query, stored procedure เต็มไปหมดได้ แต่ถ้าทำได้ก็ขอโทษด้วย)
>>61 จาก C ไปภาษาที่ใช้ S-exp มันก็ไม่ยากมากนะ แต่เห็นด้วยว่าถ้าไปแถวๆ Prolog, Erlang, Haskell นี่เหนื่อยจริง
แต่ประเด็นที่ต้องการจะพูดไม่ใช่ตรงนั้น แต่เป็นเรื่องสกิลที่สำคัญที่สุดมันคือสกิลแก้ปัญหาที่ถูก generalize ให้ไม่ขึ้นอยู่กับ syntax
ถ้ามีสกิลนี้แล้วจะไปภาษาไหนมันก็ใช้ได้ (ถึงอาจจะติดกำแพงตอนหัดเขียนก็เถอะ)
>>60 ถ้าแบบนั้นลอง hack อะไรเป็นชิ้นเป็นอันขึ้นมาซักอันสิ ลองให้ใครมารีวิวด้วยจะยิ่งดี ทำแบบนั้นแล้วจะรู้ขอบเขตตัวเองได้ดีขึ้น
กูเป็นคนปรับตัวยากว่ะ ถนัดเขียน JAVA แล้วก็ชินกับการมี IDE ช่วย / มีการเช็ค type / ชินกับพวก library ที่แถมมากับภาษา
พอต้องมาเขียน JS นี่แทบกระอัก
เออ กูถามหน่อย กูยังเป็นนศ.หวะ กูสงสัยว่าตอนสมัครงานแรก เค้าจะแคร์กับการฝึกงานของเรามากปะวะ?
คือตอนนี้กูกำลังขึ้นปี 4 แล้วกูไม่ได้ฝึกงาน เพราะกูมาลงซัมเมอร์วิชาที่กูซิกแซกไม่เรียนเอาไว้
(คนปกติที่ซิกแซกของกูจะลงตัวที่ 1 ในซัมเมอร์ปี 1 และลงตัวที่ 2 ในซัมเมอร์ปี 2 แต่กูมีปัญหาครอบครัว เลยได้ลงตัวที่ 1 ในซัมปี 2 และ ตัวที่ 2 ใน ซัมปี 3)
เอาแต่โปรแกรมที่เคยพัฒนาไปใส่พอร์ตได้ปะ
หลุดมาเป็นปีแลัวนะ ไอ้นี่น่ะ
มู้นี้นิ่งไปแล้วใช่ปะ
ก็มีคนเช็คเรื่องๆ อะนะ แต่ไม่รู้จะโพสอะไร
http://pantip.com/topic/32258393
อ่านแล้วสิ้นหวังจังเลยว่ะ
มันเกิดจาก User ไม่รู้ความต้องการตัวเองจริงๆไง
พวกนี้ต้องแก้ไขต้องการวิเคราะห์ระบบธุรกิจการวางแผนและการออกแบบระบบ
ผมเรียนสาขานี้มา ทำเก่งด้วยนะแต่อ่ะนะไปที่ไหนใครๆก็ไม่รับ T T อยากได้โปรแกรมเมอร์กันสาด
ที่พูดคือฝั่งลูกค้าต้องมีคนวิเคราะห์ระบบน่ะ เพราะ โปรแกรมเมอร์ยังไงก็ไม่มีทางรับความหลากหลายได้เยอะขนาดนั้นหรอก
ขอถามนอกประเด็นนะครับ คนที่เป็นโปรเเกรมเมอร์ส่วนใหญ่มีเวลานอนกันมั้ย?หรือถ้าเวลางานมาก็ต้องอยู่โต้รุ่งอย่างงี้รึเปล่า เเล้วส่วนใหญ่จบกันมาเป็นโปรเเกรมเมอร์เพียวๆกันอย่างเดียวไม่มีอาชีพเสริมเลยสินะครับ เเล้วส่วนใหญ่ทำงานที่ไหนให้ส่วนใดกันมั่งครับ
>>76 มีสิวะ แต่มากน้อยขนาดไหนขึ้นอยู่กับแต่ละคน ตัวงานที่ต้องทำมันใหญ่มันยากมันซับซ้อนก็อาจจะต้องเจียดเวลานอนมาทำบ้าง กูว่ามันโคตรปกติของชีวิตคนทำงานเลยนะ
จบมาทำอย่างเดียวไม่มีอาชีพเสริมหรือเปล่า เพื่อนกูควบงานโปรแกรมเมอร์กับนักดนตรีอยู่คนนึงก็เห็นชีวิตมันมีความสุขดี ของแบบนี้ขึ้นอยู่ที่ตัวบุคคลล้วนๆ เลย
คำถามที่สามไม่เก็ทว่าถามอะไร
ตอนนี้ศึกษา Haskell ดูน่าเรียนดี ถ้าใครอยากได้ พาราไดมแนว Functional Programming cotoe.shgiupo
ฮาดีฟะ กูชอบเฮะ แม่งบอกว่าของพวกนี้ศึกษาเองได้ เอ่อ แล้วมันจะเรียนกับอาจารย์ไปเพื่อ ???
555 ตรรกะวิบัติจริงๆ
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.