ฉันทำงานด้านชีวสารสนเทศใน D สำหรับฉันสิ่งสำคัญเกี่ยวกับ D คือการใช้วิธีการในระดับที่ดีในการแลกเปลี่ยนและรับรู้หลักการของผลตอบแทนที่ลดลง
ซึ่งแตกต่างจาก C ++ ซึ่งปฏิบัติตามหลักการ zero-overhead อย่างเข้มงวด D อนุญาตให้ใช้คุณลักษณะที่อาจมีค่าใช้จ่ายด้านประสิทธิภาพ / พื้นที่ขนาดเล็กหากพวกเขาทำให้ภาษาใช้งานได้มากขึ้น สิ่งเหล่านี้รวมถึงการรวบรวมขยะวัตถุการตรวจสอบสำหรับแต่ละคลาสข้อมูลประเภทรันไทม์ ฯลฯ
ซึ่งแตกต่างจาก Ruby, Python, PHP และอื่น ๆ D พยายามที่จะเร็วเกือบเท่า C ถึงแม้ว่ามันจะมีไดนามิกน้อยกว่าและยากกว่าในการเขียนโปรแกรมในภาษาสคริปต์มากกว่า
ผลลัพธ์เป็นภาษาที่เหมาะสมที่สุดเมื่อทั้งเวลาในการพัฒนาและเวลาในการดำเนินการมีความสำคัญเท่ากันซึ่งในสาขาของฉันเกือบตลอดเวลา
ในทำนองเดียวกัน D ใช้แนวทางที่ปลอดภัยในระดับสูงและมีความยืดหยุ่น ถือว่าผู้เขียนโปรแกรมโดยพื้นฐานรู้ว่าพวกเขากำลังทำอะไร แต่ทำผิดพลาด
ซึ่งแตกต่างจาก C และ C ++ มันจะถือว่าคุณไม่ต้องการใช้พอยน์เตอร์, casts ที่ไม่ปลอดภัย, การจัดการหน่วยความจำด้วยตนเอง, และอื่น ๆ ในรหัสของคุณ, เพราะมันเกิดข้อผิดพลาดได้ง่าย, และสันนิษฐานว่าคุณไม่ต้องการร่อน ข้อความแสดงข้อผิดพลาดแม่แบบหน้าเมื่อคุณพลาดเพียงเพื่อใช้อาร์เรย์ที่ปรับขนาดได้
แตกต่างจากภาษาจาวาและภาษาทาส - และ - วินัยอื่น ๆ D สันนิษฐานว่าในบางครั้งพอยน์คาสต์ไม่ปลอดภัยการจัดการหน่วยความจำด้วยตนเอง ฯลฯ เป็นความชั่วร้ายที่จำเป็นและสมมติว่าคุณฉลาดพอที่จะรองรับเทมเพลตจริง รหัสที่สับสน นอกจากนี้ยังสมมติว่าคุณอาจพลาดและเข้าถึงอาเรย์นอกขอบเขต แต่โปรแกรมเมอร์รู้ดีที่สุดว่าควรทำการแลกเปลี่ยนอะไรบ้างระหว่างความปลอดภัยและความเร็วในทุกสถานการณ์ ดังนั้นไม่ว่าอาร์เรย์จะถูกตรวจสอบขอบเขตจะถูกกำหนดโดยคอมไพเลอร์สวิทช์