โปรแกรมเมอร์ควรมีสมาธิอย่างน้อยกี่ภาษา? [ปิด]


21

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


คุณถามเพราะกระบวนการจ้างงานมองหาคำหลักเกี่ยวกับประวัติย่อ?
ไบรอัน

@ 0A0D ไม่จริงมันเป็นเพื่อประโยชน์ส่วนตัว ฉันเป็นโปรแกรมเมอร์ด้วย :)
เพื่อนดิจิตอล

คำตอบ:


43

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

  1. หนึ่งภาษาเพื่อให้ได้งานแรกของคุณ - น่าจะเป็น Java / C # / C ++
  2. ภาษาเดียวที่จะทำให้สิ่งต่าง ๆ เสร็จสิ้นน่าจะเป็น Bash / Perl / Python / Ruby
  3. ภาษาเดียวที่ทำให้คุณนึกถึง - Haskell / Clojure / Scala / F #
  4. หนึ่งภาษาสำหรับเหตุผลเฉพาะโดเมน - มีแนวโน้มว่า JavaScript / Objective C
  5. ภาษาเดียวที่ทำให้มือคุณสกปรก - น่าจะเป็น C / Assembly

17
ภาษาอะไรที่พวกเขาทั้งหมด?
Tester101

4
สภาปกครองพวกเขาทั้งหมด ซึ่งมันคือเหตุผลว่าทำไมมันอยู่ในรายการสุดท้าย บันทึกสิ่งที่ดีที่สุดสำหรับครั้งสุดท้าย
WernerCD

9
ผู้ทดสอบ 101: ภาษาอังกฤษ? ; o)
John Fisher

6
แน่นอนว่าไม่น่าแปลกใจที่ภาษาที่จะได้งานแรกของคุณไม่ใช่ภาษาที่คุณใช้ในการทำงานให้เสร็จ

4
... และในความมืดมัดพวกเขา!
tchrist

53

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

ถ้าคุณรู้จัก C # คุณอาจจะไม่ได้เรียนรู้อะไรใหม่ ๆ มากมายโดยการเรียนรู้ Java แต่คุณจะทำอย่างไรถ้าคุณเรียนรู้ Haskell

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


23
+1 "ภาษาที่ไม่ส่งผลกระทบต่อวิธีที่คุณคิดเกี่ยวกับการเขียนโปรแกรมไม่มีค่าพอที่จะรู้" -Alan Perlis
Inaimathi

20
@Inaimathi: ถ้าไม่ทราบว่ามันช่วยชำระค่าใช้จ่าย
Kramii Reinstate Monica

5
แค่ทราบ: ฉันแนะนำ Haskell โดยไม่มีเหตุผลอื่นนอกจากมันแตกต่างอย่างสิ้นเชิงกับ C # นักเล่นกลที่ใส่แรี่ใยหินชนิดหนึ่งในฉันอยากจะพูดว่า "เรียนรู้ Smalltalk เพื่อให้คุณสามารถเรียนรู้ OO"!
Frank Shearar

10
@ Digital Dude: ความจริงที่ว่ามันเป็นเรื่องยาก ความเจ็บปวดหลังหน้าผากของคุณนั้นไม่ใช่สิ่งเลวร้าย - มันเป็นสัญญาณว่าสมองของคุณกำลังเติบโต หากคุณต้องการเรียนรู้สิ่งที่ซ้ำ ๆ กันต่อไปเรียนรู้ Java จากนั้น C # จากนั้น Ruby จากนั้น C ++ (woooh ไม่มีที่เก็บขยะ - น่ากลัว!) จากนั้น C (ไม่มีคลาส - น่ากลัว - น่ากลัว!) เริ่มบ้าแล้วลอง Objective-C! (Ooooh - สองวันที่ผ่านมาฉันไม่สามารถสะกด Mac และตอนนี้ฉันสามารถเขียนโปรแกรมหนึ่ง!) จุดของฉัน - ถ้าคุณต้องการเรียนรู้สิ่งใหม่ที่คุณต้องทำสิ่งที่แตกต่าง ตามถนนสายเดียวกันจะพาคุณไปยังสถานที่เดียวกัน
Bob Jarvis - Reinstate Monica

4
@Kramii @Inaimathi Aha แต่ภาษาที่ช่วยให้คุณชำระค่าใช้จ่ายส่งผลกระทบต่อวิธีที่คุณคิดเกี่ยวกับการเขียนโปรแกรม
slf

22

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

1) Python และ Perl สำหรับหมวดหมู่ภาษาสคริปต์

2) ภาษา C ++ เป็น "framework"

3) Java สำหรับแอปพลิเคชันมือถือ

4) C สำหรับขนาดใหญ่ปริมาณของรหัสเดิม

5) ภาษาที่ล้าสมัยบางอย่างที่ฉันเคยรู้เมื่อฉันยังเด็ก (ขั้นพื้นฐานปาสคาลปัตตาเลี่ยน ฯลฯ )

ฉันจะบอกว่าคุณต้องการอย่างน้อยภาษาหลักและหนึ่งสคริปต์ รู้ C # ฉันจะบอกว่าคุณต้องเรียนรู้ Python หรือ Perl หรือ Ruby ต่อไป (ฉันจะไปกับ Python แต่นั่นเป็นเพียงเรื่องของการตั้งค่า)


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

2
กรรมเพื่อความสามารถในการเรียนรู้อย่างรวดเร็ว
Ayush Goyal

นอกจากภาษาสคริปต์บางครั้งการรู้ว่าภาษาสคริปต์เชลล์สามารถช่วยได้เช่นกัน งานบ้านทั่วไปบางอย่างในระบบนั้นง่ายต่อการแก้ไขในภาษาของเชลล์มากกว่าภาษาสคริปต์เช่น Python
CodexArcanum

การรู้ C # นั้นแตกต่างจากการเป็นผู้เชี่ยวชาญในภาษานั้น
Brian

1
ปาสกาลเป็นภาษาที่ล้าสมัย มีหลายสิ่งที่กำลังพัฒนาใน Delphi ทุกวันนี้
Mason Wheeler

8

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


ขอบคุณ! ฉันรู้ว่าที่นี่และที่นั่น แต่ฉันรู้ว่าฉันไม่สามารถเชี่ยวชาญภาษาเดียวได้อย่างสมบูรณ์ มีสิ่งใหม่เกิดขึ้นอยู่เสมอ .. : /
Digital Dude

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

8

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


7

ไม่มีสมาธิ มุ่งเน้นการเรียนรู้และการเขียนโค้ดที่สะอาด ชัดเจนแสดงออกง่ายและสำคัญที่สุดไม่ซ้ำซ้อน

ไปสำหรับหลักการของการเขียนโปรแกรมประเภทนั้นพื้นฐาน (ตัวอย่างเช่นการห่อหุ้มสำหรับ OOP นั้นหมายถึงอะไรและหมายถึงอะไร) และเรียนรู้หลักการบางอย่าง

สิ่งนี้จะทำให้งานของคุณง่ายขึ้น สิ่งนี้จะทำให้ง่ายขึ้นสำหรับคนที่ทำงานกับคุณหรือหลังจากคุณ

ใช่คุณต้องรู้จักไวยากรณ์ด้วยเช่นกัน แต่นั่นไม่ใช่สิ่งที่คุณต้องใช้เวลาในการโฟกัสนาน

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

สองอันสุดท้ายไม่ใช่จุดสนใจหลัก แต่เป็นจุดสนใจบางจุด


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

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

6

โปรแกรมเมอร์จำเป็นต้องเชื่อมโยงกับการเขียนโปรแกรมไม่ใช่ภาษา spesific


6

มากเท่าที่จำเป็นในการทำงานของคุณ

แต่ C # และ Java นั้นใกล้เคียงกับภาษาอังกฤษของอังกฤษและภาษาอังกฤษของสหรัฐอเมริกา คุณอาจเรียนรู้สิ่งใหม่โดยไปที่ Finnish หรือ Navajo


1
หรือ! Xóõ: en.wikipedia.org/wiki/Taa_language (ภาษาแอฟริกัน "คลิก" ภาษา)
Jared Updike

ฮิหลังจากคุณพูดถึงฟินแลนด์หรือนาวาโฮ ฉันคิดว่าฉันจะไปเรียนภาษาญี่ปุ่นเป็นครั้งที่สี่แทน ... เพียงพอที่จะเขียนโปรแกรม ...
Dude ดิจิตอล

1
@ Jared ฉันคิดว่าภาษาที่ต้องการตัดและวางเพียงเพื่อพูดชื่อของมันอาจส่งเสริมนิสัยที่ไม่พึงประสงค์ตั้งแต่เริ่มต้น ...

5

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

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

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


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

3

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

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

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

ฉันใช้ Ruby และ Ruby on Rails เป็นประจำแม้ว่าจะไม่ได้รับค่าจ้างในตอนนี้ หลักการออกแบบของรูบี้คือ "การเพิ่มความสุขโปรแกรมเมอร์" คุณต้องรักความรู้สึกนั้นและส่วนใหญ่ฉันคิดว่ามันให้

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


2

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

ดังนั้นในขณะที่การเรียนรู้เพิ่มเติมของ. NET Framework ในขณะที่ใช้ C # หรือ Java frameworks ช่วยในการรักษาความยืดหยุ่นเรียนรู้ Haskell, Smalltalk, Scala, Clojure หรือ Ruby จะขยายเทคนิคของคุณและช่วยให้คุณคิดในรูปแบบที่แตกต่างกัน กลับไปที่ภาษาหลักของคุณและบางอย่างอาจช่วยคุณดำเนินการต่อไปถ้า Java สิ้นสุดสภาพการเป็นราชาแห่งขุนเขา

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

ฉันขอแนะนำให้อ่านหนังสือของ Bruce Tate "Beyond Java" ซึ่งเน้นถึงอันตรายของการเป็นเพียงหนึ่งภาษาเท่านั้นโดยเน้นการเพิ่มขึ้นและลดลงของ C ++ แม้ว่า C ++ นั้นยังห่างไกลจากความตายและยังเหลืออีกหลายสิบปี แต่มันก็ถูก จำกัด มากขึ้นที่จะใช้เฉพาะในสถานการณ์ที่ไม่สามารถได้รับประโยชน์จากการเพิ่มผลผลิตในภาษาอื่น ๆ ในทางตรงกันข้าม Sinatra กรอบทับทิมช่วยให้คุณสร้างบริการเว็บอย่างง่ายในรหัสประมาณ 6/7 บรรทัดรหัสเทียบเท่า C ++ อาจเป็นลำดับความสำคัญที่ใหญ่กว่านี้


1

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

สื่อการเรียนรู้ที่ดีทั้งหมด (หนังสือบทความรหัส ฯลฯ ) สำหรับการเรียนรู้ภาษาการเขียนโปรแกรมเทคโนโลยีและแนวคิดใหม่ที่เขียนด้วยภาษาอังกฤษ


1

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

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

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

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

{snip}

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

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

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

http://www.paulgraham.com/avg.html

แอปพลิเคชั่นส่วนใหญ่ที่เราจัดส่งนั้นเขียนด้วย C # หรือ VB เมื่อเราต้องการเพิ่มการเขียนสคริปต์ลงในแอปพลิเคชันเราเลือก Python (Lua เป็นตัวเลือกรองอันดับหนึ่ง) เรากำลังเรียนรู้ F # เพราะสามารถทำสิ่งใหม่ ๆ ที่มีขนดกยากที่จะอธิบายและเข้าใจได้ถ้าทุกคนรู้ว่าเป็น C # / Java / VB


0

ก่อนอื่นมีหลายภาษาที่ยากมากที่จะหลีกเลี่ยงสำหรับโปรแกรมเมอร์ส่วนใหญ่: javascript, sql, c, ฯลฯ ดังนั้นคุณอาจจะคุ้นเคยกับพวกเขาพวกเขาจะไม่ออกไปไหน

มันเป็นความคิดที่ดีที่จะรู้ภาษาสคริปต์เป็ดพิมพ์ ... เช่นหนึ่งใน perl, python, ruby, lua และอื่น ๆ สิ่งเหล่านี้มีประโยชน์อย่างมากในการแก้ไขปัญหามากมาย

สำหรับดีขึ้นหรือแย่ลงคุณอาจจะเจอกับ c # และ / หรือ java ในบางจุดเช่นกันพวกมันค่อนข้างแพร่หลาย

ไม่ว่าในกรณีใด ๆ ผู้เขียนโค้ดเหล่านั้นฉันรู้ว่าใครหลีกเลี่ยงการหยิบเครื่องมือที่น่าสนใจอย่างชัดเจนดูเหมือนว่ามีโลกทัศน์ที่ซ่อนอยู่และมีผลกระทบ จำกัด


0

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

หากคุณต้องการคำแนะนำเกี่ยวกับภาษาในการสำรวจที่นี่เป็นแนวคิดบางประการ:

  1. ฟังก์ชั่นการเขียนโปรแกรม - Haskell หรือ Lisp จะเป็นตัวอย่างที่นี่และการปรับเปลี่ยนกระบวนทัศน์อาจเป็นเรื่องของหัวหน้าช่างกลึงในระดับหนึ่ง

  2. ฐานข้อมูลเฉพาะ - PL / SQL หรือ T-SQL เป็นสิ่งที่อาจเป็นประโยชน์หากคุณต้องการทำงานแบ็คเอนด์มากขึ้นด้วยระบบที่ต้องการฐานข้อมูลสำหรับการใช้งานบางอย่าง

  3. UI web languages ​​- ActionScript หรือ Javascript จะเป็นตัวอย่างของภาษาที่ใช้ใน Rich Internet Applications แม้ว่า AIR สามารถทำให้แอปพลิเคชันบนเดสก์ท็อปบางตัวใช้การโทรผ่านเว็บในบางกรณีเช่น Twhirl โดยใช้ Twitter API

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


0

โปรแกรมเมอร์ต้องการรู้สามภาษา: C, อังกฤษ, และ Something Else

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

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

บางสิ่งบางอย่างควรเป็นภาษาที่ไม่ได้เป็นขั้นตอนหรือไม่ได้พิมพ์แบบคงที่หรือเป็นวัตถุที่มุ่งเน้นอย่างรุนแรงหรือในทางใดทางหนึ่งเป็นเพียงพื้นฐานแตกต่างจาก C. Haskell, Scala, Python, Ruby, ภาษา Lisp บางอย่าง .

หลังจากนั้นคุณสามารถเรียนรู้สิ่งที่สถานการณ์เฉพาะของคุณต้องการเช่น C # หรือ Java


ฉันขอขอบคุณความคิดเห็นเกี่ยวกับสาเหตุที่คุณนักวิจารณ์ไม่ระบุชื่อโหวตให้คำตอบนี้
philosodad

ภาษาอังกฤษไม่ได้สอนความคิดของคุณมันเป็นเพียงวิธีการแสดงความคิด
sagarmatha

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

ฉันไม่เข้าใจว่าทำไมคุณถึงถูกลดทอนลง แต่ฉันเห็นด้วยกับคุณว่าการรู้ภาษาอังกฤษมีความสำคัญเท่ากับการรู้ภาษาโปรแกรมหลัก @sagarmatha: คุณแค่แย้งกับตัวเอง หากความคิดแสดงออกเป็นภาษาอังกฤษแน่นอนว่าการรู้ภาษาอังกฤษจะช่วยให้คุณเรียนรู้แนวคิดใหม่เหล่านี้ คุณเรียนรู้และนำไปใช้ได้ดีเพียงใดนั้นขึ้นอยู่กับความสามารถในการเข้าใจภาษาอังกฤษและทักษะการเขียนโปรแกรมของคุณ
chiurox
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.