PDA

View Full Version : آیا شی گرایی در زبان ها میتونه عاملی برای کاهش سرعت کامپایل اونها نسبت به زبان های غیر شی گرا باشه؟



amirjalili
دوشنبه 17 آبان 1389, 20:39 عصر
آیا خود شی گرایی در زبان های برنامه نویسی میتونه عاملی برای کاهش سرعت کامپایل اونها بشه؟
مثلا سرعت کامپایل در c بیشتر از ++c هست. آیا علت این کاهش سرعت کامپایل و performance در ++c به خاطر وجود مفهموم شی گرایی در اونه؟

pesar irooni
شنبه 22 آبان 1389, 11:50 صبح
من این جواب رو طبق دانسته های خودم میگم:
بله، چون ما در شی گرایی میخوایم کد رو راحت تر مدیریت و استفاده کنیم و به زبان سطح بالاتری وارد میشیم. در حالت شی گرایی کلی method call و متغیر اضافه و الکی بوجود میاد. اول و آخر همه زبانها به اسمبلی ترجمه میشند. آیا زبان اسمبلی شی گراست؟
آیا سیستم عامل object میشناسه؟ و ....

amirjalili
دوشنبه 24 آبان 1389, 12:01 عصر
زبان های برنامه نویسی روز به روز دارن به سمت این پیش میرن که تولید نرم افزار رو سریعتر و راحت تر کنند.
این یعنی فریم ورک هایی که هر روز کلاس های بیشتری بهشون اضافه میشه.و برای زبان ها روز به روز از زبان ماشین فاصله بیشتری میگیرند .یعنی زبان های برنامه نویسی در آینده performance کمتری نسبت به زبان های امروزی خواهند داشت .
این چطور توجیه میشه؟ این منطقی نیست که ما در آینده زبان هایی داریم که سرعت کامپایل اونها کمتر از الانه.

emadfa
جمعه 28 آبان 1389, 13:45 عصر
البته من فکر نمی کنم امروزه بتوان گفت که زبان ++C سرعت کمتری نسبت به زبان های غیر شی گرا دارد. در واقع با پیشرفت سخت افزار و حافظه های موقت دیگر چنین مقایسه هایی بی معنی است. شاید بهتر باشد زبان های native مثل ++C و زبان های non-native و تحت فریمورک را مقایشه کردم. دلیل سرعت کمتر زبان های غیر بومی ( که البته در موارد خاص سرعت کمتری دارند مثل پردازش تصویر یا بازی ها ) ترجمه از طریق یک فریمورک میانی است نه وجود شی گرایی و کلاس های متعدد.

**: البته زبان ++C گفته می شد اوایل سربار اضافی نسبت به C دارد اما امروز تفاوت چندانی به لحاظ سرعت ندارد.