برنامه نویسی، حل مسئله به کمک کامپیوتر
بدون شک، برنامه نویسی یکی از مهمترین مهارتهایی است که امروزه نه تنها برای فارغ التحصیلان و دانشجویان رشته مهندسی کامپیوتر، بلکه برای سایر رشتهها و زمینهها نیز به شکل ضروری، مورد نیاز است. هر ساله، بر تعداد موقعیتهای شغلی که مرتبط با برنامهنویسی هستند و یا پیشنیاز اصلی آنها برنامهنویسی است، افزوده میشود. از طرفی، بخشی جدا نشدنی از فرایند تحقیق و پژوهش در اکثر رشتههای دانشگاهی امروزی، کار با کامپیوتر و توانایی پیادهسازی ایدهها و الگوریتمها در قالب برنامههای کامپیوتری است. قطعا در این مسیر، دانشجویان نیازمند یادگیری و کسب مهارتهای برنامهنویسی هستند.
کیمیاگران در این امر مهم شما را یاری خواهد کرد.
برنامهنویسی یک روش حل مسئله به کمک کامپیوتر است.
برنامه نویسی کامپیوتر، روشی است برای این که به کامپیوترها بگوییم کار بعدی که باید انجام دهند، چیست. این دستورات، با نام کد شناخته میشوند و برنامهنویسهای کامپیوتر، مسائل موجود را با استفاده از کدنویسی حل میکنند و برای انجام بعضی کارها از کدنویسی استفاده میکنند. هدف نهایی این است که چیزی خلق شود: میتواند هر چیزی باشد. از یک صفحه وب، تا یک قطعه نرمافزاری یا فقط یک تصویر زیبا. به همین دلیل است که برنامه نویسی کامپیوتر، اغلب به عنوان ترکیبی از هنر و علم توصیف میشود.
بنابراین میتوان گفت برنامهنویسی یک علم است که به کمک آن میتوان به کامپیوتر دستوراتی برای اجرا داد.
مثلا سیستم با دریافت شماره دانشجویی و رمز ورود به شما نمرات و سوابق تحصیلی تان را نشان دهد. یا ……….
این دستورات را در قالب کدهایی به کامپیوتر میدهیم.
این اطلاعات و دستورات (کدها) در مغز کامپیوتر (CPU) پردازش میشوند و خروجی کار به کاربر نمایش داده میشود.
جالب است بدانید کامپیوترها زبان انسانها را درک نمیکنند. آنها تمامی اطلاعات را به صورت اعداد صفر و یک میبینند.
یک برنامهنویس به کمک یک زبان برنامهنویسی منظور خود را به یک نرم افزار منتقل میکند. این دستورات به کدهای ۰ و ۱ تبدیل میشوند و کامپیوتر آنها را درک کرده و پردازش میکند.
اگر بخواهیم این مفهوم را به جمعبندی شده تعریف کنیم بهتر است بگوییم برنامهنویسی علم حل مسئله به کمک کامپیوتر است.
برنامه نویس کیست؟
برنامهنویس شخصی است که سعی میکند برای مسئلهها بهترین پاسخها را پیدا کند و آنها را به کمک زبانهای برنامهنویسی به کامپیوتر منتقل کند. بدین صورت کامپیوتر اطلاعات دریافتی را پردازش میکند و خروجی کار را نمایش می دهد.
پس شخص برنامهنویس باید به فرآیند حل مسئله، تحلیل دادهها، عیبیابی و… مسلط باشد.
اگر بخواهیم کمی سادهتر توضیح دهیم که برنامه نویس چه کسی است، میتوان گفت همان شخصی که در کامپیوتر شروع به تولید یک نرمافزار میکند. ممکن است این نرمافزار برای اجرا در صفحات وب باشد، یا برای اجرا در دسکتاپ، موبایل و….
کاربرد برنامه نویسی چیست؟
اگر میپرسید برنامه نویسی در کجا کاربرد دارد؟ بهتر است بگویم همه جا.
تمامی سیستم های هوشمند برنامه نویسی شده اند.
به گوشی موبایل خود نگاه کنید. برای تمام فعالیتهایی که این گوشی انجام میدهد (فرستادن پیام، گرفتن عکس، پخش ویدیو و…) برنامهای نوشته شده است.
تک تک نرمافزارهایی که در آن نصب کردهاید توسط برنامه نویسها کد نویسی شده است.
حتی ماشین لباسشویی، یخچالهای هوشمند هم دارای برنامههایی هستند که از قبل طراحی شدهاند. پس با در نظر گرفتن این نکات میتوان متوجه شد که برنامهنویسی علمی است که در تمامی علوم و صنایع دیگر به کاربرده میشود.
سوالی مهم برای تشخیص جایگاه
پیش از شروع یادگیری یک زبان برنامه نویسی کامپیوتر، مهمترین سؤالی که باید از خود بپرسید این است:
آیا میخواهید روی ظاهر یک وبسایت در دید کاربران تمرکز کنید، یا به نحوه عملکرد آن بیشتر اهمیت میدهید؟
این سؤال، مشخص میکند که جایگاه شما در میان زبانهای برنامه نویسی، از بین دو حوزه Front End و Back End، در کدام حوزه قرار دارد.
زبانهای برنامه نویسی کامپیوتر Front-End و Back-End چه تفاوتی با هم دارند؟
کدهایی که توسعهدهندگان Front-End با آنها سر و کار دارند، المانهایی را مشخص میکنند که کاربران میبینند و با آنها تعامل برقرار میکنند. در واقع، ظاهر و حس یک وبسایت، توسط این دسته از کدها مشخص میشود. اما وظیفه توسعهدهندگان Back-End این است که مطمئن شوند، عملکرد یک وبسایت، طبق برنامهریزی انجام شده، اجرا شود.
شاید در مورد المانهای دیگری نظیر Bootstrap ، AngularJS و EmberJS نیز شنیده باشید، که ظاهر محتوای سایت را در دیوایسهای مختلفی نظیر تلفن هوشمند یا تبلت، کنترل میکنند. یک توسعه دهنده Front-End اغلب باید هم روی تجربه کاربری و هم روی رابط کاربری مسلط باشد تا بتواند در مورد ظاهر، حس و عملکرد سایت، کنترل کامل داشته باشد.
زبان های برنامه نویسی توسعه دهندگان Back-End
اما در سوی دیگر، زبانهایی که یک توسعه دهنده Back-End با آنها سر و کار دارد، عبارتند از:
PHP
Ruby
Python
NET.
برای این که هنگام برخورد با کدهای Front-End و Back-End درک بهتری از آنها داشته باشید، فرض کنید میخواهید خریدی از آمازون انجام دهید. هنگام جستجو، فیلتر کردن و طی کردن فرایند خرید یک محصول، با حاصل کار یک توسعهدهنده Front-End سروکار دارید. ولی عملکردهایی نظیر پیشنهاد محصول یا دریافت اطلاعات حساب بانکی شما، نتیجه کار یک توسعه دهنده Back-End است.
توسعه دهندگان Full-Stack
البنه بعضی توسعهدهندگان وب، به زبانهای برنامه نویسی در هر دو حوزه Front-End و Back-End تسلط دارند. به این قبیل افراد معمولاً توسعه دهنده Full-Stack گفته میشود.
مشاغل
مشاغل برنامه نویسی در هر دو حوزه Front-End و Back-End، به شیوه خاصی خلاقانه است ولی توسعهدهندگان Front-End، اغلب به ذهن بصری نیاز دارند که بتوانند در مورد آنچه برای کاربران سایت، بهترین است، قضاوت کنند. فونت زیبای صفحه وب مورد علاقه شما یا منویی که در صفحه شروع یک سایت خبری مشاهده میکنید یا حتی منوی بازشویی که هنگام انتخاب یک گزینه در یک وبسایت انتخاب میکنید، بخشی از وظایف یک توسعه دهنده Front-End محسوب میشوند.
از شماره رنگ تا طرحبندی و موقعیت المانهای متنی، همگی در حوزه مسئولیت توسعهدهندگان Front-End طبقهبندی میشوند.
زبان برنامه نویسی توسعه دهندگان Front-End
سه زبانی که توسعهدهندگان Front-End با آنها سر و کار دارند، عبارتند از:
HTML
Javascript
CSS
انواع برنامهنویسی براساس پلتفرم
در برنامهنویسی، پلتفرم به نرمافزار یا سختافزاری گفته میشود که روی آن سرویسی قرار گرفته باشد. یک پلتفرم، شامل یک سختافزار، سیستم عامل و یک سری برنامهها و دستورالعملهایی است که بستری برای اجرای اپلیکیشن فراهم میکند.
حوزههای برنامهنویسی را بر اساس پلتفرم به سه دسته کلی تقسیم میکنند:
• برنامهنویسی تحت وب
• برنامهنویسی تحت دسکتاپ
• برنامهنویسی تحت موبایل
شیوههای برنامهنویسی
شیوههای مختلف برنامهنویسی را Programming paradigm (الگو برنامهنویسی) میگویند.
شیوه های برنامه نویسی رایج
یک زبان برنامهنویسی میتواند یک یا چند شیوه برنامهنویسی را پشتیبانی کند. به عنوان مثال، برنامههای نوشته شده با ++c میتوانند براساس روش شئگرا باشند که مخالف با روش رویهای است. از سری شیوههای برنامه نویسی رایج که میتوان نام برد:
• رویه ای
• شی گرا
• دستوری
• تابعی
• اعلانی
• منطقی
نوع ترجمه در برنامهنویسی
زبانهای برنامهنویسی سطح بالا، زبانهای زیادی را شامل میشوند. این نوع زبانها برای سادهتر کردن و سرعت دادن به امر برنامهنویسی ایجاد شدهاند، اما برای اینکه این زبانها برای کامپیوتر قابلفهم باشد نیاز است که به کد ماشین تبدیل شود که ما از مترجم استفاده میکنیم:
• مفسری
• کامپایلری
بعضی از رایجترین زبانهای برنامه نویسی، عبارتند از:
HTML
Javascript
Python
CSS
Ruby
PHP
++C
SQL
برای آموزش های برنامه نویسی ما را دنبال کنید