Loading AI tools
שפת תכנות מרובת פרדיגמות אשר נוצרה על ידי וולטר ברייט (אנ') ו"דיגיטל מארס" (אנ') שהופצה בשנת 2001 מוויקיפדיה, האנציקלופדיה החופשית
D (ידועה גם בשם "Dlang") היא שפת תכנות מרובת פרדיגמות, אשר נוצרה על ידי וולטר ברייט (אנ') ותאגיד התוכנה האמריקני "דיגיטל מארס" (אנ') והופצה בשנת 2001.
פרדיגמות | מרובת פרדיגמות : תכנות פונקציונלי, תכנות מונחה עצמים, תכנות אימפרטיבי |
---|---|
תאריך השקה | 8 בדצמבר 2001 |
מתכנן | וולטר ברייט |
מפתח | וולטר ברייט, D Language Foundation |
טיפוסיות | סטטית |
מימושים | DMD, GCC, LDC, SDC |
הושפעה על ידי | C++, אייפל, Java, סי שארפ, C, פייתון |
השפיעה על | c++20,C++17,C++14 ,סי שארפ, Go (שפת תכנות) |
רישיון | Boost Software License |
סיומת | d, di, dd, def |
dlang | |
אף על פי שמקור השפה D הוא הנדסה מחדש של שפת ++C, שפת D היא שפה נפרדת ושונה.
בשפה עוצבו מחדש כמה מאפיינים של ++Core C, אך היא גם חולקת מאפיינים משותפים עם שפות אחרות, כגון Java, Python ,Ruby, Eiffel ו-#C.
מטרות עיצוב השפה היו שילוב בין ביצועים ובטיחות של שפות מהודרות (Compiled Languages) ל"כוח האקספרסיבי"[1] (Expressive Power) של שפות דינמיות.
אחת מהפרדיגמות של שפת התכנות 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 |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.