در سالهای گذشته ما برنامه نویسان شرایط پیچیدهای برای نوشتن یک نرم افزار داشتیم. برنامه نویسی که دغدغه ایجاد یک نرم افزار تمیز و کاربر-مدار را داشت، ناگزیر بود برای ایجاد جعبهها، سایهها، دکمهها و حتی فونتها زمان زیادی صرف کند.
گاهی این زمان از زمانی که برای کدنویسی نرم افزار لازم بود، پیشی میگرفت.
کادرها، پنجرهها و سایهها
در عصر یخبندان برنامه نویسی، در محیط DOS با زبانهایی مانند QBasic ،Pascal و غیره تلاش میکردیم تا با دسترسی مستقیم به کارت گرافیک و تغییر بیت و بایتهای آن بر روی صفحه، کادرکشی کنیم. این کادرها که قرار بود کادرهای دور تا دور پنجرههای ما را تشکیل دهند از علامتهایی مانند خطوط کشیده، خطوط متقاطع و غیره تشکیل میشدند. عدهای از ما برنامه نویسان با نوشتن "پروسیجر"هایی که عرض و طول پنجره را دریافت میکرد اقدام به خلق این پنجرهها میکردیم.
اما این پنجرهها بدون وجود سایه جلوهی زیبایی نداشتند، بنابراین با دریافت رنگ زیر کادر از طریق آدرسهای کارت گرافیک و چاپ یک کاراکتر حاشورخوردهی کج و کوله(!) با رنگی مشابه رنگ زیر آن، سایه را در ذهن بیننده تداعی میکردیم.
استفاده از ماوس؟! نه...!
گام بعدی استفاده از موشواره فرهنگستان یا همان ماوس خودمان بود، شاید باورکردنی نباشد اما استفاده از ماوس در آن زمان در نرم افزارها یک اقدام لاکچری بود، چه رسد به تغییر جای یک پنجره عاریهای با سایههای دروغین که همه و همه توسط کاراکترهایی به صورت مجازی برای کاربر شبیه سازی شده بود. اما برنامهنویسان دوره یخبندان باید از پس آن هم بر میآمدند.
دکمهها
دکمهها عناصری بودند که وجود خارجی نداشتند. یک مستطیل بی خاصیت و ساده بودند که نه بُعد داشتند نه سایه نه حرکت. خیلی هنر داشتید میتوانستید گوشهای از آن را تیره کنید که مثلاً هنوز فشار داده نشده، و در صورت درکِ کلیک، آن گوشهی تیره را روشن کنید تا بگویید حالا فشار داده شده است!
فارسی نویسی؟ عمراً
چالش آخر و شاید مهمترین آن، نوشتار فارسی بود. آن زمان نمیشد در پوشه Fonts ویندوز، فونتها را کپی و بعد از آن استفاده کرد. اولین دلیل آن این بود که ویندوزی وجود نداشت که پوشه Fonts داشته باشد. البته اینکه در آن زمان اصلاً فونتی وجود نداشت هم بی تاثیر نبود!
پس برای نوشتار فارسی چه کاری انجام میدادند؟
همان کاری که استفاده کنندگان از خط میخی انجام میدادند:
«حکاکی»، منتها روی مانیتور.
کسانی که سر رشاتهای از طراحی فونت نداشتند یک کاغذ چهارخانه تهیه میکردند و نقاطی از آن را تیره میکردند و حروف مختلف فارسی را بر روی آن میکشیدند. یک چیزی شبیه 7سگمنتهای ماشین حسابها. سپس با فرمولی شبیه ساخت فایلهای BMP یک تصویر گرافیکی میساختند که همان حرف فارسی البته به صورت تصویر بود، به عنوان مثال «ب». حالا هرجایی که لازم بود از «ب» استفاده شود این تصویر گرافیکی بر روی صفحه به نمایش در میآمد. اما این «ب» به همین راحتی دست از سر برنامه نویسان بر نمیداشت. یکبار بزرگ بود یک بار کوچک. یکبار به قبلی میچسبید و یکبار به بعدی، یکبار هم اصلا نمیچسبید. و برای همهی اینها باید طراحی انجام میشد، به همراه کلی کد نویسی برای دریافت از کاربر و نمایش کاراکتر درست بر روی صفحه و غیره.
بانکهای اطلاعاتی
بانکهای اطلاعاتی یک فایل باینری بود که از ابتدا تا انتها باید توسط برنامه نویس مدیریت میشد. فیلدها و به دنبال آن رکوردها که همان ستونها و سطرهای بانک اطلاعاتی بودند باید توسط برنامه نویسان طراحی و اجرا میشدند. اگر در طراحی تبحر کافی نداشتید ممکن بود با اشتباه در پیاده سازی بانک، با وارد کردن اولین دیتا در بانک فضای کل هارد را پر کنید. البته که بحث ما درباره اردهای چند صد گیگابایتی و چند ترابایتی نیست، صحبت در مورد هاردهای 20 مگی و 40 مگی در آن دوران است!
حرف آخر، حال کنید
خلاصه از کد نویسی در زمان حاضر کیف کنید. در هنگام برخورد با چالشها از جستجو در اینترنت لذت ببرید که در آن زمان تنها کسانی که برنامهنویسان داشتند کتابی بود که در نمایشگاه کتاب سال پیش خریده بودند!