مشاوره درسی کامپیوتر : نرم افزارهای سیستمی-نرم افزارهای مترجم

زمانی که شما یک برنامه را با یک زبان برنامه نویسی سطح بالا می‌نویسید ، کامپیوتری که فقط صفر و یک را متوجه می‌شود درکی از برنامه ای که شما نوشته اید و کدهای درون آن نخواهد داشت.

نرم افزارهای مترجم(کامپایلر و مفسر)

زمانی که شما یک برنامه را با یک زبان برنامه نویسی سطح بالا می نویسید ، کامپیوتری که فقط صفر و یک را متوجه می شود درکی از برنامه ای که شما نوشته اید و کدهای درون آن نخواهد داشت. بنابراین شما به چیزی نیاز دارید که این برنامه سطح بالا را به زبانی تبدیل کند که برای کامپیوتر قابل فهم باشد.
اینجا درست زمانی است که Compiler و Interpreter ها به کمک ما می آیند و هر دوی آنها یک کار را برای ما انجام میدهند.
آنها زبان سطح بالا را به زبانی که کامپیوتر متوجه شود تبدیل می کنند.
مهمترین تفاوتی که بین یک Compiler و یک Interpreter وجود دارد روشی است که آنها کد اجرایی برنامه را اجرا می کنند. زمانیکه شما توسط Interpreter یا مفسر کد را اجرا می کند ، کد در همان لحظه به صورت خط به خط اجرا می شود و بصورت خط به خط برای کامپیوتر کدها جهت اجرا ارسال و ترجمه می گردند در مقابل زمانیکه شما یک کد برنامه را توسط Compiler یا کامپایلر اجرا می کنید ، کامپایلر کد شما را یکباره اجرا نمی کند بلکه کد را بصورت کامل بر روی دیسک شما قرار می دهد و به شما این امکان داده می شود که هر زمانی که دوست داشتید کد اجرایی را اجرا کنید. در این مقاله از لفظ کامپایلر به جای Compiler و همچنین مفسر به جای Interpreter استفاده خواهیم کرد.

تفاوت زبان برنامه نویسی کامپایلری و مفسری

وابسته بودن به سیستم عامل یا عدم وابستگی ؟ مسئله این است

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

تفاوت زبان های برنامه نویسی مفسری و کامپایلر

یکی از معایب استفاده از کامپایلر به جای مفسرها در این است که کامپایلرها وابستگی به سیستم عامل دارند ، یعنی شما با عوض کردن یک سیستم عامل و استفاده از سیستم عامل دیگر طبیعتا قادر به استفاده از نرم افزار کامپایل شده نخواهید بود ، دقت کنید نرم افزار کامپایل شده فقط بر روی یک سیستم عامل خاص اجرا می شود. اما زمانیکه از یک مفسر استفاده می کنید به دلیل اینکه کدهای برنامه بصورت خط به خط اجرا و تفسیر می شوند می توانید بر روی هر سیستم عاملی از آنها استفاده کنید. برای اینکه بتوانید از کامپایلر و کد کامپایل شدن بر روی یک سیستم عامل دیگر استفاده کنید بایستی کد را مجددا تغییر بدهید و برای سیستم عامل جدید مجددا کد را کامپایل کنید تا قادر به استفاده از آن باشید.


حدیثه شعبان نورح

پشتیبانی و مشاوره انتخاب رشته کنکور 96
در رشته دلخواهتان با چه رتبه ای قبول می شوید ؟
پاسخ به سوالاتی درباره انتخاب رشته دانشگاه آزاد، ظرفیت مازاد ، شهریه ها ، پذیرش صرفا با سوابق تحصیلی دانشگاه آزاد ، نحوه چیدمان رشته ها ، رشته های بدون کنکور و ...

از طریق تلفن ثابت در سراسر کشور
با شماره 9099071219 تماس بگیرید
ساعت پاسخگویی از 8 صبح تا 12 شب