امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
D جایگزین C
نویسنده پیام
Morpheus آفلاین
كاربر دو ستاره
**

ارسال‌ها: 142
موضوع‌ها: 14
تاریخ عضویت: آبان ۱۳۸۷

تشکرها : 51
( 104 تشکر در 49 ارسال )
ارسال: #1
Exclamation  D جایگزین C
به طور خلاصه ضمیمه ای نسبتا جدید برای خانواده زبان C است که قرار است جایگزین مناسبی برای ++C باشد. این زبان برنامه نویسی الگوهای طراحی و فناوری هایی از دیگر زبان های برنامه نویسی همچون جاوا و #C وام گرفته است. از ویژگی های D می توان به Garbag Collected اشاره کرد که به همراه شیوه اجرای این برنامه آن را بسیار سریعتر از رقیبان خود در ماشین مقصد اجرا می کند. توسعه دهندگان D تاکنون کامپایلری را برای کامپیوتر X86 ایجاد کرده اند که در محیط های ویندوز و لینوکس قابل اجراست. همچنین تلاش هایی برای یک پارچه کردن D با Gnome C Compiler در حال انجام است. این زبان توسط والتر برایت مولف کامپایلرهای ++C/C شرکت Digital mars و برنامه نویس اسبق کامپایلر برای Zorland و Symantec مولف اولیه این زبان بوده است و از پروژه پیاده سازی آن حمایت میکند.
تفاوت D با سایر زبان ها:
++C
D به منظور پوشش ضعف ها وکمبود های ++C طراحی شده است اما با وجود قدرتمند بودن آن پیچیدگی های ناخواسته باعث زمین گیر شدن آن شده است. شاید بزرگترین تغییر D نسبت به ++C خودکار کردن Garbag Collected باشد هرچند دستورات مستقیم همانند سابق برای خالی کردن زباله کار می کنند.
Java
اگرچه جاوا پدر اصلی D نیست اما بسیاری از تکنیک های جاوا در آن جای داده شده است. تا جایی که برخی ادعا می کنند Syntax های از پیش تعیین شده در D از بسیاری جهات به جاوا شبیه است. در صورتی که در حقیقت باید شبیه به یکی از زبان های شی گرای مدرن باشد. شباهت های میان این دو بسیار زیاد است هر دو بین عملوندهای (.), (<- و ( :: ) تفاوتی قائل نمی شوند. هر دو NULL را به عنوان کلمه کلیدی می شناسند. و از ویژگی Try-Catch-Finally پشتیبانی می کنند. اما تفاوت اساسی میان جاوا و D این است که کدهای زبان D به زبان ماشین ترجمه می شود و مستقیما در ماشین مقصد اجرا می شود.
#C
این دو زبان در حقیقت پاسخ به دو سوال اساسی هستند:
چگونه می توانیم ++C را بهتر کنیم؟ هردو از از ++C مشتق شده اند و عناصری از جاوا را در خود دارند. مهمترین تفاوت میان D و #C این است که D بر خلاف #C داخل ماشین مجازی اجرا نمی شود.Whistle بنابراین می تواند در به کار گیری کدهای سیستمی سطح پایین مورد استفاده قرار گیرد. این امر باعث می شود D قابلیت مدیریت دستی و ریز به ریز حافظه را در اختیار برنامه نویس قرار دهد هرچند که #C به گونه ای کاملا متفاوت این کار را انجام می دهد. هنوز #C نتوانسته است توانایی Template را همچون ++C پیاده کند و این موضوع از برتری های D محسوب می شود.
D چیست؟
تا الان دریافتیم D چه چیزهایی نیست اما بهتر است نقاط قوت و رقابتی آن را بررسی کنیم.
این زبان می تواند کتاب خانه ها و کدهایی که با C نوشته شده اند را استفاده کند و به آنها متصل شود. به این ترتیب دیگر نیازی نیست نگران پشتیبانی از کدهای قدیمی خود باشید اما D هنوز به طور کامل با ++C همخوانی ندارد. اما نگران نباشید به زودی بسه ای برای پشتیبانی از آن در راه است.
برنامه نویسی سیستمی:
گفتیم که شیوه اجرای D به چه صورت است به این ترتیب D می تواند از
IN-LINE-ASSEMBLY برای کد نویسی استفاده کند. سرعت سیستمی را تصور کنید کهبا کدهای ماشین داخل کدهای شی گرا نوشته باشید.
وضوح واژه ای و گرامری
یکی از اهداف D رفعبسیاری از پیچیدگی هاینا کار آمد ++c است که در بحث استاندارد سازی کدها باعث بروز مشکل برای کامپایلر شده است. گرامر ساده کار را هم برای کامپایر هم برای برنامه نویس آسان می کند وباگ های رایج را کاهش می دهد. به عنوان مثال D گرامر پرانتزی ضمخت تعریف قالبها را کنار می گذارد و تحلیل و خواندن را آسان تر می کند.
حذف ویژگی های کهنه
شاید بزرگترین هدف زبان D حذف ویژگی های منسوخ شده ویا ویژگی های پیچیده بی مصرف باشد. برای مثال D کاملا به دور از پیش پردازنده عمل می کند در عوض به توانایی های روش درون ساخته تکیه می کند.
همچنین D ارث بری چند گانه و اغلب پیچیده از ++C را با ارث بری ساده و یگانه جاوا و واسطه های آن جایگزین می کند. قابل ذکر است که این ها تمام ویژگی ها ویا نقاط ضعف این زبان برنامه نویسی نبود وسعی شد نگاهی اجمالی به این زبان برنامه نویسی انداخته شود.
برای کسب اطلاعات بیشتر به وبسایت زیر مراجعه کنید:
کد:
Http://www.digitalmars.com
منبع: هفته نامه کلیک

اگه یه روز به یک در بزرگ رسیدی که یه قفل بزرگ داشت نترس و ناامید نشو چون اگه قرار بود قفل باز نشه جای در دیوار بود.
(آخرین ویرایش در این ارسال: ۳۱-فروردین-۱۳۸۸, ۱۶:۵۳:۲۱، توسط Morpheus.)
۳۱-فروردین-۱۳۸۸, ۱۴:۲۲:۵۶
ارسال‌ها
پاسخ
تشکر شده توسط : CRazYFULL, Darg, lord_viper, Loyal
yeketaz آفلاین
کاربر با تجربه
****

ارسال‌ها: 744
موضوع‌ها: 123
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 520
( 1050 تشکر در 294 ارسال )
ارسال: #2
RE: D جایگزین C
این متنو احتمالا از هفته نامه کلیک برداشتید یا از جایی برداشتید که کلیک هم از همون جا برداشته

چون متنش با اون یکیه

ما که دیگه توی ایران ویج پیر شدیم 040 کم کم باید جامون رو بدیم به جوونا 028
۳۱-فروردین-۱۳۸۸, ۱۵:۳۸:۱۶
وب سایت ارسال‌ها
پاسخ
Morpheus آفلاین
كاربر دو ستاره
**

ارسال‌ها: 142
موضوع‌ها: 14
تاریخ عضویت: آبان ۱۳۸۷

تشکرها : 51
( 104 تشکر در 49 ارسال )
ارسال: #3
RE: D جایگزین C
بله از هفته نامه کلیک برداشتم منظور اطلاع رسانی بود قصد دیگه ای نداشتم

اگه یه روز به یک در بزرگ رسیدی که یه قفل بزرگ داشت نترس و ناامید نشو چون اگه قرار بود قفل باز نشه جای در دیوار بود.
۳۱-فروردین-۱۳۸۸, ۱۵:۵۴:۱۲
ارسال‌ها
پاسخ
تشکر شده توسط : yeketaz
yeketaz آفلاین
کاربر با تجربه
****

ارسال‌ها: 744
موضوع‌ها: 123
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 520
( 1050 تشکر در 294 ارسال )
ارسال: #4
RE: D جایگزین C
نه من نگفتم قصدی دارید ، فقط بهتره منبع رو می گفتید که به این قانون کپی رایت و حق ناشر که توی ایران لنگر انداخته و حرکت

نمی کنه کمکی کرده باشید

ما که دیگه توی ایران ویج پیر شدیم 040 کم کم باید جامون رو بدیم به جوونا 028
۳۱-فروردین-۱۳۸۸, ۱۶:۴۳:۱۱
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Loyal


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS