ภาษาไหน เหมาะกับงาน ลักษณะไหนครับ

ผมเห็นว่าภาษา มันก็เยอะ แล้ว ผมจะเลือกใช้ภาษาใดให้เหมาะกับงานของผมครับ ? ทำไมผมถึงต้องใช้ภาษานี้?
ยกตัวอย่างเช่น
ถ้าผมเขียน shell script ได้ผมจำเป็นต้องรู้ perl อีกรึเปล่าครับ (เพื่อนำมาใช้ในงาน ไม่ได้เพื่อหาความรู้ใหม่ๆ นะครับ ออกตัวไว้ก่อน) โดยงานของผมส่วนใหญ่ก็จะเป็นการทำงาน บนไฟล์ต่างๆ เช่น ไฟล์ที่เกิด จาก Log ของ Application ต่างๆ
(แฮะๆ ยกตัวอย่าง จากตัวผมเองนี่แหละ)

คือ อยากรู้ว่าพี่ๆ มีวิธีเลือกการใช้ ภาษาต่างๆ อย่างไร

ขอถามผู้รู้แบบกว้างๆ คงไม่น่าเกลียดนะครับ

ขอบคุณครับ

sugree's picture

วิธีเลือกของผม

  1. ความถนัด ผมถนัด Python มากกว่า Perl เขียนโปรแกรมเดียวกันยังไงซะเขียนด้วย Python ก็เสร็จเร็วกว่า
  2. คุณสมบัติ เช่น Perl มีจุดเด่นที่การจัดการ String ส่วน Python ช้ากว่าหน่อย โดยเฉพาะเมื่อใช้ Regular Expression
  3. คนข้างหลัง เราไม่อยู่ค้ำฟ้า ซักวันก็ต้องมีคนมาดูแลโปรแกรมแทน ต้องเห็นใจคนข้างหลัง อย่าเลือกภาษาตามใจมากเกินไป
  4. เจ้านาย พยายามโน้มน้าวให้เจ้านายตัดสินใจตรงกับเรา ถ้าทำไม่ได้ก็ทำใจ

ถ้าไม่ได้ดั่งใจ ผมจะมาระบายออกโดยการเขียนโปรแกรมอะไรซักอย่างตามใจตัวเอง จะได้ไม่ต้องสนข้อจำกัดนานับประการ

1. ดูที่ความสามารถของภาษาว่ามีฟีเจอร์อะไรที่ของเดิมทำไม่ได้บ้าง
ยกตัวอย่าง เดิมผมก็ใช้ sh/awk script แล้วก็มาเป็น perl เพราะมี regular expression ที่ดีกว่า และมี library มากมายจาก CPAN แล้วก็มาเป็น python เพราะทำทุกอย่างที่ perl ทำได้แถมยังเป็นระเบียบกว่า (ลองดู code ของ perl ที่เขียนแบบ object-oriented บอกตรงๆ ว่าปวดลูกกะตา)
2. ดูที่คนข้างหลังอย่างที่คุณ sugree ว่า เลือกภาษาอะไรก็ได้ที่ดูแลง่าย เอาของเก่ามารีไซเคิลแล้วไม่ต้องไล่แกะนาน

ขอบคุณทุกความคิดเห็นครับผม

** ดูท่าเจ้าของเว็บ เค้า กำลัง Modify Forum น่าดู สู้ๆ ครับ
** อย่าลืม เอา Singnature มาลงให้ด้วยเน้อครับ ขอบคุณครับ

keng's picture

ผมเลือกจากความถนัดก่อน ถ้าจำเป็นต้องเรียนรู้ใหม่ ก็พยายามจะเลือกให้มันคาบๆ ใกล้เคียงกันเช่น java <-> c# อะไรแบบนี้

ส่วนเรื่องทายามอสูร คนข้างหลัง ก็นึกถึงไว้หน่อยก็ดีครับ

ผมชอบจริงครับกับคำว่าคนข้างหลัง นั่นหน่ะสิครับแล้ว เราจะเอาอะไรดีหล่ะ? ผมคิดว่านี่หล่ะเหตุผลสำำคัญที่เรายังคงต้องมาทำอะไรที่มันยุ่งยากหรือยากเกินความน่าจะเป็น เช่น java .net อะไรเทือกนั้น แต่สุดท้ายเหตุผลนี้หล่ะครับ คนข้างหลัง เลยอยากทราบว่าท่านอื่นคิดอย่างไรครับ ว่าตกลงคำตอบของกระทู้นี้ควรเป็นอะไร ?ส่วนตัวผม
ก็ยังคงนั่งทำอะไรที่มันดูยากอยู่ java แล้วก็หาอะไรๆมาทำเพื่อความมันส์ของตัวเองต่ออย่าง python ruby groovy

sugree's picture

สำหรับผม The One (คนข้างบน) คือคำตอบ หน้าที่ผมคือโน้มน้าว ล่อหลอก ถ้าเค้า Yes ผมก็ Yo!

rerngrit's picture

ชอบของคุณ sugree จัง (ชื่อนี้ลืมเปลี่ยนภาษาปุ๊บ พิมพ์แล้วสะดุ้งเลย)
แต่ของผมไม่ใช่ The One เค้าคือ The Man เลยล่ะ

เดี๋ยวนี้จะเขียนอะไรและอย่างไร ผมคิดมากขึ้นเยอะเลยครับ เพราะถ้าคนอื่นทำต่อไม่ "น่ากลัว" ครับ เพราะคนข้างหลังเป็นใครไปไม่ได้นอกจากตัวเอง ฉะนั้นเขียนโปรแกรมให้ดีอย่าให้มันตามหลอกหลอนเราไปตลอดครับ

xinexo's picture

ผมคิดว่า ก็ต้องขึ้นอยู่กับงานนะครับ ว่าคุณทำงานอย่างไหน แล้วก็เช่นเดียวกับที่คุณ Sugree พูดด้วย

อยากเพิ่มเติมนิดนึงว่า

- ถ้างานเป็นงานเขียนเวบ อันนี้ก็แน่นอนว่าคงไม่พ้น html, php, python, etc.

- เขียนโปรแกรมกราฟฟิค ที่ต้องการ performance ก็อาจจะต้องมา C++

- เขียน Tools ช่วย นี่ถ้าบน Windows ผมแนะนำ C# .NET ครับ เขียนง่าย เข้าใจง่าย ทำได้เร็ว ทำ UI ได้เร็วมากๆ

ความถนัดของตัวเองก็สำคัญ แต่อย่าลืมว่า ไม่ว่าการเขียนโปรแกรมภาษาไหนก็คล้ายๆ กันน่ะครับ ต่างกันแค่ syntax กับลักษณะพิเศษบางตัวเท่านั้นเอง

ถ้าเข้าใจการเขียนโปรแกรม ย้ายไปเขียนภาษาไหนก็ไม่ลำบาก ลองดูว่างานเป็นแบบไหนละกันนะครับ

sugree's picture

จำได้เลาๆ ว่าอ่านบล็อกใครซักคน

เขียนเป็น != เขียนได้

จริงแท้และแน่นอน รู้จักหลายภาษาก็ไม่ค่อยดี ผมพยายามลืมอดีต… ก่อนที่จะเต็ม อยากมีเพนซีฟจัง

veer's picture

ผมแยกงานออกเป็น 3 ประเภท

  1. งานเดี่ยว + งานใช้แล้วทิ้ง
  2. ประเภทนี้เอา Ruby เขียนอย่างไม่ต้องคิดมากเลย บ่อยครั้งที่ผมเอามาใช้แทน shell script หรือเขียนโปรแกรมเพื่อการทดลองต่างๆ

  3. งานกลุ่ม
  4. เขียน Python เพราะว่าคนข้างหน้า ข้างหลังใช้ Python กัน อาจจะมีปัญหาบ้างว่า สมาชิกที่เข้ามาใหม่เขียนเป็นแต่ Java แต่เนื่องจากว่างานที่ทำเกี่ยวกับ text processing ที่ใช้ Python แล้วมักจะง่ายกว่าใช้ Java พอสมควร ก็เป็นส่วนหนึ่งที่โน้มน้าวสมาชิกใหม่ให้เรียนรู้ภาษาใหม่ได้

  5. งานแก้ code ชาวบ้าน
  6. ข้อนี้ไม่ต้องเลือก

ส่วนที่พยายามจะเขียน ocaml ไม่นับเป็นงาน

omni_kh's picture

ของตัวผมเองพยายามหาทางดอดใช้ Python ตลอดด้วยความเชื่อที่ว่าเราแต่ละคนควรมี "อาวุธ" ประจำตัวเอง แต่ถ้าสถานการณ์ไม่เป็นใจเช่น ไม่มี hosting, คนใช้ไม่ชอบ, requirement บังคับ ก็ยอมใช้ภาษาอื่นบ้างตามกรณี

taiko_gogo's picture

ผมว่าหาภาษาที่จะใช้เป็นหลักซัก 2 ภาษา แล้วก็เลือกใช้ตามสถานการณ์
ยกเว้นเขียนต่อจากชาวบ้านที่เืลือกม่ายด้าย (อย่างเช่นผ้มที่ต้องมานั่งเขียน vb6
โอ้วมายก๊อด ไม่ชอบมันเลยอ่ะ)

ถ้าเป็น script ที่ทำงาน ง่าย ๆ ไม่ต้องมี user interface ขอเชียร์ perl ค่ะ เพราะเขียนมานานแล้ว
regular expression ดีมาก อีกทั้ง library มากมาย
ส่วน python เขียนไม่เป็น อ่าน syntax ไม่ค่อยออกเลย

ทางด้าน web เขียนใช้ php ค่ะ เพราะว่า ง่าย หา host ลงง่าย ถึงจะไม่ง่ายมากเหมือน ruby ในบางอย่าง

-------------------------------------------
เนื้อเพลง คอร์ดเพลง ที่ Music Lyrics Chord ค่ะ

ย้าย Codenone

ประกาศย้าย Codenone ไปใช้ Forum ของ Blognone แทนครับ ตามไปตั้งกระทู้ต่อได้ที่ Codenone Forum (รายละเอียดอ่านจากกระทู้ ย้าย Codenone ไปรวมกับ Blognone)

กระทู้เก่าๆ จะย้ายตามไปในภายหลัง ตอนนี้ปิดการโพสต์กระทู้ไว้ เหลือไว้เฉพาะอ้างอิงเท่านั้น