D (שפת תכנות)

D (ידועה גם בשם "Dlang") היא שפת תכנות מרובת פרדיגמות, אשר נוצרה על ידי וולטר ברייט  ותאגיד התוכנה האמריקני "דיגיטל מארס"  והופצה בשנת 2001.

אף על פי שמקור השפה D הוא הנדסה מחדש של שפת ++C, שפת D היא שפה נפרדת ושונה.

בשפה עוצבו מחדש כמה מאפיינים של ++Core C, אך היא גם חולקת מאפיינים משותפים עם שפות אחרות, כגון Java,  Python,Ruby, Eiffel ו-#C.

מטרות עיצוב השפה היו שילוב בין ביצועים ובטיחות של שפות מהודרות (Compiled Languages) ל"כוח האקספרסיבי" (Expressive Power) של שפות דינמיות.

 פרדיגמות התכנות ב-D 

אחת מהפרדיגמות של שפת התכנות D, היא תכנות מונחה עצמים. בתכנות אנו משתמשים בסוגי נתונים שונים על מנת לייצג מידע, כגון, מספרים, תווים, מחרוזות (אוסף של תווים) וכדומה, אך לעיתים זה לא מספיק. בתכנות מונחה עצמים, המתכנת יוצר "ישויות" אשר עונות על סט חוקים, תכונות ופעולות שהגדיר מראש, סט זה נקרא מחלקה (class). למשל, מתכנת יכול להגדיר מחלקה ששמה Person (בן אדם), ולהזין תכונות שיש לאדם, כגון שם, גיל,גובה, משקל, צבע עיניים, צבע שיער וכו' וגם פעולות: בן אדם יכול לישון,לאכול,לדבר, וכו'. המתכנת אז יוכל ליצור בני אדם נפרדים מתוך המחלקה אשר מכילים אותן תכונות ופעולות, עם ערכים אחרים שמבדילים אותם (אפשר גם ליצור בני אדם עם ערכים זהים, אם כי אין בכך היגיון). בני אדם אלו יקראו אובייקטים, או עצמים (objects) מתוך המחלקה Person (ומכאן נובע השם תכנות מונחה עצמים).הדבר דומה להכנת עוגיות שונות (אובייקטים) מאותה תבנית (המחלקה).ניתן ליצור מחלקה לכל דבר: מצולעים, אבנים, חיות, משתמש וכו'.

 סוגי טיפוסי הנתונים 
סוג הנתוןהגדרה והמקום בזיכרוןערך התחלתיboolבוליאני (שני ערכים אפשריים: True או False)falsebyteבעל 8 ביטים - signed0ubyteבעל 8 ביטים - unsigned0shortבעל 16 ביטים - signed0ushortבעל 16 ביטים - unsigned0intבעל 32 ביטים, signed0uintבעל 32 ביטים, unsigned0long64 ביט, signed0Lulong64 ביט, unsigned0Lfloat32 ביט בדרך כלל, signed, מכיל ספרות עשרוניותfloat.nandouble64 ביט, מכיל ספרות עשרוניותdouble.nanrealיכול להיות float או double, בהתאם למשתנה
עם מספר הספרות העשרוניות הגבוה ביותר.real.nanifloatמספר מדומה מסוג floatfloat.nan * 1.0iidoubleמספר מדומה מסוג doubledouble.nan * 1.0iirealמספר מדומה מסוג realreal.nan * 1.0icfloatמספר מרוכב שבנוי משני floatfloat.nan + float.nan * 1.0icdoubleמספר מרוכב שבנוי משני doubledouble.nan + double.nan * 1.0icrealמספר מרוכב שבנוי משני realreal.nan + real.nan * 1.0icharיחידה של קידוד ב-UTF-80xFFwcharיחידה של קידוד ב-UTF-160xFFFFdcharUTF-32 code unit and Unicode code point0x0000FFFF

 לקריאה נוספת 
 Alexandrescu, Andrei (4 January 2010). "The D Programming Language" (1 ed.). Addison-Wesley Professional. .
 Alexandrescu, Andrei (15 June 2009). "The Case for D". Dr. Dobb's Journal.
 Bright, Walter (8 April 2014). "How I Came to Write D". Dr. Dobb's Journal.
 Çehreli, Ali (1 February 2012). "Programming in D". (distributed under CC-BY-NC-SA license). This book teaches programming to novices, but covers many advanced D topics as well.
 Metz, Cade (7 July 2014). "The Next Big Programming Language You've Never Heard Of". Wired.
 Ruppe, Adam (May 2014). D Cookbook (1 ed.). PACKT Publishing. 

 קישורים חיצוניים 



הערות שוליים

Dlang