تبلیغات
دنیای اوراکل و جاوا - d چیست؟

بازدید : مرتبه
تاریخ : پنجشنبه 18 شهریور 1389

به طور خلاصه، ضمیمه ای نسبتا جدید برای خانواده زبان برنامه نویسی c است که قرار است جایگزین مناسبی برای ++ c باشد. این زبان برنامه نویسی، الگوهای طراحی وفناوری هایی را از دیگر زبان های برنامه نویسی همچون جاوا و c# وام گرفته است. از ویژگی های d می توان به garbage collected (زباله های جمع شده) اشاره کرد که به همراه شیوه اجرای این برنامه، آن را بسیار سریع تر از رقیبان خود در ماشین مقصد اجرا می کند. توسعه دهندگان d ، تاکنون کامپایلری برای کامپیوتر 86x ایجاد کرده اند که در محیطهای ویندوز و لینوکس قابل اجرا است. همچنین، تلاش هایی برای یک پارچه کردن d با gcc 1 در حال انجام است. این زبان توسط والتر برایت، مولف کامپایلرهای++ c/c شرکت دیجیتال مارس2 و برنامه نویس اسبق کامپایلر برای 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 نتوانسته است، توانایی قالبی3 را همچون c++ پیاده کند و این موضوع، از برتری های d محسوب می شود. بار دوم، d چیست؟ تا به حال دریافتیم که d چه چیزهایی نیست. اما بهتر است نقاط قوت و رقابتی این سیستم عامل را بررسی کنیم. این زبان می تواند کتاب خانه ها و کدهایی که با زبان c نوشته شده اند را استفاده کند و به آن ها متصل شود. بدین ترتیب، دیگر نیازی نیست نگران پشتیبانی از کدهای قدیمی خود باشید. اما، d هنوز به طور کامل با c++ همخوانی ندارد. اما نگران نباشید، به زودی بسته ای برای پشتیبانی از c++ در راه است. برنامه نویسی سیستمی گفتیم که شیوه اجرای d به چه صورت است، بدین ترتیب d می تواند از اسمبلی داخل متن4 برای کدنویسی استفاده کند. سرعت سیستمی را تصور کنید که با کدهای ماشین داخل کدهای شیء گرانوشته باشید. وضوح واژه ای و گرامری یکی از اهداف d رفع بسیاری از پیچیدگی های ناکارآمد c++ است که در بحث استانداردسازی کدها، باعث بروز مشکل برای کامپایلر شده است. گرامر ساده، کار را هم برای کامپایلر و هم برای برنامه نویس آسان می کند و باگ های رایج را کاهش می دهد. به عنوان مثال، d گرامر پرانتزی ضمخت تعریف قالب ها را کنار می گذارد و تحلیل و خواندن را آسان تر می کند. حذف ویژگی های کهنه شاید بزرگترین هدف زبان d ، حذف ویژگی های منسوخ شده و یا ویژگی های پیچیده بی مصرف باشد. برای مثال، d کاملا به دور از پیش پردازنده c عمل می کند، در عوض به توانایی های روش درون ساخته تکیه می کند. همچنین، d ارث بری چندگانه و اغلب پیچیده c++ را، با ارث بری ساده و یگانه جاوا و واسطه های آن جایگزین می کند. قابل ذکر است که این ها، تمام ویژگی ها یا نقاط ضعف این زبان برنامه نویسی نبود و سعی شد نگاهی اجمالی به اینزبان برنامه نویسی انداخته شود. برای کشف بقیه ویژگی های این زبان بهتر است، در وهله اول وب سایت این زبان را جستجو کنیم و بعد به سراغ گروه های برنامه نویس d برویم که قطعا در تالارهای گفتگوی مجازی به بحث های داغی مشغولند. برای اطلاعات بیشتر، به لینک های زیر مراجعه کنید: http://iranictnews.ir/goto/?url=http%3A%2F%2Fdigitalmars.com%2Fd" target="_blank">http://digitalmars.com/d پی نوشت ها gnome c compiler.1 digital mars.2 template.3 in-line-assembly.4 امیربهاالدین سبط الشیخ


طبقه بندی: اخبار، 
برچسب ها: زبان d، برنامه نویسی، جاوا، سان، اوراکل، اخبار،
ارسال توسط افشیا درافشان
آرشیو مطالب
نظر سنجی
اگر شما برنامه نویس جاوا هستید، دستمزدتون در ایران چقدر است؟






امکانات جانبی
blogskin