برنامه‌نویسی چیست؟

95
برنامه نویسی چیست

برنامه‌نویسی در همه‌جای زندگی ما وجود دارد، حتی در مکان‌هایی که ممکن است انتظارش را نداشته باشیم؛ در کامپیوترهای ما، تلفن‌های همراه، بازی‌های ویدئویی، اتومبیل‌ها، حتی چراغ‌های راهنما و آسانسورها. در واقع به هرکجا که نگاه کنیم با برنامه‌های کامپیوتری احاطه شده‌ایم. شرکت‌های فناوری دیگر تنها به‌عنوان شرکت‌های نرم‌افزاری شناخته نمی‌شوند؛ آن‌ها غذا به خانه‌ی ما می‌آورند، به ما کمک می‌کنند تاکسی بگیریم، به‌عنوان یک مربی ورزشی برای ما عمل می‌کنند و… در دنیای امروز، همه‌ی ما به‌شدت به محصولاتی وابسته هستیم که به‌دقت توسط برنامه‌نویسان، برنامه‌نویسی شده‌اند. اما برنامه نویسی چیست؟

اگر می‌خواهید بدانید که برنامه نویسی چیست، زبان برنامه نویسی چیست و اطلاعات بیشتری در مورد نحوه‌ی کار و کاربرد برنامه‌نویسی به دست آورید، در ادامه مطلب با ما همراه باشید.

برنامه نویسی چیست؟

برنامه نویسی چیست

هالیوود تصویری از برنامه‌نویسان به‌عنوان افرادی القا کرده است که پشت کامپیوتر می‌نشینند و در چند ثانیه می‌توانند هر رمز عبوری را بشکنند. اما واقعاً برنامه نویسی چیست و برنامه‌نویسان چه کاری انجام می‌دهند؟

تعاریف بی‌شماری از برنامه‌نویسی وجود دارد، اما به زبان ساده، برنامه‌نویسی عبارت است از دادن مجموعه‌ای از دستورالعمل‌ها به کامپیوتر برای انجام یک کار خاص. کامپیوتر در این تعریف، هر دستگاهی است که قادر به پردازش کد باشد؛ از تلفن‌های هوشمند گرفته تا دستگاه‌های خودپرداز و سرورها. 

یک دستورالعمل می‌تواند چیزی ساده باشد مانند جمع‌کردن اعداد یا چیزی پیچیده که ممکن است شامل دنباله‌ای از دستورهای متعدد باشد؛ مثلاً طراحی وب‌سایت‌ها، ایجاد اپلیکیشن‌ها، توسعه‌ی سیستم‌عامل‌ها، کنترل فضاپیماها و تجزیه‌و‌تحلیل داده‌ها.

می‌توان برنامه‌نویسی را مانند دستورالعملی در نظر گرفت که از آن برای تهیه‌ی دسر مورد‌علاقه‌ی خود استفاده می‌کنید. در این مثال می‌توانید خود را کامپیوتر و نویسنده‌ی دستور غذا را به‌عنوان یک برنامه‌نویس تصور کنید. نویسنده‌ی دستور غذا مجموعه‌ای از دستورالعمل‌ها را در اختیار شما قرار می‌دهد تا آن‌ها را خوانده و به‌ترتیب دنبال کنید. اما کامپیوترها به‌اندازه‌ی ما باهوش نیستند و نمی‌توانند فرضیاتی داشته باشند. بنابراین، ما باید در دستورالعمل‌های خود بسیار واضح و مشخص باشیم تا اطمینان حاصل کنیم که نتیجه‌ی مناسب به دست می‌آید. کامپیوترها نیز دستورالعمل‌های ما را به‌ترتیب از بالا به پایین تفسیر و اجرا می‌کنند، بنابراین باید مطمئن شویم که دستورات به ترتیب درستی نوشته شده‌اند تا برنامه‌ی ما به‌درستی اجرا شود.

برنامه‌نویسی یک همکاری بین انسان و کامپیوتر است. ما ممکن است در انجام کاری خوب باشیم، اما یک کامپیوتر در انجام مکرر همان کار و به‌سرعت عالی است. تصور کنید وقتی با هم کار کنیم، چه کارهایی می‌توانیم انجام دهیم. می‌توانیم فیلم‌هایی با جلوه‌های ویژه باورنکردنی بسازیم، کارخانه‌هایی با تولید ۲۴ساعته داشته باشیم و شهرها و سلامت خود را بهبود بخشیم. بهترین برنامه‌های کامپیوتری آن‌هایی هستند که به ما این امکان را می‌دهند تا کارهایی را انجام دهیم که به‌تنهایی نمی‌توانیم انجام دهیم.

زبان برنامه نویسی چیست؟

برنامه نویسی چیست

دلیل اینکه یک نفر صحبت‌های شما را درک می‌کند این است که او می‌تواند کلمات شما را تفسیر کند. همین نیاز برای کامپیوترها نیز صدق می‌کند. وقتی به کامپیوتر دستوراتی را می‌دهید، باید آن را به‌گونه‌ای بیان کنید که کامپیوتر بتواند بفهمد.

کامپیوترها زبان‌های انسانی مانند فارسی، انگلیسی، فرانسوی، چینی و… را نمی‌فهمند. زبان کامپیوتر‌ها باینری است؛ مجموعه‌ای پیچیده از یک‌ها و صفرها. کامپیوترها فقط 0 و 1 را می‌فهمند. اما نوشتن دستورات در قالب 0 و 1 برای ما بسیار دشوار و چالش‌برانگیز است. بنابراین، ما انسان‌ها زبان‌های برنامه‌نویسی را ایجاد کردیم تا بتوانیم به‌راحتی دستوراتی را به کامپیوترها بدهیم. اما دقیقاً زبان برنامه نویسی چیست؟

زبان برنامه‌نویسی، یک زبان کامپیوتری است که برنامه‌نویسان برای برقراری ارتباط با کامپیوتر از آن استفاده می‌کنند. زبان‌های برنامه‌نویسی طوری طراحی شده‌اند که درک و نوشتن آن‌ها برای انسان آسان باشد. با این حال، کامپیوتر نمی‌تواند برنامه‌های نوشته‌شده به این زبان‌ها را مستقیماً اجرا کند. بنابراین قبل از اینکه کامپیوتر بتواند دستورات را اجرا کند، باید آن‌ها را به کد ماشین ترجمه کند. به عبارت دیگر، کامپیوترها کدهای قابل‌خواندن توسط انسان را به باینری که کدهای قابل‌خواندن توسط ماشین هستند ترجمه می‌کنند.

انواع زبان‌های برنامه‌نویسی

برنامه نویسی چیست

برنامه‌نویسان از زبان‌های مختلفی برای دستور دادن به کامپیوترها استفاده می‌کنند. صدها زبان برنامه‌نویسی وجود دارد و هر‌کدام اهداف، سبک‌ها و تخصص‌های متفاوتی را دنبال می‌کنند. در یک طبقه‌بندی کلی، زبان‌های برنامه‌نویسی به دو دسته‌ی «سطح پایین» و «سطح بالا» تقسیم می‌شوند.

زبان‌های سطح پایین، زبان‌هایی هستند که به زبان ماشین یا باینری بسیار نزدیک هستند. گاهی اوقات، برنامه‌نویسان برنامه‌ها را مستقیماً با زبان ماشین توسعه می‌دهند، اما چون درک و نوشتن این دستورات دشوار و خسته‌کننده است، برنامه‌نویسی با استفاده از زبان‌های سطح بالا رایج‌تر است. 

زبان‌های سطح بالا از دستوراتی مشابه زبان انگلیسی استفاده می‌کنند و به‌طور قابل‌توجهی خواناتر از زبان‌های سطح پایین هستند. خواندن، نوشتن و رفع مشکلات زبان‌های سطح بالا برای برنامه‌نویسان بسیار آسان‌تر از زبان‌های سطح پایین است. بسیاری از زبان‌های سطح بالا دستورات داخلی دارند که به برنامه‌نویسان کمک می‌کنند متغیرهایی از انواع داده‌های مختلف ایجاد کنند، حلقه‌ها را بنویسند و رشته‌ها را دستکاری کنند.  

تاریخچه برنامه‌نویسی

Ada Lovelace به‌عنوان اولین برنامه‌نویس کامپیوتر شناخته می‌شود. او که در سال 1815 به دنیا آمد، در رشته‌ی ریاضیات تحصیل کرد که در آن زمان برای یک زن بسیار غیرعادی بود. Ada Lovelace پس از ملاقات با Charles Babbage، مخترع موتور تحلیلی، مجذوب کار او شد و در سال 1843، مقاله‌ای در مورد ماشین تحلیلی منتشر کرد که به‌عنوان اولین الگوریتم برای پردازش توسط یک ماشین شناخته می‌شود.

مشارکت Lovelace در برنامه‌نویسی تنها آغاز کار بود. در سال 1923، ارتش آلمان از طریق پیام‌های رمزگذاری‌شده در دستگاه Enigma، به‌صورت مخفی ارتباط برقرار می‌کرد. Alan Turing این کد را شکست و به پایان جنگ دو سال زودتر از آنچه پیش‌بینی می‌شد کمک کرد. تورینگ بعداً و در سال 1936، ماشین انعطاف‌پذیرتری ایجاد کرد. برخلاف پیشینیان خود، کامپیوتر تورینگ به دلیل توانایی آن در خواندن دستورات متعددِ کد باینری، می‌توانست بیش از یک کار را انجام دهد.

اشکال طراحی تورینگ این بود که دستورات را از طریق نوارهای کاغذی بلند می‌خواند که غیرعملی به نظر می‌رسید. در سال 1948، محققان دانشگاه منچستر راه‌حلی را ارائه کردند؛ توانایی ذخیره‌ی حافظه از طریق برق. کامپیوتر آن‌ها به وسیله‌ی کد باینری برنامه‌نویسی شده بود، 128 بایت حافظه داشت و به بزرگی یک اتاق بود.

اواخر دهه‌ی 1950، شاهد شکل‌گیری زبان‌های برنامه‌نویسی بودیم که امروزه هنوز مورد استفاده قرار می‌گیرند؛ به‌ویژه FORTRAN ،LISP و COBOL. فناوری به‌سرعت در دهه‌ی 60 آشکار و مفهوم بازی‌های کامپیوتری متولد شد، ماوس اختراع شد و ARPANET – پردازش‌گر اینترنت – ساخته شد. دهه‌ی 70 توسعه بیشتری را به همراه داشت و زبان برنامه‌نویسی سطح بالای PASCAL ساخته شد. جالب اینجاست که امروزه هنوز اسکایپ از این زبان استفاده می‌کند. تا به امروز، همچنان توسعه زبان‌های برنامه‌نویسی ادامه دارد.

جمع‌بندی

از آنجایی که برنامه‌نویسی به بخش بزرگی از زندگی ما تبدیل شده است، بسیار مهم است که بدانیم برنامه نویسی چیست و چگونه می‌توان از آن استفاده کرد. برنامه‌نویسی عبارت است از دادن مجموعه‌ای از دستورات به کامپیوتر برای انجام یک کار خاص. وقتی از طریق کد به کامپیوتر دستور می‌دهیم، به روش خودمان با کامپیوتر در ارتباط هستیم. اما از آنجایی که کامپیوترها متفاوت از ما ساخته شده‌اند، باید دستورات خود را به‌گونه‌ای ترجمه کنیم که کامپیوترها بتوانند آن‌ها را درک کنند.

زبان برنامه‌نویسی واسطه‌ای بین کامپیوتر و برنامه‌نویس است. زبان‌های برنامه‌نویسی به برنامه‌نویسان کمک می‌کنند تا دستورات خود را به چیزی ترجمه کنند که کامپیوتر بتواند آن را درک و اجرا کند. سپس کامپیوتر می‌تواند آن دستورات را بگیرد و آن‌ها را به باینری ترجمه کند.

برنامه‌نویسی یک کار خلاقانه است. هیچ راه درست یا غلطی برای حل یک مشکل وجود ندارد. شما باید انتخاب کنید و در حالی که ممکن است یکی راه‌حل بهتر از دیگری به نظر برسد، هیچ کدام اشتباه نیست. با مهارت و تجربه‌ی مناسب، می‌توانید برنامه‌هایی را برای حل تعداد زیادی از مشکلات برنامه‌نویسی کنید.


اگر به برنامه‌نویسی علاقه‌مند هستید و تمایل دارید در یک دوره برنامه‌نویسی شرکت کنید، دوره برنامه نویسی کوئرا کالج گزینه خوبی برای شروع مسیر شغلی شما در این حوزه خواهد بود.

تمرین‌های عملی، نکته مثبت دروه‌های آموزش برنامه نویسی کوئرا کالج در مقابل دوره‌های دیگر است. بخش مربی‌گری نیز یکی دیگر از اصلی‌ترین ویژگی‌های دروه‌های آموزش برنامه‌نویسی کوئرا کالج است؛ شما می‌توانید در هر کجای دوره که به چالشی برخوردید، سؤالات و ابهام‌های خود را مطرح کنید تا منتورهای دوره در اسرع وقت به شما در جهت رفع چالش کمک کنند.

نسرین نادری

ممکن است علاقه‌مند باشید
اسکیل‌آپِ Back-End (تابستان ۱۴۰۱)
تابستون چلنج؛ ۷ روز، ۷ چالش
مدیریت یک پروژه بزرگ در گیت
اشتراک در
اطلاع از
guest
0 دیدگاه‌
بازخورد (Feedback) های اینلاین
View all comments