D เป็นทางเลือกที่น่าเชื่อถือสำหรับ Java และ C ++ หรือไม่ [ปิด]


163

เป็นภาษา Dเป็นทางเลือกที่น่าเชื่อถือ Java และ C ++? อะไรจะเป็นทางเลือกที่น่าเชื่อถือ ฉันควรจะรบกวนการเรียนรู้หรือไม่? สมควรได้รับการประกาศข่าวประเสริฐหรือไม่

เหตุผลหลักที่ฉันถามคือด้วยมาตรฐาน C ++ ใหม่ (c ++ 0x) เกือบที่นี่มันชัดเจนสำหรับฉันว่าภาษาได้ผ่านจุดที่ไม่กลับมาด้วยความเคารพกับทุกคนที่เคยเข้าใจมัน ฉันรู้ว่า C / C ++ จะไม่มีวันตาย แต่ในบางจุดเราจำเป็นต้องดำเนินการต่อไป แม้กระทั่ง COBOL ก็มีวันและ Java มีหลายประการเลิก C ++ แล้วจะมีอะไรต่อไป D เติมใบเรียกเก็บเงินหรือไม่?


23
COBOL กำลังจะกลับมา แต่ไปข้างหน้าและเรียนรู้ D ถ้ามันทำให้คุณแฟนซี การอ่านใบชามีสิ่งที่คาดเดาได้จากการถ่ายภาพ The Next Big Language
Shog9

5
ฉันไม่กังวลกับสิ่งที่ภาษาใหญ่ต่อไปคือฉันกังวลมากขึ้นว่าถ้าฉันจะบอกนายจ้างของฉันอีกว่าฉันต้องการใช้ D ในโครงการต่อไปของฉันที่ฉันจะไม่ถูกจริงจังเพราะภาษานั้นไม่ได้ ' ยัง
Mark Kegel

22
ควรสังเกตว่า "D ​​เทียบกับ C ++" หน้าโดยดาวอังคารดิจิตอลจะแยกแยะอย่างมากต่อ C ++ หลายครั้งที่พวกเขาพูดว่า "c ++ ไม่สามารถทำได้", C ++ สามารถทำได้
Johannes Schaub - litb

23
@ Johannes: มันไม่เกี่ยวกับภาษาที่ทำให้เป็นไปได้มันเป็นภาษาที่ทำให้ง่าย - Brian Hurt
missingfaktor

9
@Rahul เห็นด้วย แต่แล้วพวกเขาก็ควรพูดอย่างนั้น เช่น "นี่ไม่ใช่เรื่องง่ายที่จะทำใน C ++" และไม่ใช่ว่าเป็นไปไม่ได้เลย
Johannes Schaub - litb

คำตอบ:


130

สิ่งที่กำหนดความสำเร็จและความนิยมของภาษาโปรแกรมสำหรับการพัฒนาซอฟต์แวร์ในโลกแห่งความจริงนั้นมีเพียงบางส่วนที่เกี่ยวข้องกับคุณภาพของภาษานั้น ๆ ในฐานะที่เป็นภาษาบริสุทธิ์ D มีเนื้อหาที่ได้เปรียบกว่า C ++ และ Java อย่างน้อยที่สุดมันเป็นทางเลือกที่น่าเชื่อถือว่าเป็นภาษาที่บริสุทธิ์สิ่งอื่น ๆ ที่เท่าเทียมกัน

อย่างไรก็ตามสิ่งอื่น ๆ ที่สำคัญสำหรับการพัฒนาซอฟต์แวร์ - เกือบจะมากกว่าภาษานั้นเอง: ความสามารถในการพกพา (รองรับกี่แพลตฟอร์ม), รองรับ debugger, สนับสนุน IDE, คุณภาพไลบรารีมาตรฐาน, รองรับไลบรารีแบบไดนามิก, ผูกไลบรารี API ทั่วไป, เอกสาร, นักพัฒนา ชุมชนแรงผลักดันและการสนับสนุนเชิงพาณิชย์ ในทุกๆเรื่องที่เกี่ยวกับ D จะสิ้นหวังหลัง Java, C ++ และ C # ในความเป็นจริงฉันขอยืนยันว่ามันอยู่เบื้องหลังภาษาที่เรียกว่า "สคริปต์" เช่น Python, Perl, PHP, Ruby และแม้แต่ JavaScript ในเรื่องเหล่านี้

คุณจะไม่สามารถสร้างแอพพลิเคชั่นขนาดใหญ่ข้ามแพลตฟอร์มได้โดยใช้ D. ด้วยไลบรารีมาตรฐานที่ยังไม่บรรลุนิติภาวะไม่สนับสนุน IDEs ที่ทันสมัย (มีปลั๊กอินสำหรับ Visual Studio และ Xamarin Studio / MonoDevelop) จำกัด การสนับสนุนไลบรารีแบบไดนามิก / แบบใช้ร่วมกันและการเชื่อมโยงกับภาษาอื่น ๆ น้อยมาก D ไม่ใช่ตัวเลือกในปัจจุบัน

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

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


8
บอกว่ามันมี "ไม่มีการสนับสนุนใน IDEs ที่ทันสมัย" กำลังพูดเกินจริงเล็กน้อย มีการสนับสนุนในคราส ยังไม่ถึงชั้นหนึ่ง แต่อยู่ที่นั่นและดีขึ้นเรื่อย ๆ
BCS

46
การไม่มีหลักฐานไม่ใช่หลักฐานการขาด
FeepingCreature

29
หากมีการยืนยันในเชิงบวกเช่น 'มียูนิคอร์นสีชมพู' ก็ต้องเสนอหลักฐานก่อนที่จะมีเหตุผลที่จะยอมรับ ได้รับแล้วนั่นไม่ได้หมายความว่าไม่มียูนิคอร์นสีชมพูตามที่ @FachingCreature ระบุ แต่เพียงแค่ระบุว่าไม่ใช่ข้อโต้แย้งที่น่าสนใจหรือไม่ถูกต้อง
JoshD

8
@Feeping: นั่นเป็นคำพูดที่น่ารักที่ James Randi ชอบที่จะโยน แต่มันก็ไม่จริง การทดสอบของคุณมีหลักฐานที่สมเหตุสมผลที่สนับสนุนว่าการทดสอบควรหาบางอย่าง แต่ไม่ใช่นั่นคือหลักฐานการขาดงาน
GManNickG

9
ฉันต้องการเพิ่มว่าเราสร้างแอพพลิเคชั่นขนาดใหญ่ด้วย D1 ​​และ Tango โอเคเราไม่ได้ข้ามแพลตฟอร์ม แต่เป็นลินุกซ์เท่านั้น แต่ก็ยัง โครงสร้างพื้นฐานทั้งหมดของเราเขียนด้วย D และเราประมวลผลคำขอมากกว่า 30k ชั่วโมงต่อชั่วโมงด้วยแบ็คเอนด์ DHT ขนาดใหญ่ที่เขียนใน D.
Marenz

109

เพียงเพิ่มประสบการณ์ของฉันเองลงในส่วนประสม:

ประมาณหนึ่งปีที่ผ่านมาฉันทำงานในโครงการเกมขนาดเล็ก (3 รหัส) นาน 3 เดือนโดยที่เราใช้ D เป็นภาษาหลักของเรา เราเลือกส่วนหนึ่งเป็นการทดลองส่วนหนึ่งเป็นเพราะมันมีการเชื่อมต่อกับ SDL และเครื่องมืออื่น ๆ ที่เราใช้อยู่แล้วและส่วนใหญ่เพื่อประโยชน์นั้นมีมากกว่า C ++

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

อย่างไรก็ตามประเด็นต่อไปนี้ทำให้ชีวิตของเรายากขึ้น:

  1. ในเวลานั้นไม่มี IDE ที่ดีซึ่งเป็นประเด็นสำคัญ เราลงเอยด้วยการสร้างของเราเองโดยการกำหนด Scite มันใช้ได้ดี แต่ก็ไม่เหมาะ
  2. ไม่มีการดีบักในเวลานั้น เราจัดการเพื่อให้ WinDBG ทำงานบนพื้นฐานการตีหรือพลาด แต่ไม่น่าเชื่อถือ การดีบักโค้ดโดยไม่มีตัวดีบักทำให้ชีวิตแย่ลงในบางครั้ง
  3. ในขณะนั้นมีห้องสมุดมาตรฐาน 2 แห่งให้เลือก (Tango และ Phobos) เราเริ่มต้นด้วยหนึ่งสลับไปที่อื่นและต้องการการผสมผสานของคุณสมบัติจากทั้งสองอย่าง (Tangobos!) สิ่งนี้ทำให้เกิดอาการปวดหัวและบางรหัสเขียนซ้ำ
  4. ไม่สามารถผูกกับเครื่องมืออื่นได้ ในที่สุดเราก็ต้องเปลี่ยนไปใช้ DirectX (ด้วยเหตุผลที่ฉันจะไม่เข้าไป) ไม่มีการโยงสำหรับ DirectX ดังนั้นเราจึงต้องเขียนของเราเองใน C ++, สร้างมันเป็น. dll และผูกกับมัน นี่เป็นงานที่ค่อนข้างน่ารังเกียจและใช้เวลาพอสมควร

โดยรวมแล้วเราชอบที่จะเขียน D. จริง ๆ แล้วมันทำให้การเขียนรหัสง่ายและรวดเร็วในการเรียนรู้ ปัญหาที่ฉันได้กล่าวถึง echo คำตอบที่ได้รับการยอมรับสำหรับคำถามนี้ - มันเป็นบิต "พิเศษ" ที่ต้องอยู่ใน D หลักของมันเป็นของแข็ง


4
อินพุตยอดเยี่ยม ... ตอนนี้มีตัวดีบักแล้ว !! :)
bbqchickenrobot

14
ฉันไม่เข้าใจว่าทำไม DirectX ถึงมีปัญหา ฉันไม่ใช่โปรแกรมเมอร์ D แต่ฉันคิดว่า D สามารถเข้าใจ C ได้ DirectX มี C API หรือไม่

มันเป็นสัมพัทธ์ง่ายต่อการใช้สิ่งที่มีอินเตอร์เฟซ DirectX D พื้นเมืองเพื่อการเขียนกระดาษห่อใน C ++ ไม่จำเป็นต้องยกเว้นกรณีพิเศษบางอย่าง
Quonux

@Quonux: นั่นเป็นประสบการณ์ของเราในเวลานั้นย้อนกลับไปในปี 08. ไม่ต้องสงสัยเลยว่าสิ่งต่าง ๆ มีการเคลื่อนไหวมากมายตั้งแต่นั้นมา ฉันจำรายละเอียดเลือดไม่ได้อีกแล้ว
Xan

1
อัปเดต 2019: ภาษาการเขียนโปรแกรม D ได้ขยายอย่างมาก ตอนนี้คุณสามารถใช้ GDB นอกกล่องกับ Dlang ได้แล้ว DPP ให้คุณรวมส่วนหัว C ใด ๆ ใน Dlang โดยตรง Calypso ให้คุณใช้ไลบรารี่ C ++ ใน Dlang รวมถึง Qt-- มันมีข้อบกพร่องเล็กน้อย แต่ส่วนใหญ่ใช้งานได้
noɥʇʎԀʎzɐɹƆ

60

ฉันเห็นด้วยว่า C ++ กำลังกลายเป็นภาษาตายและมันทำให้ฉันต้องบอกว่าหลังจากใช้มา 17 ปีแล้ว

ฉันคิดว่า D เป็นผู้สืบทอดที่ถูกต้องต่อ C ++ จากมุมมองของภาษามัน "ทำสิ่งที่ถูกต้องทั้งหมด" (แม้ว่าฉันจะไม่เห็นด้วยกับการตัดสินใจทุกนาที) ฉันคิดว่าเมื่อ C และ C ++ ลดลงไม่มีภาษาระดับระบบอื่น ๆ ที่สามารถทำสิ่งที่พวกเขาทำในขณะที่ถือตัวเองในโลกของภาษาที่ทันสมัย ​​- ยกเว้น D! D ไม่เพียงแค่เติมบทบาทนี้ - มันยอดเยี่ยม! การดู D1.x น่าจะเพียงพอที่จะโน้มน้าวคุณ - แต่เมื่อคุณดูที่ D2.0 มันจะทำให้คุณไม่สนใจ ฉันคิดว่าในวันนี้ไม่มีภาษาอื่นที่ใช้งานได้ดีเท่ากับ D2.0 ในการเชื่อมต่อกระบวนทัศน์การเขียนโปรแกรมที่จำเป็นและใช้งานได้ซึ่งจะมีความสำคัญยิ่งขึ้นในปีต่อ ๆ ไป

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

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

มันอาจกลายเป็นว่า D ถูกกำหนดให้เป็น Betamax ของภาษาในระดับระบบ - แต่เงินของฉันอยู่ที่มันหมุนรอบภายในสองปีถัดไป


20
C ไม่ได้อยู่ในการปฏิเสธสำหรับการเขียนโปรแกรมระดับระบบ Linux, Windows และ OS X ได้รับการพัฒนาใน C. เช่นเดียวกันตัวควบคุมขนาดเล็กและ OSes สำหรับตัวควบคุมขนาดเล็กหลายโปรแกรมได้รับการตั้งโปรแกรมโดยใช้ C.
Kevin

12
ฉันไม่คิดว่า D "ทำสิ่งที่ถูกต้องทั้งหมด" สิ่งที่ถูกต้องคือเริ่มต้นใหม่จากศูนย์ไม่ใช่พยายามสร้าง C ++ ที่ดีกว่า ฉันคิดว่าจำเป็นต้องมีการเปลี่ยนแปลงที่รุนแรงกว่านี้เพื่อปรับสวิตช์ขนาดใหญ่ออกจาก C ++
jalf

9
Kevin: Windows และ OS X ไม่ได้พัฒนาใน C. Chunks ของเคอร์เนลแน่นอน แต่ Windows ใช้ heaps ของ C ++ และ OS X Obj-C ลินุกซ์เป็นระบบปฏิบัติการเดียวที่ฉันรู้ว่าที่ C ได้รับการยกระดับเป็นสถานะภาษาจริงเดียวและไม่มีอะไรใช้
jalf

16
การทำนายที่ดี เป็นเวลา 2 ปีแล้วตั้งแต่โพสต์นี้และ D ไม่ได้ใกล้เคียงกับการยอมรับหลัก
mikerobi

18
@mikeobi ฮ่า ๆ ! สองปีเริ่มต้นจากเมื่อใดก็ตามที่คุณอ่านประโยคนั้น ;-)
philsquared

20

ฉันชอบ D นั่นคืองานของอัจฉริยะโดยหลัก ๆ จิตใจเดียว - วอลเตอร์ไบรท์ซึ่งคอมไพเลอร์ของ Zortech นั้นยอดเยี่ยมในวันนั้น

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

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


9
ตอนนี้ก็มีอัจฉริยะอีกอย่างที่กำลังทำอยู่ - Andrei Alexandrescu สิ่งที่เขาทำกับ D2.0 คือ IMHO อย่างน้อยก็น่าประหลาดใจอย่างที่ Walter ทำกับ D1.x ระหว่างสองคนนี้ (ไม่ใช่การลดผู้มีส่วนร่วมอื่น ๆ อีกมากมาย) D กำลังกลายเป็นภาษาที่ต้องคำนึงถึง ดูพื้นที่นี้
philsquared

5
ทำให้ 3 (หรือมากกว่า) สาปแช่งโปรแกรมเมอร์ที่ดี: Bartosz Milewski
BCS

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

4
@jalf คุณพูดถูกว่า "ความอัปลักษณ์" ของ C ++ ไม่ได้เกิดจากการออกแบบโดยคณะกรรมการ มันช้าในวิวัฒนาการคือแม้ว่า
philsquared

15

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

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


10

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

  • D vs C ++ เป็นคอมแพตทิบิลิตี้ที่มีภาษา C ++ ขนาดใหญ่เข้ามาเกี่ยวข้องและต้องการความเข้ากันได้กับ D D ทำให้สามารถใช้งานร่วมกันได้ 100% กับ C ซึ่งเป็นชัยชนะที่ดี

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

  • D vs C ++ ฉันไม่แน่ใจว่า C ++ ทำได้หรือไม่ แต่ D ไม่อนุญาตให้มีการกำหนดตัวแปร จำกัด ประเภทโดยใช้ "auto" ซึ่งเป็นสิ่งที่ดีที่จะมีตัวแปรแบบไดนามิกเมื่อต้องการคุณสามารถสร้างประเภทที่เข้มงวดได้

  • D vs C ++ ถ้าคุณมีประสบการณ์ภาษาอื่นคุณสามารถเริ่มต้นใช้งานได้โดยตรงมีแผนที่การเรียนรู้ที่ง่ายดายและการออกแบบโดยทีมงานที่มีประสบการณ์และการสนับสนุน บริษัท

  • D vs C ++ สิ่งที่ดีมากที่ฉันพบใน D คือรูปแบบโค้ดมันให้รูปลักษณ์และความรู้สึกเหมือนกับ C / C ++ ในขณะที่การเข้ารหัสมันทำให้ฉันนึกถึง C / C ++ ที่ทันสมัยจริงๆซึ่งเรียกว่า D

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


7

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

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


1
คุณสามารถให้ตัวอย่างแอพเชิงพาณิชย์เช่นนั้นได้หรือไม่?
Alexander Malakhov

1
@ Alexander Malakhov: A ... อืมม ... เป็นคำถามที่ดี .... ฉันดีใจที่คุณถามว่ามีแอพเชิงพาณิชย์อยู่หรือไม่ ... คำถามที่คิดมาอย่างดี ... แน่นอน ..... ฉันชื่นชม ... ... นี่คือคำถามที่เราควรถาม ..... แสดงให้เห็นถึงสติปัญญาของคุณ ..... อืมมมม ... ขอให้ฉันค้นหา ... แอพเชิงพาณิชย์ใน D ... อืม .... ดี .. เพียงแค่รอ ... ฉันรู้ แต่ .... แค่จำไม่ได้ ... มีแน่นอน .... แค่รอ ... ฉันยังค้นหาอยู่ ...
เพื่อนง่าย

7

D นั้นค่อนข้างน่าประทับใจและหนังสือของ Andrei เกี่ยวกับมันเขียนได้ดี แต่อย่างที่คนอื่นพูดคุณต้องการเครื่องมือและการสนับสนุนแพลตฟอร์ม เมื่อเวลาผ่านไป GDC อาจเป็นคำตอบของทั้งคู่

คุณเคยเห็นสิ่งนี้ไหม

"GNU Debugger เพิ่มการสนับสนุนภาษา D": http://www.linux.com/news/enterprise/biz-enterprise/358956-gnu-debugger-adds-d-language-support

นอกจากนี้ไซต์ digitalmars มีหน้าที่พูดถึงการเชื่อมต่อกับ C และ C ++ (สำหรับไลบรารีเหล่านั้นที่คุณขาดไม่ได้) ฉันสงสัยว่ามีเครื่องมือใด ๆ ที่ให้ไฟล์ส่วนหัว C หรือไม่จะใช้การแทงแบบเขียนต้นแบบ D

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

คำถามเดิมคือว่า D เป็นทางเลือกที่น่าเชื่อถือสำหรับ Java และ C ++ ฉันไม่คิดว่า D และ Java จะแข่งขันกันมากในทางปฏิบัติ D แข่งขันกับ C ++ และตอนนี้ไป คำถามอื่น ๆ ตอบสนองความแตกต่างระหว่าง D และ Go แต่โดยทั่วไป Go จะถือว่าใช้งานง่ายกว่า ดังนั้นฉันจึงสงสัยว่าอนาคตของ D ขึ้นอยู่กับจำนวนห้องที่มีให้หายใจระหว่าง C ++, กษัตริย์องค์ปัจจุบันของเขาและ Go ซึ่งเป็นทางเลือกที่ง่ายกว่ามากที่ได้รับการสนับสนุนจาก Google

UPDATE: ฉันเพิ่งค้นพบว่าหนังสือเล่มที่ชื่นชอบของ Andreiซึ่งเป็นเรื่องเกี่ยวกับการใช้งานพร้อมกันสามารถออนไลน์ได้ฟรี อ่านแล้วคุ้มค่าแน่นอน!

และนี่คือการอภิปราย loooong เกี่ยวกับญาติ / วัตถุประสงค์ / แนวทางของ Go และ D


ฉันไม่ค่อยรู้อะไรเกี่ยวกับสนิมมากนัก ฉันกำลังรอให้มันถึง 1.0 แต่คุณพูดถูกมันดูน่าดูและน่าเล่นในพื้นที่เดียวกัน
AmigoNico

1
สิ่งเดียวที่ฉันไม่ชอบเกี่ยวกับ D คือระบบพิมพ์ มันดูเก่า ลำดับชั้น OO จะล่วงล้ำ ฉันไม่ชอบมันเป็นจุดเริ่มต้น สนิมจะดีกว่าที่นี้
Germán Diago

4

ดูเหมือนว่าคำถามจะได้รับคำตอบ D เป็นภาษาที่ดีกว่าเมื่อเทียบกับ C ++

คำถามที่ว่าโครงสร้างพื้นฐานที่ดีกว่านั้นเป็นเรื่องรองหรือไม่

กล่าวโดยย่อว่าพวกเขาเป็นทั้งภาษาใหม่โดยที่ไม่ได้รับการสนับสนุน D เป็นภาษาที่ดีกว่า Ergo เป็นภาษาที่ดีกว่า


4

ในฐานะภาษาฉันมักรู้สึกว่า D นั้นใกล้กับ C # มากกว่า C ++ ไม่ได้อยู่ในฟีเจอร์และห้องสมุด แต่เป็น "ความรู้สึก" มันสะอาดกว่า ... สนุกกว่า (C ++) IMHO อุปสรรคที่ใหญ่ที่สุดในการเป็นทางเลือกที่น่าเชื่อถือคือเครื่องมือ IDE และเครื่องมือดีบั๊ก หาก D เอาชนะอุปสรรคบางอย่างของการใช้งาน / การนำไปใช้อย่างกว้างขวางเครื่องมือและไลบรารีเพิ่มเติมจะปรากฏ (ตัวฉันเองจะกลับไปที่ D หากมี IDE และตัวดีบักที่ใช้งานได้)


ปลั๊กอิน mono-d มีอะไรบ้าง: mono-d.alexanderbothe.com
user1284631

3

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


3

วิธีหนึ่งคือการค้นหางานในพื้นที่ของคุณ ค้นหางานที่คุณต้องการทำและดูทักษะที่พวกเขาต้องการ หากพวกเขากำลังขอ C ++ หรือ Ruby หรือ Oracle หรือ D นั่นคือทักษะที่ส่วนใหญ่จะช่วยให้คุณได้งานที่คุณต้องการ


3

ดูเหมือนภาษาที่ออกแบบมาอย่างดีมาก ดีกว่า C - C ++ - Objective C. ฉันสามารถอยู่ได้โดยปราศจาก IDE หรือดีบักเกอร์ชั่วขณะหนึ่ง แต่ไม่มีไลบรารีที่ดีสำหรับ D 2.0

ฉันจะกลับมาตรวจสอบอีกครั้งใน 6 เดือน ...

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