اگر بخواهیم برنامه نویسی را به زبان ساده تعریف کنیم، میتوانیم بگوییم مجموعهای از دستورات و کدهایی هستند که سیستمها میتوانند درک کنند، و خط به خط این دستورات را اجرا کنند. به عبارتی منظور از برنامه نویسی آن قطعه کدهایی است، که باعث برقراری ارتباط میان انسان و ماشین میشود.
البته لازم به ذکر است که این قطعه کدها توسط برنامه نویسها نوشته میشود. به طور کلی برنامه نویس یا Programmer کسی است که با استفاده از زبانهای کد نویسی کدها را مینویسد و برای اجرا به کامپیوتر می دهد.
زبانها از لحاظ سطح به دو بخش زبان برنامه نویسی سطح بالا و زبان برنامه نویسی سطح پایین تقسیم میشوند. در ادامه به بررسی هر کدام از این قسمتها خواهیم پرداخت.
زبانهای سطح پایین زبانهایی هستند که به زبان کامپیوتر نزدیک میباشند و این کد به زبان ماشین یا اسمبلی اشاره میکند. این زبانهای سطح پایین امکان مدیریت و برنامهریزی یک سازمان کامپیوتر را فراهم میکنند.
به عبارتی کدهای این زبان به سخت افزار بسیار نزدیک است. برنامههایی که به زبانهای سطح پایین نوشته میشوند، به دلیل بهینهسازی برای نوع خاصی از معماری سیستم، نسبتاً غیرقابل حمل میباشند. از ویژگیهای زبان برنامه نویسی سطح پایین میتوان به سادگی و سازگار بودن کد و همچنین سرعت بسیار بالا اشاره کرد.
در حوزهی کامپیوتر، 1GL یا First Generation Language (زبان برنامه نویسی نسل اول) به Machine Language (زبان ماشین) یا همان صفر و یک اشاره دارد. در زبان ماشین که یک زبان سطح پایین میباشد، برای نوشتن دستورات لازم، از اعداد صفر و یک بهجای دستورات انگلیسی استفاده میشود.
به طور کلی، هدف اصلی زبان اسمبلی، راحتتر کردن کد نویسی میباشد. زبانهای اسمبلی از مترجمی به نام اسمبلر استفاده میکنند.
کدهای زبان اسمبلی بعد از اسمبلر شدن، به طور مستقیم روی پردازنده اجرا میشوند. همچنین زبانهای برنامه سطح پایین میتوانند به سرعت پیادهسازی شوند و به حافظه کمی نیاز دارند.
زبان سطح بالا به زبان انسانها هماهنگتر و نزدیکتر میباشد. در زبان برنامه نویسی سطح بالا با استفاده مجموعهای از قوانین گرامری به راحتی میتوان دستورالعملهای آنها را ایجاد کرد. این زبان در دسته زبانهایی قرار دارد که توسط کاربران و برنامه نویسان قابل فهم و درک هستند. این زبانها به هیچ عنوان توسط کامپیوترها قابل درک نمیباشند.
به عنوان مثال جاوا اسکریپت یک زبان سطح بالا است که برای سهولت میتوانید از جیکوئری استفاده کنیید. جیکوئری یک کتابخانه و یک فریم ورک برای زبان جاوا اسکریپت است.
زبان رویه محور نوعی کد نویسی است که در آن عملیات و دستورات یکی پس از دیگری و به ترتیب اجرا میشوند. در یک برنامهی رویه ای (تابعها)، یکسری نام برای موقعیت های حافظه تعیین می شود.
در زبان رویه محور، ابتدا مکان های حافظه برای متغیرها تعریف می شوند و یک سری از رویه ها به منظور دریافت ورودی ها فراخوانی می شوند، سپس مقادیر ذخیره شده در حافظه بهعنوان خروجی برگردانده می شوند.
زبان مسئله محور به گونهای است که کاربران میتوانند، توصیف دقیق و تمامی جزئیات را در برنامهنویسی انجام دهند. این نوع زبان برنامهنویسی یک گام فراتر از زبان رویه محور است. برای تولید نتیجه بهتر در زبان مسئله محور اعمال تغییرات روی دیتاها باید مشخص کند که خروجی نهایی چه چیزی است.
زبان طبیعی از زبانهایی است که کدنویسی را به شکلی کاملا ساده و قابل درک تبدیل میکند. این زبان اکنون در حال توسعه میباشد. زبان طبیعی به انسانها کمک میکند، تا به طور مستقیم زبان محاوره را به زبان کامپیوتر تبدیل کنند. به عبارتی برنامهنویسان در تلاشند تا برنامهنویسی را به گونهای جلو ببرند که مانند جملات طبیعی و عادی به نظر برسند.
زبان شیگرا (OOP) یک شیوه برنامهنویسی میباشد. ساختار این زبان شیها هستند. مفهوم شیگرایی دقیقا از روی اشیائی که در زندگی خود می بینیم برگرفته شده است. یعنی سعی میشود، همه اجزا برنامه نویسی را با شی مدل کنند.
اسکریپت (Scripts) با زبانهای برنامه نویسی نوشته میشود و هدف آنها جلوگیری از انجام وظایف تکراری و اتوماتیک کردن آنها میباشد. اسکریپتها انواع مختلفی دارند و زبانهای اسکریپت نویسی با زبانهای برنامه نویسی کاملا متفاوت هستند. زبانهای اسکریپتی احتیاجی به کامپایل ندارند.