کسب در آمد از فورکیا
امتیاز مثبت و منفی زبان های برنامه نویسی

امتیاز مثبت و منفی زبان های برنامه نویسی


هدف کلی زبان ماشین، زبان اسمبلی، زبان سطح بالا و زبان C این است که به شما روش های متفاوت برای دستور دادن به پردازنده (کامپیوتر) را بدهند. در نهایت مهم نیست کدام نوع زبان برنامه نویسی استفاده می شود، زیرا ممکن است یک برنامه دقیقا مشابه را در زبان ماشین، زبان اسمبلی، زبان سطح بالا مانند BASIC یا FORTRAN و C را نوشت.

تنها تفاوت این است که نوشتن یک برنامه در زبان ماشین مدت زبان بسیار طولانی می خواهد و اگر مشکلی وجود داشته باشد فهمیدن و رفع آن مشکل بسیار بسیار دشوار خواهد بود. یک برنامه مشابه نوشته در زبان اسمبلی کوچک تر و ساده تر از برنامه معادل زبان ماشین است.

نوشتن همان برنامه در زبان C باعث می شود نوشتن و درک برنامه حتی کوچک تر و بسیار آسان تر شود. اگر از زبان سطح بالا استفاده کنید، این برنامه به احتمال زیاد کوچک تر و راحت ترین کار برای درک نسبت به تمام زبان های نام برده شده خواهد بود.

بنابراین با توجه به این مزایای زبان C یا سطح بالا، چرا کسی هرگز از زبان ماشین یا زبان اسمبلی استفاده نمی کند؟ پاسخ ساده است: سرعت و کارایی.

 مترجم زبان کامپیوتر

مترجم های زبان کامپیوتر

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

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

اسمبلی و اسمبلر

ترجمه زبان اسمبلی به زبان ماشین با دست، کند و مستعد خطا است، بنابراین دانشمندان کامپیوتر برنامه های ویژه ای ایجاد کردند که می تواند این کار را به صورت خودکار انجام دهد. این برنامه ها اسمبلرها (Assemblers)هستند.

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

سطح بالا و کامپایلر

نوشتن و درک زبان سطح بالا راحت تر از زبان ماشین یا اسمبلی است. مشکل این است که پردازنده ها، زبان سطح بالا را هم درک نمی کنند، بنابراین باید یک برنامه زبان سطح بالا را به دستور زبان ماشین ترجمه کند. انجام اینکار به صورت دستی تقریبا غیرممکن است، بنابراین دانشمندان کامپیوتر، برنامه های خاصی را ایجاد می کنند که در انجام این کار یعنی ترجمه زبان سطح بالا به زبان ماشین به آنها کمک کند این برنامه ها کامپایلر (compiler)نام دارند.

کامپایلر فقط یک وظیفه دارد آنهم معادل سازی زبان سطح بالا به زبان ماشین که این کار باعث می شود برنامه ای که در زبان سطح بالا نوشته شده است اجرا شود.

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

یک قاعده کلی

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

اگر می خواهید یک برنامه بزرگ و سریع (مانند یک سیستم عامل یا پردازشگر کلمه) بسازید و دچار سردرگمی هم نوشید از زبان برنامه نویسی C استفاده کنید.

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

مهارت برنامه نویسی همیشه کیفیت هربرنامه را تعیین می کند؛ همیشه نوع زبان برنامه نویسی اولویت دوم است. در نتیجه هدف این نیست که یک برنامه نویس "C" یا یک برنامه نویس "FORTRAN" شوید. هدف این است که بدون در نظر گرفتن زبانی که در نهایت از آن استفاده می کنید یک برنامه نویس خوب و قدرت مند شوید.

جلسه قبل | جلسه بعد

تبلیغات در پایین ادامه ی مطلب

نظرات شما


    نام
    ایمیل (منتشر نمی‌شود) (لازم)
    وبسایت
    :) :( ;) :D ;)) :X :? :P :* =(( :O @};- :B /:) :S
    نظر خصوصی
    مشخصات شما ذخیره شود ؟ [حذف مشخصات] [شکلک ها]
    کد امنیتیرفرش کد امنیتی