Mohamad Reza Baghbani

وبلاگ محمد رضا باغبانی
دنبال کنندگان ۲ نفر
این وبلاگ را دنبال کنید
طبقه بندی موضوعی

Mohamad Reza Baghbani

وبلاگ محمد رضا باغبانی

تاریخچه جی دی اسکریپت

جمعه, ۱۸ دی ۱۳۹۴، ۰۶:۲۳ ب.ظ

تاریخچه GDScript زبان گودوت انجین

در آغاز گودوت برای این طراحی شده بود که از چندین زبان اسکریپتی پشتیبانی کند (این امکان تاکنون موجود است) گرچه اکنون در داخل آن فقط GDScript استفاده می شود . 


در روزهای آغازین این انجین از lua استفاده می کرد . لوا سریع است اما برای ساخت یک سیستم شی گرا (با استفاده از پس رفت2 ) پیچیده ، کند و مقدار کد بالایی می طلبید . پس از کسب تجربه با Pythone، معلوم شد که جا دادنش سخت است .

Squirrel آخرین زبان اسکریپتی بود که استفاده شد ، اما کارایی این زبان نیز بیش از حد کاهش یافت . در این هنگام ، تشخیص داده شد که گودو با زبان اسکریپتی مختص به خودش می تواند خیلی بهینه تر عمل کند .

• گودو نوع داده های مختلفی برای 2D , 3D Math استفاده می کند ، زبان های اسکریپتی این ویژگی را ارائه نمی دهند ، و همبند کردن آن در این زبانها ناکارآمد خواهد بود .

• گودو به شدت از tread ها برای به کار گیری و انتصاب داده از دیسک یا شبکه استفاده می کند ، مفسران اسکریپت برای زبان های متداول با این ویژگی سازگار نیستند .

• گودو همچنین دارای مدل مدیریت حافظه منابع است ، بیشتر زبان های اسکریپتی مدیریت حافظه مخصوص به خود را ارائه می دهند که حاصل آن، تلاش دوبرابر و گاهی به وجو آمدن باگ خواهد شد .

• کد اتصال داده شده همیشه شلخته3 و نقاط ضعفی مانند باگ های دور از انتظار و عموما غیر قابل نگهداری هستند .

در آخر GDScript یک راه حل نهایی بود . زبان و مفسرش کوچکتر از زبان های الحاقی ذکر شده گردید و کارایی مشابه داشت . در نتیجه زبان درونی گودو یک مزیت بزرگ به ارمغان آورد .

ـــــــــــــــــــــــــــــــــــــــ

1-Space

2-fallback

3-messy

 

موافقین ۰ مخالفین ۰ ۹۴/۱۰/۱۸
محمد رضا باغبانی

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی