প্রোগ্রামিং ভাষাগুলো কম্পিউটারকে নির্দেশ দেওয়ার জন্য ব্যবহৃত হয়। সে কারণে মানুষের মুখের ভাষা ও অন্যান্য অভিব্যক্তি থেকে এই ভাষাগুলোর প্রকৃতি আলাদা। প্রোগ্রামিং ভাষাতে সম্পূর্ণতা ও নির্ভুলতার মূল্য দেয়া হয়। স্বাভাবিক ভাষায় কথা বলে বা লেখার মানুষেরা একই শব্দের বহু অর্থ করতে পারেন এবং ছোটখাট ভুল করতে পারেন, কিন্তু তাদের মনের কথা প্রকাশ এতে তেমন ব্যাহত হয় না। অন্যদিকে, কম্পিউটার কেবল তা-ই পালন করে যা তাকে নির্দেশ দেয়া হয়, এবং কম্পিউটারের পক্ষে প্রোগ্রামার আসলেই কোন্‌ নির্দেশ দিতে চেয়েছিলেন তা বুঝতে পারা সম্ভব নয়। কোন প্রোগ্রামার প্রোগ্রামিং ভাষার সংজ্ঞা (language definition), প্রোগ্রাম, এবং প্রোগ্রামের ইনপুট – এই তিনের সমন্বয়ে সম্পূর্নরূপে নির্দেশ করে দেন প্রোগ্রামটি চালালে কী ঘটবে।

অনেক প্রোগ্রামিং ভাষা একেবারে শূন্য থেকে নকশা করা হয়েছে, তারপর এগুলোতে প্রয়োজন অনুসারে পরিবর্তন আনা হয়েছে, অন্য প্রোগ্রামিং ভাষার সাথে এদের সম্মিলন ঘটানো হয়েছে, এবং পরিশেষে এগুলো বাস্তব ব্যবহার থেকে পরিত্যক্ত হয়েছে। একটি “সার্বজনীন” কম্পিউটার ভাষা তৈরি করার অনেক চেষ্টা করা হয়েছে, যে ভাষা হবে যেকোন উদ্দেশ্যে ব্যবহারযোগ্য, কিন্তু কোন চেষ্টাই সফল হয়নি। কাজের প্রকৃতির বৈচিত্র‌্যের কারণেই বিভিন্ন বিচিত্র কম্পিউটার ভাষা উদ্ভাবিত হয়েছে:


নিয়তই প্রোগ্রামিং ভাষাগুলোর উন্নতিসাধন করার চেষ্টা চলে এবং প্রায়ক্ষেত্রেই লক্ষ্য থাকে ভাষাতে উচ্চস্তরের বিমূর্তায়ন ব্যবহার করে সমস্যা সমাধানের ক্ষমতা বাড়ানো। একেবারে শুরুর দিককার প্রোগ্রামিং ভাষাগুলো কম্পিউটারের হার্ডওয়্যারের সাথে খুবই ঘনিষ্ঠভাবে জড়িত ছিল। নতুন প্রোগ্রামিং ভাষাগুলোতে অনেক নতুন ফিচার বা বৈশিষ্ট্য যোগ করা হয় যাতে প্রোগ্রামারদের কীভাবে তাদের প্রোগ্রামের হার্ডওয়্যার নির্দেশে রূপান্তরিত হবে তা নিয়ে চিন্তা করতে না হয়। ফলে প্রোগ্রামাররা এখন একই সময়ে আগের চেয়ে অনেক বেশি প্রোগ্রাম লিখতে পারেন

প্রোগ্রামিং-এর জন্য বিশেষায়িত ভাষার ব্যবহার দূর করে মানুষের স্বাভাবিক ভাষা ব্যবহারের জন্য স্বাভাবিক ভাষা প্রসেসরের ব্যবহার অনেকে প্রস্তাব করেছেন। কিন্তু এটা বাস্তবায়ন করা কঠিন। আর এর সুফল নিয়েও বিতর্ক আছে। এট্‌সখার ডেইক্‌স্ট্রা মনে করতেন বিধিবদ্ধ ভাষা অর্থহীন সংগঠনসমূহ দূর করতে অত্যন্ত জরুরি। তিনি স্বাভাবিক ভাষায় প্রোগ্রাম লেখাকে বোকামি বলে মনে করতেন। অ্যালান পেরলিস-ও এ ব্যাপারে নেতিবাচক অবস্থান নেন। 

উপাদানসমূহ
উদ্দেশ্য
সংজ্ঞা
সিনট্যাক্স