มันคุ้มค่าหรือไม่ที่จะเรียนรู้ภาษาทดลอง? [ปิด]


25

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

C และ C ++ นั้นดี แต่มันเก่า สิ่งต่าง ๆ เช่น Haskell และ Forth (ฯลฯ ฯลฯ ) เก่าและสูญเสียความนิยม ฉันกลัวการเรียนรู้ C (หรือแม้แต่ C ++) ด้วยเหตุผลเดียวกันนี้ Java ค่อนข้างเก่าเช่นกันและช้าเพราะใช้งานโดย JVM และไม่ได้คอมไพล์เป็นรหัสเนทีฟ

ฉันเป็นนักพัฒนา Windows มาระยะหนึ่งแล้ว ฉันเพิ่งเริ่มใช้ Java - แต่เพียงเพราะมันหลากหลายมากขึ้นและแพร่กระจายไปยังสถานที่อื่น ปัญหาคือมันดูเหมือนภาษาที่ใช้งานไม่ได้ด้วยเหตุผลเหล่านี้:

  • วัตถุประสงค์ที่ใช้มากที่สุดสำหรับเว็บแอปพลิเคชั่นและแอพมือถือ (โดยเฉพาะ Android)
  • เท่าที่ผลิตภัณฑ์จริงทำกับมันสิ่งเดียวที่นึกถึงคือ Netbeans, Eclipse (hurray สำหรับการสร้างและ IDE ด้วยภาษาที่ IDE ใช้สำหรับ - มันเหมือนกับการสร้างเว็บเพจสำหรับเขียน HTML / CSS / Javascript) และ Minecraft ซึ่งเกิดขึ้นจะสนุก แต่ laggy และ bipolar เท่าคอมพิวเตอร์ spec สนับสนุน.
  • อื่น ๆ กว่าที่จะใช้สำหรับเซิร์ฟเวอร์แต่ห่า - ฉันไม่ต้องการที่จะทำให้เซิร์ฟเวอร์

ภาษา. NET นั้นดีอย่างไรก็ตาม:

  • ผู้คนหัวเราะถ้าฉันพูดถึง VB.NET หรือ C # ในการสนทนาที่จริงจัง
  • ไม่ใช่ cross-platform ยกเว้นว่าคุณใช้ MONO (ซึ่งยังอยู่ในระหว่างการพัฒนาและมีการปรับปรุงบางอย่าง)
  • ไม่มีเนื้อหาระดับต่ำเพราะเช่นเดียวกับ Java ที่มี JVM นั้นจะถูกเรียกใช้ / จัดการโดย CLR

ความคิดแรกของฉันคือการเรียนรู้สิ่งต่าง ๆ เช่น C และจากนั้นใช้มันเพื่อกระโดดลงใน C ++ (เพื่อให้แน่ใจว่าฉันจะมีความเข้าใจ / ฐานที่แข็งแกร่ง) แต่อย่างที่ฉันบอกไว้ก่อนหน้านี้


สิ่งที่ฉันได้ดู

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

Dก็ดูดีด้วย ดูเหมือนว่าเป็นภาษาที่ใช้งานได้ดีและจากแหล่งข้อมูลหลายiple ซึ่งดูเหมือนว่าจะดีกว่า C / C ++ ฉันจะกระโดดลงไปทางขวา แต่ฉันก็ยังไม่แน่ใจในความสำเร็จของมันเพราะเห็นได้ชัดว่ามันไม่สำคัญมากในตอนนี้

มีคนอื่นอีกสองสามคนที่ดูค่อนข้างดีที่มุ่งเน้นไปที่สิ่งอื่น ๆ เช่นOpaกับการพัฒนาเว็บไซต์และGo by GOOGLE


คำถามของฉัน

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


คำปฏิเสธ

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


ผลลัพธ์ ...

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

ขอบคุณ



7
โปรดทราบว่าการเป็น "เก่า" ไม่ได้แปลว่า "ไม่ดี" โดยอัตโนมัติ การเขียนโปรแกรมที่ยอดเยี่ยมที่สุดใน C64 เมื่อ 30 ปีที่แล้ว

8
FWIW เกือบทุกภาษามีการใช้งาน - ถ้ามีคนหัวเราะเยาะคุณสำหรับการใช้เกือบทุกภาษา (Java ช้า, .Net สำหรับสุนัข M $, Haskell ใช้งานไม่ได้, C ++ เก่าเกินไป ฯลฯ ) หัวเราะกลับมาแล้วบอกพวกเขาเกี่ยวกับการใช้ เครื่องมือที่เหมาะสมสำหรับงาน;)
มาร์ติน

6
คุณได้รับ "Haskell และ ... สูญเสียความนิยม" จากที่ไหน?
leftaroundabout

13
สำหรับโปรแกรมเมอร์หนุ่มคุณมีสมมติฐานมากเกินไป กำจัดพวกเขาพวกเขาทำให้ขุ่นมัวใจของคุณ
Matthieu M.

คำตอบ:


29

สิ่งที่มีการเรียนรู้ภาษาที่แตกต่างกันไม่ได้เกี่ยวกับการเรียนรู้ภาษา แต่มันเกี่ยวกับการสัมผัสกับวิธีการที่แตกต่างกันในการแก้ปัญหา เครื่องมือสำหรับกล่องเครื่องมือเหมือนเดิม

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

นอกจากนี้ Java และ. Net จะไม่ตีความและฉันคาดหวังว่าคุณกำลังตั้งสมมติฐานที่ไม่ถูกต้องตามการติดฉลากที่ไม่ถูกต้อง


ว้าวขอโทษด้วยเกี่ยวกับปัญหาที่แปล ฉันกำลังผสมสองแถลงการณ์ที่แตกต่างกันที่นั่น ฉันได้แก้ไขมันแล้วในคำถาม
Freesnöw

19
แม้ว่าHaskell นั้นเก่ากว่า Java เช่นกัน แต่ใช่นั่นไม่ได้หมายความว่ามันล้าสมัย ในความเป็นจริงมันเป็นระบบประเภทยังคงอยู่ข้างหน้าของ Java ประมาณ 2
Jörg W Mittag

5
@ JörgWMittag: ฉันคิดว่ามันพูดเกี่ยวกับ Java มากกว่าเกี่ยวกับ Haskell
Tikhon Jelvis

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

1
Haskell มีอายุมากกว่า 20 ปีและมาตรฐาน Haskell นั้นมีอายุเท่ากับ C ++ (ทั้งคู่จากปี 1998)
fredoverflow

23

Stay Fit: ฝึกปฏิบัติอย่างสม่ำเสมอ

ฝึกฝนบ่อยๆทำให้เก่ง.

ยิ่งคุณเขียนและอ่านรหัสมากเท่าไหร่คุณก็ยิ่งได้รับการรู้แจ้ง / เชี่ยวชาญมากขึ้นในฐานะโปรแกรมเมอร์ / ผู้พัฒนา / วิศวกรซอฟต์แวร์ / กูรู / นินจา / ช่างฝีมือ / แฮ็กเกอร์ / buzzword-of-choice ไม่เพียง แต่การเข้ารหัสและการอ่านมากขึ้น แต่ยังลองใช้วิธีการเขียนโค้ดแบบใหม่ของเรายิ่งเปิดรับคุณมากขึ้นเท่านั้น (หวังว่า)

อ่านหนังสือที่แนะนำ:

เรียนรู้เกี่ยวกับกระบวนทัศน์ใหม่และคุณสมบัติภาษา

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

ตัวอย่างเช่นคุณอาจจะได้ค้นพบหลักการ FP ที่น่าสนใจและต้องการที่จะปรับให้ Java ซึ่งเป็นเนื้อหาที่ไม่ FP โดยการออกแบบ

อ่านหนังสือที่แนะนำ:

เป็นแจ็คแห่งการค้าขาย ... ปรมาจารย์บางคน?

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

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

อ่านหนังสือที่แนะนำ:

ปรับตัวอยู่เสมอ

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

มันเหมือน"Stay หนุ่ม" Oasis เพลงไป: Stay หนุ่มสาวและอยู่ยงคงกระพัน

หากคุณสามารถปรับตัวได้คุณสามารถอยู่รอดได้

อ่านหนังสือที่แนะนำ:

มองเห็นได้ชัดเจน: เข้าใจเรดาร์ของ บริษัท จัดหางาน

พวกเขาใช้คำหลักและเทคโนโลยีเป็นกล่องกาเครื่องหมาย เราใช้มันเป็นหม้อน้ำผึ้งสำหรับนายหน้าที่ไม่สนใจ

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


หัวข้อ SE ที่เป็นประโยชน์อื่น ๆ


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

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

8

เพื่อที่จะขยายคำตอบ Telastyn ของมันแน่นอนเกี่ยวกับการสัมผัสกับกระบวนทัศน์การเขียนโปรแกรมที่แตกต่างกัน ตัวอย่างเช่นมันไม่ได้เกี่ยวกับการเรียนรู้การเขียนโปรแกรมตรรกะ แต่สำหรับ

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

http://skilldrick.co.uk/2011/02/why-you-should-learn-brainfuck-or-learn-you-a-brainfuck-for-great-good/

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

http://norvig.com/21-days.html (Peter Norvig)

เรียนรู้ภาษาการเขียนโปรแกรมอย่างน้อยครึ่งโหล รวมหนึ่งภาษาที่สนับสนุน abstractions คลาส (เช่น Java หรือ C ++), หนึ่งที่รองรับ abstraction ที่ใช้งานได้ (เช่น Lisp หรือ ML), หนึ่งที่รองรับนามธรรม abtraction (เช่น Lisp), หนึ่งที่รองรับข้อกำหนดที่ประกาศ (เช่น Prolog หรือ C ++ template) ที่สนับสนุน coroutines (เช่น Icon หรือ Scheme) และอีกอันที่รองรับการขนาน (เช่น Sisal)


7

ความคิดแรกของฉันคือการเรียนรู้สิ่งต่าง ๆ เช่น C และจากนั้นใช้มันเพื่อกระโดดลงใน C ++ (เพื่อให้แน่ใจว่าฉันจะมีความเข้าใจ / ฐานที่แข็งแกร่ง) แต่อย่างที่ฉันบอกไว้ก่อนหน้านี้

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

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

ผู้คนหัวเราะถ้าฉันพูดถึง VB.NET หรือ C # ในการสนทนาที่จริงจัง

รับคนใหม่ AFAIK, VB.NET ไม่มีอยู่จริงไม่ว่าด้วยเหตุผลใดก็ตามยกเว้นเพื่อช่วยให้ย้ายออกจาก VB6 และไม่ได้เป็นเป้าหมายที่ควรค่าในฐานะที่เป็นสิทธิ์ของตัวเอง แต่ C # เป็นภาษาจริง มันค่อนข้างเหมือนกับ Java ยกเว้นว่าพวกเขาจะเพิ่มฟีเจอร์ภาษาที่แท้จริงและไลบรารี่ที่ดี C # เป็นที่นิยมมากในภาษาที่ดีได้รับการสนับสนุนด้วยเครื่องมือที่ดีมากใน VS ซึ่งไม่ดูดที่ไม่ดีและเป็นที่มั่นคงหากไม่ได้รับการยกเว้นสิ่งที่จะเรียนรู้

ไม่ใช่ cross-platform ยกเว้นว่าคุณใช้ MONO (ซึ่งยังอยู่ในระหว่างการพัฒนาและมีการปรับปรุงบางอย่าง)

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

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

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


1
เปอร์เซ็นต์ที่สำคัญของการเพิ่มเติมล่าสุดไปยังมาตรฐาน C ++ มีอยู่ - เช่นเปอร์เซ็นต์ที่สำคัญของการเพิ่มในครั้งที่ผ่านมา - เพื่อแก้ไขข้อบกพร่อง C ++ ที่มีอยู่ ตัวอย่างการอ้างอิง Rvalue เพิ่มกลุ่มของความซับซ้อนพิเศษเพื่อแก้ไขปัญหาด้านประสิทธิภาพและความซับซ้อนที่เกี่ยวข้องกับการคัดลอกตัวสร้างซึ่งมีอยู่เพียงเพราะ C ++ อนุญาตให้ใช้วัตถุเป็นประเภทค่าซึ่งเป็นความผิดทั้งหมด 100% และมี เหตุผลที่ดีว่าทำไมไม่มีภาษา OO อื่นทำเช่นนั้น
Mason Wheeler

@MasonWheeler อย่างน้อย C #, D และ Eiffel อนุญาตให้วัตถุเป็นชนิดของค่า และRAIIนั้นดีมากสำหรับการเขียนโปรแกรมระบบ!
fredoverflow

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

นอกจากนี้ยังเป็นเรื่องตลกว่าแม้จะมีปัญหาด้านประสิทธิภาพทั้งหมดแล้ว C ++ ก็ยังเป็นภาษาที่เร็วที่สุด
DeadMG

1
@FredOverflow: ใน C # วัตถุทั้งหมดเป็นประเภทการอ้างอิง โครงสร้างสามารถเป็นประเภทค่าได้ แต่วัตถุไม่สามารถทำได้และนี่คือเหตุผลที่ดีมาก: ถ้าวัตถุถูกใช้เป็นประเภทค่าคุณจะต้องโยนประแจลิงขนาดใหญ่ลงในมรดกและความหลากหลายและจบลงด้วยการใช้แฮ็กที่น่าเกลียดทุกประเภท เช่นตัวสร้างสำเนาที่การกำหนด (หรือผ่าน) วัตถุสืบทอดมาให้กับตัวแปรประเภทผู้ปกครองไม่ได้กำหนดวัตถุนั้นจริงๆ มันขันการทดแทน Liskov อย่างสมบูรณ์ซึ่งเป็นจุดรวมของการใช้ OOP ตั้งแต่แรก มันเป็นความคิดที่น่ากลัวและฉันดีใจที่มันไม่ติด
Mason Wheeler

6

แสดงความคิดเห็นเกี่ยวกับสิ่งที่คุณพูด ...

1) โปรแกรมเมอร์ทุกคนควรเรียนรู้ C แม้ว่ามันจะเก่าแล้วก็ตาม มันเป็นภาษาที่ยอดเยี่ยมสำหรับการเข้าใกล้เครื่อง จากคำแนะนำของ Joel ถึงนักเรียน CS ...

เรียนรู้ C ก่อนสำเร็จการศึกษา

ส่วนที่สอง: C. สังเกตว่าฉันไม่ได้พูด C ++ แม้ว่า C จะหายากขึ้นเรื่อย ๆ แต่ก็ยังเป็นภาษากลางของโปรแกรมเมอร์ที่ทำงานอยู่ มันเป็นภาษาที่พวกเขาใช้สื่อสารกับคนอื่นและที่สำคัญกว่านั้นมันใกล้กับเครื่องมากกว่าภาษา "ทันสมัย" ที่คุณจะได้รับการสอนในวิทยาลัยเช่น ML, Java, Python ไม่ว่าสิ่งที่พวกเขาสอนจะเป็นขยะอะไรก็ตาม วัน คุณต้องใช้เวลาอย่างน้อยหนึ่งภาคการศึกษาใกล้กับเครื่องไม่เช่นนั้นคุณจะไม่สามารถสร้างรหัสที่มีประสิทธิภาพในภาษาระดับสูงขึ้นได้ คุณจะไม่สามารถทำงานกับคอมไพเลอร์และระบบปฏิบัติการซึ่งเป็นงานเขียนโปรแกรมที่ดีที่สุด คุณจะไม่เชื่อใจในการสร้างสถาปัตยกรรมสำหรับโครงการขนาดใหญ่ ฉันไม่สนใจเท่าไหร่ที่คุณรู้เกี่ยวกับความต่อเนื่องและการปิดและการจัดการข้อยกเว้น: ถ้าคุณไม่สามารถอธิบายได้ว่าทำไมในขณะที่ (* s ++ = * t ++); คัดลอกสตริงหรือถ้านั่นไม่ใช่สิ่งที่เป็นธรรมชาติที่สุดในโลกสำหรับคุณคุณกำลังเขียนโปรแกรมจากความเชื่อทางไสยศาสตร์เท่าที่ฉันกังวล: แพทย์ที่ไม่ทราบลักษณะทางกายวิภาคขั้นพื้นฐาน ออกใบสั่งยาตามสิ่งที่เด็กขายยากล่าวว่าใช้งานได้

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

ขอแสดงความยินดีด้วย (สำหรับฉัน) ดูเหมือนคุณอาจจะไปโรงเรียนแห่งหนึ่งในไม่กี่แห่งที่พยายามสอนวิทยาศาสตร์คอมพิวเตอร์ แผนการเรียนรู้เป็นภาษาแรกคือ (IMO) เป็นสิ่งที่ดีมาก ไม่มันไม่เชิงพาณิชย์เท่า ๆ กับคนอื่น ๆ แต่มันเป็นภาษาที่ยอดเยี่ยมสำหรับการเรียนรู้สาระสำคัญที่แท้จริงของวิทยาศาสตร์คอมพิวเตอร์ - Jerry Coffin 20 ต.ค. '11 ที่ 3:32

C, C ++ และ Java เป็นผลพลอยได้จากอุตสาหกรรมวิทยาศาสตร์คอมพิวเตอร์ รากทั้งหมดของโครงการอยู่ในสาขาวิทยาศาสตร์คอมพิวเตอร์ ภาษาที่ใช้ในเชิงพาณิชย์เกี่ยวข้องกับวิทยาการคอมพิวเตอร์มากพอ ๆ กับที่ McDonalds เกี่ยวข้องกับอาหาร - JasonTrue 20 ต.ค. 54 เวลา 5:30 น

พวกเหล่านี้ถูกต้อง คุณกำลังสับสนกับการเขียนโปรแกรมคอมพิวเตอร์กับวิทยาการคอมพิวเตอร์ - ดังที่ Dijkstra กล่าวว่ามันเหมือนกับการสร้างกล้องโทรทรรศน์ที่สับสนกับดาราศาสตร์ โครงร่างเป็นภาษาที่ดีที่สุดสำหรับการเรียนรู้แนวคิดพื้นฐานทางวิทยาศาสตร์คอมพิวเตอร์ หากคุณคาดหวังว่าจะได้รับปริญญาวิทยาศาสตร์คอมพิวเตอร์เป็นเรื่องเกี่ยวกับการเรียนรู้วิธีการเขียนแอปสายธุรกิจใน Java คุณอาจลงทะเบียนในโปรแกรมที่ไม่ถูกต้อง - Eric Lippert 20 ต.ค. '11 ที่ 7:40

นักพัฒนาเกือบทั้งหมดที่ฉันรู้จักได้เรียนรู้ C / C ++ ด้วยตัวเอง คุณไม่ต้องการมหาวิทยาลัยสำหรับสิ่งนั้น - mouviciel 20 ต.ค. '11 ที่ 7:48

ด้วยเหตุผลเดียวกับที่หลักสูตรสัตววิทยาสอนวิชาชีววิทยาวิวัฒนาการกายวิภาคศาสตร์และพฤติกรรมสัตว์ 20 ต.ค. '11 เวลา 7:58 น

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


1
"นักพัฒนาเกือบทั้งหมดที่ฉันรู้จักได้เรียนรู้ C / C ++ ด้วยตัวเองคุณไม่ต้องการมหาวิทยาลัยสำหรับสิ่งนั้น": เหมือนกันที่นี่ ที่มหาวิทยาลัยของฉันพวกเขามอบหมายงานให้เราใน C แต่ไม่ได้ให้หลักสูตร C แก่เรา พวกเขาคาดหวังให้นักเรียนวิทยาศาสตร์คอมพิวเตอร์ของเราไปรับหนังสือและเรียนรู้
จอร์โจ

1
ต้องเรียนรู้ C เป็นการทรมาน ความเห็นอกเห็นใจของฉัน
DeadMG

2
การเรียนรู้ C จริงๆแล้วเป็นเรื่องง่ายการทรมานที่แท้จริงเริ่มต้นเมื่อเราต้องย้ายไปที่ C ++ ;-)
Giorgio

3

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

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

ฉันเรียนภาษาญี่ปุ่นหลังจากเรียน C ++, BASIC, Pascal และฉันสามารถพูดได้ว่าการเรียนภาษาคอมพิวเตอร์และภาษาต่างประเทศใช้ทักษะเดียวกัน ทักษะเหล่านั้นอาจสูญหายหรือรุนแรงขึ้นได้ หากคุณมีไดรฟ์ให้ทำต่อไปและเรียนรู้ภาษาใหม่!

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


3

คุณควรที่จะเรียนรู้ภาษา "เก่า" ให้มากที่สุดเท่าที่จะทำได้หากคุณต้องการเป็นโปรแกรมเมอร์ เริ่มต้นด้วยเสียงกระเพื่อม, รับความเข้าใจที่ดีของ Forth, ใส่ใจอย่างใกล้ชิดกับวิวัฒนาการของภาษา Wirth ทั้งหมด, วิวัฒนาการของ Fortran, เพิ่มขึ้นและลดลงของ Prolog, แอบเข้าไปในระบบนิเวศ Ada ลับ, รับอาวุธลับของคุณจากการเรียนรู้ Occam การไล่ "กระแสหลัก" นั้นเป็นสิ่งที่โง่ที่สุดที่โปรแกรมเมอร์ผู้ปรารถนาจะทำ


+1: ฉันเห็นด้วยอย่างยิ่ง ความคิดที่น่าสนใจมากมายที่ฉันได้รับขณะทดสอบภาษากระแสหลักน้อยกว่าเช่น Haskell, Scheme, Scala, SML และอื่น ๆ
Giorgio

2

ฉันเห็นด้วยกับคุณในส่วนของการสัมผัส แม้ว่าฉันจะรู้ Java, C, C ++, Javascript, Python, Ruby และ bit. NET (ส่วนใหญ่เป็นเพราะฉันเกลียดอะไร M $ <- ความคิดเห็นส่วนตัว) ฉันจะต้องบอกว่าฉันรักการเขียนโปรแกรมใน D จริงๆ

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

D มีไลบรารี่มาตรฐาน (Phobos) ของตัวเองซึ่งตอบสนองความต้องการสำหรับปัญหาการเขียนโปรแกรมทั่วไปทั้งหมด นอกจากนี้ยังมีห้องสมุดทางเลือก ( Tango-D2 ) ซึ่งคุณสามารถใช้กับ Phobos หรือด้วยตัวเอง หากคุณเป็นนักพัฒนาเว็บและต้องการเขียนเซิร์ฟเวอร์ตามเหตุการณ์ Tango มีตัวเลือกที่ดี (tango.io.Selector สำหรับ select (), poll (), epoll () เท่านั้น ฉันพบว่ามันทำงานได้ดีกว่า libev


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

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

1

ภาษาได้รับการพัฒนาเพื่อแก้ไขปัญหาในโดเมนบางประเภท (อย่างน้อยตอนแรก) หากคุณยังไม่พบปัญหาที่เครื่องมือของคุณไม่สามารถแก้ไขในแบบที่คุณพอใจคุณจะใช้ค้อนทุบไม้ที่คาดว่าจะเป็นช่างไม้ พยายามเข้าใจปัญหาที่ภาษากำลังพยายามแก้ไข ความแตกต่างเพียงอย่างเดียวระหว่างภาษา "ทดลอง" กับภาษาใหม่ / ฮิปสุดเท่คือเงินที่สนับสนุนเช่น Go จาก google และ Dart หากพวกเขาได้รับการพัฒนาในสวนหลังบ้านของฉันพวกเขาอาจจะตายในฟอรัมและนั่นก็คือ พวกเขาอยู่รอดได้ก็ต่อเมื่ออธิบายปัญหาที่พวกเขาพยายามจะแก้ได้ดี หรือวิธีอื่น ๆ เช่น Perl และ C ++ ที่ดีในการซึมซับวิธีการแก้ปัญหาเพื่อให้มีชีวิตอยู่ และฉันอาจแนะนำให้เรียนรู้ Lua มัน ' ภาษาที่ใช้ในการฝังโปรแกรมนั้นมีความรวดเร็วและมีน้ำหนักเบามากซึ่งจะให้เครื่องมือในการแก้ปัญหาใหญ่หรือปัญหาเล็ก ๆ น้อย ๆ ที่บางภาษาเช่น Java ไม่สามารถแก้ไขได้อย่างตรงไปตรงมา ยกตัวอย่างภาษาญี่ปุ่นถ้าคุณเพิ่งเรียนรู้ไวยากรณ์ไวยากรณ์และตัวอักษรโดยไม่สนใจวัฒนธรรมคุณจะไม่มีทางเข้าใจว่าทำไมมันซับซ้อนและสุดท้ายลืมทุกอย่างเกี่ยวกับเรื่องนี้ มันไม่ได้แก้อะไรให้คุณ


1

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

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

และโดยส่วนตัวแล้วฉันคิดว่าคุณควรใช้แนวทางปฏิบัติเพื่อตัดสินใจว่าควรจะใช้วิธีใด Java ใช้กับแอพ Android หรือไม่? เยี่ยมมากถ้าทำแอพ Android เป็นสิ่งที่คุณสนใจไม่เกี่ยวข้องถ้าไม่ใช่ C # ไม่เหมาะสำหรับการพัฒนาที่ไม่ใช่ Windows ใช่หรือไม่ ข่าวร้ายถ้าคุณสนใจพัฒนา Linux ไม่เกี่ยวข้องถ้าคุณไม่ได้ และอื่น ๆ

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


1

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

แต่น้อยคนนักที่จะบอกว่าการเรียนรู้ LISP เป็นของเสียแม้ว่าคุณจะมีแนวโน้มที่จะต้องเขียน Lisp ในรูปแบบ Postscript ก็ตาม แต่การเรียนรู้ Lisp สอนให้คุณคิดต่างไปจากปัญหาของคุณ (หวังว่า) ซึ่งเป็นสาเหตุที่โปรแกรมเมอร์ส่วนใหญ่จะบอกคุณว่ามันคุ้มค่ากับเวลาของคุณ

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

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

โดยส่วนตัวแล้วฉันแนะนำให้มองหา Go ฉันใช้มันเพื่อเขียนโปรแกรมหน้าเดียวที่ทำงานได้ดีกว่าสิ่งที่จะใช้เวลาสามวันและ 13 ห้องสมุดบุคคลที่สามใน C หรือ C ++ และจะไม่เป็นไปได้ใน Python, C #, Ruby และอื่น ๆ มันได้รับการออกแบบ โดยคนที่รู้เรื่องของพวกเขาจริงๆ


-1

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

แย่ D, มันเป็นภาษาที่ดี, แต่มันขาดแอพเพชฌฆาตที่ C ++ มี: เกือบเต็มไปข้างหลังที่เข้ากันได้กับภาษาอันดับ 1 ของเวลา (C สำหรับ C ++) เป็นเรื่องที่ดี แต่ข้อเท็จจริงสำคัญเล็กน้อยที่อาจจะช่วยลด D ให้กับสถานะภาพสไลด์ในหนังสือประวัติศาสตร์


-2

C อาจเก่า แต่ก็ยังทรงพลังและน่าสนใจการเรียนรู้ C จะช่วยคุณได้มากใน "การเขียนโปรแกรม" ในอนาคต

Java ไม่ช้าใครก็ตามที่บอกคุณว่าไม่รู้ว่าเขากำลังพูดถึงอะไร Java จะเรียนรู้คุณมากมายเกี่ยวกับ OOP

ทำไมคุณไม่เริ่มต้นด้วย Python จากนั้นไปหา C หรืออย่างอื่น


C ยังเป็นภาษากลางของไมโครคอนโทรลเลอร์ (เมื่อคุณมี 4K เท่านั้นคุณจะไม่สามารถใช้งานรันไทม์ 8K ได้) ในพื้นที่นั้นเพียงอย่างเดียว C มีทศวรรษที่ดีอีกแห่งหนึ่งในการใช้งานล่วงหน้า
TMN

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