توسعه دهنده وب
نحوه کارکرد زبان های برنامه نویسی
زبان های برنامه نویسی مثل واسطه عمل می کنند , دقیقا مثل زبان های هر کشور , اگر هرکسی زبان کشور خاصی رو بلد باشه می تونه با مردم بومی اون کشور ارتباط برقرار کنه.
پس اگر به زبان برنامه نویسی مسلط هستید , شما در واقع دارید با کامپیوتر حرف می زنید.
زبان های برنامه نویسی از نظر سطح دسترسی به سخت افزار سیستم به 2 قسمت تقسیم می شوند
1. Low level programming languages
2. High level programming languages
زبان های سطح پایین به سخت افزار سیستم دسترسی کامل دارند و از نظر خوانایی کدها برای انسان کمی سخت و پیچیده است و پردازش این کد ها برای سخت افزار ها بسیار راحته و در سریع ترین زمان ممکن پردازش می شوند , برای استفاده از این زبان باید دانش بالایی در مورد سخت افزار کامپیوتر داشته باشید.
زبان های سطح بالا به سخت افزار ها دسترسی چندانی نداره , اما این زبان ها بیشتر برای رفع نیاز های بازار کار به کار گرفته می شن. این زبان ها به واسطه زبان های سطح پایین بوجود آمده اند , خواندن اونها برای انسان ها قابل فهم مثلا : کاربر_را_نمایش_بده یا دوربین_را_روشن_کن و ...
البته که دستورات به زبان پارسی نیستند و فقط انگلیسی هم نیستند , زبان های برنامه نویسی برای پردازش کدها قاعده و قوانینی دارند که پردازش گر طبق قائده و اصول قراردادی , کدها رو پردازش می کنه.
ما به این روش های نوشتاری syntax می گیم و اگر سینتکس درست را در کدها اعمال نکنیم کامپیوتر نمی تواند کد ما را درک کند.
سینتکس ها در زبان های مختلف :
Php :
<?php
echo "Hello World!"
?>
Java :
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
C :
#include <stdio.h>
int main() {
// printf() displays the string inside quotation
printf("Hello, World!");
return 0;
}
swift :
// Hello, World! Program
import Swift
print("Hello, World!")
شاید سوال براتون پیش بیاد : خب من کجا می تونم کد بزنم ؟
در ابتدا شما می تونید در یک notepad یا ی ویرایش گر متن خیلی ساده در کامپیوتر خودتون استفاده کنید و در آخر فایل را با فرمت دلخواه ذخیره کنید , اما این بهترین راه برای زدن کد نیست.
آبراهم لینکون می گه : قبل از اینکه درختی رو قطع کنی , تبرتو تیز کن !
ما برنامه نویس ها باید همیشه حواسمون باشه که تبرمون تیز باشه , بنابراین برنامه هایی نوشته شده که تو تفهیم کدها و البته نوشتن کدها کمکمون کنه.
آی دی ای (IDE) یا Integrated Development Environment که ترجمش میشه محیط توسعه یک پارچه , در واقع محیطی هست که یک سری امکانات کد نویسی رو به برنامه نویس ارائه می ده.
این نرم افزار ها با استفاده از رنگ ها و چیدمان های حروف و خیلی امکانات دیگه , کمکمون می کنه که کد رو به طور صحیح بنویسیم تا برنامه نوشته شده حداقل خطای سینتکسی نداشته باشه.
در مورد خطا های برنامه نویسی در مقاله جدا توضیح می دم.
نحوه پردازش زبان های برنامه نویسی در کامپیوتر
نحوه پردازش برنامه از طریق compiler یا Interpreter مربوط به زبان برنامه نویسی پردازش می شه.
هر برنامه ای که با زبان برنامه نویسی سطح بالا نوشته میشه باید به زبان ماشین تبدیل بشه تا cpu برنامه رو درک و اجرا کنه.
کامپیلر یعنی کل کدهای زبان سطح بالا رو اسکن کرده و به یک فایلی متشکل از 0 و 1 ها یا زبان ماشین ساخته بشه و در آخر فایل متشکل از صفر ها و یک ها در cpu پردازش می شه.
اینترپرتر یعنی فایل های برنامه بلافاصله تبدیل به صفر و یک شود و در cpu اجرا شود.
فرق بر این هست که اگر من با یه زبان برنامه نویسی که از طریق کامپایل شدن اجرا می شه رو بنویسم, من می تونم من کد (یا همان source code) رو داشته باشم و فقط نسخه صفر و یکی اون برنامه به کاربران بدم تا برنامه رو اجرا کنند.
اگر دقت کرده باشید برنامه های تخت ویندوز با فرمت .exe هستند (عموما "دات اِگزا " خونده می شه ) و یعنی executable یا قابل اجرای آنی است و این در حالی هست که سورس کد را در اختیار ندارید.
از طرفی دیگر در روش Interpreter یا همان مفسر یعنی شما فقط با داشتن سورس کد می تونید برنامه رو اجرا کنید یعنی برنامه نویسی با زبان مفسری ( scripting language ) که سورس کدی را که نوشته شد و برای اینکه برنامه را در سیستم کاربران اجرا کند باید یک نسخه از کدهای برنامه خودش را کپی کند و به کاربران ارائه دهد و کاربران می تونن در صورت دلخواه کد رو تغییر بدن.
سوال : چرا اینقدر زبان های برنامه نویسی زیاد هست ؟ چرا یک زبان ثابت برای همه نیست که همه طبق اون زبان جلو برن ؟
سوال خیلی خوبیه , پیشرفت در دنیای IT به طرز وحشتناکی سریعه از ساخت گجت های جدید گرفته تا سخت افزار و البته نرم افزار.
در همین زمانه روز به روز و ماه به ماه نیاز های ما برطرف می شه و نیاز های جدیدی بوجود می آیند.
مثلا در دوران کرونا شما نیازی نداری که به صورت فیزیکی برید فروشگاه خرید کنید شما می تونید آنلاین سفارش بدید.
دیگه لازم نیست که محلتون زندگتون حتما آژانس داشته باشه تا سریعا به مقصد برسید.
اما نیاز های جدید چیه ؟
پیرایش های در منزل , کارواش های سیار و کلید سازی های سیار و ماساژور ها در منزل و ...
نیاز های جدید رو برطرف می کنند.
این موضوع در IOT هم جذاب تر میشه !
هر چیزی که شما در دوربر خودتون می بینید ی نیازی رو برطرف می کنه , عینک مشکل بینایی رو حل می کنه , صندلی : محل راحتی برای نشستن فراهم می کنه و ...
زبان های برنامه نویسی هم برای همین بوجود آمده اند از سطح پایین گرفته تا سطح بالا هر کدام برای کاری ساخته شده اند.
و البته رقابت بین اونها هم سر اینکه : کدومشون سریع تر , بهینه تر و قابلیت استفاده راحت تر و ... هست.
و البته که یک زبان واحد برای همه وجود داره تا باهاش کد بزنید و اون " زبان ماشینه " .
همون زبان سخت و پیچیده ای که باید علم سخت افزار قورت رو داده باشید , و البته کمتر کسی سمت این مباحث می ره چون جنبه تحقیقاتی و بهینه سازی و امنیتی سیستم های کامپیوتر رو به همراه داره و جنبه تجاری نداره .
در مقاله های دیگه در مورد کاربرد زبان های برنامه نویسی صحبت می کنم.
موفق باشید.
مطلبی دیگر از این انتشارات
آیا دیپ لرنینگ به کارت گرافیک احتیاج دارد؟
مطلبی دیگر از این انتشارات
**الگوریتم جستجوی خطی** چیست
مطلبی دیگر از این انتشارات
ایجاد پروژه آیونیک در لینوکس علیرغم تحریمها