بهزبان ساده بدون این کدهای قدیمی ما قادر به ادامه زندگی، حداقل به شکل کنونی آن نخواهیم بود. زبان های برنامه نویسی که گاه بیش از نیمقرن پیش برای انجام کارهای بهخصوص و گاه بهصورت موقت تولید شدند، اما هنوز هم روزانه در میلیونها تراکنش و پردازش بهکار میروند و ستون فقرات سیستمهایی را که دنیای مدرن برپایه آن بنا شده تشکیل میدهند.
بسیاری از شرکتها و دولتها نمیخواهند یا نمیتوانند به این کدهای قدیمی که سالهاست کارشان را بهخوبی انجام دادهاند، دست بزنند.
درنتیجه این نرمافزارها بهجای تعویض، وصله و پینه میشوند و شاهد وابستگی باورنکردنی دنیای پیشرفته امروزی به زبانهای تقریبا مردهای هستیم که بهزودی دیگر متخصصی برای تعمیر محصولات ساخته شده با آنها باقی نخواهد ماند. در ادامه شما را با برخی از این زبانهای قدیمی ولی کاربردی آشنا میکنیم.
زبانی برای محاسبه
یکی از قدیمیترین زبانهای برنامهنویسی که هنوز کاربرد گستردهای در بسیاری از محاسبات علمی دارد، زبان Fortran (مخفف Formula Translation یا ترجمه فرمولی) است.
IBM این زبان برنامهنویسی را در دهه ۵۰ میلادی توسعه داد و یکی از نخستین زبانهای برنامهنویسی سطح بالا بود که از کلمات بهجای کدهای عددی استفاده میکرد.
این ویژگی جدید و جالب باعث شده بود برنامهنویسها بتوانند با سرعتی پنجبرابر بیشتر از زبان ماشین کدنویسی کنند و همین باعث محبوبیت گسترده آن شد البته امروزه تعداد برنامهنویسهای مسلط به این زبان بسیار کمتر است، هرچند هنوز هم میتوانید در سراسر جهان متخصصانی را پیدا کنید که با آن آشنا هستند.
جینمز هوارد، متخصص علوم داده آزمایشگاه فیزیک کاربردی دانشگاه جان هاپکینز که یکی از این متخصصان است، بهگفته خودش سالهاست به این زبان نرمافزاری ننوشته، اما نرمافزارهای دیگر او کماکان از کتابخانههای اصلی این زبان برنامهنویسی که در دهه ۷۰میلادی نوشته شدهاند و سرعت بینظیری دارند برای کارهای مختلف استفاده میکنند.
آخرین بار که او بهصورت مستقیم به این زبان برنامهنویسی کرده، ۱۰سال پیش بود که نیاز داشت اطلاعات یک نرمافزار در سیستم بانک مرکزی آمریکا را به نرمافزار دیگری انتقال دهد.
مساله اینجا بود که یکی از این برنامهها با زبان برنامهنویسی C و دیگری با Fortran نوشته شده بود و سازنده دیگر کتابخانه مرکزی فرترن موردنیاز را تامین نمیکرد.
هوارد بهخاطر آورد در کودکی خوانده بود که ساختار فراخوانی دادهها در زبان C دقیقا برعکس زبان فرترن است.
در نتیجه او یک کد ساده نوشت تا ترتیب اطلاعات موجود در برنامهها را برعکس کند و بههمین سادگی مشکل برطرف شد.
زبانی برای شرایط سخت
یکی دیگر از زبان های برنامه نویسی قدیمی که هنوز هم دور از چشم عموم به زندگی خود ادامه میدهد، زبان Ada است.
این زبان برنامه نویسی بیشتر توسط دولت آمریکا در سیستمهای دفاعی و امنیتی که نیازمند اطمینانپذیری قابلتوجه هستند بهکار میروند و بههمین دلیل هم خیلی مشخص نیست امروزه برای چه کاری مورد استفاده قرار میگیرد اما تا آنجا که میدانیم سازمان ناسا و شرکت بوئینگ در سالهای اخیر از نرمافزارهای تولید شده با Ada برای برنامهریزی ماهوارهها و هواپیماها استفاده کردهاند.
این زبان برنامهنویسی در دهه ۷۰میلادی و به سفارش وزارت دفاع ایالات متحده توسعه یافت تا به استاندارد تبدیل شود و از تنوع و تکثر زبانهای برنامهنویسی بهکار رفته در تولید نرمافزارهای دفاعی بکاهد، چرا که تعدادشان در آن زمان به ۴۰۰ زبان مختلف رسیده بود.
زبان Ada طوری ساخته شد تا بتوان در شرایط مرگ و زندگی روی آن حساب کرد و در برابر خطاهای احتمالی برنامهنویسها مقاوم باشد.
این زبان در سال ۱۹۸۰ برای استفاده عرضه شد و حتی در دورهای استفاده از آن برای تمام ارگانهای دولتی آمریکا ضروری بود، هرچند امروزه دیگر این اجبار وجود ندارد.
با این حال، زبان Ada هنوز هم در کاربردهای پرخطری که نیازمند اطمینانپذیری بالا در شرایط دشوارهستند بهکار میرود و بعید است به این زودی شاهد مرگ کامل آن باشیم.
زبانی برای تجارت
زبان برنامهنویسی COBOL که به فارسی، زبان برنامه نویسی مشترک تجارت محور معنی میدهد در سال ۱۹۵۹ برای انجام بهتر پردازشهای محاسباتی مثل تسویه حقوق کارکنان، مدیریت تراکنشهای بانکی و کنترل بودجه توسعه یافت.
این زبان برنامه نویسی هم مثل بسیاری از موارد مشابه دیگر به سفارش وزارت دفاع ایالات متحده بهعنوان راهحلی موقت توسعه یافته بود.
هرچند از آنجا که این وزارت از تمام تولیدکنندگان کامپیوتر در آمریکا خواسته بود تا این زبان را در سیستمهای خود بگنجانند، در طول دو دهه آینده این زبان توسعهدهندگان پرشماری در سراسر جهان پیدا کرد.
این زبان ساده و قدیمی هنوز هم بسیار پرکاربرد است و بنابر گزارش خبرگزاری رویترز در ۲۰۱۷ بیش از ۹۵درصد عابربانکها و ۴۳درصد از بانکهای آمریکا هنوز از این زبان برای کارهای خود استفاده میکردند.
در کشور ما هم مشکل مشابهی وجود دارد و بخش قابلتوجهی از سیستم بانکی و مالی از این زبان قدیمی برای انجام تراکنشهای خود بهره میبرند. اما بسیاری از برنامهنویسهای مسلط به این زبان قدیمی یا بازنشسته شدهاند یا در حال ترک نیروی کار هستند و این مشکل بزرگی پیشروی سیستم مالی جهانی قرار داده که البته در آن تنها نیست.
چه باید کرد؟
مساله اینجاست که در بحرانهایی مثل همهگیری اخیر کرونا و افزایش فشار بر زیرساختهای قدیمی خدمات آنلاین دولتی، نرمافزارهای قدیمی توسعهیافته با این زبانها با مشکلات پیشبینینشدهای مواجه میشوند که گاه ممکن است برای رفع آن به موانع قابلملاحظهای برخورد کنیم.
در حال حاضر شرکتهای تخصصی با بازخوانی و بازنویسی کدهای قدیمی به زبانهای جدیدتر این نرمافزارهای حیاتی را بهروزرسانی میکنند، هرچند این فرآیند هزینهبر و پرخطر است و ممکن است در پلتفرمهای بزرگ نیازمند صرف ۳ تا ۱۰سال زمان و میلیونها دلار هزینه باشد.
یک روش جایگزین دیگر که بهتازگی امکانپذیر شدهاست، استفاده از فرآیندهای خودکار و استفاده از آخرین نسخههای موجود زبانها برای امکان بهتر انتقال به سرورهای ابری و حفظ کاربری آنها در دوران اینترنت است که میتواند به افزایش قابلتوجه سرعت انتقال و نیز کاهش هزینههای مرتبط با این کار منجر شود. مهمترین چیز اما درنظر گرفتن این واقعیت است که نرمافزارهای قدیمی و مبتنی بر زبانهای فراموش شده با وجود کارایی خود در حال نزدیک شدن به پایان دورانشان هستند و باید هرچه زودتر فکری برای زیرساختهای حیاتی مالی، علمی و اطلاعاتی وابسته به آنها کنیم.
خشایار مریدپور - روزنامه نگار فناوری / ضمیمه کلیک روزنامه جام جم
در یادداشتی اختصاصی برای جام جم آنلاین مطرح شد
یک کارشناس روابط بینالملل در گفتگو با جامجمآنلاین مطرح کرد
در گفتگو با جام جم آنلاین مطرح شد
در گفتگو با جام جم آنلاین مطرح شد