مقایسه ی سطح های بالاتر و پایینتر زبان های برنامه نویسی
1396/09/08 17:14 , شایان مسلمی

مقایسه ی سطح های بالاتر و پایینتر زبان های برنامه نویسی

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

زبان های "سطح بالاتر " و "سطح پایینتر"

در طول این مقاله، من درباره ی این دو سطح صحبت خواهم کرد.اما برای هیچکدام معیارهای مقدماتی وجود ندارد.

فقط به یاد داشته باشید که این به چشم انداز شما بستگی دارد.اگر شما یک برنامه نویس C باشید، جاوا ممکن است کاملاً سطح بالا باشد.اگر از Ruby استفاده میکنید، جاوا ممکن است سطح پایین باشد.

کدهای ماشینی و زبان های سطح پایین

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

مثالی از کدهای ماشینی:

8B542408 83FA0077 06B80000 0000C383

FA027706 B8010000 00C353BB 01000000

B9010000 008D0419 83FA0376 078BD989

C14AEBF1 5BC3

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

نوشتن مستقیم در کدهای ماشینی امکان پذیر است اما بسیار سخت است.

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

در کدهای ماشینی، شما ممکن است چیزی مثل " 10110000 01100001" بنویسید، اما یک زبان سرهم شده ممکن است این ارقام را به "MOV AL,61h" ساده کند.هنوز هم یک مطابقت یک به یک بین آنچه که در زبان سرهم شده نوشته میشود و دستورالعمل هایی که در ماشین موجود است، وجود دارد.

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

زبان های برنامه نویسی سطح بالا

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

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

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

زمانی که یک زبان سرهم شده تطابق یک به یک بین دستوراتش و دستورات کدهای ماشینی داشته باشد، یک زبان سطح بالاتر میتواند دستورات زیادی تنها با یک خط کد ارسال کند.

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

کدام زبان را باید یاد بگیرید؟ سطح بالا یا سطح پایین؟

این مطمئناً یک سؤال رایج در میان برنامه نویسان مبتدی و مشتاق است.کدام یک از زبان های سطح بالا و سطح پایین بهتر است؟ در رابطه با این سؤال باید اظهار کرد که پاسخ دادن به سؤال مربوط به این دو زبان کاملاً  ساده نیست.

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

 

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

C

C++

Java

C#

Perl

Lisp

Javascript

Python

Ruby

SQL

چه کاری میخواهد انجام دهید؟

زمانی که تصمیم گرفتید چه چیزی را میخواهید بیاموزید، سؤال اولتان این خواهد بود: چه چیزی را میخواهید برنامه نویسی کنید؟

اگر میخواهید سیستم های عامل، کرنل ها یا هرچیزی که نیاز داشته باشد با بالاترین سرعت ممکن اجرا شود، پس زبان های سطح پایین انتخاب خوبی خواهند بود.بیشتر ویندوز،OS X و لینوکس در زبان C و مشابه آن ها یعنی C++ نوشته شده اند.

اپلیکیشن های مدرن بسیاری در سطوح بالاتر یا حتی زبان های مخصوص به دامنه نوشته شده اند.پیتون و روبی که مخصوص به طراحی اپلیکیشن های وب هستند، از طریق HTML5 در حال قدرتمندتر شدن هستند.زبان هایی مثل سوئیفت،C# ، جاوااسکریپت و SQL نیز هرکدام نقاط ضعف و قوت خودشان را دارند.

تلاش کنید هردو را یادبگیرید

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

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

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

به هدف تمرکز کنید نه وسیله!

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

پروژه ی شما ممکن است با یک زبان سطح پایین تکمیل بشود، یا حتی با یک زبان سطح بالاتر.اما کلید این است که ابزار مناسبی برای کارتان پیدا کنید. برر.ی هدفتان تمرکز کنید، و مطمئن باشید که همیشه زبان مناسبی را انتخاب خواهید کرد!

 مطالب مرتبط

زبان‌های برنامه‌نویسی مورد نیاز برای توسعه نرم‌افزاری
7 دلیل منطقی برای آموختن #C
 طبقه بندی زبان های برنامه نویسی
۱۰ زبان برنامه‌نویسی که احتمالا آن‌ها را نمی‌شناسید
 LINQ(زبان جستجوی یکپارچه)
برنامه نویسی شیءگرا چیست؟

از آخرین دوره های آموزشی و تخفیف ها مطلع شوید

با تکمیل فرم زیر ، از اخبار و اطلاعات به روز برنامه نویسی و تکنولوژی عقب نمانید

آخرین مطالب

آموزش جامع SQL Server (جلسه ۱۲)
آموزش جامع SQL Server (جلسه ۱۲)

دستور UPDATE در SQL Server برای تغییر داده‌های موجود در یک جدول، از دستور UPDATE به شکل زیر استفاده ...

آموزش جامع SQL Server (جلسه ۱۵)
آموزش جامع SQL Server (جلسه ۱۵)

دستور DROP TABLE در SQL Server گاهی، لازم است یک جدول که دیگر استفاده‌ای ندارد را حذف کنید. برای ...

آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)
آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)

بخش اول از آخرین مبحث دوره جامع آموزش SQL Server در جلسه قبلی بررسی شد. این مبحث که ...

آخرین دیدگاه ها

دیدگاه خود را درباره این پست بنویسید

فرم ارسال نظرات