คุณรักษาทุกภาษาเหล่านั้นไว้ในหัวของคุณได้อย่างไร


10

ฉันรู้ Java, C #, C ++ ฉันใช้ Perl แล้วและกำลังเก็บ Python และ Actionscript 3

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


14
ฉันไม่. ฉันใช้ตัวดีบักเกอร์ ;-)
PengOne

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

17
เครื่องมือแก้ไขพร้อมการเน้นไวยากรณ์ แก้ไขต่อไปเรื่อย ๆ จนกว่ามันจะเปลี่ยนสี ...
thorsten müller

2
ฉันไม่. ฉันใช้ Google
งาน

1
@ John ให้เราตัวอย่างบางส่วนของสิ่งที่คุณมีแนวโน้มที่จะเกิดความสับสนหรือลืมทั่วภาษาบ่อยครั้งที่คุณทำสลับไปมาระหว่างภาษา (builtin ชื่อวิธีสำคัญประกอบห้องสมุดสำนวน??) (รายเดือนรายชั่วโมงได้อย่างไร?)
smci

คำตอบ:


15

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


8

ฉันเคยโพสต์ไดอะแกรมไวยากรณ์ลักษณะทางรถไฟ 1 แผ่นพร้อมการอ้างอิงอย่างรวดเร็วสำหรับแต่ละภาษาบนกำแพงจนกระทั่งหน่วยความจำของฉันเตะอย่างเพียงพอ

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


3
+1 เพราะไม่ใช่ทั้งหมด "ถ้าคุณเป็นโปรแกรมเมอร์ตัวจริงคุณจะไม่มีปัญหา" หากคุณเขียนโปรแกรมในภาษาที่แตกต่างกันเพียงพอการอ้างอิงไวยากรณ์จะต้อง
Satanicpuppy

4
คุณช่วยกรุณาโพสต์ว่า "แผนภาพไวยากรณ์สไตล์รถไฟ 1 แผ่นพร้อมการอ้างอิงด่วน" สำหรับ C ++ ได้ไหม ฉันอยากเห็นสัตว์ร้ายจริงๆ
sbi

หรือหนึ่งสำหรับ Perl นั่นจะเป็นภาพที่เห็น
Zhehao Mao

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

5

คุณเคยดูเอกสารเกี่ยวกับภาษาและห้องสมุดที่คุณใช้เป็นประจำหรือไม่? ฉันมีคู่อยู่บนกำแพงของฉันที่นี่หนึ่งรายการสำหรับ VIM และหนึ่งรายการสำหรับ PL / SQL เว็บไซต์นี้: http://devcheatsheet.com/ดูเหมือนว่าจะมี cheatsheets มากมาย

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


3

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


3

ฉันมีปัญหาเล็กน้อยในการแยกภาษาในหัวของฉันนอกเหนือจากการพิมพ์อัตโนมัติไม่กี่ (เช่นต้องปราบปรามเครื่องหมายอัฒภาคปลายใน Python หรือ VB)

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


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

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

1

ช่วยให้ทุกภาษาที่คุณพูดถึงมีลักษณะคล้ายกัน (จำเป็น)

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

ตอนนี้เมื่อคุณมาเรียนรู้การใช้งาน (ไม่ใช่แค่ไวยากรณ์) มันจะยากขึ้น การเรียนรู้ที่จะใช้ Java อย่าง Java Programmer ไม่ใช่เรื่องง่ายสำหรับโปรแกรมเมอร์ C ++ (ไวยากรณ์นั้นง่ายต่อการใช้สำนวนที่ยาก)

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

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


1

นั่นคือ IDEs ที่มาเพื่อช่วยเหลือ ;-) การเปลี่ยนแปลงเพียงสิ่งเดียวในภาษาเหล่านี้ทั้งหมดคือการมี 'if-then-else' หรือ 'if-else' บางคนจะมี '(' และบางอย่างก็ไม่ง่ายเหมือนที่ :)

สิ่งที่เราใส่ใจคือตรรกะและการใช้งานที่ง่ายที่สุด


1

ฉันไม่. ฉันสับสนพวกเขาตลอดเวลาดังนั้นฉันจึงได้เตรียมชุดของการชดเชยพฤติกรรมและเครื่องมือ

  • ฉันกำลังทำงานในรหัสของโครงการขนาดใหญ่ดังนั้นฉันจะตรวจสอบรหัสที่อยู่รอบตัวฉัน
  • ฉันใช้ตัวแก้ไขไฮไลต์ไวยากรณ์ (ฉบับย่อ, Perl ใช้ elsif, elif หรืออย่างอื่นหรือไม่ถ้าฉันจำไม่ได้ แต่ตัวแก้ไขจะคอยติดตามฉัน)
  • ฉันใช้สำนวนภาษา - หากฉันเข้ารหัสใน C # ฉันใช้ lambdas, linq และ var มันทำให้ดูเหมือน Java น้อยกว่าถ้าฉันใช้แค่วัตถุและคลาสเท่านั้น
  • ฉันใช้สภาพแวดล้อมที่แตกต่างกันสำหรับแต่ละภาษา: C # -> Visual Studio, Java -> Eclipse, Perl -> Vim สไตล์ภาพที่แตกต่างทำให้ฉันอยู่ในการติดตาม

0

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

ฉันเคยเห็นคนที่จะรักษาการค้ำยันการเยื้อง ฯลฯ ที่แตกต่างกันสำหรับแต่ละภาษาเพื่อช่วยสมองของพวกเขา "เปลี่ยนเกียร์" อย่างถูกต้องเมื่อสลับระหว่างพวกเขา


0

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

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


0

ฉันเป็นนักพัฒนา PHP เป็นหลัก ดังนั้นให้อภัยความเห็นของฉันที่มีอคติ

ฉันเพิ่งค้นพบว่ารหัส C คล้ายกับ PHP (หรือวิธีอื่น ๆ ขึ้นอยู่กับว่าคุณรู้สึกอย่างไร))

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


0

ฉันใช้ javascript และ HTML / CSS เป็นหลักฉันชอบ c ++ เมื่อฉันต้องการเครื่องมือช่วยเล็กน้อยในการใช้ QT และฉันใช้ VB และ f # บางครั้งฉันรู้ว่ามันบ้าไปหน่อย แต่เมื่อฉันรู้สึกว่าฉันเริ่มสูญเสียภาษา โดยเฉพาะอย่างยิ่งเมื่อ thay มีไวยากรณ์ที่แตกต่างกัน (VB และ F # และ c ++ / javascript) ดังนั้นฉันจึงได้พี่ชายของฉันและบอกเขาว่าฉันจะสอนเขาแล้วฉันเพิ่งเริ่มทำตัวอย่างจากศูนย์และเมื่อฉันพบว่าฉันจำไม่ได้ว่าจะทำอย่างไร บางสิ่งบางอย่าง (เมื่อฉันลืมวิธีการทำถ้าอื่น ๆ ใน VB) ฉันแค่ google มัน;


0

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

วิธีการนี้จะมีประสิทธิภาพยิ่งขึ้นหากคุณใช้ภาษาอังกฤษได้ดี หมายเหตุ: นี่เป็นโอกาสอันดีทรัพยากรเพื่อฟื้นฟูทักษะ regex


0

ที่จริง: ฉันไม่ต้องกังวลมากนักเกี่ยวกับการพยายามสร้างโครงสร้างใด ๆ ในหัวของฉัน

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

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