احتمالا اسم زبان های برنامه نویسی پایتون، جاوا اسکریپت و سی شارپ و … به گوشتان خورده و با آن ها آشناییت دارید. تفاوت اصلی این زبان های برنامه نویسی را میدانید؟ در مورد زبان های سطح بالا و سطح پایین و تفاوت هایشان اطلاعی دارید؟ در این مقاله قصد داریم تفاوت زبان سطح بالا و سطح پایین را بیان کنیم؛ با ما همراه باشید.
پیش تر در مقاله زبان برنامه نویسی چیست با زبان برنامه نویسی آشنا شدید. هزاران زبان برنامه نویسی تاکنون توسعه یافتهاند، اما هر زبان اهداف خاص خود را دارند. برخی زبان ها در نگاه قابل فهم تر هستند و برخی تا علم آن برنامه رو نداشته باشید، قابل خواندن و نوشتن نیستند. زبان های برنامه نویسی را میتوان بر اساس سطوح انتزاع به دو دسته تقسیم کرد:
- زبان سطح پایین
- زبان سطح بالا
زبان سطح پایین چیست؟
زبان سطح پایین که به «زبان ماشین» معروف است، زبانی است که درک آن برای کامپیوتر نسبت به ما راحت تر است و این زبان فقط از طریق سیستم باینری یعنی صفر و یک کار میکند. زبان سطح پایین به دو دسته تقسیم میشوند:
- زبان های اسمبلی (Assembly)
- کدهای ماشین (Machine Code)
زبان سطح بالا چیست؟
این زبانی است که درک آن برای مردم آسان تر است. از زبان و کلمات انسان تشکیل شده به طوری که فهم آن راحت تر است. از آنجایی که این زبان ها انسان پسند هستند، پس نیاز به فرایندی دارند که به زبان ماشین تبدیل شوند تا کامپیوتر بتواند آنها را درک کند. زبان های پایتون، جاوا، C و همچنین C++ و غیره چند نمونه از زبان های سطح بالا هستند.
پس تا اینجا فهمیدیم زبانی که درک آن برای کامپیوتر آسان باشد، زبان سطح پایین و زبانی که درک آن برای انسان آسان باشد، زبان سطح بالا است.
تفاوت زبان سطح بالا و سطح پایین
زبان سطح بالا و سطح پایین تفاوت های بیشماری دارند که در اینجا به چند مورد از آن میپردازیم:
1_زبان
زبان سطح پایین به زبان ماشین نزدیک تر است و به راحتی توسط ماشین ها قابل تفسیر هستند. در مقابل زبان سطح بالا به دلیل نزدیکی به زبان انسان و استفاده از کلمات انگلیسی و نمادهای ریاضی، بیشتر مورد پسند برنامه نویسان است.
base = float(input('enter your base')) height = float(input('enter your height')) area = base * height print ('Area is: ', area)
2_قابل درک و اشکال زدایی
درک و یادگیری زبان های سطح بالا نسبت به زبان های سطح پایین برای برنامه نویسان آسان تر است و همچنین تعداد و درصد خطای کمتری نشان میدهند، در نتیجه رفع اشکالات آن نیز به مراتب راحت تر خواهد بود.
3_سهولت در اجرا
زبان های سطح بالا برخلاف زبان های سطح پایین به راحتی اجرا میشوند.
4_فرآیند ترجمه
زبان های سطح بالا برای ترجمه به کد ماشین به کامپایلر یا مترجم نیاز دارند ولی در زبان های سطح پایین تنها به یک اسمبلر برای ترجمه ی مستقیم دستورالعمل ها نیاز است.
کد های نوشته شده در زبان سطح بالا برای ترجمه و تبدیل شدن به دستوری که برای ماشین قابل درک باشه، نیاز به یک نرم افزار کامپایلر دارد. نوع کامپایلر های استفاده شده هم میتواند روی سرعت اجرا و ترجمه اثر بگذارد.
5_کارایی حافظه
زبان های سطح بالا کارایی حافظه پایینی دارند و این بدان معناست که آن ها بیش از هر زبان سطح پایینی حافظه بیشتر و انرژی بالاتری مصرف میکنند.
6_ قابلیت حمل و وابستگی به ماشین
زبان های سطح پایین وابسته به ماشین هستند و برای هر سخت افزاری متفاوت است و فقط روی همان پیکربندی مشخص اجرا میشوند و اگر آن پیکربندی تغییر کند، آن زبان از کار خواهد افتاد. بنابراین زبان های سطح پایین قابلیت حمل به دستگاه دیگری را ندارند.
اگر برنامه بتواند بر روی هر سیستم کامپیوتر و ماشین کار کند و سازگار باشد، آن زبان مستقل از ماشین است. زبان های سطح بالا را به راحتی میتوان بین دو دستگاه انتقال داد اما باید توجه داشت که این دو دستگاه دارای سیستم عامل یکسانی باشند. زیرا تمامی زبان ها از جمله زبان سطح بالا به سیستم وابسته است.
7_تعمیر و نگهداری
تعمیر و نگهداری زبان های سطح بالا یک تکنیک تعمیر و نگهداری ساده و جامع دارند. حفظ زبان سطح پایین بسیار پیچیده است.
8_میزان استفاده و محبوبیت
فکر میکنم با خواندن عنوان فهمیده باشید منظور کدام زبان برنامه نویسی است؟ درسته! زبان سطح بالا به خاطر استفاده از عبارات انگلیسی و قابل درک بودن بین برنامه نویسان محبوب تر است و در دنیای برنامه نویسی استفاده از آن گسترده تر است. استفاده از زبان های سطح پایین که مستقیما کد و دستوالعمل های مختلف ماشین را وارد کنیم، امروزه چندان رایج نیست.
9_سرعت اجرا و عملکرد
برنامه های زبان سطح پایین دارای سرعت و عملکرد بهتری نسبت به برنامه های زبان سطح بالا هستند. توابع، کتابخانه و کلیدواژه های کمتری در آنها استفاده میشود به همین خاطر نیازی به ترجمه و تبدیل به زبان ماشین ندارند. سرعت زبان های سطح بالا بسته به نوع کامپایلر و مترجمی که استفاده میکنیم، متفاوت است.
10_انتزاع
به طور کلی میتوانیم مفاهیم انتزاعی را این طور تعریف کنیم، یک طرح کلی و الگو برای چیز های عینی که میتوان آن ها را زیر مجموعه ی آن الگو قرار داد.
زبان های سطح بالا امکان انتزاع بالاتر رو فراهم میکنند؛ در مقابل زبان های سطح پایین امکان انتزاع بسیار کمی یا بدون انتزاع دارند.
11_امکانات ارائه شده
زبان های سطح بالا امکانات توابع و کتابخانه های زیادی دارند که نسبت به منابعی که در دسترس داریم میتوانیم آن را توسعه دهیم و امکانات در سطح سخت افزار را پوشش نمیدهند. زبان های سطح پایین بسیار نزدیک به سخت افزار هستند.
12_نیاز به سخت افزار
همانطور که در مورد قبلی گفتیم به دلیل اینکه زبان سطح پایین به سخت افزار و معماری پردازنده های کامپیوتر نزدیک هست، برای نوشتن کد داشتن دانش سخت افزاری پیش نیاز است.
13_سهولت در اصلاح
فرآیند اصلاح با برنامه های سطح بالا بسیار دشوار است؛ زیرا هر عبارت ممکن است گروهی از دستورات را در حلقه ی اجرا کننده ی خود داشته باشد و کل حلقه دچار خطا شود. در برنامه های سطح پایین میتواند مستقیما عبارات را به دستورالعمل های پردازنده ویرایش نماید و آن را جایگزین کند.
14_کاربرد
به علت ارتباط زبان های سطح پایین با سخت افزار، از آنها برای توسعه تمام سیستم های عامل استفاده میشود. زبان های سطح بالا اغلب برای توسعه وبسایت، نرم افزار، اپلیکیشن ها و ربات ها مورد استفاده قرار گرفته میشود.
15_پشتیبانی
پشتیبانی و مختصصین زبان سطح پایین در مقایسه با زبان سطح پایین بسیار کمتر هستند.
سخن پایانی
عبارت سطح بالا به این معنی نیست که این زبان ارزش بیشتری نسبت به زبان سطح پایین دارد؛ بلکه به دلیل وجود انتزاع و نزدیک بودن به زبان انسان است و شاخص اصلی طبقه بندی زبان های برنامه نویسی همین وجود انتزاع در آن است. هر کدام از سطح زبان ها ویژگی های مخصوص خودشان را دارند که نسبت به هدف و پروژه ای که میخواهیم انجام دهیم، آن ها را انتخاب میکنیم.
اگر تا الان در حال یادگیری زبانی بودید و حال میخواهید زبان دیگری را یاد بگیرید اصلا نگران نباشید. با وجود تفاوت های زیادی که این دو سطح و زبان های برنامه نویسی با یکدیگر دارند، با توجه به خاصیت زبان های برنامه نویسی یادگیری زبان دیگر آسان تر خواهد بود، البته حواستان باشد اگر سمت زبان های سطح پایین رفتید، خواندن مطالب در مورد معماری ماشین و تکمیل پیش زمینه در این مورد فراموش نشود. اگر به برنامه نویسی علاقه دارید و هنوز شروع نکردید، شاید بهتر است برای شروع سراغ زبان سطح بالایی همچون پایتون بروید.
امیدواریم در این مقاله توانسته باشیم شما را در انتخاب زبان برنامه نویسی دلخواهتان یاری کرده باشیم. نظرات خود را در قسمت دیدگاه با ما به اشتراک بگذارید.
دیدگاه ها
0 دیدگاه