بنده مهدی بهاء در حوضه Front-End فعالیت می کنم ، همچنین به نجوم ، ریاضیات ، زیست شناسی و فناوری علاقه دارم و موفقیت روز افزون رو برای استارتآپ های ایرانی آرزومندم .
مفهوم Backward compatibility

تو دنیای نرمافزار و سختافزار مفهومی تحت عنوان backward compatibility وجود داره . این مفهوم زمانی رخ میده که یک ورژن جدید از سخت افزار یا نرم افزار میتونه با ورژن های قدیمی تر خودش سازگار باشه و بتونه از ورژن های قدیمی تر خودش استفاده کنه . به عبارت دیگر، زمانی که تو ساخت یک محصول نرمافزاری یا سختافزاری، از فناوری یا ویژگی جدیدی استفاده بشه و سیستم بتونه با ورژن جدید مثل ورژن قبلی و بدون مشکل کار کنه ، اصطلاحا میگن که این ورژن Backward Compatible هست . نقطه مقابل اون هم Backward Incompatible هست و زمانی رخ میده که ورژن فعلی با ورژن قبلی خودش ناسازگار باشه و این باعث بروز خطا و مشکلاتی بین اون دو ورژن از سختافزار یا نرمافزار میشه .
مثال :
USB 3.0

برای درک این مفهوم اکثرا USB 3.0 رو مثال میزنن ، این پورت همون پورت آبی رنگی است که امروزه روی اکثر دستگاه های جدید دیده میشه .
این نسخه از USB ها از سرعت انتقال اطلاعات بالاتری نسبت به ورژن قبلی یعنی USB 2.0 برخوردارند .
اما نکتهای که اینجا باید بهش توجه کنیم اینه که پورت های USB 3.0 علاوه بر ساپورت کردن فلشها ، کیبوردها ، موسها و دستگاههای USB 3.0 ، ورژن قبلی خودش یعنی USB 2.0 رو هم ساپورت میکنه.
به زبان سادهتر اگه ما فلشهای USB 2.0 رو به پورت های USB 3.0 روی سیستم خودمون بزنیم ، کامپیوتر فلش رو تشخیص میده .
پس اینجا میگیم که USB 3.0 قابلیت Backward Compatibility داره .
یا مثال دیگه اینه که زمانی که PlayStation 5 به بازار عرضه شد ، قابلیتی رو همراه خودش عرضه کرد که خیلی سروصدا بهپا کرد . اون زمان میگفتند این نسخه از کنسول های Sony قابلیت
Backward Compatibility رو همراه خودش عرضه کرده ، در واقع شما با این کنسول حتی میتونستید بازی های نسخه قبل یعنی PlayStation 4 رو تجربه کنید .

یا مثلا نرمافزار Word 2022 قابلیت کارکردن با فایل های ساخته شده توسط Word 2007 و ... رو داره .
فتوشاپ هم همینطور .
یا مثلا اکثر برنامه های نوشتهشده برای Windows 8 روی Windows 10 هم قابل اجراست .
و هزاران مورد این چنینی که اگه دور و بر خودمون رو با دقت نگاه کنیم متوجه انواع و اقسام Backward Compatibility ها میشیم .
خب تا اینجا فکر میکنم که این مفهوم رو کاملا متوجه شده باشید ، پس مثال بیشتر نمیزنم و اگر علاقهمند بودید میتونید مثالهای بیشتری رو تو اینترنت پیدا کنید .
در آخر هم باید بگم که بهزودی میخوایم سراغ مبحثی تحت عنوان Semantic Versioning بریم و این مفهوم Backward Compatibility پیشنیازی برای اون بحث هستش .
سخن پایانی :
اگه پینشهاد یا انتقادی دارید خوشحال میشم که من رو در جریان بزارید .
ممنون از وقتی که گذاشتید 💖🙏
باکیفیت ترین دوره آموزش برنامه نویسی چیست ؟
⭐⭐⭐⭐⭐ دوره ی آموزش دوازده قدم برنامه نویسی مهندس سام نیک زاد با کسب امتیاز بالاترین کیفیت دوره ی آموزشی بعنوان با کیفیت دوره انتخاب شده است برای مشاهده کلیک کنید
ثبت نام دوره با تخفیف از ویرگول
مطلبی دیگر از این انتشارات
چالش جستجو در محصولات با اشتباهات کاربران در PHP !
مطلبی دیگر از این انتشارات
Cloud Design Patterns - Sidecar pattern
مطلبی دیگر از این انتشارات
توابع کار با رشته در PHP