8 এবং 16-বিট মাইক্রোকন্ট্রোলার ভিত্তিক এমবেডেড সিস্টেমগুলির সাথে, এটি খুব কম পরিমিত স্টোরেজ সীমাবদ্ধতার সীমিত সংস্থাগুলির সাথে মাপসই করতে পারে এমন সফ্টওয়্যার বিকাশ করা সহজতর হয়েছে ( লো-এন্ড 8-বিট মাইক্রোকন্ট্রোলারের জন্য র্যামের কয়েকটি 100 বাইট হতে পারে) , 2-8 কিওবিটি রম বা কোড স্টোরেজের জন্য ইপ্রোম / ফ্ল্যাশ সহ)।
সে ক্ষেত্রে সি বা অ্যাসেমব্লির মতো ছোট্ট ভাষাগুলি সর্বাধিক ব্যবহৃত বিকাশ ভাষা হিসাবে থাকে। খুব রুক্ষ আপেক্ষিক তুলনা হিসাবে, একটি সম্পূর্ণ এসেম্ববলার এবং সি 99 সংকলক একক ফ্লপি ডিস্কের সাথে মানিয়ে নিতে পারে, যখন আপনাকে একটি আধুনিক সি ++ বিকাশ সিস্টেমের (এসটিএল ইত্যাদি) জন্য বেশ কয়েকটি মাইবি লাগবে ।
আপনি যখন এমবেডযুক্ত পরিবেশে উচ্চতর প্রান্তের মাইক্রো (উচ্চ-শেষ 16-বিট, এবং বেশিরভাগ 32-বিট, মোটামুটি বিরল -৪-বিট সহ) এবং ডিএসপি -র দিকে তাকান তখন সীমাবদ্ধতাগুলি দুর্বল হয়ে যায় এবং সফ্টওয়্যার বিকাশটি বেশিরভাগ ক্ষেত্রেই বিকাশ করতে পারে প্রচেষ্টা, সুতরাং অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (ওওপি) ভাষা যেমন সি ++, এবং আরও নতুন ভাষা (জাভা, পার্ল, রুবি, পাইথন) এর মতো বৈশিষ্ট্যযুক্ত আরও উন্নত ভাষা সহ সর্বাধিক উত্পাদনশীল বিকাশের সরঞ্জামগুলি ব্যবহার করা বোধগম্য।
অ্যাসেম্বলি এবং সি তে অনুমান করা সম্ভব যে কতটা মেমরি ব্যবহৃত হচ্ছে, যাতে একটি স্পেস সীমাবদ্ধ নকশা সম্ভব, তবে টেমপ্লেটস, ব্যতিক্রম হ্যান্ডলিং এবং রান-টাইম বাইন্ডিংয়ের মতো উন্নত বৈশিষ্ট্যগুলি প্রয়োজনীয় মেমরির পদচিহ্নগুলি সঠিকভাবে জানা অসম্ভব করে তোলে make একটি স্ট্যান্ডার্ড সি ++ প্রোগ্রামের জন্য অগ্রিম। আমি মিস্রা সি ++ সম্পর্কে যথেষ্ট জানিনা , যা সি ++ এর একটি উপসেট, এটিতে মন্তব্য করতে।
বাইট-কোড (জাভা, পার্ল, পাইথন) চলমান ভার্চুয়াল মেশিনগুলির উপর ভিত্তি করে ভাষা এম্বেডড ডেভেলপারদের অভিজ্ঞতায় কম পরিপক্ক এবং এই ভাষাগুলি নির্দিষ্ট হার্ডওয়্যার থেকে প্রোগ্রামারকে অন্তরক করার জন্য ডিজাইন করা হয়েছে, সুতরাং এটির বিবেকে থাকা আরও কঠিন করে তোলে যেমন এম্বেড করা হার্ডওয়্যার সিস্টেমের সীমাবদ্ধতা এবং বিধিনিষেধগুলি। এটি র্যামের জিআইবি না হলে দ্রুত 32-বিট প্রসেসরের (যেমন এআরএমভি 7) মাইবি সহ কোনও ইস্যু কম।
আমি যে সকল বেসিক বাস্তবায়ন সম্পর্কে সচেতন সেগুলি ভাষা বৈশিষ্ট্যগুলিতে বেশ সরল, 1960 এর দশক থেকে ডার্টমাউথ বেসিকের উত্তরাধিকারের সাথে অনেকাংশে সত্য true এর অর্থ হ'ল ভাষার কোনও জটিল রান-টাইম লাইব্রেরি বা ব্যতিক্রম হ্যান্ডলিং নেই, এবং একটি দোভাষী বা সংকলক লেখার জন্য মোটামুটি সহজ এবং ফাইলের আকারেও ছোট। বেশিরভাগ মাইক্রোকন্ট্রোলারের কাছে এটির জন্য কমপক্ষে একটি বেসিক সংকলক উপলব্ধ।
আমি আশা করি যে ব্রড স্ট্রোকগুলির মূল রূপগুলি আপনি সি এবং অ্যাসেমবিলিটি মূলত ছোট বা পুরানো এম্বেডড সিস্টেমে ব্যবহার করবেন এবং নতুন মধ্য থেকে উচ্চ প্রান্তের এম্বেড থাকা সিস্টেমগুলির সীমাবদ্ধতার সাথে একটি traditionalতিহ্যবাহী ডেস্কটপ ব্যক্তিগত কম্পিউটার থেকে কিছুটা পৃথক।