بروز رسانی آذر ۹ام, ۱۳۹۹ ۱۲:۴۹ بعد از ظهر
آذر ۰۴, ۱۳۹۷ admin آموزش برنامه نويسي 0
بعد از آنکه مقالاتی در باره کامپایلر و همچنین مفسر در وبسایت و مرکز خبرهای جدید با عنوان کامپایلر در برنامه جذاب و جالب و خوب نویسی چیست و همچنین بررسی کردن انواع کامپایلر و همچنین مفسر در برنامه جذاب و جالب و خوب نویسی چیست نشر یافته شده کردیم مفسر و همچنین کامپایلر در واقع یک زبان برنامه جذاب و جالب و خوب نویسی سطح بالا را به یک زبان قابل فهم جهت ماشین تغییر پیدا کردن می کنند. حال بایستی و حتما اقدام به بررسی کردن تفاوت کامپایلر و همچنین مفسر کنیم و همچنین ببینیم مفسر و همچنین کامپایلر چه تفاوت هایی با هم دارند.
قبل از آنکه شروع به بررسی کردن تفاوت کامپایلر و همچنین مفسر کنیم بایستی و حتما بدونیم کامپایلر و همچنین مفسر چی خواهند بود که یه دید کلی پیدا کنیم و همچنین بعدش تفاوت هاشون رو مورد بررسی کردن قرار دهیم. در قسمت و بخش زیر در مورد آن دو توضیحات مختصری ارائه داده ایم.
در صورتی که بخواهیم کامپایلر رو تعریف کنیم و همچنین بگیم واقعا کامپایلر چیست بایستی و حتما بگویم مجموعهای از برنامه جذاب و جالب و خوب یا برنامه جذاب و جالب و خوبهای کامپیوتری می باشد که متنی از زبان برنامه جذاب و جالب و خوبنویسی سطح بالا (زبان مبدا) را به زبانی سطح پایین (زبان مقصد)، مثل اسمبلی یا زبان سطح ماشین، تغییر پیدا کردن میکند.
به گفتن ساده، کامپایلر برنامه جذاب و جالب و خوبای می باشد که یک برنامه جذاب و جالب و خوب نوشته شده در یک زبان خاص ساختیافته را خوانده و همچنین آن هم را به یک برنامه جذاب و جالب و خوب مقصد (Target Language) تغییر پیدا کردن مینماید. در یکی از مهمترین پروسههای آن تغییر پیدا کردن، کامپایلر وجود خطا را در برنامه جذاب و جالب و خوب مبدأ اعلام مینماید.
تعریف یکی از دوستان از کامپایلر، کامپایلر برنامه جذاب و جالب و خوبای رایانهای میباشد که بهمنظور انتقال زبانهای برنامه جذاب و جالب و خوبنویسی سطح بالا به زبانهای سطح پایین مانند زبان اسمبلی و همچنین زبان ماشین، جهت اجرایی شدن، طراحی وارائهشدهاند، خروجی آن نرمافزار جهت ماشینهایی مانند رایانه قابل اجرا هست.
توجه: جهت درک بهتر و همچنین دقیق تر پیشنهاد میکنم مقاله کامپایلر در برنامه جذاب و جالب و خوب نویسی چیست و همچنین بررسی کردن انواع کامپایلر رو کامل مطالعه کنید.
در صورتی که بخواهیم واضح بگویم مفسر در برنامه جذاب و جالب و خوب نویسی چیست؟ مفسر یک برنامه جذاب و جالب و خوب کامپیوتری می باشد که دستورهای نوشته شده در یک زبان برنامه جذاب و جالب و خوب نویسی را اجرا میکند. مفسر در واقع یک زبان برنامه جذاب و جالب و خوب نویسی سطح بالا را به یک زبان قابل فهم جهت ماشین تغییر پیدا کردن می کند.
نقطه مهم: در زبان های مفسری کد ها به صورت خط به خط تفسیر و همچنین اجرا می شوند و همچنین در اجرا بعدی برنامه جذاب و جالب و خوب نیز به همین صورت ادامه می یابد.
همینطور که می دانید هر دستگاه کامپیوتری (کامپیوترهای رومیزی، نوت بوک ها، گوشی های هوشمند، تبلت ها و همچنین …) از سخت افزار ویژه ای ساخته شده می باشد که شامل قسمت های مختلفی شامل پردازنده (Processor) می باشد. حال در صورتی که بخواهید جهت آن پردازنده برنامه جذاب و جالب و خوب ای بنویسید که آن پردازنده کاری را انجام دهد بایستی و حتما دستورات زبان ماشین خاص آن هم پردازنده را یکجا نوشته و همچنین در یک فایل ذخیره کنید و همچنین جهت اجرا آن هم فایل را یکباره به پردازنده بدهید تا اجرا کند.
زیرا و به درستی که نوشتن به زبان ماشین خیلی زیاد مستلزم و نیاز به حوصله و همچنین وقت دارد و همچنین اشکال زدایی (دیباگ) آن هم نیز کار پر مشقت و همچنین وقت گیر می باشد معمولا از سایر زبان ها بهره بری و استفاده می کنند و همچنین آن هم زبان ها را با “برنامه جذاب و جالب و خوب های ویژه ای” به زبان ماشین تغییر پیدا کردن می کنند.
در صورتی که آن هم برنامه جذاب و جالب و خوب خاص تغییر پیدا کردن دستورات به زبان ماشین را به جای یکباره و همچنین کامل به صورت دستور به دستور انجام دهد و همچنین آن هم لحظه دستور تغییر پیدا کردن شده (تنها و فقط و همچنین تنها و فقط آن هم دستور را) جهت اجرا به پردازنده تحویل دهد و همچنین بعد از اجرا دوباره دستور بعد را به زبان ماشین تغییر پیدا کردن کند و همچنین به پردازنده تحویل دهد و همچنین … آن ماجرا تا به انتهای دستورات به صورت خط به خط تکرار می شود و همچنین دستورات زبان ماشین توسط پردازنده تنها و فقط اجرا شوند و همچنین در فایلی ذخیره نشوند به آن هم برنامه جذاب و جالب و خوب خاص اینترپرتر یا مفسر می نامند.
توجه: جهت درک بهتر و همچنین دقیق تر پیشنهاد میکنم مقاله مفسر در برنامه جذاب و جالب و خوب نویسی چیست رو کامل مطالعه کنید.
هردوی آن تیم ها در واقع یک زبان برنامه جذاب و جالب و خوب نویسی سطح بالا را به یک زبان قابل فهم جهت ماشین تغییر پیدا کردن می کنند، ولی باید توجه داشت تفاوت آنها در آن می باشد که در زبان های کامپایلری ابتدا یکبار کد ها به صورت کامل ترجمه می گردند و همچنین سپس برنامه جذاب و جالب و خوب جهت اجرا از روی فایل کامپایل شده اجرا می گردد. ولی باید توجه داشت در زبان های مفسری کد ها به صورت خط به خط تفسیر و همچنین اجرا می شوند و همچنین در اجرا بعدی برنامه جذاب و جالب و خوب نیز به همین صورت ادامه می یابد.
یکی از تفاوت های آن زبان ها آن می باشد که زبان مفسر جهت اجرا مستلزم و نیاز به یک نرم افزار مفسر یا interpreter دارد ولی باید توجه داشت زبان کامپایلر تنها یکبار کامپایل شده و همچنین از آن هم پس بر روی هر سیستمی قابل اجرا می باشد. ولی باید توجه داشت همین نقطه آن تفاوت را ساخته یا ایجاد می کند که، زبان کامپایلر وابسته به سیستم عامل می باشد، یعنی در صورتی اجرا خواهد شد که در آن هم سیستم عامل کامپایل شده باشد و همچنین در سیستم عامل های دیگر اجرا نخواهد شد. ولی باید توجه داشت زبان مفسر در هر سیستم عاملی که نرم افزار مفسر آن هم وجود داشته باشد اجرا و همچنین تفسیر می گردد و همچنین در واقع وابسته به سیستم عامل نیست.
دیگر تفاوت آن زبان ها سرعت اجرا و همچنین مقدار و اندازه و میزان بهره بری و استفاده از منابع می باشدو با توجه به آن نقطه که زبان های Interpreter کد ها را به صورت خط به خط تفسیر و همچنین اجرا می کنند، آن امر باعث می می شود تا مقدار بسیاری از CPU و همچنین RAM کامپیوتر بهره بری و استفاده می شود و همچنین قطعا مشخص می باشد که سرعت پایین تری نیز خواهد داشت. ولی باید توجه داشت امتیاز کامپایل شدن یکباره ی زبان های کامپایلر آن می باشد که در اجرا های متعدد سبک تر بوده و همچنین سرعت بهتری خواهند داشت.
همین مزیت یک مرتبه به صورت کامل کامپایل شدن زبان های کامپایلر در قسمت و بخش ایراد سنجی و همچنین رفع مشکل نقص به حساب می آید. زیرا در زبان های مفسر هنگامی که برنامه جذاب و جالب و خوب خط به خط اجرا می می شود، در هر بخشی از برنامه جذاب و جالب و خوب که مشکلی وجود داشته باشد قابل پیدا کردن و همچنین رفع می باشد ولی باید توجه داشت در زبان های Compiler جهت رفع یک مشکل در کد ها می بایست سورس خود برنامه جذاب و جالب و خوب را مجدد بازبانی کرد و همچنین خطا را پیدا کرده و همچنین تصحیح کرد، که خیلی زیاد دشوار تر از زبان های مفسری می باشد.
جهت بررسی کردن تفاوت کامپایلر و همچنین مفسر ابتدا به صورت کلی تفاوت کامپایلر و همچنین مفسر رو مورد بررسی کردن قرار میدهیم و همچنین بعد در قالب ۱۴ مورد آن تفاوتها رو بررسی کردن می کنیم.
کامپایلر: برنامه جذاب و جالب و خوب را میسازد سپس همه دستورات زبان را از نظر درستی تجزیه و همچنین تحلیل میکند و همچنین در صورتی که دستوری غلط باشد، ارور میدهد و همچنین در صورتی که همهٔ دستورات درست باشند، سورسکد را به کد ماشین تغییر پیدا کردن میکند. فایلهای مختلفی را به برنامه جذاب و جالب و خوب اجرایی (آن هم فایل exe) اضافه میکند و همچنین در نهایت برنامه جذاب و جالب و خوب را اجرا میکند.
مفسر: برنامه جذاب و جالب و خوب را میسازد. خبری از افزودن فایلی اجرایی به برنامه جذاب و جالب و خوب یا تولید کد ماشین نیست بلکه دستورات سورسکد خط به خط در حین اصطلاحاً Run-time اجرا میکند.
کامپایلر: کد برنامه جذاب و جالب و خوب کاملاً به کد ماشین ترجمه شده می باشد؛ بنابراین زمان اجرای آن هم کمتر می باشد.
مفسر: بهره بری و استفاده از مفسرها به خصوص جهت دولوپرهای مبتدی آسانتر می باشد.
کامپایلر: جهت تغییر برنامه جذاب و جالب و خوب حتماً بایستی و حتما به سورسکد آن هم رفت و آمد و مراجعه شده و همچنین در صورت وجود باگ در برنامه جذاب و جالب و خوب، بایستی مجدد کامپایل گردد.
مفسر: اپلیکیشنهای نوشته شده با زبانهای تفسیری تنها بر روی کامپیوترهایی اجرا میشوند که مفسر مربوطه روی آن همها نصب باشد.
کامپایلر: کدهای کامپایلشده سریعتر اجرا میشوند.
مفسر: کدهای تفسیری کندتر اجرا میشوند.
کامپایلر: یک خروجی تولید میکند (با فرمت exe) که میتواند بدون مستلزم و نیاز به سورسکد اصلی اجرا می شود.
مفسر: هیچگونه فایلاجرایی تولید نمیکند.
کامپایلر: اجرای برنامه جذاب و جالب و خوب از فرآیند کامپایل آن هم جدا می باشد به طوری که اجرای برنامه جذاب و جالب و خوب تنها زمانی اتفاق میافتد که کل کدها کامپایل شده باشند.
مفسر: اجرای برنامه جذاب و جالب و خوب بخشی از فرآیند تفسیر آن هم می باشد؛ بنابراین برنامه جذاب و جالب و خوب خط به خط اجرا میمی شود.
کامپایلر: کامپایلر همهٔ کد را یکجا میبیند و همچنین از همین روی بهینهسازیهای بسیاری را جهت اجرای سریعتر کد انجام میدهد.
مفسر: مفسرها کد را خط به خط میبینند و همچنین لذا بهینهسازیهایی که انجام میگیرد به مقدار و اندازه کامپایلرها قوی نیستند.
کامپایلر: پیادهسازی آن هم در کامپایلرها دشوار می باشد زیرا و به درستی که کامپایلرها نمیتوانند پیشبینی کنند که در حین اجرا چه اتفاقی میافتد.
مفسر: زبانهای تفسیری به خوبی از تایپ دینامیک پشتیبانی میکنند.
کامپایلر: اکثرا و بیشتر مناسب Production Environment می باشد و همچنین از سرعت اجرای به مراتب بیشتری برخوردار می باشد.
مفسر: اکثرا و بیشتر مناسب Development Environment می باشد و همچنین سرعت توسعهٔ نرمافزار را بالا میبرد چرا که در صورت وجود باگ در برنامه جذاب و جالب و خوب، دائم نیازی به کامپایل مجدد برنامه جذاب و جالب و خوب نیست.
کامپایلر: کامپایلر همهٔ خطاها و همچنین اخطارها را در زمان کامپایل نشان میدهد و همچنین از همین روی بدون تصحیح کردن خطاها، اجرای برنامه جذاب و جالب و خوب غیرممکن می باشد.
مفسر: اینترپریتر یک خط از دستورات را میخواند و همچنین در صورتی که خطایی وجود داشته باشد آن هم را نشان میدهد به طوری که جهت تفسیر خط بعدی بایستی و حتما خطای قبلی برطرف شده باشد.
کامپایلر: کل برنامه جذاب و جالب و خوب را به عنوان ورودی میگیرد.
مفسر: یک خط از کد را به عنوان ورودی میگیرد.
کامپایلر: کامپایلرها کد ماشین تولید میکنند.
مفسر: مفسرها هیچ کد ماشینی تولید نمیکنند.
کامپایلر: همه خطاها را همزمان بعد از کامپایل نشان میدهد.
مفسر: خطاهای یک خط از دستورات را یکییکی دیدن کردن و نمایش میدهد.
کامپایلر: Scala ،C# ،C++ ،C و همچنین Java همه از کامپایلر بهره بری و استفاده میکنند.
مفسر: Perl ،PHP و همچنین Ruby از اینترپریتر بهره بری و استفاده میکنند.
بعد از آنکه تفاوت کامپایلر و همچنین مفسر رو مورد بررسی کردن قرار دادیم حال جهت آنکه متوجه نحوه کار کامپایلر و همچنین مفسر شوید پیشنهاد می کنم تصویر زیر رو دیدن کنید تا کامل درک درستی از نحوه کار آن دو پیدا کنید.
منبع
جدید و تو و تازه ترینمنابع آموزش برنامه جذاب و جالب و خوب نویسی : بررسی کردن تفاوت کامپایلر و همچنین مفسر
آذر ۲۵, ۱۳۹۷ 0
آذر ۱۷, ۱۳۹۷ 0
آذر ۰۷, ۱۳۹۷ 0
آذر ۰۵, ۱۳۹۷ 0