کامپیوترها برای انجام کارها نیاز به برنامههای خاصی دارند که این برنامهها توسط علم برنامه نویسی به وجود آمده اند. شما درخصوص علم کامپبوتر و برنامه نویسی چه میدانید؟ پاسخ این سوال در گرو این است که شما در ابتدا با مبانی کامپیوترها و اصول برنامه نویسی آشنا باشید. از همین رو ما در این مقاله قصد داریم به توضیح در خصوص مبانی کامپیوتر و برنامه نویسی بپردازیم. با ما تا انتهای این مطلب همراه باشید.
اولین کامپیوتر کی و کجا متولد شد؟
پیش از آن که به توضیح مبانی کامپیوتر و برنامه نویسی بپردازیم خوب است بدانید کامپیوترها از چه تاریخی ساخته شدند و پیشرفت آنها به چه صورت بوده است. در سال ۱۹۳۰ میلادی اولین کامپیوتر الکترونیکی توسط دکتر جان آتانا سوف در دانشگاه ایالت آیوا به کمک محاسبات ریاضی طراحی شد. سپس در سال ۱۹۴۶ اولین کامپیوتر بزرگ و چند منظوره در دانشگاه پنسیلوانیا ساخته شد.
این کامپیوتر را ارتش آمریکا طراحی کرده بود و به محاسبه جدول پرتابهها، پیشبینی وضعیت آب و هوا و محاسبه انرژی اتمی میپرداخت. بعدها با پیشرفت علم الکترونیک و دیجیتال، کامپیوترهای نسل دوم ساخته شدند. این کامپیوترها بسیار کوچکتر بوده و سرعت پردازش بسیار بالایی داشتند. دنیای کامپیوترها و برنامه نویسی دنیای بسیار گستردهای است شما با ورود به آن میتوانید مهارتهای مختلفی را کسب کرده و جایگاه شغلی فوق العاده ای را برای خود رقم بزنید.
در صورتی که علاقمند به مبانی کامپیوتر و برنامه نویسی هستید میتوانید به فرادرس به عنوان یک منبع معتبر آموزشی مراجعه کنید. چراکه فرادرس دارای آموزش های مختلفی در زمینه برنامه نویسی و کامپیوتر میباشد.
معرفی اجزای کامپیوتر در مبانی کامپیوتر و برنامه نویسی
کامپیوتر به طور کلی از دو جزء سخت افزار و نرم افزار تشکیل شده است. سخت افزارها در واقع همان قطعات فیزیکی و الکترونیکی کامپیوتر هستند که باعث کارکردن آن میشوند. اما کاربران برای آن که بتوانند از کامپیوتر استفاده کنند باید یک رابط کاربری داشته باشند. به رابطهای بین کاربر و کامپیوتر نرم افزار گفته میشود. نرم افزارها به علت ارتباط میان کاربر و سخت افزارها نیازمند برنامه نویسی هستند. در آموزش مبانی کامپیوتر و برنامه نویسی شما میتوانید به طور کلی با این مفاهیم آشنا شوید. در ادامه مطلب به توضیح برخی از سخت افزارهای کامپیوتر خواهیم پرداخت.
حافظه در کامپیوتر
می دانید که کامپیوتر از سه بخش ورودی، پردازش و خروجی تشکیل شده است. کامپیوتر برای پردازش دادهها نیازمند حافظه است. یکی از سخت افزارهای مهم در مبانی کامپیوتر و برنامه نویسی، حافظه است. حافظه یکی از اجزای اصلی کامپیوتر به شمار میآید که برای ذخیره دادهها یا ورودیها ساخته شده است. حافظه اصلی کامپیوتر از دو بخش تشکیل شده است.
یک قسمت از حافظه اصلی که در واقع به صورت موقت عمل کرده و به پردازش دادهها میپردازد را RAM می گویند. بخش دیگر حافظه اصلی کامپیوتر بخش ROM است که دادهها و اطلاعات را به صورت دائمی ذخیره میکند. البته شما میتوانید به کامپیوتر حافظههای دیگری متصل کنید که به آن حافظه جانبی گفته میشود. حافظههای جانبی شامل فلاپی، نوار، سی دی، فلش مموری، هارد اکسترنال و… میباشد.
پردازش مرکزی یا CPU
پس از آن که اطلاعات و دادهها وارد شدند، کامپیوتر شروع به پردازش آنها میکند. یکی از سخت افزارهای مهم در مبانی کامپیوتر و برنامه نویسی، پردازش مرکزی یا CPU میباشد. دادههای ذخیره شده در حافظه اصلی به این قطعه ارسال شده و پس از انجام پردازشهای لازم توسط CPU، اطلاعات دوباره به حافظه اصلی برمیگردد. پردازش دادهها یکی از مهمترین کارهایی است که کامپیوتر انجام میدهد. بنابراین با پیشرفت تکنولوژی، CPU پیشرفت چشم گیری داشته و کامپیوترها هر روز قدرت پردازش بیشتری پیدا میکنند. CPU معمولاً از سه واحد محاسبه و منطق، کنترل و حافظه تشکیل شده است.
خروجی کامپیوتر
شما میتوانید نتیجه پردازش دادهها را از طریق خروجی که معمولاً مانیتور است مشاهده کنید. مانیتور در واقع نمایشگر کامپیوتر است که از طریق نرم افزارها میتواند به نمایش تمامی فعالیتهای کامپیوتر بپردازد. شناختن خروجی کامپیوتر از بخشهای مهم در آموزش مبانی کامپیوتر و برنامه نویسی است. شما میتوانید از طریق این رابط از نتیجه پردازش دادهها آگاه شده و ارتباط بهتری با کامپیوتر برقرار نمایید. البته کامپیوتر میتواند خروجیهای مختلفی داشته باشد که از رایج ترین آنها میتوان به پرینتر یا چاپگر اشاره کرد.
برنامه نویسی چیست و چگونه انجام می شود؟
همانطور که پیش از این گفته شد کاربر برای ارتباط با سخت افزارهای کامپیوتر نیازمند نرم افزارها است. یکی از موضوعاتی که در آموزش مبانی کامپیوتر و برنامه نویسی به آن اشاره میشود تعریف برنامه نویسی و چگونگی انجام آن میباشد. کامپیوترها زبان انسان را متوجه نمیشوند و انسان برای ارتباط با آنها باید از زبان آنها کمک بگیرد. کامپیوتر تنها با ارقام صفر و یک سروکار دارد و یک برنامه نویس با استفاده از زبانهای برنامه نویسی مفهوم مورد نظر را به نرم افزار انتقال میدهد. برنامه نویس در واقع شخصی است که با زبانهای مختلف برنامه نویسی آشنایی داشته و سعی میکند دستورات لازم را به زبان کامپیوتر ترجمه کند.
در صورتی که علاقمند به برنامه نویسی هستید میتوانید به فرادرس مراجعه کرده و آموزشهای لازم را در این زمینه دنبال کنید. فرادرس یک منبع بسیار جامع برای آموزش برنامه نویسی کامپیوتر میباشد. برای شروع یادگیری برنامه نویسی میتوانید زبان برنامه نویسی پایتون را برای یادگیری انتخاب کنید. این زبان به دلیل داشتن سینتکس بسیار ساده میتواند یادگیری را برای شما تا حد زیادی آسان کند. از سوی دیگر این زبان برنامه نویسی در پلتفرم های مختلف قابل استفاده است و میتوانید با یادگیری آن کارهای مختلفی انجام دهید.
تعریف الگوریتم در برنامه نویسی
یکی از مهمترین موضوعاتی که در موضوع آموزش مبانی کامپیوتر و برنامه نویسی مطرح میشود موضوع الگوریتم در برنامه نویسی است. اما الگوریتم به چه معناست؟
الگوریتم در واقع یک دستورالعمل است که برنامه نویسان با توجه به آن عمل کرده و برای رسیدن به هدف مورد نظر گامهای مورد نیاز را برمیدارند. در این دستورالعمل یک رویه وجود دارد و برای اجرای دستورات لازم، شما به ورودیهایی نیاز دارید. زمانی که شما طبق الگوریتم عمل کرده و ورودیها را به درستی وارد کنید، کامپیوتر الگوریتم شما را دنبال کرده و در نهایت خروجی مورد نظر را در اختیار شما قرار میدهد.
البته نباید اشتباه کنید و الگوریتمها را با کدها اشتباه بگیرید. الگوریتمها معمولاً به زبان محاوره انسانها نوشته شده و دارای یک نقطه آغازین، بخش میانی و پایان هستند. اولین قدم در الگوریتمها معمولاً با کلمه شروع آغاز شده و نحوه انجام کار را شرح میدهند.
کاربرد برنامه نویسی در مبانی کامپیوتر و برنامه نویسی
مبانی کامپیوتر و برنامه نویسی دو موضوع مرتبط به هم بوده و شما برای آن که بتوانید برنامه نویسی کنید باید با مبانی کامپیوتر نیز آشنایی کامل داشته باشید. اما ممکن است با این سؤال مواجه شوید که برنامه نویسی چه کاربردی دارد؟ در پاسخ به این سؤال باید گفت تمام وسایل هوشمند دنیای امروز که در دسترس شما قرار دارند برنامه نویسی شدهاند. نه تنها گوشیهای موبایل هوشمند شما بلکه تمام برنامههایی که در آن قرار دارند با استفاده از زبانهای برنامه نویسی نوشته شدهاند. برنامه نویسی یک علم پرکاربرد در زندگی امروز انسان است که در تمام صنایع مورد استفاده قرار میگیرد.
نگاهی گذرا بر زبان های برنامه نویسی
ممکن است بارها و بارها با عبارت زبانهای برنامه نویسی مواجه شده باشید. ما در این مطلب قصد داریم یکبار برای همیشه به تعریف زبان برنامه نویسی بپردازیم.
زبان برنامه نویسی در واقع خود یک واسطه بین زبان کامپیوتر و زبان انسانهاست. بنابراین باید در نظر داشته باشید که با یادگیری مبانی کامپیوتر و برنامه نویسی شما زبان ماشینها را یاد نخواهید گرفت بلکه تنها با یادگیری یک ترجمه میتوانید دستورات مورد نظر خود را به کامپیوتر انتقال دهید. این کدها طوری طراحی شدهاند که برنامه نویس میتواند با آنها دستورات جدیدی را ایجاد کند. زبانهای برنامه نویسی انواع مختلفی دارند که هر یک از آنها دارای خصوصیات خاص خود میباشد. برای مثال:
- زبانهایی مانند پایتون و جاوا زبانهای همه منظوره به حساب میآیند. این زبانها میتوان وظایف محساباتی مختلفی را اجرا کنند.
- زبانهای دیگری مانند CSS، HTML و Robot C زبانهایی هستند که به منظور هدفهای ویژهای استفاده میشوند. دو زبان HTML و CSS دو زبان مخصوص طراحی سایت بوده و زبان Robot C برای هوشمندسازی رباتها مورد استفاده قرار میگیرد.
همچنین در آموزشهای مبانی کامپیوتر و برنامه نویسی توضیحاتی درباره تفاوتهای زبانهای برنامه نویسی با توجه به میزان قدرت آنها ارائه شده است. برای مثال زبان جاوا اسکریپت یک زبان اسکریپتی است که برای انجام وظایف سادهتر طراحی شده است، در صورتی که شما میتوانید با زبان پایتون محاسبههای پیچیدهای را کدنویسی کنید. میزان قدرت زبانها بر اساس میزان شباهت آنها با کدهای کامپیوتر سنجیده میشود.
انواع زبانهای برنامه نویسی در مبانی کامپیوتر و برنامه نویسی
اگر در زمینه فناوری اطلاعات شاغل هستید آشنایی با زبانهای برنامه نویسی به نوعی برای شما ضروری و مهم به حساب میآید. با شناخت درباره این زبانها میتوانید تشخیص دهید که کدام زبان برنامه نویسی برای چه کاری مناسب است. در این آموزش شما میتوانید با شناخت زبانهای برنامه نویسی با توجه به زمینه علاقه خود، زبان مورد نظر خود را انتخاب نمایید. به طور کلی زبانهای برنامه نویسی به دو نوع سطح پایین و سطح بالا دسته بندی میشوند که در ادامه به توضیح بیشتر درباره آنها خواهیم پرداخت.
زبانهای برنامه نویسی سطح پایین
زبانهای سطح پایین برنامه نویسی زبانهایی هستند که تا حد زیادی برای کامپیوتر قابل درک هستند. این زبانها برای کامپیوتر بسیار ساده بوده و به کمک آنها میتوان به راحتی با کامپیوتر ارتباط برقرار کرد. این زبانها به دستههای زیر تقسیم میشوند:
- زبان ماشین 1GL: این زبان برنامه نویسی در واقع یک رشته از اعداد دودویی است که به صورت مستقیم برای CPU قابل درک است. پردازنده کامپیوتر میتواند به راحتی با این زبان ارتباط گرفته و دستورات را اجرا نماید.
- زبان اسمبلی 2GL: این زبان را یک زبان سطح پایین میدانند زیرا برنامه نویس برای طراحی یک برنامه در این زبان، باید اطلاعات جزئی را درباره مشخصات سخت افزار داشته باشد.
زبانهای برنامه نویسی سطح بالا در مبانی کامپیوتر و برنامه نویسی
زبانهای برنامه نویسی سطح بالا در واقع زبانهای ماشینی نیستند و شباهت بسیاری به زبان انسانها (انگلیسی) دارند. در آموزش مبانی کامپیوتر و برنامه نویسی به آموزش این زبانها میپردازند. زیرا یادگیری این زبانها برای انسان سادهتر است. در این زبانها از علائم ریاضی برای اعمال دستورات به کامپیوتر استفاده میشود. انواع زبانهای برنامه نویسی سطح بالا به شرح زیر هستند:
- رویه محور 3GL: این زبانها معمولاً برای اهداف رویهای مورد استفاده قرار گرفته و با مدل سازی مسئله از طریق مشخص کردن گامها و ترتیب آنها، هدف خاصی را در برنامه اجرا میکنند.
- مسئله محور 4GL: در این نوع زبانها برنامه نویسان علاوه بر مشخص کردن رویه مورد نظر میتوانند هدف و خروجی را نیز مشخص کنند. این نوع برنامه نویسی یک قدم از برنامه نویسی رویه محور جلوتر است.
- طبیعی 5GL: این زبانها هنوز در حال توسعه و ساخت بوده و بسیاری از برنامه نویسان با آنها آشنایی ندارند. در این نوع زبانهای برنامه نویسی میتوان جملههایی را شبیه به جملات عادی نوشت.
انواع زبانهای سطح بالا:
جالب است بدانید که زبانهای برنامه نویسی سطح بالا خود به دسته بندیهای مختلفی مانند:
زبانهای برنامه نویسی ویندوزی که برای نرم افزارهای تحت ویندوز به کار میروند و فقط روی سیستمعامل ویندوز اجرا میشوند مثل:
سی (C)، سی پلاس پلاس (C++)، سی شارپ (C#)، جاوا (Java)، پایتون (Python)، دلفی (Delphi) ،فاکس پرو (Fox Pro) ،ویژوال بیسیک (Visual Basic)
زبانهای برنامه نویسی تحت وب که برای طراحی صفحات وب و برنامهها برای مرورگرها استفاده میشوند و شامل دو دسته سمت کاربر (Front-End) و سمت سرور (Back-End) هستند مثل:
زبانهای برنامه نویسی سمت کاربر : HTML ،CSS ، جاوا اسکریپت (Javascript)، جی کوئری (jQuery)
زبانهای برنامه نویسی سمت سرور: ASP.NET ،PHP ،Ruby ،Java ،Python ،Golang
زبانهای برنامه نویسی برای اپلیکیشن موبایل مثل: سی شارپ، پایتون ، جاوا، سویفت، روبی، جاوا اسکریپت، پرل
نتیجه گیری از مبانی کامپیوتر و برنامه نویسی
با توجه به توضیحات داده شده موضوع مبانی کامپیوتر و برنامه نویسی یکی از موضوعات مهم در دنیای امروز بوده و بسیاری از صنایع به آنها وابسته هستند. برنامه نویس ها همه روزه با برنامه نویسی برنامهها و ماشینهای هوشمند در تک تک لحظههای زندگی ما سهیم بوده و این موضوع همراه با پیشرفت تکنولوژی بیشتر نیز خواهد شد.
یادگیری زبانهای برنامه نویسی و مبانی کامپیوتر یکی از مسائلی است که بسیاری از افراد به آن علاقمند شدهاند و قصد دارند از آن کسب درآمد کنند. در صورتی که علاقمند به آموزش در این زمینه هستید میتوانید به فرادرس مراجعه کنید. فرادرس دارای آموزشهای مختلفی در زمینه کامپیوتر بوده و شما میتوانید با دنبال کردن آنها به یک برنامه نویس حرفهای تبدیل شوید.
در صورتی که تا به حال با هیچ زبان برنامه نویسی کار نکرده اید و در ابتدای مسیر یادگیری برنامه نویسی هستید میتوانید با مراجعه به آموزش زیر اصول و مبانی برنامه نویسی را در سریعترین زمان ممکن یادبگیرید.