ควรที่จะกลับไปมาระหว่างภาษาการเขียนโปรแกรมสองภาษาหรือไม่? [ปิด]


28

ฉันเขียน PHP ค่อนข้างมากมาเกือบสองปีแล้ว ตอนนี้ฉันกำลังพัฒนา. NET (ส่วนใหญ่ c #) อย่างไรก็ตามบางครั้งฉันกลับไปและทำ php

คำถามหลักของฉันคือฉันควรทำสิ่งนี้ต่อไปหรือไม่ฉันควรพัฒนาใน C # ต่อไปหรือไม่? สิ่งนี้จะเป็นอันตรายต่อฉันในระยะยาวหรือไม่ (คุณคิดว่าเป้าหมายหลักของฉันคือการไม่เป็นผู้ค้าขายทุกคน) หรือเป็นวิธีปฏิบัติที่ดีที่จะทำ


30
ดีกว่าที่จะเป็นแจ็คของการค้าทั้งหมดกว่าม้า
ตัวเมีย

27
มันจะเป็นอันตรายต่อคุณอย่างแน่นอนหากคุณ จำกัด ตัวเองเป็นเพียงสองภาษา รับเครื่องมือต่าง ๆ เพิ่มเติมในกล่องเครื่องมือของคุณ
SK-logic

4
คุณถามคำถามนี้ราวกับว่าคุณเป็นอิสระที่จะเลือกระหว่าง C # และ PHP - เป็นเช่นนั้นจริงหรือ
Doc Brown

10
การรู้รายละเอียดที่สกปรกทั้งหมดของภาษาเดียวนั้นไม่ต้องสงสัยเลยว่ามีประโยชน์มาก แต่เมื่อคุณทำงานกับหลาย ๆ ภาษาคุณจะพบว่าตัวเองกำลังออกแบบบางส่วนของโปรแกรมด้วยวิธีใดวิธีหนึ่งโดยไม่คำนึงถึงภาษาที่คุณใช้งานอยู่นี่คือนิพพานโปรแกรมเมอร์ชนิดหนึ่ง รองและการประยุกต์ใช้เป็นสิ่งที่สำคัญ นั่นเป็นสถานที่ที่ยอดเยี่ยมเพราะมันหมายความว่าคุณมีศักยภาพในการเป็นโปรแกรมเมอร์แม้ในอนาคตเมื่อผู้คนกำลังทำงานในภาษา Z ++ แฟนซีใหม่

2
แค่สองคน? โปรแกรมเมอร์จำนวนมากทำงานเป็นประจำในหลายภาษา การรู้หลายอย่างช่วยให้คุณมีเครื่องมือที่มีขนาดใหญ่ขึ้น
Caleb

คำตอบ:


75

ใช้สองภาษาในเวลาเดียวกันไม่มีอะไร ไม่ใช่เรื่องแปลกที่โปรแกรมเมอร์จะใช้ภาษาต่าง ๆ ทุกวัน งานที่แตกต่างกันและเทคโนโลยีที่แตกต่างกันนั้นต้องการภาษาที่แตกต่างกัน

แค่วันนี้ฉันใช้ภาษาที่ต่างกันสี่หรือห้าภาษาแล้วและก็น่าสนใจเพราะฉันยังไม่ได้เขียนโปรแกรมเลย สิ่งที่ฉันทำคือการนำเสนอ

ในฐานะโปรแกรมเมอร์ที่ดีจำเป็นอย่างยิ่งที่คุณจะต้องรู้วิธีการของคุณในหลายภาษาและวิธีเดียวที่จะบรรลุความคล่องแคล่วอย่างสมเหตุสมผล (และจากนั้นการรักษา) ก็คือการใช้ภาษาเหล่านั้น


4
ฉันไม่แน่ใจว่าทุกคนสามารถเป็นโปรแกรมเมอร์ที่มีประสิทธิภาพได้โดยไม่ต้องใช้ภาษาอย่างน้อย 3 ภาษาเป็นประจำ
Brian Knoblauch

1
@Brian - สามภาษาเหล่านี้เป็นภาษาพูด / เขียนหลักภาษาการเขียนโปรแกรมหลักของคุณและ SQL และ / หรือ HTML?
KeithS

2
@KeithS เฉพาะในกรณีที่คุณสร้างหน้าธรรมดา ๆ สุดฝั่งไคลเอ็นต์และอย่าสัมผัสระเบียน XML ที่ฝั่งเซิร์ฟเวอร์ CSS และ Javascript นับเป็นภาษาของตนเองเช่นเดียวกับ XPath และ XSLT และ XQuery
Tacroy

2
สิ่งใดก็ตามที่มี "คนส่วนใหญ่" หรือ "นักพัฒนาส่วนใหญ่" ควรติดตามด้วยการอ้างอิงแปลก ๆ มิฉะนั้นมันเป็นเรื่องส่วนตัว เกือบนักพัฒนาฉันได้พบ (และรวมตัวเอง) ทุกพิจารณา SQL ภาษาการเขียนโปรแกรมและทัวริง completness ไม่ได้เป็นปัจจัยที่จำเป็นสำหรับการเขียนโปรแกรมภาษา (คิดว่ามี DSL ซึ่งได้รับการออกแบบโดยทั่วไปจะไม่ได้รับการทัวริงสมบูรณ์.) HTML และ XML จะเห็นได้ชัด ไม่ใช่ภาษาการเขียนโปรแกรม (แม้ว่าคุณสามารถมีภาษาเฉพาะโดเมนแบบ XML) Regexs ไม่ใช่ภาษาโปรแกรม แต่ตั้งค่าได้อัตโนมัติ / ตั้งค่าได้
luis.espinal

2
นั่นไม่ใช่แหล่งที่มา นั่นคือลิงก์ไปยังการสนทนา (การอภิปรายไม่ใช่ด้วยตนเองแหล่งที่มา) และเป็นลิงก์ที่เน้นเฉพาะ CSS และ HTML เท่านั้น มันไม่ได้ระบุการทดสอบแบบ "ทัวริงที่สมบูรณ์" (ฉันขอแนะนำให้คุณอ่านงานของ Martin Fowler ในเรื่องของ DSL) หรือว่า SQL เป็นภาษาโปรแกรม (ซึ่งก็คือนี่คือแหล่งที่มาจริง: en.wikipedia.org/ wiki / SQLหรือamazon.com/SQL-Programming-Language-Kirk-Scott/dp/0763766747นี้ ไม่ว่าคุณจะไม่ได้อ่านโพสต์ของฉันอย่างเต็มที่หรือคุณคิดว่าลิงก์ไปยัง stackexchange เป็นแหล่งข้อมูล (ซึ่งไม่ใช่)
luis.espinal

37

เป็นการดีที่จะทำหรือไม่?

มันเป็นการฝึกฝนที่ยอดเยี่ยม นอกจากนี้ฉันขอแนะนำให้คุณเพิ่มรายการภาษาของคุณเป็นประจำด้วยการลองภาษาใหม่

ภาษาและเทคโนโลยีเข้าและออกจากความโปรดปรานอย่างรวดเร็วในเวลาไม่กี่ปี ยกตัวอย่างเช่นObjective C เริ่มต้นด้วยพลังที่น่าทึ่งหลังจากที่เกือบตายไปแล้วสองทศวรรษครึ่ง - ตลอดกาลตามมาตรฐานของอุตสาหกรรมนี้!

ไม่สำคัญว่าคุณกำลังวางแผนที่จะ "ไม่ได้เป็นแจ็คหรือธุรกิจการค้าทั้งหมด": ถ้าคุณวางแผนที่จะอยู่ในอุตสาหกรรมนานพอมันปลอดภัยมากที่จะสมมติว่าคุณจะต้องเปลี่ยนกองเทคโนโลยีของคุณอย่างน้อยหนึ่งครั้ง ตลอดอาชีพของคุณ การใช้หลายภาษาช่วยให้คุณเตรียมพร้อมที่จะเปิดการแจ้งเตือนสั้น ๆ อย่างสมเหตุสมผล


14

สิ่งนี้จะเป็นอันตรายต่อฉันในระยะยาวหรือไม่ (คุณคิดว่าเป้าหมายหลักของฉันคือการไม่เป็นผู้ค้าขายทุกคน) หรือเป็นวิธีปฏิบัติที่ดีที่จะทำ

การรู้ภาษาสองภาษาหรือมากกว่านั้นจะไม่เป็นอันตรายต่อคุณ การรู้ภาษาของคุณตื้นมาก (โดยไม่เข้าใจการทำงานภายใน) อาจเป็นอันตรายต่อคุณ

ความชอบส่วนตัวของฉันคือการเรียนรู้ภาษาการเขียนโปรแกรมเชิงวัตถุหนึ่งภาษาเสมอก่อน สิ่งนี้จะช่วยให้คุณเรียนรู้เชิงลึกเกี่ยวกับแนวคิดการเขียนโปรแกรมทั้งหมดและง่ายต่อการเรียนรู้สิ่งต่อไปเมื่อจำเป็น

เป็นการดีที่จะทำหรือไม่?

ใช่แน่นอน!

ฉันขอแนะนำให้เรียนรู้มากกว่าหนึ่งอย่างแน่นอนและฝึกฝนพวกเขาโดยการสร้างแอปพลิเคชันบางอย่าง ในขณะเดียวกันคุณอาจวางแผนที่จะเรียนรู้ภาษาสคริปต์บางอย่าง (jQuery, KnockoutJs ฯลฯ ) และห้องสมุดหากคุณกำลังทำหรือวางแผนที่จะทำการพัฒนาเว็บไซต์


1
ฉันไม่คิดว่าการเรียนรู้ OOP จะสอนแนวคิดมากมายจากการเขียนโปรแกรมการทำงานสำหรับหนึ่งกฎการกำหนดขอบเขต JavaScript นั้นแตกต่างจากภาษา OOP ยอดนิยมอื่น ๆ เช่น C # ฯลฯ มีแนวคิดอื่น ๆ อีกมากมาย
phant0m

ฉันเห็นด้วยอย่างยิ่ง อย่างไรก็ตาม jQuery และ KnockoutJs ไม่ใช่ภาษาสคริปต์ และฉันจะไม่แนะนำ "การเรียนรู้ jQuery" โดยปราศจากความรู้พื้นฐานของ JavaScript
Bruno Schäpper

คุณไม่สามารถเรียนรู้ jQuery โดยไม่ต้องเรียนรู้ JavaScript ในกระบวนการเนื่องจาก jQuery ไม่ใช่ภาษามันเป็นไลบรารีที่เขียนด้วยภาษา
ILikeTacos

5

ไม่ควรเป็นอันตรายต่อคุณในระยะยาวการมีความเชี่ยวชาญในหลายภาษาทำให้คุณเป็นนักพัฒนาที่รอบรู้ การใช้ "เครื่องมือที่เหมาะสมในการทำงานที่ถูกต้อง" คือเป้าหมายสูงสุดและการมีประสบการณ์ในภาษาต่าง ๆ จะช่วยให้คุณประสบความสำเร็จเมื่อคุณรู้ว่ามีอะไรที่อื่นอยู่ที่นั่นและสามารถตัดสินใจอย่างชาญฉลาดเกี่ยวกับแพลตฟอร์ม / กรอบ / ภาษา ทำอะไรให้เสร็จ


ขอบคุณสำหรับคำตอบ แต่ฉันสงสัยว่าการขยับบ่อยครั้งจะไม่เป็นอันตรายต่อกระบวนการเรียนรู้ของฉันหรือยืดออกหรือไม่นั้นขึ้นอยู่กับความสามารถของบุคคล
Lamin Sanneh

@LaminSanneh การเรียนรู้ภาษาอื่นไม่ได้ทำให้คุณแย่ลงในช่วงแรก มันไม่ใช่เกม RPG และคุณไม่มีคะแนน "ทักษะการเขียนโปรแกรม" จำนวนที่กำหนดที่คุณสามารถกำหนดให้กับแต่ละภาษา ที่แย่ที่สุดมันต้องใช้เวลาที่คุณจะทุ่มเทให้กับภาษาอื่น แต่ภาษาเป็นเพียงวิธีหนึ่งในการแสดงความคิดเห็นของคุณและการเรียนรู้ภาษาใหม่จะช่วยให้คุณมีมุมมองใหม่ ๆ และแนวคิดใหม่ ๆ ที่คุณสามารถนำไปใช้กับคนที่คุณรู้จักอยู่แล้ว แน่นอนว่าคุณจะไม่ทราบว่าไวยากรณ์ของทุกภาษาอยู่นอกมือ แต่ใครจะเป็นห่วง เป็นการค้นหาโดย Google อย่างรวดเร็ว
Jay

5

ตลอดเส้นทางอาชีพของคุณคุณจะต้องเรียนรู้ภาษาใหม่และเทคโนโลยีใหม่ ๆ อุตสาหกรรมเพียงต้องการมัน ในการมอบหมายงานครั้งแรกของฉันฉันต้องส่งโค้ดที่เขียนใน Ada, C และ Fortran พร้อมกับสคริปต์ SQL และเชลล์บางตัว ฉันต้องเปลี่ยนจาก C ++ เป็น Java และกลับมาอีกครั้งในสองสามปีที่ผ่านมา ฉันเขียนเชลล์สคริปต์ใน csh, bash และ perl

สละเวลาในการเรียนรู้ภาษาต่าง ๆ โดยเฉพาะอย่างยิ่งหากพวกเขาอยู่ในโดเมนที่แตกต่างกัน (OO, ฟังก์ชั่น, ตรรกะและอื่น ๆ ) จะช่วยคุณได้หลายวิธี มันจะทำให้สมองของคุณคม มันจะช่วยให้คุณแยกแนวคิดจากการนำไปใช้ (เช่นแฮชและแผนที่ไม่ใช่แค่ชนิดข้อมูลในภาษาใดภาษาหนึ่ง) มันจะช่วยให้คุณมีความคิดที่ดีขึ้นเกี่ยวกับเครื่องมือที่เหมาะสมสำหรับปัญหาที่ระบุ (ตัวอย่างเช่นฉันจะไม่สร้างเว็บไซต์ใน C และฉันจะไม่เขียนไดรเวอร์อุปกรณ์ใน Haskell) มันอาจทำให้คุณหางานได้ง่ายขึ้น ("เฮ้เขารู้Intercal 1แล้วเราไม่ต้องฝึกเขา!") มันจะช่วยให้คุณทราบถึงความท้าทายที่นักออกแบบภาษาเผชิญอยู่ มันอาจเป็นแรงบันดาลใจให้คุณสร้างภาษาการเขียนโปรแกรมของคุณเอง

อย่างน้อยที่สุดมันจะทำให้คุณไม่รู้สึกเบื่อ


1. เรื่องตลก อย่าพยายามเรียนรู้ Intercal


4

ผู้คนที่เกษียณในปีนี้เริ่มอาชีพของพวกเขาก่อนที่จะสร้างC มันปลอดภัยที่จะบอกว่าคุณอาจเปลี่ยนภาษาการเขียนโปรแกรมหนึ่งหรือสองครั้งในอาชีพของคุณ คุณไม่ต้องการทำงานให้นายจ้างที่ไม่เข้าใจ

เมื่อคุณใหม่การสลับบริบทระหว่างสองภาษานั้นยากกว่ามากดังนั้นคุณจะทำงานได้มากขึ้นถ้าคุณทำงานอย่างน้อย 4-8 ชั่วโมงในหนึ่งภาษาก่อนเปลี่ยน หลังจากนั้นคุณจะสามารถเปลี่ยนได้ทันทีโดยไม่สูญเสียประสิทธิภาพ กล่าวอีกนัยหนึ่งการใช้สองภาษาในที่สุดจะกลายเป็นจุดแข็งแทนที่จะทำให้คุณช้าลง


2

มีข้อดีและข้อเสียคือ

นี่คือหัวกลับหัว ...

ดังที่คนอื่น ๆ กล่าวถึงความสามารถในการเรียนรู้ใหม่และทำงานกับหลายภาษาและเครื่องมือการเขียนโปรแกรมเกือบจะเป็นสิ่งจำเป็นสำหรับการมีอาชีพที่ยาวนานในการเขียนโปรแกรม สิ่งต่าง ๆ เปลี่ยนไปในช่วงหลายปีที่ผ่านมาเครื่องมือ / ภาษามาและไป แน่นอนว่ามีบางคนที่พอใจที่จะเขียนโปรแกรมในเมนเฟรมเดียวกันกับที่ใช้ในปี 1980 แต่นี่เป็นสถานการณ์ที่ค่อนข้างหายาก โปรแกรมเมอร์ส่วนใหญ่จบลงด้วยการเปลี่ยนเครื่องมือ / ภาษาหลายครั้งตลอดระยะเวลาการทำงาน บางครั้งคุณอาจได้รับการว่าจ้างเพราะคุณรู้จักเทคโนโลยีที่เก่ากว่าหรือรู้ทุกภาษาที่ บริษัท ทำงานด้วย

ข้อเสียคือ ...

นายจ้างบางคนจะมองว่าคุณเป็น "ตัวต่อการค้าขายทั้งหมดไม่มีเจ้านาย" และปฏิเสธใบสมัครของคุณโดยไม่ให้โอกาสคุณ พวกเขากำลังมองหาผู้เชี่ยวชาญแคบ ๆ ในพื้นที่เฉพาะไม่ใช่โปรแกรมเมอร์ที่ดีมีความรอบรู้ บางครั้งคุณอาจถูกตัดขาดโดยฝ่ายทรัพยากรบุคคลเพราะคุณไม่มี "ประสบการณ์อย่างต่อเนื่อง 5 ปีใน [X]" คุณสามารถหลีกเลี่ยงปัญหานี้ได้ด้วยการปรับแต่งเรซูเม่ของคุณให้เหมาะสมกับงาน แต่สิ่งนี้อาจไม่ช่วยคุณในการสัมภาษณ์ทางเทคนิค

สำหรับฉันข้อเสียนั้นดีกว่ามาก แต่คุณต้องระวังว่าองค์กรส่วนน้อยมองว่าเป็นลบ


+1 ยิ่งกว่านั้นฉันคิดว่ามีความสัมพันธ์กันระหว่างองค์กรส่วนน้อยกับการเขียนโปรแกรมที่ไม่ดีและไม่มีประสิทธิภาพ
K.Steff

2
ลบนั้นจะถูกยกเลิกโดยนายจ้างที่คิดตรงกันข้าม ฉันได้รับการว่าจ้างในการตัดสินใจว่าจะทำงานที่ไหนและฉันก็ยากที่จะโน้มน้าวให้โอเคจ้างคนที่มีภาษาโปรแกรมเดียวภายใต้การควบคุมของพวกเขา อาจจะเป็นตำแหน่งจูเนียร์ แต่ไม่แน่นอนสำหรับนักพัฒนาอาวุโส
จอนฮันนา

@JonHanna - ปัญหาหลักคือทีมพัฒนาอาจไม่เคยสัมภาษณ์นักพัฒนาที่คาดหวังเนื่องจากพวกเขาถูกคัดเลือกโดย HR ซึ่งบางครั้งก็เป็นโปรแกรมอัตโนมัติ แน่นอนว่านี่เป็นปัญหาที่พบบ่อยในองค์กรขนาดใหญ่ สิ่งสำคัญคือต้องแน่ใจว่าบุคลากรฝ่ายทรัพยากรบุคคลของคุณไม่ได้คัดเลือกผู้สมัครที่ดีที่สุดตามเกณฑ์ที่กำหนด
jfrankcarr

+1 สำหรับชี้ให้เห็นข้อเสีย ที่ฉันมาจำนวน บริษัท ที่รักษา "มุมมองแจ็คของการค้าทั้งหมดต้นแบบของไม่มี" ไม่เล็ก
lsoliveira

ใช่ แต่เราสามารถทำให้คุณภาพนั้นดีขึ้น อาจมีคนบ้าในฝ่ายทรัพยากรบุคคลที่คิดว่ามันมีคุณภาพไม่ดี แม้ว่าท้ายที่สุดถ้า HR ในองค์กรเป็นคนงี่เง่าพวกเขาจะได้รับการว่าจ้างที่ไม่ดีและในขณะที่การว่าจ้างอาจจะดีกว่าสายการว่างงานคุณจะต้องหางานใหม่ทันทีและหางานทำที่อื่น .
Jon Hanna

2

เมื่อคุณพัฒนา PHP คุณเขียนจาวาสคริปต์หรือ SQL หรือไม่? ในการพัฒนา C # คุณสามารถใช้ทั้งสองอย่างได้ มันไม่ได้ค่อนข้างจะแห้งและแห้งเหมือนการใช้ภาษาโปรแกรมเดียว

หากคุณมีความสุขก็ไม่ต้องกังวล หากคุณไม่ต้องการทำทั้งสองอย่าง (หรือทั้งสองอย่าง) แสดงว่าคุณมีปัญหา


2

การเรียนรู้ภาษาการเขียนโปรแกรมใหม่จะสอนคุณเกี่ยวกับการเขียนโปรแกรมที่คุณสามารถนำไปใช้กับภาษาที่คุณรู้จัก คุณควรพิจารณาอย่างน้อยการเล่นกับภาษาอื่น ๆ แม้ว่าคุณจะไม่ได้ใช้พวกเขาอย่างมืออาชีพมากกว่าแค่มีน้อย

เป็นการดีที่คนที่แตกต่างจากคนที่คุณรู้จักมาก


2

ไม่ไม่มีอะไรผิดปกติในการเรียนรู้หลายภาษาและใช้พวกเขาอย่างเป็นธรรมบ่อยครั้ง ในแต่ละวันของฉันฉันสามารถพบกับ Ruby, PHP, JavaScript, CoffeeScript, Python และ C บางครั้งฉันรู้ภาษาทั้งหมดเหล่านี้ค่อนข้างดีและการเปลี่ยนจากที่หนึ่งไปอีกที่หนึ่งก็แค่เปิดสวิตช์ในสมองของฉัน แน่ใจว่าฉันพลาดฟีเจอร์ของบางภาษาเมื่อฉันไปที่อื่น แต่คุณจะได้รับมากกว่านั้น

ฉันพยายามที่จะมีภาษาที่ฉันเรียนรู้ในเชิงลึกและจากนั้นอีกภาษาหนึ่งเป็น "ขึ้นมา" ด้วยวิธีนี้คุณจะมีเป้าหมายทางการศึกษาที่ชัดเจนเสมอ ตอนนี้ Ruby เป็นภาษาหลักของฉันและฉันกำลังทดลองกับ Go ฉันอาจไม่เคยได้งานในฐานะนักพัฒนาซอฟต์แวร์ Go แต่การเรียนรู้ภาษาใหม่ทำให้นักพัฒนาซอฟต์แวร์ดีขึ้น

เมื่อฉันสัมภาษณ์นักพัฒนาฉันมักจะเห็นภาษาที่แตกต่างกันสองสามภาษาเกี่ยวกับประวัติย่อของพวกเขา หากนักพัฒนาซอฟต์แวร์มี "C / C ++" หรือ "PHP และ Javascript" ในเรซูเม่ของพวกเขาพวกเขาดูน่าสนใจน้อยกว่าคนที่มีความเข้าใจอย่างมั่นคงของภาษา 4 หรือ 5 ให้แน่ใจว่าคุณรู้สึกสะดวกสบายในทุกภาษาที่คุณพูดรายการใด ๆ ในประวัติย่อของคุณเป็นเกมที่ยุติธรรมในการสัมภาษณ์!

กล่าวโดยย่อ: การใช้หลายภาษาเป็นประจำเป็นสัญญาณของนักพัฒนาที่ดีที่ใส่ใจงานฝีมือของพวกเขา เข้ารหัสต่อไป!


ฉันจะบอกว่าถ้านักพัฒนาบอกว่า "C / C ++" ในประวัติย่อฉันต้องการที่จะเป็นภาษาเดียวที่นั่น แต่สำหรับภาษาอื่น ๆ ที่ต่อต้านคนโง่มากยิ่งดี
Coder

2

เมื่อดูประวัติย่อเรามักจะมองหาคนที่รู้หลายภาษา นอกจากนี้เมื่อประสบการณ์ของบุคคลเพิ่มจำนวนภาษาที่ใช้ควรเพิ่มขึ้นเช่นกัน

ในสภาพแวดล้อมของเราเรามักจะต้องจัดการกับปัญหาใหม่และน่าสนใจและเรากำลังมองหาคนที่เต็มใจที่จะข้ามไปและแก้ไขปัญหาเหล่านั้นไม่ว่าพวกเขาจะต้องเรียนรู้ภาษาใหม่หรือไม่ ปัญหาอาจเกิดจากโค้ดที่รันบนเดสก์ท็อป Windows, เซิร์ฟเวอร์ Windows, เซิร์ฟเวอร์ Linux หรือในเบราว์เซอร์

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


2

เป็นกรณีที่ผู้ใช้โปรแกรมมากกว่าหนึ่งภาษา เมื่อผู้คนใช้แอสเซมบลีพวกเขาจะต้องเรียนภาษาแอสเซมบลีใหม่ทุกครั้งที่พวกเขาเปลี่ยนสถาปัตยกรรม

เมื่อคนที่ทำ COBOL หรือ Fortran พวกเขามักจะทำเกม RPG และ / หรือ JCL

ใน Unix ผู้คนจะทำงานกับ C, sed, awk, shell script และทุกอย่างในอ่างครัว Unix (เกือบทุกเครื่องมือบรรทัดคำสั่งใน Unix เป็นของตัวเอง DSL พิเศษมาก)

ใน DOS ผู้คนจะเขียนโปรแกรมใน Turbo Pascal หรือ C นอกเหนือจากสคริปต์แบบแบตช์ ต่อมาเมื่อ Windows มาถึงมันเป็น VB หรืออะไรอย่าง PowerBuilder ควบคู่ไปกับ SQL และสคริปต์การติดตั้งแบบแบตช์

ทุกวันนี้มันเป็นความจริงที่ว่าผู้คน"ทำงาน" ที่มีมากกว่าสองภาษาในแต่ละวัน (และโดย"งาน"ฉันหมายถึงทำการเข้ารหัสในแต่ละวันหรือมีความรู้ในการทำงาน) Java หรือ C # หรือ VB ผสมกับ JavaScript และ SQL อย่างน้อยที่สุด จากนั้นภาษาอื่น ๆ ก็เข้าสู่การเล่นแบทช์ / สคริปต์งานและสิ่งที่ชอบ จากนั้นสำหรับแต่ละภาษาคุณมีกรอบที่ใช้ DSL ภายในซึ่งเป็นภาษาขนาดเล็กในสิทธิของตนเอง

ดังนั้นมันไม่เพียงเป็นประโยชน์ในการทำงานกับภาษามากกว่าหนึ่งภาษา แต่จำเป็น ไม่มีวิธีในการสร้างระบบที่ซับซ้อนและทันสมัยด้วยภาษาเดียว (และโดย "สร้าง" ฉันไม่ได้หมายถึงแค่เขียนโค้ดอึที่คอมไพล์ แต่สร้างสิ่งที่มีการออกแบบที่ดี)

Heck ฉันจะออกไปจากกิ่งและบอกว่าฉันคาดหวังว่าเด็ก ๆ ในวิทยาลัยจะมีความเชี่ยวชาญในสองภาษาหรือมากกว่าถ้าพวกเขาจริงจังกับการอยู่ในอาชีพนี้

ดังนั้นเกี่ยวกับคำถามของคุณ:

คำถามหลักของฉันคือฉันควรทำสิ่งนี้ต่อไปหรือไม่ฉันควรพัฒนาใน C # ต่อไปหรือไม่? สิ่งนี้จะเป็นอันตรายต่อฉันในระยะยาวหรือไม่ (คุณคิดว่าเป้าหมายหลักของฉันคือการไม่เป็นผู้ค้าขายทุกคน) หรือเป็นวิธีปฏิบัติที่ดีที่จะทำ

ดังนั้นคำตอบสั้น ๆ ไม่ใช้หรือสลับระหว่างภาษาจะไม่ทำให้คุณรู้สึก การรู้มากกว่าหนึ่งภาษาจะไม่ทำให้คุณขาดความเชื่อมั่นในการซื้อขายและไม่มีวิธีใดที่นักพัฒนาจะสามารถเป็นผู้เชี่ยวชาญได้โดยไม่สามารถใช้ภาษามากกว่าหนึ่งภาษาได้


1

ยิ่งคุณต้องเปรียบเทียบกับภาษาหลักของคุณมากเท่าไหร่คุณยิ่งเข้าใจการแลกเปลี่ยนการออกแบบที่ดีขึ้นหรืออ่อนแอลงในบางสิ่งและใช้ประโยชน์ / ชดเชยสิ่งเหล่านั้น อาจารย์อย่างน้อยหนึ่งคน แต่ไม่ต้องกังวลกับการเป็นแจ็คของคนอื่น ๆ นั่นดูดีเท่านั้น

เป็นการดีกว่าที่จะถามว่าประวัติย่อมีเพียงภาษาเดียวที่อยู่ในรายการจากนักพัฒนา "รุ่นพี่" คำตอบสำหรับคำถามนั้นคือ: "ไม่ค่อยสนใจในสิ่งที่พวกเขาทำเพื่อหาเลี้ยงชีพ"


0

สองภาษาอาจช่วยคุณได้หรือไม่นั้นขึ้นอยู่กับว่า มันจะไม่เป็นอันตรายต่อคุณแน่นอนว่า devs หลายคนมักคิดว่าการใช้อย่างอื่นนอกเหนือจาก 'ภาษาหลัก' เป็นการเสียเวลา แต่ฉันไม่เห็นด้วยอย่างยิ่ง การเรียนรู้ภาษาอื่น (และใช้งาน) เป็นประโยชน์อย่างแท้จริง: มันให้มุมมองที่แตกต่างเกี่ยวกับวิธีการแก้ปัญหา อาจเกิดขึ้นได้ว่าคุณจะเริ่มใช้ภาษาใดภาษาหนึ่งสำหรับงานเฉพาะตลอดเวลา (เนื่องจากฉันเกิดขึ้นหลังจากที่ฉันมีโอกาสเรียนรู้และใช้งาน Python)


0

ในสถานการณ์เช่นนี้คุณไม่ได้ถามเกี่ยวกับการเปลี่ยนจาก JAVA เป็น C # และกลับมาตลอดเวลาแทนที่จะทำเช่นนี้กับ C # และ PHP ซึ่งไม่ใช่เรื่องใหญ่

สมมติว่าคุณต้องการทำบางสิ่งบนเว็บที่คุณใช้ WAMP stack (Windows / Apache / MySQL / PHP) และ C # คุณใช้ C # เพื่อเขียนบริการ SOAP จากนั้นใช้ PHP เพื่อใช้งาน

ดูเหมือนว่าฉันจะยอมรับได้ทั้งหมด

อย่างไรก็ตามการรู้มากกว่าหนึ่งภาษาเป็นสิ่งที่ดี ยิ่งคุณรู้จักมากขึ้นเท่าไหร่ ไลบรารี PHP / C # / Java / Python / javascript [JQuery เป็นต้น] เป็นประโยชน์กับคนจำนวนมากเท่าที่จะทำได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.