D (שפת תכנות)
פרדיגמות | מרובת פרדיגמות : תכנות פונקציונלי, תכנות מונחה עצמים, תכנות אימפרטיבי |
---|---|
טיפוסיות | סטטית |
מימושים | DMD, GCC, LDC, SDC |
השפיעה על | c++20,C++17,C++14 ,סי שארפ, Go (שפת תכנות) |
רישיון | Boost Software License |
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 |
לקריאה נוספת
- Alexandrescu, Andrei (4 January 2010). "The D Programming Language" (1 ed.). Addison-Wesley Professional. ISBN 978-0-321-63536-5.
- 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. ISBN 978-1-783-28721-5.
קישורים חיצוניים
הערות שוליים
- ^ "כוח אקספרסיבי" מבטא את היכולת של שפת תכנות לתמוך במגוון רחב של רעיונות. כלומר, ככל ששפה יכולה לבטא יותר רעיונות, הכוח האקספרסיבי שלה גדול יותר.
29741710D (שפת תכנות)