প্রোগ্রামিং ল্যাংগুয়েজ(Programming Language)
|প্রোগ্রামিং ল্যাংগুয়েজঃ যে সমস্ত ভাষার(কথার) সাহায্যে কম্পিউটারের কর্মপদ্ধতি ঠিক করে দেওয়া হয় তাদের কে Programming Language বলে। যেমন C, Java, PHP ইত্যাদি।
কম্পিউটারের ভাষাঃ কম্পিউটার সাধারণ মানুষের মত বাংলা, ইংরেজি, হিন্দি ভাষা বোঝে না। কম্পিউটার শুধু দুটা জিনিস বোঝে। বৈদ্যুতিক ভোল্টেজ আছে অথব নাই। যদি ভোল্টেজ থাকে(voltage is High) তাহলে কম্পিউটার সে অবস্থাকে ‘1’ বিবেচনা করে। আর যদি ভোল্টেজ না থাকে(Voltage is Low) তাহালে সেটা কম্পিউটারের কাছে ‘0’ বলে বিবেচিত হয়। কম্পিউটার তার সমস্থ কাজ যেমন, যোগ, বিয়গ, ভাগ, গুণ, গান শোনা, মুভি দেখা, নেট ব্রাউজ করা। সব কিছু এই দুটি সংখ্যা দিয়েই কোন না কোন ভাবে করে। (কি ভাবে করে সেটা আপাতত আমাদের না বুঝলেও চলবে) । তাই আমরা যদি কোন Software এর সাহায্যে কম্পিউটারকে দিয়ে কোন কাজ করিয়ে নিতে চাই। তাহালেও আমাদেরকে সেই Software এর নির্দেশনাগুলো(Instructions) প্রথমে ‘1010……’ বানাতে হবে। আর এই ‘1010……’ বানানর কাজটা করে Assembler(For second Generation Language), Compiler/Interpreter(For High Level Programming Language.) এই ‘1010……’ সমাহার কে বলা হয় কম্পিউটারের ভাষা বা মেশিনের ভাষা।
নিচুস্তরের ভাষা (Low level Language): Computer Science এ Low level language হল একধরনের প্রোগ্রামিং ভাষা। এগুলোকে Low Level Language বা নিচু স্তরের ভাষা এজন্য বলা হয় এ কারনে যে, এই ভাষাগুলোর সাথে মেশিনের ভাষা বা কম্পিউটারের ভাষার তেমন পার্থক্য থাকে না। আর থাকলেও খুবই কম I mean Low. তাই এগুলোর নাম হয়েছে Low level Language.
Low Level Language মেশিন নির্ভর(Machine Dependent) অর্থাৎ কোন প্রোগ্রামার যদি নিচু স্তরের ভাষা দিয়ে Windows Operating System এর জন্য প্রোগ্রাম তৈরী করে তবে তা Linux বা Mac Operating System এ চলবে না। নিচুস্তরের ভাষার এ অসুবিধা দূরীকরণের জন্য উচুস্তরের ভাষার প্রচলন হয়। নিচু স্তরের ভাষাকে মেশিনের ভাষায় রূপান্তরের জন্য Compiler/Interpreter এর প্রয়োজন হয় না। First এবং Second প্রজন্মের ভাষা গুলো নিচুস্তরের ভাষা ।
উচুস্তরের ভাষা(High Level Language): উচুস্তরের ভাষা ও এক ধরণের প্রোগ্রামিং ভাষা। এ সমস্ত ভাষা মেশিনের ভাষার মধ্যে পার্থক্য অনেক বেশী থাকায় (The abstraction Between them is too high) এদের কে High Level Language বলে। মাইক্রো কম্পিউটারের উচুস্তরের ভাষা মেশিন নির্ভর নয়(Machine Independent)। অর্থাৎ উচুস্তরের ভাষায় লিখিত প্রোগ্রাম বিভিন্ন প্রকার কম্পিউটারে ব্যবহার করা সম্ভব। যেমন Java দিয়ে তৈরী কোন Software যেকোন মেশিন(যেমনঃ PC অথবা MAC) বা যেকোন Operating System( যেমনঃ Windows অথবা Linux) এ সহজেই চলবে। এই ভাষা গুলোকে মেশিনের ভাষায় রূপান্তর করতে Compiler/Interpreter লাগে। মাইক্রো কম্পিউটারের উচুস্তরের ভাষাগুলো হচ্ছে বেসিক, প্যাস্কেল, মডুলা, ফারট্রান, এ্যাডা, এ্যালগার, কোবাল, পি. এল ওয়ান প্রভৃতি। এক কথায় Third, Fourth ও Fifth প্রজন্মের Language গুলো উচুস্তরের ভাষা।