การเรียนรู้หลายภาษาพร้อมกัน [ปิด]


35

เมื่อเรียนรู้ภาษาใหม่จะดีกว่าหรือไม่ที่จะผูกมัดตัวเองกับภาษาใดภาษาหนึ่ง 100% และรอจนกว่าคุณจะ "เชี่ยวชาญ" เพื่อย้ายไปยังภาษาอื่นหรือทำงานเพื่อเรียนรู้ภาษาต่าง ๆ ในเวลาเดียวกัน?

ถ้ามันสำคัญฉันกำลังเรียนรู้ C ++ และฉันต้องการรู้จัก Java และ Python เช่นกัน


12
มักจะไม่มีสิ่งเช่นความคล่องแคล่ว 100% ทั้ง Jon Skeet และ Eric Lippert ต่างก็ไม่รู้ 100% ของ C #
งาน


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

ตราบใดที่คุณเรียนรู้ทั้งสองภาษาจริงๆ
Tulains Córdova

@ Maxax คุณช่วยบอกได้ไหมว่าประสบการณ์ของคุณกับการเรียนรู้หลายภาษาในครั้งเดียวเป็นอย่างไร ...
Rahul Patil

คำตอบ:


31

ไม่เพียง แต่ฉันไม่เห็นปัญหาเกี่ยวกับการเรียนรู้หลายภาษาในครั้งเดียวฉันคิดว่ามันจะเป็นประโยชน์โดยตรงกับคุณในบางสิ่งที่ในภาษาหนึ่งอาจทำให้พื้นที่ที่คุณมีปัญหามีปัญหาในภาษาอื่น ตัวอย่างเช่นภาษาหลักของฉันคือ C # และเมื่อจัดการกับ LINQ ฉันใช้รูปแบบ SQL (ซึ่งก็ดีฉันไม่ได้เคาะเลย แต่ก็ดูเหมือนจะไม่เป็น "วิธีที่ยอดเยี่ยม" ที่จะทำ) ฉันอยู่ห่างจาก Lambdas เพราะตามจริงแล้วฉันไม่เข้าใจพวกเขาและเอกสาร C # ที่ฉันเห็นไม่ได้ให้คำจำกัดความที่ชัดเจน (สำหรับฉัน) จากนั้นฉันก็เริ่มหยิบหนังสือบางเล่มใน F # และเริ่มเรียนรู้ซึ่งให้ช่วงเวลา“ อาฮา!” ที่ฉันเข้าใจว่า Lambdas เป็นอย่างไร

ฉันพบว่าเมื่อฉันมีประสบการณ์มากขึ้นกับภาษาอื่น (และกรอบ) ฉันดีขึ้นที่ C # (และ ASP.Net) นั่นคือเหตุผลที่ฉันเชื่อว่าการเรียนรู้หลายภาษาในครั้งเดียวไม่ใช่เรื่องเลวร้ายเลย!


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

49

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

เมื่อคุณมีพื้นฐานที่ดีคุณสามารถเลือกได้มากเท่าที่คุณต้องการ


2
+1 ฉันคิดว่ามันสร้างความแตกต่างอย่างมากไม่ว่าคุณจะเรียนภาษาสามภาษาแรกกับภาษาที่สี่, ห้า, หกและอื่น ๆ ของคุณ
keithjgrant

12

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

สิ่งที่ภาษาแรกของคุณคือกระบวนการเรียนรู้ภาษาเพิ่มเติมควร:

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

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


1
+1 สำหรับ "ระบุจุดแข็งของภาษาใหม่ ... " ดีมาก
Nick Burns

8

การเรียนรู้ภาษาในแบบคู่ขนานเป็นเรื่องปกติ ตัวอย่างเช่นการเขียนโปรแกรมเว็บ คุณกำลังจัดการกับภาษาอย่างน้อยสามภาษา: ฝั่งเซิร์ฟเวอร์ (php, java, .net, ruby, python ... ), รหัสลูกค้า (สคริปต์ java และ html), ฐานข้อมูล (sql)


และhtmlไม่sqlเป็นภาษาโปรแกรม
aeid

ตัวอักษร l หมายถึงภาษา
Boris Pavlović

7

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

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


JavaScript / Python อาจเป็นตัวเลือกที่ดีโดยอาศัยความแตกต่าง ตัวอย่างเช่น.
ลงรอยกัน

6

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

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

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

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

ดังนั้นคำแนะนำของฉันคือการใช้ภาษาโปรแกรมเดียวในปีแรกของคุณ หรืออาจเป็นความคิดที่ดีที่จะเรียนรู้สองภาษาในเวลาเดียวกันตราบใดที่พวกเขา / ดูแตกต่างกันมาก หากภาษาแรกของคุณคือ C # ฉันจะอยู่ห่างจาก C, C ++, Objective C และ Java อย่างแน่นอน และอาจเป็น Python, Ruby และ Javascript ฉันขอแนะนำให้รวม C # กับภาษาที่ใช้งานได้เช่น Haskell, Scheme, F #, Erlang, Clojure หรือ Scala


5

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

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


2

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

ในกรณีของฉันฉันเริ่มต้นด้วย C # จากนั้นเข้าสู่ Python และ F # ฉันชอบสไตล์การทำงานของ F # ซึ่งทำให้ฉันลอง Scala และ Clojure ตอนนี้เนื่องจากการเรียนรู้ภาษาเหล่านี้ทั้งหมดฉันได้พบว่าสกาล่าเป็นแบบที่ดีสำหรับสิ่งที่ฉันทำ นอกจากนี้ตอนนี้ฉันมั่นใจใน OOP และสไตล์การใช้งานจริงและสามารถอ่านและเขียนหลายภาษาได้อย่างคล่องแคล่ว มันเป็นทักษะที่ยอดเยี่ยมที่มี

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