زبان های برنامه نویسی : آموزش فارسی ++C به زبان ساده (درس اول) - بهینگی

زبان های برنامه نویسی : آموزش فارسی ++C به زبان ساده (درس اول)

50
0
اشتراک گذاری :
زبان های برنامه نویسی : آموزش فارسی ++C به زبان ساده (درس اول)

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

زبان های برنامه نویسی

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

زبان های برنامه نویسی : آموزش فارسی C++ به زبان ساده (درس اول)

زبان ماشین

پردازنده ی کامپیوتر نمیتواند به زبان ++C صحبت کند. مجموعه ی بسیار محدود دستورالعمل هایی که پردازنده کامیپوتر ذاتا میفهمد، کد ماشین (یا زبان ماشین یا مجموعه ی دستورالعمل) نامیده میشود.

نحوه نوشتن این دستورالعمل ها فراتر از محدوده ی این بخش است اما دو مورد را در این خصوص بیان می کنیم:

اول : هر دستورالعمل، از ارقام دودویی تشکیل شده است. یعنی هر رقم میتواند ۰ یا ۱ باشد. این ارقام دودویی، بیت نامیده میشوند.

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

انواع مختلف پردازنده ها معمولا مجموعه ی دستورالعمل های متفاوتی دارند. دستورالعمل هایی که بر روی Pentium 4 اجرا میشود بر روی رایانه ی Macintosh اجرا نخواهد شد.  در گذشته، زمانی که اولین کامپیوترها اختراع شد، برنامه نویس ها مجبور بودند برنامه ها را مستقیما به زبان ماشین بنویسند که کاری بسیار سخت و زمان بر بود.

مثال : دستور العملی به زبان ماشین :۱۰۱۱۰۰۰۰ ۰۱۱۰۰۰۰۱

زبان اسمبلی

زبان اسمبلی به علت سختی زبان ماشین در برنامه نویسی ابداع شد. در زبان اسمبلی هر دستورالعمل (به جای یک سری از بیت ها) با استفاده از کلید واژه هایی نوشته میشوند. متغیرها میتوانند به جای اعداد با اسامی معرفی شوند. این موضوع خواندن و نوشتن کدهای اسمبلی را ساده تر می کند.

پردازشگر به طور مستقیم قادر به فهم زبان اسمبلی نیست، پس بایستی با استفاده از مترجم ها (اسمبلرها) این زبان را به زبان ماشین ترجمه کرد.

سرعت بالا از ویژگی های بارز زبان اسمبلی است و زمانی که سرعت فاکتور مهم و مد نظر باشد، همواره از این زبان استفاده می شود. علت سرعت بالای زبان اسمبلی این است که برای هر پردازنده به صورت انحصاری طراحی میشود.

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

مثال: در اینجا دستورالعملی مشابه دستورالعمل بالا را به زبان اسمبلی مشاهده می کنید:

mov al, 061h

زبان های برنامه نویسی : آموزش فارسی C++ به زبان ساده (درس اول)

زبان های سطح بالا

برای پاسخ به این مسائل زبان های سطح بالای برنامه نویسی ابداع شدند.  سی(C)، سی پلاس پلاس( ++C)، پاسکال(Pascal)‌، جاوا(Java)، جاوا اسکریپ(JavaScript) و پرل(Perl) از جمله‌ی زبان های سطح بالا هستند.

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

مراحل پردازش زبانهای سطح بالا

تبدیل زبانهای سطح بالا به زبانی که برای کامپیوتر قابل فهم باشد، به دو روش انجام میشود :

۱) کامپایل کردن

۲) تفسیر کردن

کامپایل زبان های سطح بالا

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

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

در شکل زیر فرایند کامپایل (پردازش) برنامه  به صورت ساده شده بیان می شود:

زبان های برنامه نویسی : آموزش فارسی C++ به زبان ساده (درس اول)

تفسیر (interpretation ) زبان های سطح بالا

مفسر(interpreter) برنامه ای است که مستقیما کد را بدون تبدیل به کدِ ماشین اجرا می کند. مفسرها از انعطاف بیشتری برخوردارند، اما در هنگام اجرای برنامه کارایی کمتری دارند زیرا هر بار که برنامه اجرا می شود، باید کار ترجمه انجام شود. بنابراین هر بار که می خواهد برنامه اجرا شود، نیاز به مفسر هست.

در شکل زیر فرایند تفسیر(interpretation) برنامه  به صورت ساده شده بیان می شود:

زبان های برنامه نویسی : آموزش فارسی C++ به زبان ساده (درس اول)

هر زبانی قابل تفسیر و کامپایل است، البته زبانهای قدیمی مانند C++، C، Pascal معمولا کامپایل می شوند، در حالیکه زبان های اسکریپتی مانند Perl و جاوا اسکریپت تفسیر می شوند. برخی برنامه ها مثل جاوا نیز از هر دو استفاده می کنند.

ویژگیهای زبان های سطح بالا

زبان های سطح بالا چند ویژگی مطلوب دارند:

اول: خواندن و نوشتن زبان های سطح بالا بسیار آسان تر است. به عنوان نمونه دستورالعمل مشابه بالا داریم : a = 97

دوم: آنها برای انجام کار یکسان، به دستورات کمتری نسبت به زبانهای سطح پایین نیاز دارند. در ++C  می توان کارهایی مانند a= b * 2 + 5  در یک خط دستور نوشت.

سوم: الزامی برای توجه به جزییاتی مانند بارگذاری متغیرها درون CPU وجود ندارد. کامپایلر یا مفسر این کارها و جزییات را انجام میدهند.

چهارم: در معماریهای مختلف کامپیوتر قابل استفاده هستند. البته به جز یک سری موارد استثنا که خارج از این بحث است.

زبان های برنامه نویسی : آموزش فارسی C++ به زبان ساده (درس اول)

با گوشی اسکن کنید
1 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 5

میانگین امتیاز 5٫00 از 5 با 1 رای
در حال ثبت...

ترتیب پیشنهادی بهینگی برای :

دیدگاه بگذارید

اولین نفری باشید که دیدگاه میگذارد

به من اطلاع بده
avatar
wpDiscuz