زبان برنامه نویسی D

 

D چیست؟

به طور خلاصه، ضمیمه ای نسبتا جدید برای خانواده زبان برنامه نویسی C است که قرار است جایگزین مناسبی برای C++ باشد. این زبان برنامه نویسی، الگو های طراحی و فناوری هایی را از دیگر زبان های برنامه نویسی همچون جاوا و C# وام گرفته است. از ویژگی های D می توان به Garbage collected (زباله های جمع شده) اشاره کرد که به همراه شیوه اجرای این برنامه، آن را بسیار سریع تر از رقیبان خود در ماشین مقصد اجرا می کند. توسعه دهندگان D تا کنون کامپایلری برای کامپیوتر x86 ایجاد کرده اند که در محیط های ویندوز و لینوکس قابل اجرا است. همچنین، تلاش هایی برای یک پارچه کردن D باGCC در حال انجام است.

این زبان توسط والتر برایت، مولف کامپایلر های C/C++ شرکت دیجیتال مارس و برنامه نویس اسبق کامپایلر برای Zorland وSymantec ، مولف اولیه این زبان بوده است و از پروژه پیاده سازی آن حمایت می کند. اگر چه بسیاری از تصمیمات، در مورد پیشبرد این زبان برنامه نویسی، در گروه های خبری و گفتگو اتخاذ می شود.

تفاوت D با دیگر زبان ها

C++

D به منظور پوشش ضعف ها و کمبود های C++ طراحی شده است، اما با وجود قدرتمند بودن آن، پیچیدگی های نا خواسته باعث زمین گیر شدن آن شده است. شاید بزرگترین تغییر D نسبت به C++ ، خودکار کردن Garbage collection باشد، هر چند که دستورات مستقیم همانند سابق برای خالی کردن زباله کار می کنند.

 

Java

اگر چه جاوا پدر اصلی D نیست، اما بسیاری از تکنیک های جاوا در آن جای داده شده است. تا جایی که برخی ادعا می کنند، Syntax های از پیش تعیین شده در D از بسیاری جهات، به جاوا شبیه است. در صورتی که در حقیقت باید شبیه به یکی از زبان های شی گرای مدرن باشد.

شباهت های میان این دو بسیار است. هر دو بین عملوند های (.)، (<ـــ و :: ) تفاوتی قائل نمی شوند. هر دو NULL را به عنوان کلمه کلیدی می شناسند و از ویژگی Try_catch_finally پشتیبانی می کنند. اما، تفاوت اساسی میان D و جاوا، این است که کدهای دستور زبان D به زبان ماشین ترجمه می شود و مستقیما در ماشین مقصد اجرا می شود.

C#

این دو، یعنی C# و D در حقیقت دو پاسخ به یک سؤال اساسی هستند:چگونه می توانیم C++ را بهتر کنیم؟ هر دو از C++ مشتق شده اند و عناصری از جاوا را در خود دارند. مهم ترین تفاوت میان D و C#، این است که D بر خلاف C# داخل ماشین مجازی اجرا نمی شود. بنابراین می تواند در به کار گیری کد های سیستمی (سطح پایین) مورد استفاده قرار گیرد. این امر باعث می شود D قابلیت مدیریت دستی و ریز به ریز حافظه را در اختیار برنامه نویس قرار دهد، هر چند که C# به گونه ای کاملا متفاوت این کار را انجام می دهد.

هنوز C# نتوانسته است، توانایی قالبی را همچون C++ پیاده کند و این موضوع، از برتری های D محسوب می شود.

 

بار دوم، D چیست؟

تا به حال دریافتیم که D چه چیز هایی نیست. اما بهتر است نقاط قوت و رقابتی این سیستم عامل را بررسی کنیم.

این زبان می تواند کتابخانه ها و کدهایی که با زبان C نوشته شده اند را استفاده کند و به آن ها متصل شود. بدین ترتیب، دیگر نیازی نیست نگران پشتیبانی از کدهای قدیمی خود باشید. اما، D هنوز به طور کامل با C++ همخوانی ندارد.

برنامه نویسی سیستمی

گفتیم که شیوه اجرای D به چه صورت است، بدین ترتیب D می تواند از اسمبلی داخل متن برای کد نویسی استفاده کند. سرعت سیستمی را تصور کنید که با کد های ماشین داخل کد های شی گرا نوشته باشید.

وضوح واژه ای و گرامری

یکی از اهداف D رفع بسیاری از پیچیدگی های نا کارآمد C++ است که در بحث استاندارد سازی کد ها، باعث بروز مشکل برای کامپایلر شده است. گرامر ساده، کار را هم برای کامپایلر و هم برای برنامه نویس آسان می کند و باگ های رایج را کاهش می دهد. به عنوان مثال، D گرامر پرانتزی ضمخت تعریف قالب ها را کنار می گذارد و تحلیل و خواندن را آسان تر می کند.

حذف ویژگی های کهنه

شاید بزرگترین هدف زبان D ، حذف ویژگی های منسوخ شده و یا ویژگی های پیچیده بی مصرف باشد. برای مثال، D کاملا به دور از پیش پردازنده C عمل می کند، در عوض به توانایی های روش درون ساخته تکیه می کند. همچنین، D ارث بری چند گانه و اغلب پیچیدهC++ را، با ارث بری ساده و یگانه جاوا و واسطه های آن جایگزین می کند.

 

D حل معادله درجه دو به زبان 

 

 

import  std.stdio

void main()
{

 float delta, x1, x2 ;
 int  A= 0 , B = 0, C = 0;
 //Reading data fro user

 Writeln( " Please enter A " );
 readlf( " %d ", A );

 Writeln( " Please enter B " );
 readlf( " %d ", B );

 Writeln( " Please enter C " );
 readlf( " %d ", C );

 // Calculation X1 , X2

 delta = b*b - 4*A*C;
 if ( delta > 0 )
 {
    X1 = (float) ( (-b) + sqrt(delta) ) / (2*a);
    X2 = (float) ( (-b) - sqrt(delta) ) / (2*a);
   
    Writeln(" %s%f ", "X1 is:", X1 );
    Writeln("\n%s%f ", "X2 is:", X2 );
 }
 
 else Writeln("the root of equation not exis"); 
 
if ( delta == 0 ){

X3 = (float) (-b) / (2*a);

Writeln(" %s%f ", "X1,X2 is:", X3 );


}

}

اجرا این برنامه :


مطالب مشابه :


پيام تبریک بازگشت از حج91

حج اس ام ای برای تبریک حج تبريك سفر حج متن برای تبریک قبول پارچه نویسی تبریک حج




عکس خنده دار پارچه نویسی در ایران

دانش و سرگرمی - عکس خنده دار پارچه نویسی در ایران - - دانش و




ترخیص پارچه در گمرک بازرگان

ترخیص کالا از گمرکات و بنادر کشور - ترخیص پارچه در گمرک بازرگان - ،حمل و نقل بین المللی،مجوز




اس ام اس خیر مقدم بازگشت از حج | اس ام اس خیر مقدم حجاج

معنوی حج متن برای تبریک از حج پارچه نویسی تبریک حج متن پلاکار بازگشت از حج پیام های




عشق به مقدسات بر شیشه اتومبیل ها تبلور می یابد

وی که شاگرد یک مغازه تابلوسازی و پارچه نویسی است، بیان می دارد که این کار او باعث می شود تا




زبان برنامه نویسی D

همچنین، تلاش هایی برای یک پارچه کردن d باgcc می تواند از اسمبلی داخل متن برای کد نویسی




قدمت لباسهای محلی گیلان

وب گردی و وب نویسی است، در لباس زنان غرب گیلان متن پارچه‌های لباسی دارای گلهای رنگارنگ




چاپ روی انواع پارچه با پلاتر، پرینترو دستگاه چاپ بنر

دغدغه های تولید کنندگان فرهنگ - چاپ روی انواع پارچه با پلاتر، پرینترو دستگاه چاپ بنر - ساده




برچسب :