D (שפת תכנות)

מתוך ויקיפדיה, האנציקלופדיה החופשית
D
D Programming Language logo.svg
פרדיגמות מרובת פרדיגמות : תכנות פונקציונלי, תכנות מונחה עצמים, תכנות אימפרטיבי
שנה 8 בדצמבר 2001 עריכת הנתון בוויקינתונים
מתכנן וולטר ברייט עריכת הנתון בוויקינתונים
מפתח וולטר ברייט, D Language Foundation עריכת הנתון בוויקינתונים
גרסה אחרונה 2.093.0 (7 ביולי ,2020)
טיפוסיות סטטית
מימושים DMD, GCC, LDC, SDC
הושפעה על ידי C++, אייפל, Java, סי שארפ, C, פייתון עריכת הנתון בוויקינתונים
השפיעה על c++20,C++17,C++14 ,סי שארפ, Go (שפת תכנות)
רישיון Boost Software License
סיומת d, di, dd, def עריכת הנתון בוויקינתונים
dlang.org
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית OOjs UI icon info big.svg

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

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

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

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

פרדיגמות התכנות ב-D[עריכת קוד מקור | עריכה]

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

סוגי טיפוסי הנתונים[עריכת קוד מקור | עריכה]

סוג הנתון הגדרה והמקום בזיכרון ערך התחלתי
bool בוליאני (שני ערכים אפשריים : True או False) false
byte בעל 8 ביטים- signed 0
ubyte בעל 8 ביטים- unsigned 0
short בעל 16 ביטים - signed 0
ushort בעל 16 ביטים - unsigned 0
int בעל 32 ביטים, signed 0
uint בעל 32 ביטים, unsigned 0
long 64 ביט, signed 0L
ulong 64 ביט, unsigned 0L
float 32 ביט בדרך כלל, signed, מכיל ספרות עשרוניות float.nan
double 64 ביט, מכיל ספרות עשרוניות double.nan
real יכול להיות float או double, בהתאם למשתנה

עם מספר הספרות העשרוניות הגבוה ביותר.

real.nan
ifloat מספר מדומה מסוג float float.nan * 1.0i
idouble מספר מדומה מסוג double double.nan * 1.0i
ireal מספר מדומה מסוג real real.nan * 1.0i
cfloat מספר מרוכב שבנוי משני float float.nan + float.nan * 1.0i
cdouble מספר מרוכב שבנוי משני double double.nan + double.nan * 1.0i
creal מספר מרוכב שבנוי משני real real.nan + real.nan * 1.0i
char יחידה של קידוד ב UTF-8 0xFF
wchar יחידה של קידוד ב- UTF-16 0xFFFF
dchar UTF-32 code unit and Unicode code point 0x0000FFFF

לקריאה נוספת[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ "כוח אקספרסיבי" מבטא את היכולת של שפת תכנות לתמוך במגוון רחב של רעיונות. כלומר, ככל ששפה יכולה לבטא יותר רעיונות, הכוח האקספרסיבי שלה גדול יותר.