برنامه نویسی حوزههای گوناگونی را شامل میشود.
افراد میتوانند متناسب با سلیقه و علایق خود یک زبان برنامه نویسی را انتخاب کنند. مثلا اگر دوست دارید در زمینه وردپرس فعالیت کنید، میتوانید به سراغ زبان php بروید.
اما به طور کلی برنامه نویسی به 5 بخش اصلی تبدیل میشود. این بخشها عبارتند از برنامه نویسی کامپیوتر، توسعه و برنامه نویس موبایل، توسعه و برنامه نویسی وب، توسعه بازیهای کامپیوتری و برنامه نویسی علم داده.
زبانهای برنامه نویسی از لحاظ سطح به دو بخش زبان برنامه نویسی سطح بالا و زبان برنامه نویسی سطح پایین تقسیم میشوند. در ادامه به بررسی هر کدام از این قسمتها خواهیم پرداخت.
۱- زبان سطح پایین
زبانهای سطح پایین زبانهایی هستند که به زبان کامپیوتر نزدیک میباشند و این کد به زبان ماشین یا اسمبلی اشاره میکند. این زبانهای سطح پایین امکان مدیریت و برنامهریزی یک سازمان کامپیوتر را فراهم میکنند.
به عبارتی کدهای این زبان به سخت افزار بسیار نزدیک است. برنامههایی که به زبانهای سطح پایین نوشته میشوند، به دلیل بهینهسازی برای نوع خاصی از معماری سیستم، نسبتاً غیرقابل حمل میباشند. از ویژگیهای زبان برنامه نویسی سطح پایین میتوان به سادگی و سازگار بودن کد و همچنین سرعت بسیار بالا اشاره کرد.
زبان ماشین (1GL)
در حوزهی کامپیوتر، 1GL یا First Generation Language (زبان Programming نسل اول) به Machine Language (زبان ماشین) یا همان صفر و یک اشاره دارد. در زبان ماشین که یک زبان سطح پایین میباشد، برای نوشتن دستورات لازم، از اعداد صفر و یک بهجای دستورات انگلیسی استفاده میشود.
زبان اسمبلی (2GL)
در علوم کامپیوتر، 2GL یا Second Generation Language (زبان برنامهنویسی نسل دوم) به زبان Assembly (اسملی) اشاره دارد. به طور کلی، هدف اصلی زبان اسمبلی، راحتتر کردن برنامه نویسی میباشد. زبانهای اسمبلی از مترجمی به نام اسمبلر استفاده میکنند.
کدهای زبان اسمبلی بعد از اسمبلر شدن، به طور مستقیم روی پردازنده اجرا میشوند. همچنین زبانهای Programming سطح پایین میتوانند به سرعت پیادهسازی شوند و به حافظه کمی نیاز دارند.
۲- زبان سطح بالا
زبان Programming سطح بالا به زبان انسانها هماهنگتر و نزدیکتر میباشد. در زبان Programming سطح بالا با استفاده مجموعهای از قوانین گرامری به راحتی میتوان دستورالعملهای آنها را ایجاد کرد. این زبان در دسته زبانهایی قرار دارد که توسط کاربران و برنامه نویسان قابل فهم و درک هستند. این زبانها به هیچ عنوان توسط کامپیوترها قابل درک نمیباشند.
Programming رویهای (Procedure Programming)، یک پارادایم Programming است که برنامهها براساس دنبالهای از دستورالعملها اجرا میشوند. بنابراین رویهها مجموعهای از دستورات هستند، که میتوانند از مکانهای دیگر در کد فراخوانی شوند. یک رویه میتواند آرگومانها را بپذیرد و مقادیر را به فراخواننده برگرداند.
زبانهای برنامه نویسی در انواع متفاوتی وجود دارند. هر فرد میتواند متناسب با علاقه خود یک زبان Programming را انتخاب کند. این به این معنا است که بهترین زبان های Programming برای بازی با بهترین زبان های Programming اندروید کاملا تفاوت دارد. اما این را هم بدانید که برخی از زبان های Programming چند منظوره هستند.
Programming شیگرا (OOP) یک شیوه برنامهنویسی میباشد. ساختار این زبان شیها هستند. مفهوم شیگرایی دقیقا از روی اشیائی که در زندگی خود می بینیم برگرفته شده است. یعنی سعی میشود، همه اجزا Programming را با شی مدل کنند.
همانطور که میدانید زبان های متعددی از مفهوم شی گرایی پشتیبانی می کنند. سیشارپ، سی پلاس پلاس، جاوا اسکریپت، پایتون و…در لیست زبانهای شیگرا قرار دارند.
اسکریپت (Scripts) با زبانهای Programming نوشته میشود و هدف آنها جلوگیری از انجام وظایف تکراری و اتوماتیک کردن آنها میباشد. اسکریپتها انواع مختلفی دارند و زبانهای اسکریپت Programming با زبانهای Programming کاملا متفاوت هستند. زبانهای اسکریپتی احتیاجی به کامپایل ندارند.
به صورت کلی میتوان گفت که این نوع از زبان های Programming دستورالعملی به کامپیوترها نمیدهند، بلکه محدودیتهایی را در مورد انجام وظایف، در نظر میگیرند. این نوع از زبان های برنامه نویسی به برنامه نویسان این امکان را میدهند که عبارتهای اعلانی ایجاد کنند، سپس به ماشین اجازه میدهند درباره پیامدهای آن استدلال کنند.
توسعه بازی (Game Development) یکی از پرطرفدارترین شاخههای Programming است و بازار کار بسیار منعطف و پولسازی دارد. انتخاب یک زبان Programming بازی سازی تصمیمی حساس و نیازمند شناخت جنبههای مختلف آن زبان است. از آنجایی که افراد زیادی به بازیهای ویدئویی علاقهمند هستند، در نتیجه حوزه توسعه بازی آیندهای روشن و پرسود خواهد داشت.
دو تا از رایجترین زبان های Programming بازی ساز ++C و جاوا هستند. برنامه نویسان و توسعهدهندگان از این زبانهای Programming برای اجرای یکپارچه بازی و اطمینان از تجربه بازی استفاده میکنند. علاوه بر این از طریق این زبانهای برنامهنویسی، میتوان مدیریت بیشتری روی حافظه داشت و بازیهای با کیفیتتری را عرضه کرد.
هوش مصنوعی، به معنای شبیهسازی پردازشهای مغز انسان توسط ماشین، با استفاده از سیستمهای کامپیوتری است. مغز انسان بیشتر فعالیتهای خود را بر اساس آموزشهای قبلی که دیده است، انجام میدهد.
معمولاً Programming هوش مصنوعی بر اساس یک مسئله تعریف شده، انجام میپذیرد. به عبارتی دیگر زمانی که یک پروژه تعریف میشود، بر اساس نیاز و هدفهای پروژه، Programming هوش مصنوعی انجام میشود.