ตอนนี้ฉันทำงานกับ asp.net และ C # ฉันได้ทำงานที่น่าพอใจใน Java เช่นกัน ฉันกำลังวางแผนอาชีพของฉันในแบบที่ฉันควรจะเป็นผู้ไม่เชื่อเรื่องภาษาสักวันหนึ่ง ฉันต้องเรียนรู้อะไรบ้าง
กระบวนทัศน์แรกของ OOP คือพูดถึงการออกแบบระดับ มีคนอื่นอีกไหม?
ตอนนี้ฉันทำงานกับ asp.net และ C # ฉันได้ทำงานที่น่าพอใจใน Java เช่นกัน ฉันกำลังวางแผนอาชีพของฉันในแบบที่ฉันควรจะเป็นผู้ไม่เชื่อเรื่องภาษาสักวันหนึ่ง ฉันต้องเรียนรู้อะไรบ้าง
กระบวนทัศน์แรกของ OOP คือพูดถึงการออกแบบระดับ มีคนอื่นอีกไหม?
คำตอบ:
ในการเป็นผู้ไม่เชื่อเรื่องภาษาคุณต้องมีประสบการณ์ในทุกรูปแบบและภาษาทั่วไป
นอกจากนี้:
สไตล์การพิมพ์บางอย่าง:
สไตล์รันไทม์ที่แตกต่างกัน:
สิ่งที่ระดับต่ำกว่า:
ยิ่งไปกว่านั้นฉันอยากบอกว่าคุณต้องมีประสบการณ์ในการเขียนโปรแกรมพร้อมกันและมีบางอย่างเกิดขึ้น คุณควรตรวจสอบให้แน่ใจว่าคุณรู้บางอย่างเกี่ยวกับโดเมนต่าง ๆ เช่นการเขียนโปรแกรมเว็บ (ไคลเอนต์ & เซิร์ฟเวอร์), การพัฒนาไคลเอ็นต์ / เดสก์ท็อปที่หลากหลาย, เกม คุณอาจต้องการเรียนรู้เกี่ยวกับการเขียนโปรแกรมแบบฝังตัวหรือฮาร์ดแวร์เฉพาะ (เช่นเกมคอนโซล) และการพัฒนาอุปกรณ์พกพากลายเป็นโดเมนที่มีความเกี่ยวข้องมากขึ้นเรื่อย ๆ
คนอื่น ๆ ก็บอกว่ามันคุ้มค่าที่จะได้รับประสบการณ์การเขียนโปรแกรมทั่วไปและวิธีการเขียนโปรแกรม Meta
เมื่อคุณเรียนรู้กระบวนทัศน์เหล่านี้หลีกเลี่ยงเพียงแค่เรียนรู้ไวยากรณ์และการเขียนในแบบเก่าของคุณ ฉันเห็น C # devs หลายคนเขียน JavaScript ราวกับว่ามันถูกพิมพ์แบบคงที่ อย่าทำอย่างนี้พยายามเรียนรู้กระบวนทัศน์ทางภาษาและยอมรับมัน
หากคุณทำสิ่งเหล่านี้ทั้งหมดความแตกต่างระหว่างภาษาจะกลายเป็นเรื่องของการใช้ไวยากรณ์เป็นส่วนใหญ่ดังนั้นการสลับจะกลายเป็นการออกกำลังกายที่ง่ายมากในการเรียนรู้ไวยากรณ์ใหม่
อย่าลืมว่าการเขียนโปรแกรมที่ทันสมัยนั้นมักขึ้นอยู่กับกรอบการทำงานดังนั้นการทำความคุ้นเคยกับกรอบทั่วไปและเป็นที่นิยมสำหรับแต่ละภาษาที่คุณเรียนรู้นั้นก็สำคัญเช่นกัน การรู้ C # นั้นไม่เกี่ยวข้องโดยไม่มี. net
ฉันไม่คิดว่าคุณจะเป็นผู้ไม่เชื่อเรื่องภาษาอย่างแท้จริง ฉันพบว่าฉัน "คิด" ในภาษาปัจจุบันของฉัน (ในขณะนี้ C #)
อย่างไรก็ตามการที่บอกว่าฉันคิดว่าคุณอาจจะแยกการออกแบบออกจากรหัสโดยพยายามคิดในรหัสหลอกมากกว่าภาษาเฉพาะและเขียนลงในรูปแบบนี้จริง ๆ สิ่งนี้จะช่วยให้คุณจดจ่อกับการออกแบบและการตัดสินใจด้านสถาปัตยกรรมมากกว่าการใช้งานในภาษาปัจจุบันของคุณ ข้อเสียเปรียบในเรื่องดังที่ Simon ชี้ให้เห็นว่าภาษาและกรอบงานที่คุณใช้ในท้ายที่สุดจะส่งผลต่อการออกแบบอย่างหลีกเลี่ยงไม่ได้ ดังนั้นเมื่อการออกแบบของคุณพัฒนาขึ้นมันจะเชื่อมโยงกับภาษาและกรอบงานมากขึ้น
การอ่านคำถามของคุณและคำตอบบางอย่างอาจทำให้คุณรู้สึกว่าคุณเป็น "ผู้ไม่เชื่อเรื่องพระเจ้า" กับ "รู้ทุกกระบวนทัศน์บนโลก"
ฉันไม่แน่ใจว่าการรู้กระบวนทัศน์ทุกอย่างที่มีอยู่หรือรู้ภาษาที่หลากหลายรวมถึงกระบวนทัศน์และประเภทของภาษาที่หลากหลายทำให้คุณเป็น "ผู้ไม่เชื่อเรื่องภาษา"
มันก็เหมือนกับการพูดว่าการฝึกฝนทุกศาสนาทำให้ตัวเองไม่เชื่อเรื่องพระเจ้า
ฉันคิดว่าคนที่ไม่เชื่อเรื่องภาษาเกี่ยวกับภาษาการเขียนโปรแกรมควรเป็นคนที่ไม่รู้วิธีการเขียนโปรแกรมในภาษาใด ๆ เลยหรือไม่สนใจว่าเขา / เธอจะใช้ภาษาใดในการเขียนโปรแกรม
บางคนบอกว่าโปรแกรมเมอร์ตัวจริงสามารถตั้งโปรแกรมในภาษาใดก็ได้ที่ให้สิทธิ์การเข้าถึงเอกสารของภาษานั้น
หากนั่นคือสิ่งที่คุณหมายถึงโดย "ผู้ไม่เชื่อเรื่องภาษา" ผู้เขียนโปรแกรมที่มีประสบการณ์เกือบทุกคนสามารถเขียนโปรแกรมในภาษาใดก็ได้ที่เขา / เธอถูกบังคับให้ทำงานโดยให้สิทธิ์การเข้าถึงเอกสารภาษา
บางทีคุณอาจต้องการ "language polytheist"
ตัวฉันเองมีความสามารถในหลายภาษา แต่ฉันชอบ OOP เมื่อมันได้รับความนิยม ดังนั้นฉันเดาว่าฉันไม่เชื่อเรื่องพระเจ้า
คุณแทบจะไม่พบใครก็ตามที่ไม่ชอบกระบวนทัศน์หรือภาษาที่ให้เสรีภาพในการเลือก
ไม่ใช่แค่ภาษาเท่านั้น Java มีโหมดที่แตกต่างกันมากมายซึ่งคุณสามารถใช้เวลาเป็นปีในการเรียนรู้พวกเขาทั้งหมด คุณสามารถเรียนรู้:
และอีกหนึ่งร้อยสิ่งที่ฉันขาดไป - แค่ภายใน java
หากคุณใช้เวลาหลายปีครอบคลุมความกว้าง (เรียนรู้ทุกภาษา) คุณจะมีปัญหาในการเพิ่มความลึกในการทำงานอย่างมีประสิทธิภาพในหนึ่งในนั้น
ฉันไม่ได้บอกว่าการเรียนรู้ภาษาใหม่นั้นเป็นปัญหาคุณก็ต้องทำเช่นนั้น! ฉันพยายามเลือกงานต่อไปตามสิ่งที่ฉันสามารถเรียนรู้ได้ (สิ่งที่ฉันยังไม่ได้ทำ) แต่ฉันก็ไม่ได้เลือกภาษาแบบสุ่มและเรียนรู้มันอีกเลย - ครั้งล่าสุดที่ฉันลองใช้ Scala กับฉัน เหลือค่อนข้างต่ำต้อย ...