0

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

دسته بندی ها : اموزشات برنامه نویسی 5 شهریور 1398 admin 128 بازدید

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

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

برای مثال یکی از این زبان ها،زبان ماشین(Machine Language) نامیده میشود که به جای اینکه از دستورات انگلیسی در آن استفاده کنیم از اعداد صفر و یک برای نوشتن دستورات لازم استفاده میکنیم.

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

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

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

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

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

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

دقت کنید که هر پردازنده صرفا زبان اسمبلی خاص خود را میفهمد بطور مثال پردازنده Intel Core 2 زبان اسمبلی پردازنده PowerPc را نمیفهمد و بالعکس. امادر این بین پردازنده هایی هم هستند که با سایر پردازنده ها تعامل خوبی دارند مثل پردازنده های AMD که با پردازنده های اینتل سازگار می باشند.

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

برخلاف زبان های برنامه نویسی سطح پائین،زبان های برنامه نویسی سطح بالا از دستوراتی متشکل از کلمات انگلیسی(که قابل فهم برای انسان ها هستند) استفاده میکنند.هنگامی که برنامه نویس دستورات مد نظرش را در یکی از زبان های سطح بالا (مانند:PHP,Ruby,Java S cript و…) می نویسد یک نرم افزار واسطه آن کدها را به زبان ماشین ترجمه کرده و در اختیار سیستم قرار میدهد چرا که سیستم ها فقط و فقط معنی زبان ماشین را متوجه میشوند.

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

زبان های برنامه نویسی سطح بالا باعث شوند تا برنامه نویسان وارد جزئیات برنامه نویسی و نحوه عملکرد پردازنده نشوند اما این دور بودن از جزئیات منجر به این می شد تا در برخی شرایط دست برنامه نویسان آنطور که باید و شاید باز نباشد. بنابراین برای آنکه وجه اشتراکی بین زبان های سطح بالا و زبان اصلی (که یک زبان سطح پائین است) ایجاد شود.زبانی تحت عنوان زبان برنامه نویسی C ابداع شد.

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

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

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

با ما در نواتک همراه باشید.

admin

راه آسان‌تری برای ارتباط با کاربران‌مان پیدا کرده‌ایم :) عضویت در کانال

مطالب زیر را حتما بخوانید:

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

نظرات کاربران

    پاسخی بگذارید

    نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

    لینک کوتاه :

    عضویت در خبرنامه ویژه کاربران/مشتریان نواتک

    با عضویت در خبرنامه ویژه نواتک از آخرین جشنواره های سایت باخبر شوید!