سخت افزار
اگر ما در ابتدای ورود به مسیر برنامهنویسی هستیم، بهتر است کمی درمورد اینکه کامپیوتر چگونه کار میکند، صحبت کنیم. خوب است بدانیم، قسمتهای مختلف یک کامپیوتر به زبان بسیار ساده، به این ترتیب هستند:

تعاریف سطح بالای این قطعات به شرح زیر است:
پردازنده مرکزی یا Central Processing Unit (CPU): میتواند در هر ثانیه چندین کار را انجام دهد طوری که ما احساس کنیم کارها بطور موازی انجام میشوند. اینکه چه تعداد کار را در یک ثانیه انجام دهد، به سرعت پردازنده ما بستگی دارد. بطور مثال، اگر سرعت پردازنده ما 3.0 گیگاهرتز (3.0 Gigahertz) باشد، به معنی این است که به تعداد سه میلیارد کار در هر ثانیه، میتواند انجام دهد.
حافظه اصلی یا Main Memory: برای ذخیره و دردسترس قرار دادن اطلاعات ضروری و مورد نیاز سریع پردازنده مرکزی، بکار میرود. اما باید مراقب اطلاعات خود در حافظه اصلی باشیم، چرا که با خاموش شدن کامپیوتر و یا راهاندازی مجدد (restart) اطلاعات آن از بین میرود.
حافظه ثانویه یا (Secondary Memory): این نوع حافظه برای ذخیره دائمی اطلاعات بکارمیرود، اما سرعت آن از سرعت حافظه اصلی کمتر است.
دستگاههای ورودی و خروجی یا (Input and Output Devices): همان وسایلی هستند که به کمک آنها با کامپیوتر ارتباط برقرار میکنیم، شامل صفحه کلید، مانیتور، ماوس و …
و ما به عنوان یک برنامهنویس مسئول این هستیم که به CPU بگوئیم چه زمانی چه کاری انجام دهد و از کدام دستگاههای ورودی و خروجی استفاده کند. به این ترتیب، ما همه این منابع را باهم هماهنگ میسازیم.