برنامه‌نویسی و محیط زیست

محیط زیست
با پیشرفت فناوری و پررنگ شدن نقش رایانه‌ها و ابزارهای الکترونیک در زندگی روزمره، موضوعات جدیدی نیز مطرح می‌شوند که باید به آن پرداخته شود. مصرف انرژی در ابزارهای الکترونیک مانند لپ‌تاپ، تبلت، موبایل و رایانه‌های شخصی از این موارد است.

مصرف انرژی بیشتر مساوی است با ازبین‌رفتن منابع متناهی فسیلی، آلودگی محیط زیست و کاهش کیفیت زندگی.
بخشی از مصرف انرژی در ابزارهای الکترونیک با بهینه‌سازی سخت‌افزاری امکان‌پذیر است که در این زمینه تلاش‌های زیادی صورت گرفته و موفقیت‌های چشمگیری نیز به دست آمده است.

افزون بر سخت‌افزار، نرم‌افزار نیز می‌تواند اثر قابل توجهی در مصرف انرژی داشته باشد. کاهش مصرف حافظه، کاهش بار پردازشی و استفاده‌ی بهینه از سایر سخت‌افزارها می‌تواند کاهش انرژی را به همراه داشته باشد.
بر اساس محاسبات محققان، هر ثانیه استفاده از اینترنت سبب می‌شود ۰.۰۲ تا ۰.۲ گرم دی‌اکسید کربن وارد جو زمین شود.

نقش و مسئولیت برنامه‌نویسان برای حفظ محیط زیست به ویژه در هنگام توسعه‌ی نرم‌افزارهای تحت وب یا برنامه‌های موبایل که کاربران بیشماری را به خود جلب می‌کنند غیر قابل انکار است.

بهینه‌سازی نرم‌افزارها برای کاهش مصرف انرژی ناخودآگاه سبب می‌شود کارایی و پاسخگویی برنامه نیز افزایش یابد. در نتیجه هزینه‌ی صرف‌شده در این فرآیند می‌تواند یک سرمایه‌گذاری میان‌مدت یا بلندمدت برای جلب نظر مشتریان نیز به حساب آید.

در ادامه برخی از راهکارهای قابل انجام برای بهسازی نرم‌افزارها را مرور می‌کنیم.

  • استفاده از الگوریتم‌های سریع‌تر – مثلا جستجوی دودویی به جای جستجوی خطی
  • کش کردن(Cache) اطلاعات برای کم کردن هزینه‌ی بازخوانی و جستجوی اطلاعات
  • صرف‌نظر کردن از افکت‌های متحرک به ویژه در صفحات وب
  • استفاده از ابزارهای برنامه‌نویسی بهینه‌تر – مثلا HipHop به جای PHP
  • کاهش حجم نرم‌افزار و فایل‌های جانبی – مثلا استفاده از ابزارهای کاهش حجم تصویر
  • استفاده از ابزارهای بهینه‌سازی و فشرده‌سازی کد پیش از انتشار – مثلا استفاده از Closure Compiler برای جاوااسکریپت
  • جایگزین کردن جستجوهای آنی با جستجوی مستقیم توسط کاربر یا جستجوی با تاخیر
  • استفاده از فناوری «بارگزاری دیرهنگام(Lazy Loading)»
این نوشته در برنامه‌نویسی, عمومی ارسال شده است. افزودن پیوند یکتا به علاقه‌مندی‌ها.

۴ دیدگاه برای برنامه‌نویسی و محیط زیست

  1. زمان می‌گوید:

    آماری وجود داره که نشون بده این روش ها، در عمل، چقدر مورد استفاده است و به اصطلاح در میان سازندگان نرم افزارها، چقدر نفوذ داره؟
    کاهش مصرف انرژی و تولید کالاهای سبز چیزی است که خارجی ها خیلی به آن اهمیت می دهند. من ۶ – ۵ سال پیش، برای خودمان یک LCD پاناسونیک ۳۲ اینچ گرفتم که روش نوشته مصرف ۱۳۸ وات. امسال برای یک نفر دیگر که تلوزیونشان از این لامپی های عصر دایناسور بود، به زور یک LCD پاناسونیک ۳۲ اینچ گرفتم که ۲ چیز توجهم رو به خودش جلب کرد:
    ۱ – با اینکه این هم LCD است، اما قطرش دقیقا نصف شده و خیلی نازکتره.
    ۲ – با اینکه تلوزیون ما HD 720 هست و این جدیده HD 1080p و قاعدتا باید مصرفش (به دلیل پیکسل های بیشتر) زیادتر باشه، مصرف این تلوزیون جدید، ۱۰۸ وات هست!!
    کشورهای پیشرفته، به کاهش مصرف واقعا اهمیت می دهند. اصلا یکی از دلایل گسترش LED اینه که مصرف خیلی کمی داره؛ اگرنه از نظر نازکی، شما نمی تونید فرق LED با Plasma رو تشخیص بدید و تازه میگن پلاسما کنتراست و سرعت بازنمایش خیلی بالاتری هم داره.

    • امیرمسعود ایرانی می‌گوید:

      سلام

      حقیقتش اینه که بهینه‌سازی نرم‌افزار نیازمند صرف هزینه است
      ابتدا هزینه‌ی زمانی و در نتیجه هزینه‌ی مالی.

      بنابراین شرکت‌ها و توسعه‌دهندگان تمایلی به انجام این کار ندارند
      همان طور که در شرکت‌های تولیدی تمایلی برای حفظ محیط زیست وجود ندارد و قوانین آن‌ها را وادار می‌کند به این سمت حرکت کنند، معتقدم در این زمینه نیز قانون باید وارد شود

      از طرف دیگر شرکت‌های معتبر بین‌المللی مثل گوگل تلاش می‌کنند تا در کاهش بار سرورهای خود به حالت ایده‌آل نزدیک شوند. نه تنها به دلیل حفظ محیط زیست، علاوه بر آن به دلیل کاهش هزینه‌های انرژی و کاهش فشارهای روانی از طرف رسانه‌ها و دولت‌ها.

  2. میثم هوشمند می‌گوید:

    مهندس جان به نکته ی مهمی اشاره کردید!
    خصوصا استفاده از این فایل های فلش که حرص آدم و سی پی یو را خصوصا در فایرفاکس در میاورند!

    در کل یک نکته ای بگم! مطلبی که بهش اشاره کردید از حیث موضوع خیلی متفاوت بود از آن همه مطالب دیگری که در دنیای برنامه نویسی باهاشون برخورد داریم!
    متشکرم

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>