عمولا اولین برنامهای که علاقمندان به برنامه نویسی یاد میگیرند نمایش ساده عبارت Hello World روی صفحه نمایش است. در بعضی زبانها این برنامه به تنها یک خط کد نیاز دارد. با این حال، کامپیوتر برای انجام این وظیفه باید صدها دستورالعمل را به اجرا بگذارد. در نمایش این عبارت روی صفحه نمایش نه تنها باید تک تک حروف به صورت جداگانه چاپ شوند، بلکه هر یک از این حروف خود به تنهایی از پیکسلهای جداگانه تشکیل شده است. بنابراین چاپ hello world برای یک کامپیوتر فرآیند پیچیدهای محسوب میشود.
هر چند تمام برنامه نویسیها ممکن است در ظاهر یکسان به نظر برسند، اما انواع مختلفی از برنامه نویسی مثل برنامه نویسی شی گرا (object-oriented programming) و برنامه نویسی پایگاه داده (database programming) وجود دارد. از جمله چند زبان برنامه نویسی مدرن میتوان به Swift, Java, C++, Ruby, Objective C, Python, SQL, BASIC و PHP اشاره کرد. در سالهای اخیر، اقتباسات تازهای از زبانهای برنامه نویسی با هدف آموزش کدنویسی به کودکان شکل گرفته است.
برنامهنویسی فرایندی است که به کامپیوترها میگوید چه کاری را باید انجام دهند. یک برنامهی کامپیوتری، مجموعهای از دستورالعملها است که به کامپیوتر میگوید یک وظیفه را چگونه انجام دهد. متاسفانه کامپیوترها به زبان انسان صحبت نمیکنند و زبانشان فقط متشکل از ۰ و ۱ است. کامپیوترهای اولیه با کارتهای پانچ شده برنامهنویسی میشدند که در آنها هر نقطهی سوراخ شده به معنی ۱ و هر نقطهی سوراخ نشده به معنی ۰ بود.
اولین برنامههای کامپیوتری به زبان ماشین و زبان اسمبلی نوشته شدند. اینها زبانهای برنامهنویسی سطح پایین هستند که بسیار نزدیک به ساختار سختافزار هستند. برنامهنویسی به این زبانها کار بسیار سختی است. چرا که به شدت وابسته به معماری سختافزار هستند. بنابراین جهت برنامهنویسی با این زبانها لازم است تا برنامهنویس، در حد مناسبی با معماری سختافزار نیز آشنا باشد. اگر سرعت اجرای برنامه اهمیت خیلی زیادی داشته باشد، این زبانها گزینهی بسیار مناسبی هستند.
در سوی دیگر زبانهای برنامهنویسی سطح بالا قرار دارند. این زبانها نزدیکی بیشتری به زبان انسان دارند. برنامههایی که به این زبانها نوشته میشوند (مانند زبانهای C، C++، Java)، قبل از اجرا شدن، باید توسط نرمافزاری به نام مترجم یا کامپایلر (Compiler) به زبان ماشین ترجمه شوند. با توجه به ترجمه شدن این زبانها به زبان ماشین، برنامههای نوشته شده به این زبانها، از سرعت اجرایی بالایی برخوردار هستند (البته کمی کندتر از برنامههای نوشته شده به زبان ماشین یا اسمبلی). در نتیجه برای نوشتن برنامههای تجاری بزرگ و بازیهای کامپیوتری که نیاز به سرعت اجرای بالایی دارند از این نوع زبانها استفاده میشود. همچنین برنامههایی که برای اجرا در یک سیستم عامل خاص نوشته میشوند نیز معمولاً با این نوع زبانها نوشته میشوند.
اصلاح برنامه نویسی (programming) و کدنویسی (coding) اغلب به جای یکدیگر استفاده میشوند. اما اصطلاح کدنویس (coder) از گذشته برای توصیف برنامه نویسان کم تجربه و تازه کار استفاده میشده است. البته استفاده از این کلمه به معنای تحقیر یا کوچک شمردن افراد نیست. خیلی از مردم حتی متوجه این موضوع هم نمیشوند که از کدنویس برای این منظور استفاده میشده است و با گذشت زمان این کلمه عادیتر شده است.
برنامه نویسان گاهی اوقات از کدنویسی برای بیان صریح عمل نوشتن کدهای کامپیوتری در مقابل سایر وظایف برنامه نویسی مثل برنامه ریزی، اشکال زدایی و غیره استفاده میکنند.
یادگیری برنامه نویسی با امید کربلایی