برنامهنویسی یکی از مقولههایی است که سالهاست نقش اصلی ارتباط انسانها با کامپیوتر و ماشینها را بازی میکند. یک زبان مشترک که به صورت نوشتاری به کامپیوترها میگوید چه کاری انجام دهند. به این صورت آنها را هدایت میکنیم تا کار ما را سادهتر کنند و بخشی از کارهای تکراری یا گاها کارهای پر اهمیت را سریعتر و دقیقتر انجام دهند. به همین منظور در این مقاله به تعریفی کلی از برنامهنویسی، تاریخچه آن و انواع زبانهای برنامهنویسی میپردازیم.
تاریخچه برنامهنویسی
احتمالا میدانید که کامپیوترهای اولیه مانند Colossus با ویرایش مدارهای آنها یا تنظیم مجموعه کنترلهای فیزیکی آنها برنامهریزی میشد. تا اینکه زبان ماشین به وجود آمد و امکان نوشتن برنامهها با Machine Language و به صورت عددی فراهم شد. در نتیجه زبانهای برنامه نویسی نسل اول با اختصار 1GL ایجاد و مدت کمی پس از آن زبانهای برنامه نویسی نسل دوم GL2 خلق شدند که به زبانهای اسمبلی Assembly Languages شهرت یافتند. در واقع زبان اسمبلی یک زبان سطح پایین و بر پایه صفر و یک است که برنامهنویس با اطلاع از مشخصات سختافزار CPU دستورهای مستقیم پردازنده اصلی را مینویسد. زبانهای برنامه نویسی نسل سوم GL3 نیز پس از نسل دوم در سال ۱۹۵۰ میلادی و ۱۳۳۰ شمسی به عنوان زبانهای برنامه نویسی سطح بالا High Level به وجود آمدند.
درباره برنامه نویسی
برنامه نویسی نوعی زبان نشانهگذاری نوشتاری یا گرافیکی است که برای ارتباط میان انسان و ماشین استفاده میشود. این نشانهگذاری یا نمادگذاریها، اصول محاسبات و الگوریتمها به شمار میآیند. به همین دلیل برخی از متخصصین زبان برنامه نویسی را فقط به آن زبانهایی تلقی میکنند که قابلیت ابراز و اجرای تمام این الگوریتمها را داشته باشند. زبانهای برنامهنویسی خصوصیتهای مشترکی با زبانهای طبیعی دارند. اما تفاوت مهم در اینجا است که یک زبان برنامهنویسی میتواند بهطور کامل مطالعه شود. چرا که این زبان تعریفی دقیق و پایانپذیر دارد. برخلاف آن، زبانهای طبیعی دارای معانی متغیر هستند و ممکن است بیانی دوپهلو و مبهم داشته باشند و توسط کاربران آنها در اجتماعات مختلف تبیین شوند. از ویژگیهای مهم اجزای تشکیل دهنده یک زبان برنامهنویسی میتوان به عملکرد و هدف، مفاهیم انتزاعی و قدرت بیان اشاره کرد.
کاربرد و اهمیت برنامه نویسی
امروزه کاربرد سیستمهای کامپیوتری بسیار فراتر از انجام یک سری وظیفه تکراری است. با توجه به اهمیت روز افزون زبانهای برنامهنویسی، ماشینها عملیات مهمتر و پیچیدهتری نسبت به گذشته انجام میدهند و کاربرد وسیعتری دارند. در بسیاری از زمینههای مختلف علمی، تحقیقاتی، صنعتی، پزشکی و تجاری از برنامهنویسی استفاده میشود. به طوری که در دنیای امروز نمیتوان اهمیت کامپیوترها را نادیده گرفت.
انواع زبانهای برنامهنویسی
تا به امروز هزاران زبان برنامهنویسی ایجاد شده است که هر کدام به نوع خود کاربردی و پراهمیت هستند. برخی از زبانهای برنامه نویسی به صورت دستوری Imperative و به صورت دنبالهای از عملیات اجرایی نوشته میشوند و به برخی دیگر اعلانی Declarative گفته میشود. یک زبان برنامهنویسی به دو جزء سینتکس Syntax و مفاهیم Semantics تقسیم میشود. به طور معمول این دو جزء، تشکیلدهنده یک زبان رسمی هستند. به عنوان مثال، مشخصههای زبان برنامه نویسی C به وسیله یک استاندارد ISO تعیین شدهاند.
حال ممکن است این سوال برای شما پیش بیاید که تفاوت زبان کامپیوتری با زبان برنامه نویسی چیست. اصطلاح زبان کامپیوتری Computer Language با زبان برنامه نویسی خیلی به هم نزدیک هستند. به طوری که میتوان زبانهای برنامه نویسی را زیرمجموعهای از زبان کامپیوتری دانست. در اینجا میتوان از محبوبترین زبانهای برنامه نویسی به جاوا، زبانهای C، C++ و C# ، .NET و PHP ، زبان برنامه نویسی R ، متلب، پایتون و سوئیفت اشاره کرد. همچنین زبانهای نشانهگذاری مثل HTML و XML که دادههای ساختاریافتهای را تعریف میکنند، هر چند که شاید زبان برنامهنویسی محسوب نشوند اما امکان به اشتراک گذاشتن سینتکس این زبانها Markup Language با زبانهای برنامهنویسی فراهم میشود. تمام زبانهای برنامهنویسی تعدادی عنصر اصلی اولیه برای توصیف دادهها، پردازشها و تغییرهای اعمال شده روی آنها دارند که توسط قوانین سینتکس و سمنتیک ساختار و مفهوم زبانهای برنامه نویسی را توصیف میکنند. در نتیجه شما میتوانید زبانهای مختلفی داشته باشید.