วิธีใดที่ให้ประโยชน์และมีประสิทธิผลมากกว่ากัน
วิธีใดที่ให้ประโยชน์และมีประสิทธิผลมากกว่ากัน
คำตอบ:
ฉันคิดว่าคุณต้องการทั้งคู่ คุณต้องมุ่งเน้นไปที่ความสามารถหลักของคุณและปรับปรุงความเข้าใจของพวกเขา แต่ในขณะเดียวกันก็เป็นประโยชน์ในการมองออกไปข้างนอกและดูว่ามีอะไรอีกบ้าง การสัมผัสกับวิธีการอื่น ๆ และภาษาอื่น ๆ เป็นสิ่งสำคัญมากที่จะทำให้นักพัฒนาซอฟต์แวร์โดยรวมดีขึ้น มีหลายวิธีในการสกินแมวเหมือนที่เคยเป็นมาและการรู้จักแมวให้มากที่สุดเท่าที่จะทำได้จะทำให้คุณเป็นนักโรคจิตได้ดีกว่าในการเลือกเครื่องมือที่เหมาะสมสำหรับงานเฉพาะ
ดังนั้นใช้เวลาส่วนใหญ่ของคุณให้ดีขึ้นตามความสามารถที่คุณเลือกและใช้เวลาในการเรียนรู้สิ่งใหม่ ๆ
บางคนพูดว่า "ภาษาที่ไม่เปลี่ยนวิธีที่คุณคิดเกี่ยวกับการเขียนโปรแกรมไม่คุ้มค่ากับการเรียนรู้"
ดังนั้นถ้าคุณรู้จัก Java มีการเรียนรู้ C # น้อย (หรือในทางกลับกัน) หากไม่ใช่เพราะเหตุผลเชิงปฏิบัติ (เช่นคุณจำเป็นต้องใช้เพื่อแก้ปัญหา) ฉันขอแนะนำให้ใช้ภาษาเดียวต่อ Paradigma และกำหนดการของคุณยังคงเพียงพอ;)
ในทางกลับกันความเชี่ยวชาญของฉันก็คือประสบการณ์ของฉันส่วนใหญ่จะประสบความสำเร็จ 'ในภาคสนาม' เช่นเมื่อทำงานในโครงการดังนั้นมันจึงเป็นธรรมชาติ
มีการถกเถียงที่ดีมากทั้งสองด้าน หลายปีที่ผ่านมาฉันถูกนำเสนอด้วยคำถามที่แน่นอนว่า ... ให้ความสนใจกับภาษาหลักของฉันและพยายามเป็น "ผู้เชี่ยวชาญ" หรือเลือกภาษาใหม่และขยายความสามารถทางการตลาดของฉัน ฉันเลือกที่จะตั้งใจเรียนภาษาเดียว
จะไม่มีคำตอบที่ผิด ทั้งสองมีข้อดีคือมันจะทำให้คุณดีขึ้นและเหมาะกับคุณและอาชีพที่คุณอยากไป
การเรียนรู้ภาษาใหม่ส่วนใหญ่จะเป็นวิธีการรับแนวคิดใหม่และเพิ่มประสิทธิภาพของคุณด้วยการเขียนโปรแกรม การเรียนรู้การเขียนโปรแกรมในตัวเองแตกต่างจากการเรียนรู้ภาษาใหม่ไปยังโปรแกรม
คุณควรมีสมาธิในการทำให้โปรแกรมของคุณดีขึ้น (และมีตัวชี้วัดจำนวนมากสำหรับการวัดซึ่งเป็นอัตวิสัยหลายอย่างไม่ว่าคุณจะเลือกตัวชี้วัดและปรับแต่งตามช่วงเวลาให้ใช้เพื่อการศึกษาของคุณ)
การพูดสิ่งนี้การเรียนรู้ภาษา 'ใหม่' (พูดPython
) เหนือรายการเก่าของคุณ (เช่นพูดว่า ' C
' และอื่น ๆ อีกมากมาย) จะช่วยให้คุณคิดได้อย่างมีประสิทธิภาพมากขึ้นและมุ่งเน้นไปที่แนวคิดหลักที่ควรทำให้ดีขึ้น การยกตัวอย่างเพิ่มเติมอาจไม่ปรากฏขึ้นทันที แต่คุณอาจพบว่าC
การโปรแกรมของคุณดีขึ้นเพราะคุณคิดใน Python คุณอาจเริ่มต้นการเขียน Python แทน psudo C
รหัสสำหรับ ตอนนี้เป็นรหัส psudo-readable ที่สามารถตรวจสอบได้
ซึ่งนำเราไปสู่การสรุปคำถามหลัก:
ใช่คุณควรมุ่งเน้นไปที่ภาษาที่คุณรู้จักและเพิ่มพูนความรู้ในภาษาเหล่านั้น - ตราบใดที่ภาษานั้นยังคงใช้งานได้สำหรับคุณ และคุณควรตะลุยภาษาใหม่เพื่อให้สมองของคุณมีเครื่องมือใหม่ในการคิดวิธีแก้ปัญหา (อาจจะเร็วกว่า) สำหรับความต้องการด้านการเขียนโปรแกรมของคุณ
ครองกรอบการเขียนโปรแกรม (และภาษาที่เกี่ยวข้อง) และปล่อยเวลาว่างไว้สำหรับ "โดเมน" ที่แตกต่างกันโดยเฉพาะ ตัวอย่าง: C ++ ไคลเอนต์ - เซิร์ฟเวอร์, Ruby บนเว็บ
ขึ้นอยู่กับวัตถุประสงค์ที่คุณเรียนรู้ภาษา หากคุณกำลังเรียนรู้ภาษาเพราะมันใช้กระบวนทัศน์ที่แตกต่างกันหรือเหมาะสำหรับโดเมนปัญหาเฉพาะ อย่างไรก็ตามถ้ามันเป็นภาษาที่คล้ายกับภาษาที่คุณรู้จักอยู่แล้วและสิ่งที่คุณวางแผนที่จะทำคือเขียนรหัสที่มีอยู่ทั้งหมดของคุณในภาษาใหม่นั้นอาจมีค่าไม่มากนัก (เช่นการเขียนเว็บไพ ธ อนใน ทับทิม) ในนั้น
หากคุณรู้สึกว่าการเขียนโปรแกรมที่สะดวกสบายมากในภาษาคุ้นเคยกับสำนวนทั้งหมดและสามารถเขียนโปรแกรมในภาษานั้นได้โดยไม่ต้องดูเอกสารประกอบสำหรับการเรียกใช้ห้องสมุดทุกครั้งอาจมีไม่มากที่จะเรียนรู้เกี่ยวกับมัน หากในอีกด้านหนึ่งความรู้ภาษาของคุณไม่ลึกนักอาจมีค่าในการเรียนรู้มากขึ้น วิธีการวัดที่ดีไม่ว่าคุณจะอยู่ในค่ายเก่าหรือหลังสำหรับภาษา X คือ
หากคำตอบของคุณสำหรับคำถามเหล่านี้อยู่ที่ไหนสักแห่งในแนว "มาก", "ส่วนใหญ่" และ "ใช่และมันก็น่ารำคาญ" มันเป็นตัวบ่งชี้ที่ดีว่าคุณเข้าใจภาษาและควรจะเรียนต่อ ใหม่.
หากคุณเก่งพอกับภาษาที่คุณคุ้นเคยแล้วไม่มีอะไรดีที่จะเรียนรู้เทคนิคที่ละเอียดและมีความเฉพาะเจาะจงสำหรับความเท่ห์เล็ก ๆ น้อย ๆ ... มันจะเสียเวลาโดยสิ้นเชิง อย่างไรก็ตามเมื่อคุณค่อนข้างอึดอัดกับภาษาข้อเสนอแนะคือการใช้ภาษานั้นเป็นหลัก
นอกจากภาษามีกรอบงานรูปแบบ ... เพื่อเรียนรู้กรอบงานคุณต้องรู้จักภาษาดังนั้นสำหรับภาษาที่คล้ายคลึงกันมาก ๆ การเรียนรู้พวกเขาไม่ได้ช่วยอะไรมากไปกว่านำความสนุกที่ไม่ตลกมาให้
ความคิดเห็นส่วนตัวของฉันคือคุณควรพัฒนาความสามารถของคุณเพื่อให้เร็วขึ้น, ปลอดภัยขึ้น, ซอฟต์แวร์ที่มีประสิทธิภาพมากขึ้น, สำหรับแพลตฟอร์มที่มากขึ้นและทำให้เวลาสั้นลงเพื่อจุดประสงค์ที่คุณอาจต้องเรียนรู้ภาษาใหม่กรอบใหม่ IDE ใหม่ (นั่นสำคัญเท่ากับภาษา) และเฉพาะเมื่อคุณมีวัตถุประสงค์เพื่อการลงทุนของคุณนั้นคุ้มค่า
อย่างน้อยก็ไม่ต้องเรียนรู้ภาษาใหม่เพื่อเพิ่มจำนวนภาษาที่คุณรู้จัก