ตอนที่เริ่มเรียนการเขียนโปรแกรมครั้งแรก คุณเริ่มด้วยภาษาอะไรกันบ้าง?
น่าจะมีหลากหลายภาษาขึ้นอยู่กับสภาพแวดล้อมและช่วงเวลาที่เริ่มเรียน อยากให้ช่วยเล่าว่าเริ่มจากภาษาอะไร และมีอะไรที่ชอบในภาษานั้น
ถ้าต้องกลับไปเริ่มเรียนการเขียนโปรแกรมใหม่ตั้งแต่ต้น ลองบอกด้วยว่าเริ่มด้วยภาษาอะไรน่าจะดี ก็น่าจะสนุกดีครับ
-
ภาษาโปรแกรมแรกคืออะไร?
-
เรียนจากที่ไหน และเรียนอย่างไร?
-
คุณเป็นคนเลือกภาษานั้นเองหรือเปล่า?
-
ทำไมถึงเป็นภาษานั้น?
-
มีอะไรที่ชอบบ้าง?
-
หลังจากนั้นเกิดอะไรขึ้นต่อ?
-
ถ้าให้เลือกใหม่ จะเลือกภาษาอะไร?
24 ความคิดเห็น
c
ตอนประถม
เปล่า แค่มีคนบอกให้ทำอันนี้
เพราะเขาบอกว่าสามารถสร้างอะไรได้ด้วยสิ่งนี้
ไม่ชอบเลยครับ/ค่ะ มันไม่สนุก
เรียน Photoshop กับ Flash แล้วก็คิดว่าการเขียนโปรแกรมด้วย ActionScript สนุกดี
javascript
GW-BASIC
โรงเรียนสอนคอมพิวเตอร์แถวบ้าน
3,4. มันเป็นหลักสูตรภายใน(?) ของโรงเรียนสอนคอมพิวเตอร์แถวบ้านอยู่แล้ว เลยไม่มีทางเลือกเท่าไหร่
ถ้ามีโน้ตเพลง ก็สามารถเล่นได้ด้วยโค้ด
playซึ่งผมรู้สึกว่ามันวิเศษมากพอเริ่มใช้งานคอมพิวเตอร์ได้อย่างอิสระมากขึ้น ตอนประถมก็เลยก็อปเกม DOS มาทั้งหมดแล้วเอามาเล่นที่บ้าน สุดท้ายคอมพิวเตอร์ที่บ้านติดไวรัสและเอาแต่เล่นเกม ทำให้ที่บ้านไม่ส่งผมไปลงเรียนสถาบันคอมพิวเตอร์อีกต่อไป...
ภาษาอังกฤษ (ผมคิดว่าถ้ารู้ภาษาอังกฤษแล้วค่อยมาเรียนเขียนโปรแกรม น่าจะเข้าใจได้ง่ายกว่านี้)
C (พูดให้แม่นยำคือ RobotC)
ตอนอยู่ชมรมหุ่นยนต์สมัยมัธยมปลายครับ
ถึงจะไม่ใช่สิ่งที่ผมเลือกเอง แต่ผมฝันอยากเป็นโปรแกรมเมอร์มาตั้งแต่ก่อนหน้านั้น เลยสนใจการพัฒนาอยู่แล้ว
การเขียนโปรแกรม NXT มีให้เลือกอย่างนี้ ไม่ก็บล็อกโค้ดดิ้ง
มันสะดวกกว่าที่เคยเรียน RoboLab (บล็อกโค้ดดิ้ง) มาก โดยเฉพาะเรื่องการนำฟังก์ชันกลับมาใช้ซ้ำที่ดีมาก
นอกจาก RobotC แล้ว ผมก็ศึกษาภาษา C ด้วยตัวเองครับ
Python? C? ยังลังเลอยู่เหมือนกัน แน่นอนว่า Python พอเริ่มเรียนก็สามารถสร้างโปรแกรมที่เอาไปใช้ได้จริงทันที (ส่วน C อย่างมากก็คงได้แต่พิมพ์ดาวบนพรอมป์ต์...) แต่ถ้าจะฝึกการคิดเชิงอัลกอริทึม ผมรู้สึกว่า C น่าจะได้เปรียบกว่า...
Visual Basic
ตอนปิดเทอมฤดูร้อนสมัยประถมศึกษาปีที่ 6 ที่ห้องสมุดเทศบาล
ไม่ครับ/ค่ะ ตอนนั้นเป็นช่วงที่คอมพิวเตอร์เพิ่งเข้ามาในประเทศเราได้ไม่นาน
แม่เป็นคนสมัครให้ครับ/ค่ะ
เกม DOS ต่าง ๆ ฮ่าๆ เกมที่อยู่ในแผ่นฟลอปปีดิสก์สนุกมาก
จะได้เรียนต่อสาขา Computer Science
เรียนภาษาแอสเซมบลีหรือภาษา C แล้วจะเป็นแฮกเกอร์
Java
ผมเรียนหลังจากเข้าทำงานแล้ว
ไม่
ตอนนั้น Python ยังไม่ใช่สายหลัก และ C กับ C++ ก็ทั้งยากและเก่า จึงแทบจะเป็นหลักสูตรมาตรฐานกันไปแล้ว
มันเหมาะกับการเรียนรู้แนวคิดเชิงวัตถุและทำความเข้าใจแนวคิดการเขียนโปรแกรม
ผมใช้เวลาส่วนใหญ่ของอาชีพกับ Java เพราะส่วนมากใช้ Spring ก็เลยได้ใช้ต่อเนื่องมาเรื่อย ๆ
Python ทุกวันนี้ผมคิดว่าการลำดับตรรกะหรือการทำ proof of concept อาจสำคัญกว่าตัว object-oriented เองเสียอีก
Java
วิชาเรียนในสาขา
ไม่ใช่
เพราะวิชา Intro to Programming ที่โรงเรียนเป็นแบบนั้นน่ะครับ
ผมได้รู้ตัวว่า เออ เราชอบการเขียนโปรแกรมนี่นา.. แม้จะได้เรียนข้อดีของ Java แต่เพราะมันเป็นภาษาแรก ตอนนั้นเลยยังไม่ค่อยเข้าใจว่ามันมีความหมายยังไง
ตอนเรียนปริญญาตรี ผมเปลี่ยนวิชาเอกหลักเป็นสาขาคอมพิวเตอร์ แล้วก็พัฒนามาจนถึงทุกวันนี้...
ถ้าจะเริ่มต้น ผมว่า Python ก็โอเคนะ
GW-BASIC
ประมาณปี 1999? เรียนด้วยตัวเองจากหนังสือที่มีอยู่ที่บ้าน
ไม่ครับ
ตอนนั้นเด็กนักเรียนทุกคนเริ่มจาก BASIC กันหมด
ไม่มีอะไรที่ชอบเป็นพิเศษ
ทำเกมง่ายๆ กับวาดรูป แล้วก็ลองจับ C, C++ บ้าง.. ก็ทำงานอยู่ในวงการ IT มาเรื่อยๆ
javascript or java, rust or golang
C
โรงเรียนสอนคอมพิวเตอร์ใกล้มหาวิทยาลัยในปี 2004
ใช่
ตอนนั้นตัวเลือกส่วนใหญ่คือ C หรือ Java แต่ตอนนั้นผมยังไม่รู้จักการมีอยู่ของ Java
การแก้โจทย์ตัวอย่างจาก C Basic Plus สนุกมาก
เข้าสู่วงการ IT มาแล้ว 13 ปี และพอมองว่าตัวเองยังยืนหยัดมาได้จนถึงทุกวันนี้ก็รู้สึกภูมิใจนะ -_-;
ถ้าย้อนกลับไปปี 2004 ก็อยากเลือก C++, Java ส่วนตอนนี้อยากเลือก C++ หรือ Rust ครับ
ภาษา C
ตอนมัธยมต้นซื้อมาดูเองเพราะอยากให้ตัวเองดูเท่(..
ใช่!
ตอนนั้นรู้จักอยู่แค่นั้น...
'ว้าว! ฉันสร้างโปรแกรมได้ด้วย!'
'error C2143: syntax error : '{' ข้างหน้าไม่มี ';''
JS! ตอนนั้นผมหยุดจับการเขียนโปรแกรมไปพักหนึ่งจนถึงสมัยมัธยมปลาย เพราะแค่ทำไปให้มันดูเท่... ถ้าเป็นภาษาที่สามารถทำอะไรให้ดูเจ๋งได้จริง ๆ มันอาจจะต่างออกไปก็ได้นะ?
ถึงอย่างนั้น การที่ตอนมัธยมต้นอ่านภาษา C จนจบก็ช่วยผมไว้มากจริง ๆ ครับ น่าจะเป็นจุดเริ่มต้นที่ดีที่ทำให้ผมสนิทกับคอมพิวเตอร์มากขึ้น
C++
ตอนอยู่ ป.6 ที่สถาบันสอนคอมพิวเตอร์
ไม่ครับ!
ตอนนั้นกำลังเตรียมตัวสำหรับการแข่งขันโอลิมปิกสารสนเทศ ก็เลยเลือก C++ ทันที
มันรองรับโครงสร้างข้อมูลที่จำเป็นต่อ PS เป็นมาตรฐานอยู่แล้ว และที่สำคัญที่สุดคือความเร็วที่เหนือกว่ามาก ตั้งแต่สมัยมัธยมต้นผมก็พยายามใช้มันให้เก่งขึ้นด้วยการค้น Google เลยได้สัมผัสพัฒนาการตั้งแต่เวอร์ชัน 11 ด้วยตัวเอง ตอนนี้ก็เลยคุ้นมือกับมันมากที่สุด
ตั้งแต่สมัยมัธยมต้นผมก็พยายามใช้มันให้เก่งขึ้นด้วยการค้น Google เลยได้สัมผัสพัฒนาการตั้งแต่เวอร์ชัน 11 ด้วยตัวเอง ตอนนี้จึงคุ้นเคยกับมันมากที่สุด ถึงอย่างนั้นพอได้ลองใช้ภาษาอื่นบ้าง ก็มีบางครั้งที่เสียดายว่าไม่มี decorator หรือ annotation แต่ในอีกด้านหนึ่ง ต่อให้ไม่ได้ใช้มันแบบเชิงฟังก์ชัน มันก็ยังมีความสามารถในการควบคุมชนิดข้อมูลที่ทรงพลังด้วย template ซึ่งผมคิดว่านั่นก็เป็นจุดแข็งอีกอย่างเหมือนกัน
ถ้าให้เลือกอีกครั้งก็ยัง C++! การค้น Google เพื่อเรียนด้วยตัวเองก็ดูเหมือนจะช่วยเพิ่มความรู้ด้าน CS ให้ผมมากเหมือนกันครับ
GW-BASIC
เรียนมาจากโรงเรียนสอนคอมพิวเตอร์ที่ผุดขึ้นเป็นดอกเห็ดในสมัยก่อน
แน่นอนว่าไม่ได้เป็นคนเลือกเอง...
ข้อนี้ค่อนข้างกำกวมหน่อย เพราะจริง ๆ ตอนที่เรียนก็เป็นช่วงที่ใช้ QBasic ได้แล้วด้วย (จริง ๆ ตอนที่ไปเรียนอีกสถาบันหนึ่งก็ใช้ QBasic) คิดว่าน่าจะเป็นเพราะสถาบันนั้นเก่ามากจนราว ๆ ปี 1995 ยังใช้เครื่อง 286 อยู่
ช่วงที่เรียน GW-BASIC ไม่นานเท่าช่วงที่ใช้ QBasic เลยไม่ได้ทิ้งความประทับใจลึกมากนัก
หลังจากไปแข่งโอลิมปิกคอมพิวเตอร์แล้ว ก็ลงเอยด้วยการเรียนเอกวิทยาการคอมพิวเตอร์แบบงง ๆ เรียนต่อจนถึงบัณฑิตวิทยาลัย ก่อนจะตระหนักถึงความขี้เกียจของตัวเองตอนเรียนบัณฑิตวิทยาลัยแล้ววิ่งหนีออกมา จากนั้นก็คลุกคลีอยู่ในสายงานจริงมาประมาณ 10 ปี ทำไมฉันถึงทำแบบนั้นนะ(?)
ภายใต้สมมุติฐานว่ายังคงรักษาแรงจูงใจที่เหมาะสมไว้ได้ ก็อดคิดไม่ได้ว่าถ้าได้เริ่มเรียนจาก x86 assembly ตั้งแต่แรกจะเป็นยังไง เพราะเรื่องอย่าง structured programming หรือความอ่านง่ายนั้น ยังไงก็ไปเรียนทีหลังได้อยู่แล้วไม่ใช่หรือ?
Fortran
เรียนจากวิชาเอกที่มหาวิทยาลัย
ไม่ครับ
เป็นวิชาพื้นฐานการเขียนโปรแกรมเพื่อการคำนวณทางวิทยาศาสตร์ เลยได้เรียน Fortran
เหมือนว่าจะมีข้อจำกัดแปลก ๆ เช่น สองช่องแรกของโค้ดต้องเว้นว่างไว้ หรือความยาวของหนึ่งบรรทัดห้ามเกิน 80 ตัวอักษร ผมเลยได้รู้ว่าข้อจำกัดพวกนี้เป็นร่องรอยจากยุคที่ยังใช้บัตรเจาะรูในอดีต
หลังจากเรียนจบวิชานั้นแล้วก็ไม่เคยใช้ Fortran อีกเลย
C
Java
เรียนคอร์สนักพัฒนาเว็บในสถาบันการศึกษาที่เชื่อมโยงกับการหางานอยู่ประมาณ 1 ปี ถ้านับเฉพาะ Java ก็ราว ๆ 2~3 เดือน?
ไม่
น่าจะเป็นเพราะเป็นภาษาที่ใช้กับงานแบ็กเอนด์ได้อย่างลงตัวและใช้งานได้ง่ายที่สุด
ความเสถียร (รวมถึงในแง่ความสบายใจด้วย)
เคยทำการพัฒนาที่อิงแอปพลิเคชันในสาย SI แล้วก็ย้ายงานมาเป็นนักพัฒนาแบ็กเอนด์ Kotlin
ถึงอย่างนั้นก็ยังเป็น Java.
JAVA
หนังสือของ Yoon Sung-woo ชื่อ "ผมไม่เคยเรียน Java จริง ๆ นะครับ"
ไม่ครับ
เพราะได้ยินมาว่าถ้าอยากทำม็อด Minecraft ต้องเขียน Java เป็น..
.....
สมัยประถมผมไม่เข้าใจเรื่อง environment variables พิมพ์ Hello World ได้แต่รันไม่ได้ ความสิ้นหวังนั้น..
ภาษาเชิงฟังก์ชัน? หรือไม่ก็ภาษา C
GW-BASIC
ช่วงปิดเทอมฤดูหนาวสมัยม.ต้นในห้องเรียนคอมพิวเตอร์
ไม่ครับ
โรงเรียนสอนภาษานี้ และที่ร้านหนังสือแถวบ้านก็มีหนังสือเขียนโปรแกรมภาษาเกาหลีของภาษานี้อยู่แค่ภาษาเดียว (หนังสือแปลจากภาษาญี่ปุ่น)
ทำให้สามารถซื้อ SPC-1500A ได้
ได้รับรางวัลในการแข่งขัน Samsung SW ด้วยโปรแกรมเกมที่ทำด้วย GW-BASIC
อยากลองภาษาเชิงฟังก์ชันดูครับ
GW Basic
ตอนมัธยมต้นที่สถาบันสอนคอมพิวเตอร์แถวบ้าน
ไม่ใช่
ที่สถาบันสอนแค่ BASIC ให้ครับ
ผมน่าจะชอบตรงที่ได้ลองใช้คอมพิวเตอร์ด้วยมือตัวเอง ทั้งที่ก่อนหน้านั้นได้เห็นแค่ที่บ้านเพื่อนคนรวย แล้วก็สถาบันเปิดให้มาเล่นเกมได้ทุกสุดสัปดาห์ เลยจำได้ว่าไปเล่น Romance of the Three Kingdoms II ทุกสุดสัปดาห์และเล่นทั้งวัน
เรียนอยู่ 2-3 เดือนแล้วก็เลิกครับ เท่าที่จำได้เหมือนไม่มีเหตุผลอะไรเป็นพิเศษ แต่ยังไงก็เลิกไปจากสถาบัน
ถ้าเลือกใหม่ได้ ผมคงอยากตั้งใจเรียนภาษาอังกฤษมากกว่าภาษาโปรแกรมนะ.. T_T
GW-Basic, Asni-C
โรงเรียน, บริษัท
ก็ไม่ได้มีอะไรที่ดีเป็นพิเศษนะ.. พอเรียน Basic จบแล้วจะลองทำเกม กลับกลายเป็นว่าต้องไปถึงระดับ Assembly เสียก่อน (นี่มันภาษาเอเลี่ยนอะไรกัน;;;), ส่วน C ก็น่าเสียดายที่ความเข้าใจเรื่อง pointer ยังไม่ดีพอ
ตอนเข้าทำงานครั้งแรก บริษัทกำลังพัฒนาด้วย C อยู่พอดี ทุกวันนี้อยู่คนละสายงานแล้ว แต่สิ่งที่เรียนรู้ตอนนั้นก็กลายเป็นพื้นฐาน ทำให้พอจะเข้าใจภาษาอื่น ๆ ได้ในระดับหนึ่ง ตอนนี้ก็กำลังกลับมาเรียนใหม่อีกครั้ง
C / Python
C
ตอนเด็ก ๆ (ประถม) เก็บเงินค่าขนมเดือนละ 5,000 วอนเพื่อซื้อหนังสือภาษา C ราคาแพงมาเรียนเอง
3, 4. ตอนนั้นเป็นช่วงที่ Naver Knowledge iN เพิ่งเปิดใหม่และกำลังฮิตมาก (ช่วงต้นถึงกลางยุค 2000) แล้วมีคนบอกให้เรียน C ก็เลยเลือกมัน
เสียดายที่ตอนนั้นยังเด็กเกินไป เลยไปติดที่แนวคิดเรื่องฟังก์ชันเรียกตัวเองซ้ำและพอยน์เตอร์ จนเรียนต่อไม่ไหว แต่ก็ชอบตรงที่มันทำให้รู้สึกว่าเราสร้างอะไรบางอย่างด้วยคอมพิวเตอร์ได้
ตอนนั้นไม่มีครูหรือคนรอบตัวคอยสอน เลยเป็นแบบนั้นไป... พอโตเป็นผู้ใหญ่แล้วค่อยกลับมาเริ่มเรียนใหม่
ถ้าย้อนกลับไปได้ก็ยังเลือก C!
Ruby, เริ่มจาก RPG Maker
เรียนด้วยตัวเองจากอินเทอร์เน็ต
ใช่
อยากทำเกมด้วย RPG Maker หรือ GameMaker อย่างใดอย่างหนึ่ง แต่เลือก RPG Maker เพราะใช้งานสะดวกกว่าในการพัฒนา
5/6. เกมที่ทำได้ด้วย RPG Maker ไม่ตรงกับแนวทางที่ต้องการ จึงศึกษาต่อและได้เรียนรู้ Unity,
หลังจากนั้นก็เริ่มสนใจวิศวกรรมมากขึ้น เช่น การเขียนโปรแกรมหรือทฤษฎีวงจร มากกว่าตัวเกมเอง ตอนนี้เลยเรียนเอกเมคคาทรอนิกส์อยู่
GW Basic (สมัยประถม)
ถูกสอนแบบยัดเยียดในสถาบันสอนคอมพิวเตอร์
ไม่ใช่
หลักสูตรของสถาบัน
พอเรียนเสร็จก็ให้เล่นเกม เลยไปเรียนกันอย่างขยัน คิดว่าหลายคนน่าจะเป็นแบบนี้เหมือนกันครับ 555
ตอนมัธยมต้นและมัธยมปลาย คอมพิวเตอร์คือเครื่องเล่นเกมสำหรับผม จริง ๆ แล้วแม้แต่ตอนเลือกมหาวิทยาลัยหลังสอบเข้ามหาวิทยาลัยเสร็จ ผมก็ยังไม่ได้คิดเรื่องการพัฒนาอะไรเป็นพิเศษ แต่พอได้เรียนภาษา C ในมหาวิทยาลัยที่เข้าไปเรียน ก็เลยกลับมาเริ่มอีกครั้ง
มีข้อดีหลายอย่างจากการได้เรียน C เลยอยากเริ่มต้นด้วย C ครับ
ฉันเคยเขียนโค้ดแบบบล็อกแปลก ๆ
ตอนชมรมหลังเลิกเรียนทำหุ่นยนต์
ไม่ใช่!
เพราะเขาสอนอันนั้นให้ไง!
มันไม่ค่อยดีเลย! เป็นบล็อกก็จริงแต่เป็นนามธรรมจนเข้าใจยาก แถมยังใช้งานไม่สะดวกด้วย...
เคยซื้อหนังสือ AVR Bible ที่เป็นภาษา C มา แล้วก็พ่ายแพ้อย่างยับเยิน
ถ้าย้อนเวลากลับไปได้ คิดว่าน่าจะเลือกทำ Arduino กับ Python นะ น่าจะดีถ้าได้อ่านหนังสือที่สอนอย่างเป็นมิตรแบบ C ที่เคี้ยวให้กินง่าย, C Coding Dojang หรือเรียน C ด้วยตัวเอง
Basic
สถาบันสอนคอมพิวเตอร์
ไม่
เพราะที่สถาบันให้ทำ (จำได้แต่ว่าเอาแต่พิมพ์โดยไม่รู้ด้วยซ้ำว่ามันคืออะไร)
พอเรียนจบก็ให้เล่นเกม!!!
กังวลเรื่องเส้นทางอาชีพ (ช่วงวัยรุ่น)
-> พอเข้าเรียนภาษา C ในมหาวิทยาลัยก็เหมือนสภาพจิตใจพังอีกรอบ
-> เข้ากรมทหาร
-> จากนั้นเริ่มสนใจมือถืออย่างมาก (ปี 3~4, iOS, Android)
-> ได้งานที่บริษัทขนาดกลางและเล็ก (พัฒนาโทรศัพท์ฟีเจอร์โฟน 2G, 3G ด้วยภาษา C)
-> แล้วก็เปลี่ยนสายมาเป็นนักพัฒนา Android อย่างเป็นธรรมชาติ
C
มหาวิทยาลัย
ไม่
หลักสูตรนี่ก็,,
ตอนเริ่มเรียนครั้งแรกเหมือนไม่มีข้อดีอะไรเลย มีแต่ความยาก,, คิดว่าเป็นแบบนั้นนะครับ
เพราะ C ยาก ก็เลยวนไปลองภาษาอื่นด้วย (Java, Python, Ruby, C# ฯลฯ) สุดท้ายก็ได้งานและตอนนี้กำลังทำด้วย C/C++ อยู่ครับ
เริ่มด้วย Python หรือ Javascript ก็น่าจะโอเคครับ
BASIC
โรงเรียนสอนคอมพิวเตอร์
ไม่
เพราะที่บ้านไม่มีคอมพิวเตอร์ เลยไปโรงเรียนสอนคอมเพื่อจะได้ลองจับคอม แล้วที่นั่นเหมือนจะสอน BASIC อยู่พอดีครับ
ไวยากรณ์ที่ค่อนข้างกระชับ? หมายเลขบรรทัดกับ
Gotoน่าประทับใจมาก ให้ความรู้สึกเหมือนสั่งงานไปตามลำดับเหมือนผมจะอ้อนหนักมากจนได้ซื้อคอมพิวเตอร์ที่เข้ากันได้กับ Apple II+ มาหนึ่งเครื่อง (จำไม่ค่อยได้ว่าเป็น SPC-1000 หรือ 1500) แล้วก็เอามาลองเขียนโค้ดโน่นนี่เล่นครับ
ถ้าต้องเริ่มใหม่ตั้งแต่ต้นอีกครั้ง ผมอยากลองเรียนด้วย Python ดู ไม่ใช่เพราะว่าภาษาดีกว่า แต่อาจเป็นเพราะคิดว่าสไตล์การเขียนโค้ดคงจะเปลี่ยนไปมาก
ตอนผมอยู่ชั้นประถมศึกษา (จริง ๆ คือสมัยโรงเรียนประชาบาล.. เศร้า) ตอนเรียนภาษา Basic
จนถึงตอนนี้ก็ยังจำได้ว่าตอนแรกที่เรียนลูป
Forแล้วซ้อนกันสองชั้นเพื่อพิมพ์สามเหลี่ยมกลับหัว**
ประมาณนี้แหละครับ